| From: |
| Hangbin Liu <liuhangbin-AT-gmail.com> |
| To: |
| netdev-AT-vger.kernel.org |
| Subject: |
| [PATCH RFC net-next 0/5] bonding: add IPv6 NS/NA monitor support |
| Date: |
| Wed, 26 Jan 2022 15:35:16 +0800 |
| Message-ID: |
| <20220126073521.1313870-1-liuhangbin@gmail.com> |
| Cc: |
| Jay Vosburgh <j.vosburgh-AT-gmail.com>, Veaceslav Falico <vfalico-AT-gmail.com>, Andy Gospodarek <andy-AT-greyhouse.net>, "David S . Miller" <davem-AT-davemloft.net>, Jakub Kicinski <kuba-AT-kernel.org>, David Ahern <dsahern-AT-gmail.com>, Hangbin Liu <liuhangbin-AT-gmail.com> |
| Archive-link: |
| Article |
This is an RFC of adding IPv6 NS/NA monitor support for bonding. I
posted a draft patch before[1]. But that patch is too big and David
Ahern suggested to split it smaller. So I split the previous patch
to 5 small ones, maybe not very good :)
The iproute2 patch is here [2].
This patch add bond IPv6 NS/NA monitor support. A new option
ns_ip6_target is added, which is similar with arp_ip_target.
The IPv6 NS/NA monitor will take effect when there is a valid IPv6
address. And ARP monitor will stop working.
A new field struct in6_addr ip6_addr is added to struct bond_opt_value
for IPv6 support. Thus __bond_opt_init() is also updated to check
string, addr first.
Function bond_handle_vlan() is split from bond_arp_send() for both
IPv4/IPv6 usage.
To alloc NS message and send out. ndisc_ns_create() and ndisc_send_skb()
are exported.
[1] https://lore.kernel.org/netdev/20211124071854.1400032-1-l...
[2] https://lore.kernel.org/netdev/20211124071854.1400032-2-l...
Hangbin Liu (5):
ipv6: separate ndisc_ns_create() from ndisc_send_ns()
Bonding: split bond_handle_vlan from bond_arp_send
bonding: add ip6_addr for bond_opt_value
bonding: add new parameter ns_targets
bonding: add new option ns_ip6_target
Documentation/networking/bonding.rst | 11 ++
drivers/net/bonding/bond_main.c | 266 ++++++++++++++++++++++++---
drivers/net/bonding/bond_netlink.c | 55 ++++++
drivers/net/bonding/bond_options.c | 142 +++++++++++++-
drivers/net/bonding/bond_sysfs.c | 22 +++
include/net/bond_options.h | 14 +-
include/net/bonding.h | 36 ++++
include/net/ndisc.h | 5 +
include/uapi/linux/if_link.h | 1 +
net/ipv6/ndisc.c | 45 +++--
tools/include/uapi/linux/if_link.h | 1 +
11 files changed, 549 insertions(+), 49 deletions(-)
--
2.31.1