bonding: implement get_tx_queues rtnk_link_op
authorJiri Pirko <jpirko@redhat.com>
Wed, 10 Aug 2011 06:09:44 +0000 (06:09 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 11 Aug 2011 14:44:38 +0000 (07:44 -0700)
If bonding device is created via rtnl, it is created with default number
of rx/tx queues. This patch implements callback in bonding so the
correct value (previously specified by bonding module param) is used.

Signed-off-by: Jiri Pirko <jpirko@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bonding/bond_main.c

index 38a83acd502e6395f06257cff0fa39cde757fa40..854aa8d3a2e0f02c7428a84610f2bdd252c7a3a5 100644 (file)
@@ -4828,11 +4828,20 @@ static int bond_validate(struct nlattr *tb[], struct nlattr *data[])
        return 0;
 }
 
+static int bond_get_tx_queues(struct net *net, struct nlattr *tb[],
+                             unsigned int *num_queues,
+                             unsigned int *real_num_queues)
+{
+       *num_queues = tx_queues;
+       return 0;
+}
+
 static struct rtnl_link_ops bond_link_ops __read_mostly = {
        .kind           = "bond",
        .priv_size      = sizeof(struct bonding),
        .setup          = bond_setup,
        .validate       = bond_validate,
+       .get_tx_queues  = bond_get_tx_queues,
 };
 
 /* Create a new bond based on the specified name and bonding parameters.