]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/net/bonding/bond_alb.h
Merge tag 'v2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[mv-sheeva.git] / drivers / net / bonding / bond_alb.h
index 50968f8196cfa10e40cb5ba7367a6e611dda6d60..118c28aa471e7365aadcb17f09e40db23282f794 100644 (file)
@@ -31,6 +31,44 @@ struct slave;
 #define BOND_ALB_INFO(bond)   ((bond)->alb_info)
 #define SLAVE_TLB_INFO(slave) ((slave)->tlb_info)
 
+#define ALB_TIMER_TICKS_PER_SEC            10  /* should be a divisor of HZ */
+#define BOND_TLB_REBALANCE_INTERVAL 10 /* In seconds, periodic re-balancing.
+                                        * 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_TLB_REBALANCE_TICKS (BOND_TLB_REBALANCE_INTERVAL \
+                                 * ALB_TIMER_TICKS_PER_SEC)
+
+#define BOND_ALB_LP_TICKS (BOND_ALB_LP_INTERVAL \
+                          * ALB_TIMER_TICKS_PER_SEC)
+
+#define TLB_HASH_TABLE_SIZE 256        /* The size of the clients hash table.
+                                * Note that this value MUST NOT be smaller
+                                * because the key hash table is BYTE wide !
+                                */
+
+
+#define TLB_NULL_INDEX         0xffffffff
+#define MAX_LP_BURST           3
+
+/* rlb defs */
+#define RLB_HASH_TABLE_SIZE    256
+#define RLB_NULL_INDEX         0xffffffff
+#define RLB_UPDATE_DELAY       (2*ALB_TIMER_TICKS_PER_SEC) /* 2 seconds */
+#define RLB_ARP_BURST_SIZE     2
+#define RLB_UPDATE_RETRY       3 /* 3-ticks - must be smaller than the rlb
+                                  * rebalance interval (5 min).
+                                  */
+/* RLB_PROMISC_TIMEOUT = 10 sec equals the time that the current slave is
+ * promiscuous after failover
+ */
+#define RLB_PROMISC_TIMEOUT    (10*ALB_TIMER_TICKS_PER_SEC)
+
+
 struct tlb_client_info {
        struct slave *tx_slave; /* A pointer to slave used for transmiting
                                 * packets to a Client that the Hash function