Skip to content

Commit 6e28b00

Browse files
David Aherndavem330
authored andcommitted
net: Fix vti use case with oif in dst lookups for IPv6
It occurred to me yesterday that 741a11d ("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 why 58189ca did not the IPv6 change at the time it was submitted. Fixes: 42a7b32 ("xfrm: Add oif to dst lookups") Signed-off-by: David Ahern <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 90d2c05 commit 6e28b00

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

net/ipv6/xfrm6_policy.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ static struct dst_entry *xfrm6_dst_lookup(struct net *net, int tos, int oif,
3737

3838
memset(&fl6, 0, sizeof(fl6));
3939
fl6.flowi6_oif = oif;
40+
fl6.flowi6_flags = FLOWI_FLAG_SKIP_NH_OIF;
4041
memcpy(&fl6.daddr, daddr, sizeof(fl6.daddr));
4142
if (saddr)
4243
memcpy(&fl6.saddr, saddr, sizeof(fl6.saddr));

0 commit comments

Comments
 (0)