netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next v3 0/4] bonding: Extend arp_ip_target format to allow for a list of vlan tags.
@ 2025-06-14  1:48 David Wilder
  2025-06-14  1:48 ` [PATCH net-next v3 1/4] bonding: Adding struct bond_arp_target David Wilder
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: David Wilder @ 2025-06-14  1:48 UTC (permalink / raw)
  To: netdev; +Cc: jv, wilder, pradeeps, pradeep, i.maximets, amorenoz, haliu

Changes since V1:
Changed the name of struct ip_arp_target to struct bond_arp_target.
Added patch 2, 3 and 4 to the patch set.

Changes since V2
Patch 1 was updated to add a flags element to struct bond_arp_target and
I moved the definition from bonding.h to bond_options.h.

Reduced a large stack allocation.

Cleaned up declarations to use the reverse Christmas tree order.

Updated iproute changes to allow for backward compatibility. See below.
--
I have run into issues with the ns_ip6_target feature.  I am unable to get
the existing code to function with vlans. My changes have the same issue.
I found that a multicast ns (with no vlan header) is not passed by the interface
to the it's vlan siblings. Broadcast arps will be propagated to the sibling so no
issue is seen with ipv4. I will post a RFC patch with my ns_ip6_target changes
along with my test code. Let me know if you have any ideas as to the problem with
the existing code.

I don't want the issue with the ns_ip6_target feature to hold up the review
and acceptance of the ip_arp_target changes. If the ns_ip6_target issues can
be resolved they can be submitted as a separate patch set.

Thank you for your time and reviews.

Note:
The iprout2 package will also need to be updated with the following change:

@@ -242,9 +242,14 @@ static int bond_parse_opt(struct link_util *lu, int argc, char **argv,
                                int i;
 
                                for (i = 0; target && i < BOND_MAX_ARP_TARGETS; i++) {
-                                       __u32 addr = get_addr32(target);
-
-                                       addattr32(n, 1024, i, addr);
+                                       inet_prefix ipaddr;
+                                       __u32 addr;
+                                       if (get_addr_1(&ipaddr, target, AF_INET)) {
+                                               addattrstrz(n, 1024, i, target);
+                                       } else {
+                                               addr = get_addr32(target);
+                                               addattr32(n, 1024, i, addr);
+                                       }
                                        target = strtok(NULL, ",");
                                }
                                addattr_nest_end(n, nest);

Signed-off-by: David Wilder <wilder@us.ibm.com>

David J Wilder (1):
  bonding: Update to the bonding documentation.

David Wilder (3):
  bonding: Adding struct bond_arp_target
  bonding: Extend arp_ip_target format to allow for a list of vlan tags.
  bonding: Selftest for the arp_ip_target parameter.

 Documentation/networking/bonding.rst          |  11 +
 drivers/net/bonding/bond_main.c               |  74 ++++---
 drivers/net/bonding/bond_netlink.c            |  15 +-
 drivers/net/bonding/bond_options.c            |  71 ++++---
 drivers/net/bonding/bond_procfs.c             |   7 +-
 drivers/net/bonding/bond_sysfs.c              |   9 +-
 include/net/bond_options.h                    |  20 ++
 include/net/bonding.h                         | 161 ++++++++++++++-
 .../selftests/drivers/net/bonding/Makefile    |   3 +-
 .../drivers/net/bonding/bond-arp-ip-target.sh | 194 ++++++++++++++++++
 10 files changed, 484 insertions(+), 81 deletions(-)
 create mode 100755 tools/testing/selftests/drivers/net/bonding/bond-arp-ip-target.sh

-- 
2.43.5


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2025-06-17 16:06 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-14  1:48 [PATCH net-next v3 0/4] bonding: Extend arp_ip_target format to allow for a list of vlan tags David Wilder
2025-06-14  1:48 ` [PATCH net-next v3 1/4] bonding: Adding struct bond_arp_target David Wilder
2025-06-14  1:48 ` [PATCH net-next v3 2/4] bonding: Extend arp_ip_target format to allow for a list of vlan tags David Wilder
2025-06-15  5:42   ` kernel test robot
2025-06-16 23:15   ` Jay Vosburgh
2025-06-17 15:45     ` David Wilder
2025-06-17 16:06       ` Jay Vosburgh
2025-06-14  1:48 ` [PATCH net-next v3 3/4] bonding: Selftest for the arp_ip_target parameter David Wilder
2025-06-14  1:48 ` [PATCH net-next v3 4/4] bonding: Update to the bonding documentation David Wilder

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).