mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	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: 129e3c1bab ("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>
			
			
This commit is contained in:
		
							parent
							
								
									911799172d
								
							
						
					
					
						commit
						5e1eeef69c
					
				
					 1 changed files with 0 additions and 5 deletions
				
			
		| 
						 | 
				
			
			@ -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);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue