summaryrefslogtreecommitdiff
path: root/drivers/net
diff options
context:
space:
mode:
authorHangbin Liu <liuhangbin@gmail.com>2022-05-27 09:44:39 +0300
committerDavid S. Miller <davem@davemloft.net>2022-05-28 17:29:56 +0300
commit5e1eeef69c0fef6249b794bda5d68f95a65d062f (patch)
tree0028f6b82ee146f83c125d1585cc9a5567200344 /drivers/net
parent911799172d2f703cc14e9000c55d124d5e0a91a2 (diff)
downloadlinux-5e1eeef69c0fef6249b794bda5d68f95a65d062f.tar.xz
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')
-rw-r--r--drivers/net/bonding/bond_netlink.c5
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);