diff options
author | Hangbin Liu <liuhangbin@gmail.com> | 2022-05-27 08:44:39 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2022-05-28 16:29:56 +0200 |
commit | 5e1eeef69c0fef6249b794bda5d68f95a65d062f (patch) | |
tree | 0028f6b82ee146f83c125d1585cc9a5567200344 /drivers/net/bonding | |
parent | net: nfc: Directly use ida_alloc()/free() (diff) | |
download | linux-5e1eeef69c0fef6249b794bda5d68f95a65d062f.tar.xz linux-5e1eeef69c0fef6249b794bda5d68f95a65d062f.zip |
bonding: NS target should accept link local address
When setting bond NS target, we use bond_is_ip6_target_ok() to check
if the address valid. The link local address was wrongly rejected in
bond_changelink(), as most time the user just set the ARP/NS target to
gateway, while the IPv6 gateway is always a link local address when user
set up interface via SLAAC.
So remove the link local addr check when setting bond NS target.
Fixes: 129e3c1bab24 ("bonding: add new option ns_ip6_target")
Reported-by: Li Liang <liali@redhat.com>
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
Reviewed-by: Jonathan Toppins <jtoppins@redhat.com>
Acked-by: Jay Vosburgh <jay.vosburgh@canonical.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bonding')
-rw-r--r-- | drivers/net/bonding/bond_netlink.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/drivers/net/bonding/bond_netlink.c b/drivers/net/bonding/bond_netlink.c index f427fa1737c7..6f404f9c34e3 100644 --- a/drivers/net/bonding/bond_netlink.c +++ b/drivers/net/bonding/bond_netlink.c @@ -290,11 +290,6 @@ static int bond_changelink(struct net_device *bond_dev, struct nlattr *tb[], addr6 = nla_get_in6_addr(attr); - if (ipv6_addr_type(&addr6) & IPV6_ADDR_LINKLOCAL) { - NL_SET_ERR_MSG(extack, "Invalid IPv6 addr6"); - return -EINVAL; - } - bond_opt_initextra(&newval, &addr6, sizeof(addr6)); err = __bond_opt_set(bond, BOND_OPT_NS_TARGETS, &newval); |