summaryrefslogtreecommitdiffstats
path: root/drivers/net/bonding/bond_alb.h
diff options
context:
space:
mode:
authorNeil Horman2013-09-13 17:05:33 +0200
committerDavid S. Miller2013-09-16 04:20:44 +0200
commit7eacd03810960823393521063734fc8188446bca (patch)
treebea38507321d0f20caf41af8ce79e65ab513717d /drivers/net/bonding/bond_alb.h
parentatm: nicstar: fix regression made by previous patch (diff)
downloadkernel-qcow2-linux-7eacd03810960823393521063734fc8188446bca.tar.gz
kernel-qcow2-linux-7eacd03810960823393521063734fc8188446bca.tar.xz
kernel-qcow2-linux-7eacd03810960823393521063734fc8188446bca.zip
bonding: Make alb learning packet interval configurable
running bonding in ALB mode requires that learning packets be sent periodically, so that the switch knows where to send responding traffic. However, depending on switch configuration, there may not be any need to send traffic at the default rate of 3 packets per second, which represents little more than wasted data. Allow the ALB learning packet interval to be made configurable via sysfs Signed-off-by: Neil Horman <nhorman@tuxdriver.com> Acked-by: Acked-by: Veaceslav Falico <vfalico@redhat.com> CC: Jay Vosburgh <fubar@us.ibm.com> CC: Andy Gospodarek <andy@greyhouse.net> CC: "David S. Miller" <davem@davemloft.net> Signed-off-by: Andy Gospodarek <andy@greyhouse.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bonding/bond_alb.h')
-rw-r--r--drivers/net/bonding/bond_alb.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/net/bonding/bond_alb.h b/drivers/net/bonding/bond_alb.h
index 28d8e4c7dc06..c5eff5dafdfe 100644
--- a/drivers/net/bonding/bond_alb.h
+++ b/drivers/net/bonding/bond_alb.h
@@ -36,14 +36,15 @@ struct slave;
* Used for division - never set
* to zero !!!
*/
-#define BOND_ALB_LP_INTERVAL 1 /* In seconds, periodic send of
- * learning packets to the switch
- */
+#define BOND_ALB_DEFAULT_LP_INTERVAL 1
+#define BOND_ALB_LP_INTERVAL(bond) (bond->params.lp_interval) /* In seconds, periodic send of
+ * learning packets to the switch
+ */
#define BOND_TLB_REBALANCE_TICKS (BOND_TLB_REBALANCE_INTERVAL \
* ALB_TIMER_TICKS_PER_SEC)
-#define BOND_ALB_LP_TICKS (BOND_ALB_LP_INTERVAL \
+#define BOND_ALB_LP_TICKS(bond) (BOND_ALB_LP_INTERVAL(bond) \
* ALB_TIMER_TICKS_PER_SEC)
#define TLB_HASH_TABLE_SIZE 256 /* The size of the clients hash table.