On Wed, Jan 13, 2021 at 06:41:17PM -0500, Jarod Wilson wrote: > There's a new transmit hash policy being added to the bonding driver that > is a simple XOR of vlan ID and source MAC, xmit_hash_policy vlan+mac. This > trivial patch makes it configurable and queryable via iproute2. > > $ sudo modprobe bonding mode=2 max_bonds=1 xmit_hash_policy=0 > > $ sudo ip link set bond0 type bond xmit_hash_policy vlan+mac > > $ ip -d link show bond0 > 11: bond0: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN mode > DEFAULT group default qlen 1000 > link/ether ce:85:5e:24:ce:90 brd ff:ff:ff:ff:ff:ff promiscuity 0 minmtu > 68 maxmtu 65535 > bond mode balance-xor miimon 0 updelay 0 downdelay 0 peer_notify_delay 0 > use_carrier 1 arp_interval 0 arp_validate none arp_all_targets any > primary_reselect always fail_over_mac none xmit_hash_policy vlan+mac > resend_igmp 1 num_grat_arp 1 all_slaves_active 0 min_links 0 lp_interval 1 > packets_per_slave 1 lacp_rate slow ad_select stable tlb_dynamic_lb 1 > addrgenmode eui64 numtxqueues 16 numrxqueues 16 gso_max_size 65536 > gso_max_segs > 65535 > > $ grep Hash /proc/net/bonding/bond0 > Transmit Hash Policy: vlan+mac (5) > > $ sudo ip link add test type bond help > Usage: ... bond [ mode BONDMODE ] [ active_slave SLAVE_DEV ] > [ clear_active_slave ] [ miimon MIIMON ] > [ updelay UPDELAY ] [ downdelay DOWNDELAY ] > [ peer_notify_delay DELAY ] > [ use_carrier USE_CARRIER ] > [ arp_interval ARP_INTERVAL ] > [ arp_validate ARP_VALIDATE ] > [ arp_all_targets ARP_ALL_TARGETS ] > [ arp_ip_target [ ARP_IP_TARGET, ... ] ] > [ primary SLAVE_DEV ] > [ primary_reselect PRIMARY_RESELECT ] > [ fail_over_mac FAIL_OVER_MAC ] > [ xmit_hash_policy XMIT_HASH_POLICY ] > [ resend_igmp RESEND_IGMP ] > [ num_grat_arp|num_unsol_na NUM_GRAT_ARP|NUM_UNSOL_NA ] > [ all_slaves_active ALL_SLAVES_ACTIVE ] > [ min_links MIN_LINKS ] > [ lp_interval LP_INTERVAL ] > [ packets_per_slave PACKETS_PER_SLAVE ] > [ tlb_dynamic_lb TLB_DYNAMIC_LB ] > [ lacp_rate LACP_RATE ] > [ ad_select AD_SELECT ] > [ ad_user_port_key PORTKEY ] > [ ad_actor_sys_prio SYSPRIO ] > [ ad_actor_system LLADDR ] > > BONDMODE := > balance-rr|active-backup|balance-xor|broadcast|802.3ad|balance-tlb|balance-alb > ARP_VALIDATE := none|active|backup|all > ARP_ALL_TARGETS := any|all > PRIMARY_RESELECT := always|better|failure > FAIL_OVER_MAC := none|active|follow > XMIT_HASH_POLICY := layer2|layer2+3|layer3+4|encap2+3|encap3+4|vlan+mac > LACP_RATE := slow|fast > AD_SELECT := stable|bandwidth|count > > Cc: Stephen Hemminger <step...@networkplumber.org> > Cc: Jay Vosburgh <j.vosbu...@gmail.com> > Signed-off-by: Jarod Wilson <ja...@redhat.com>
Self-nack on this version, renaming the mode to vlan+srcmac as discussed. -- Jarod Wilson ja...@redhat.com