[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250718213606.1970470-1-wilder@us.ibm.com>
Date: Fri, 18 Jul 2025 14:34:53 -0700
From: David Wilder <wilder@...ibm.com>
To: netdev@...r.kernel.org
Cc: jv@...sburgh.net, wilder@...ibm.com, pradeeps@...ux.vnet.ibm.com,
pradeep@...ibm.com, i.maximets@....org, amorenoz@...hat.com,
haliu@...hat.com, stephen@...workplumber.org, dsahern@...il.com
Subject: [PATCH iproute2-next v3 0/1] iproute2-next: Extending bonding's arp_ip_target to include a list of vlan tags.
This change extends the "arp_ip_target" option format to allow for a list of
vlan tags to be included for each arp target. This new list of tags is optional
and may be omitted to preserve the current format and process of discovering
vlans. The new logic preserves both forward and backward compatibility with
the kernel and iproute2 versions.
Changes since V1:
Updates to support ip link show <bonding-device>.
Changes since V2: (bond_print_opt() only)
Based on suggestions from Stephen Hemminger.
1) Removed inline from bond_vlan_tags_parse().
2) Switched to print_color_string() from print_string()
3) Follow kernel style.
4) Fixed JSON output.
Input: arp_ip_target 10.0.0.1[10/20],10.0.0.2[10/20])
Sample JSON output:
...
"arp_ip_target": [
"10.0.0.1[10/20]",
"10.0.0.2[10/20]"
],
...
I tested "link add bond0 type bond arp_ip_target $test", "ip link show $bond"
and "ip --json link show $bond" for the following values and verified
expected results.
10.0.0.1 # No tag
10.0.0.1[] # empty tag
10.0.0.1[10] # valid tags
10.0.0.1[10/20]
10.0.0.1[100/150]
10.0.0.1[10/20/30/40/50] # BOND_MAX_VLAN_TAGS
10.0.0.1[10/20/30/40/50/60] # > BOND_MAX_VLAN_TAGS
10.0.0.1,10.0.0.2 # multiple targets
10.0.0.1[],10.0.0.2
10.0.0.1[10/20],10.0.0.2[10/20]
10.0.0.1,10.0.0.2,10.0.0.3,10.0.0.4,10.0.0.5,\ # BOND_MAX_ARP_TARGETS
10.0.0.6,10.0.0.7,10.0.0.8,10.0.0.9,10.0.0.10,\
10.0.0.11,10.0.0.12,10.0.0.13,10.0.0.14,10.0.0.15,\
10.0.0.16
10.0.0.1[],10.0.0.2[],10.0.0.3[],10.0.0.4[],10.0.0.5[],\
10.0.0.6[],10.0.0.7[],10.0.0.8[],10.0.0.9[],10.0.0.10[],\
10.0.0.11[],10.0.0.12[],10.0.0.13[],10.0.0.14[],10.0.0.15[],\
10.0.0.16[]
10.0.0.1,10.0.0.2,10.0.0.3,10.0.0.4,10.0.0.5,\ # > BOND_MAX_ARP_TARGETS
10.0.0.6,10.0.0.7,10.0.0.8,10.0.0.9,10.0.0.10,\
10.0.0.11,10.0.0.12,10.0.0.13,10.0.0.14,10.0.0.15,\
10.0.0.16,10.0.0.17
# Bad input
10.0.0 \
bad-address \
10.0.0.1[ \
10.0.0.1[10/ \
10.0.0.1 10/20
This change is dependent on this bonding driver patch set:
<https://www.spinics.net/lists/netdev/msg1109449.html>
Merge only after the above patch set has been merged.
Thank you for your time and reviews.
Signed-off-by: David Wilder <wilder@...ibm.com>
David Wilder (1):
iproute: Extend bonding's "arp_ip_target" parameter to add vlan tags.
ip/iplink_bond.c | 127 +++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 116 insertions(+), 11 deletions(-)
--
2.43.5
Powered by blists - more mailing lists