net/bonding: Optionally allow ethernet slaves to keep own MAC
Subsystems (4)
PATCH 9/9 net/bonding: Optionally allow ethernet slaves to keep own MAC
Update the "don't change MAC of slaves" functionality added in
previous changes to be a generic option, rather than something tied to IB devices, as it's occasionally useful for regular ethernet devices as well.
Adds "fail_over_mac" option (which is automatically enabled for IB
slaves), applicable only to active-backup mode.
Includes documentation update.
Updates bonding driver version to 3.2.0.
Signed-off-by Jay Vosburgh <[email protected]>
---
[ Fixed this copy; the previous posting lost the explanation
somewhere -J ]
Documentation/networking/bonding.txt | 33 +++++++++++++++++++ drivers/net/bonding/bond_main.c | 57 +++++++++++++++++++++------------ drivers/net/bonding/bond_sysfs.c | 49 +++++++++++++++++++++++++++++ drivers/net/bonding/bonding.h | 6 ++-- 4 files changed, 121 insertions(+), 24 deletions(-)
Documentation/networking/bonding.txt +33 -0
@@ -281,6 +281,39 @@ downdelay will be rounded down to the nearest multiple. The default value is 0. +fail_over_mac + + Specifies whether active-backup mode should set all slaves to + the same MAC address (the traditional behavior), or, when + enabled, change the bond's MAC address when changing the + active interface (i.e., fail over the MAC address itself). + + Fail over MAC is useful for devices that cannot ever alter + their MAC address, or for devices that refuse incoming + broadcasts with their own source MAC (which interferes with + the ARP monitor). + + The down side of fail over MAC is that every device on the + network must be updated via gratuitous ARP, vs. just updating + a switch or set of switches (which often takes place for any + traffic, not just ARP traffic, if the switch snoops incoming + traffic to update its tables) for the traditional method. If + the gratuitous ARP is lost, communication may be disrupted. + + When fail over MAC is used in conjuction with the mii monitor, + devices which assert link up prior to being able to actually + transmit and receive are particularly susecptible to loss of + the gratuitous ARP, and an appropriate updelay setting may be + required. + + A value of 0 disables fail over MAC, and is the default. A + value of 1 enables fail over MAC. This option is enabled + automatically if the first slave added cannot change its MAC + address. This option may be modified via sysfs only when no + slaves are present in the bond. + + This option was added in bonding version 3.2.0. + lacp_rate Option specifying the rate in which we'll ask our link partner
drivers/net/bonding/bond_main.c +36 -21
138 lines not on this page · raw message
drivers/net/bonding/bond_sysfs.c +49 -0
61 lines not on this page · raw message
drivers/net/bonding/bonding.h +3 -3
@@ -22,8 +22,8 @@#include "bond_3ad.h" #include "bond_alb.h" -#define DRV_VERSION "3.1.3" -#define DRV_RELDATE "June 13, 2007" +#define DRV_VERSION "3.2.0" +#define DRV_RELDATE "September 13, 2007"#define DRV_NAME "bonding"#define DRV_DESCRIPTION "Ethernet Channel Bonding Driver"
@@ -128,6 +128,7 @@ struct bond_params {int arp_interval;int arp_validate;int use_carrier; +int fail_over_mac;int updelay;int downdelay;int lacp_fast;
@@ -186,7 +187,6 @@ struct bonding {struct timer_list mii_timer;struct timer_list arp_timer;s8 kill_timers; -s8 do_set_mac_addr;s8 send_grat_arp;s8 setup_by_slave;struct net_device_stats stats;
Signature · 1 line
1.5.3.1