Shmulik Ladkani fedbb6b4ff ipv4: Fix ip_skb_dst_mtu to use the sk passed by ip_finish_output
ip_skb_dst_mtu uses skb->sk, assuming it is an AF_INET socket (e.g. it
calls ip_sk_use_pmtu which casts sk as an inet_sk).

However, in the case of UDP tunneling, the skb->sk is not necessarily an
inet socket (could be AF_PACKET socket, or AF_UNSPEC if arriving from
tun/tap).

OTOH, the sk passed as an argument throughout IP stack's output path is
the one which is of PMTU interest:
 - In case of local sockets, sk is same as skb->sk;
 - In case of a udp tunnel, sk is the tunneling socket.

Fix, by passing ip_finish_output's sk to ip_skb_dst_mtu.
This augments 7026b1ddb6 'netfilter: Pass socket pointer down through okfn().'

Signed-off-by: Shmulik Ladkani <shmulik.ladkani@gmail.com>
Reviewed-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-06-30 09:02:48 -04:00
..
2016-04-13 10:41:10 +02:00
2016-05-27 15:26:11 -07:00
2016-05-23 13:51:10 -07:00
2016-05-11 19:36:28 -04:00
2016-06-22 16:32:23 -04:00
2016-05-29 22:33:25 -07:00
2016-06-18 21:34:09 -07:00
2016-06-07 15:30:21 -07:00
2016-06-23 15:07:44 -04:00
2016-06-10 23:22:55 -07:00
2016-06-09 23:41:03 -07:00
2016-05-08 23:46:14 -04:00