linux/drivers/net/bonding
Mahesh Bandewar d22a5fc0c3 bonding: Implement user key part of port_key in an AD system.
The port key has three components - user-key, speed-part, and duplex-part.
The LSBit is for the duplex-part, next 5 bits are for the speed while the
remaining 10 bits are the user defined key bits. Get these 10 bits
from the user-space (through the SysFs interface) and use it to form the
admin port-key. Allowed range for the user-key is 0 - 1023 (10 bits). If
it is not provided then use zero for the user-key-bits (default).

It can set using following example code -

   # modprobe bonding mode=4
   # usr_port_key=$(( RANDOM & 0x3FF ))
   # echo $usr_port_key > /sys/class/net/bond0/bonding/ad_user_port_key
   # echo +eth1 > /sys/class/net/bond0/bonding/slaves
   ...
   # ip link set bond0 up

Signed-off-by: Mahesh Bandewar <maheshb@google.com>
Reviewed-by: Nikolay Aleksandrov <nikolay@redhat.com>
[jt: * fixed up style issues reported by checkpatch
     * fixed up context from change in ad_actor_sys_prio patch]
Signed-off-by: Jonathan Toppins <jtoppins@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-05-11 10:59:32 -04:00
..
bond_3ad.c bonding: Implement user key part of port_key in an AD system. 2015-05-11 10:59:32 -04:00
bond_alb.c vlan: kill vlan_put_tag helper 2014-11-21 14:20:17 -05:00
bond_debugfs.c net: Move bonding headers under include/net 2014-11-10 13:27:49 -05:00
bond_main.c bonding: Implement user key part of port_key in an AD system. 2015-05-11 10:59:32 -04:00
bond_netlink.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-12-10 15:48:20 -05:00
bond_options.c bonding: Implement user key part of port_key in an AD system. 2015-05-11 10:59:32 -04:00
bond_procfs.c bonding: Allow userspace to set actors' macaddr in an AD-system. 2015-05-11 10:59:32 -04:00
bond_sysfs_slave.c net: Move bonding headers under include/net 2014-11-10 13:27:49 -05:00
bond_sysfs.c bonding: Implement user key part of port_key in an AD system. 2015-05-11 10:59:32 -04:00
bonding_priv.h net/bonding: Make DRV macros private 2015-04-26 22:59:53 -04:00
Makefile bonding: add sysfs /slave dir for bond slave devices. 2014-01-17 18:51:58 -08:00