[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250627201914.1791186-1-wilder@us.ibm.com>
Date: Fri, 27 Jun 2025 13:17:13 -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
Subject: [PATCH net-next v4 0/7] bonding: Extend arp_ip_target format to allow for a list of vlan tags.
The current implementation of the arp monitor builds a list of vlan-tags by
following the chain of net_devices above the bond. See bond_verify_device_path().
Unfortunately, with some configurations, this is not possible. One example is
when an ovs switch is configured above the bond.
This change extends the "arp_ip_target" parameter 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 format for arp_ip_target is:
arp_ip_target ipv4-address[vlan-tag\...],...
For example:
arp_ip_target 10.0.0.1[10/20]
arp_ip_target 10.0.0.1[] (used to disable vlan discovery)
The extended format of arp_ip_target is only supported by using the ip command when
creating the bond. Module parameters and the sysfs file do not allow the use of the
extended format.
Changes since V3:
1) Moved the parsing of the extended arp_ip_target out of the kernel and into
userspace (ip command). A separate patch to iproute2 to follow shortly.
2) Split up the patch set to make review easier.
--
I have run into issues with the ns_ip6_target feature. I am unable to get
the existing code to function with vlans. Therefor I am unable to support
A this change for ns_ip6_target.
Thank you for your time and reviews.
Signed-off-by: David Wilder <wilder@...ibm.com>
David Wilder (7):
bonding: Adding struct bond_arp_target
bonding: Adding extra_len field to struct bond_opt_value.
bonding: arp_ip_target helpers.
bonding: Processing extended arp_ip_target from user space.
bonding: Update to bond_arp_send_all() to use supplied vlan tags
bonding: Update to bond's sysfs and procfs for extended arp_ip_target
format.
bonding: Selftest and documentation for the arp_ip_target parameter.
Documentation/networking/bonding.rst | 11 +
drivers/net/bonding/bond_main.c | 47 +++--
drivers/net/bonding/bond_netlink.c | 9 +-
drivers/net/bonding/bond_options.c | 95 ++++++---
drivers/net/bonding/bond_procfs.c | 7 +-
drivers/net/bonding/bond_sysfs.c | 9 +-
include/net/bond_options.h | 29 ++-
include/net/bonding.h | 60 +++++-
.../selftests/drivers/net/bonding/Makefile | 3 +-
.../drivers/net/bonding/bond-arp-ip-target.sh | 194 ++++++++++++++++++
10 files changed, 390 insertions(+), 74 deletions(-)
create mode 100755 tools/testing/selftests/drivers/net/bonding/bond-arp-ip-target.sh
--
2.43.5
Powered by blists - more mailing lists