Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6c06a478 authored by Jiri Pirko's avatar Jiri Pirko Committed by David S. Miller
Browse files

net: fix xfrm reverse flow lookup for icmp6



This patch fixes the xfrm reverse flow lookup for icmp6 so that icmp6 packets
don't get lost over ipsec tunnels. Similar patch is in RHEL5 kernel for a quite
long time and I do not see why it isn't in mainline.

Signed-off-by: default avatarJiri Pirko <jpirko@redhat.com>
Acked-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 94cd3e6c
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -443,10 +443,10 @@ void icmpv6_send(struct sk_buff *skb, int type, int code, __u32 info,
	if (xfrm_decode_session_reverse(skb, &fl2, AF_INET6))
		goto relookup_failed;

	if (ip6_dst_lookup(sk, &dst2, &fl))
	if (ip6_dst_lookup(sk, &dst2, &fl2))
		goto relookup_failed;

	err = xfrm_lookup(net, &dst2, &fl, sk, XFRM_LOOKUP_ICMP);
	err = xfrm_lookup(net, &dst2, &fl2, sk, XFRM_LOOKUP_ICMP);
	switch (err) {
	case 0:
		dst_release(dst);