mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	net: Fix vti use case with oif in dst lookups for IPv6
It occurred to me yesterday that741a11d9e4("net: ipv6: Add RT6_LOOKUP_F_IFACE flag if oif is set") means that xfrm6_dst_lookup needs the FLOWI_FLAG_SKIP_NH_OIF flag set. This latest commit causes the oif to be considered in lookups which is known to break vti. This explains why58189ca7b2did not the IPv6 change at the time it was submitted. Fixes:42a7b32b73("xfrm: Add oif to dst lookups") Signed-off-by: David Ahern <dsa@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
							parent
							
								
									90d2c056bd
								
							
						
					
					
						commit
						6e28b00082
					
				
					 1 changed files with 1 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -37,6 +37,7 @@ static struct dst_entry *xfrm6_dst_lookup(struct net *net, int tos, int oif,
 | 
			
		|||
 | 
			
		||||
	memset(&fl6, 0, sizeof(fl6));
 | 
			
		||||
	fl6.flowi6_oif = oif;
 | 
			
		||||
	fl6.flowi6_flags = FLOWI_FLAG_SKIP_NH_OIF;
 | 
			
		||||
	memcpy(&fl6.daddr, daddr, sizeof(fl6.daddr));
 | 
			
		||||
	if (saddr)
 | 
			
		||||
		memcpy(&fl6.saddr, saddr, sizeof(fl6.saddr));
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue