| From: |
| Hangbin Liu <liuhangbin-AT-gmail.com> |
| To: |
| netdev-AT-vger.kernel.org |
| Subject: |
| [PATCH net-next 0/5] bonding: add IPv6 NS/NA monitor support |
| Date: |
| Wed, 16 Feb 2022 16:08:33 +0800 |
| Message-ID: |
| <20220216080838.158054-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>, Nikolay Aleksandrov <nikolay-AT-nvidia.com>, Jonathan Toppins <jtoppins-AT-redhat.com>, Hangbin Liu <liuhangbin-AT-gmail.com> |
| Archive-link: |
| Article |
This patch is for adding IPv6 NS/NA monitor support for bonding. I
posted a RFC patch before[1]. And the iproute2 patch is here [2].
Based on Nikolay's suggestion on RFC patch, I did
1. define BOND_MAX_ND_TARGETS as BOND_MAX_ARP_TARGETS
2. adjust for reverse xmas tree ordering of local variables
3. remove bond_do_ns_validate()
4. add extra field for bond_opt_value
5. set IS_ENABLED(CONFIG_IPV6) for IPv6 codes
---
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. Both ARP monitor and NS monitor will working at the same time.
A new extra storage field is added to struct bond_opt_value for IPv6 support.
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/20220126073521.1313870-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 extra field 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 | 295 +++++++++++++++++++++++----
drivers/net/bonding/bond_netlink.c | 59 ++++++
drivers/net/bonding/bond_options.c | 140 ++++++++++++-
drivers/net/bonding/bond_sysfs.c | 26 +++
include/net/bond_options.h | 31 ++-
include/net/bonding.h | 26 ++-
include/net/ndisc.h | 5 +
include/uapi/linux/if_link.h | 1 +
net/ipv6/ndisc.c | 49 +++--
tools/include/uapi/linux/if_link.h | 1 +
11 files changed, 573 insertions(+), 71 deletions(-)
--
2.31.1