From: Tom Herbert <[email protected]>
Date: Mon, 23 May 2016 15:48:20 -0700
> diff --git a/net/ipv4/fou.c b/net/ipv4/fou.c
> index 5f9207c..96260c6 100644
> --- a/net/ipv4/fou.c
> +++ b/net/ipv4/fou.c
> @@ -807,13 +807,20 @@ int __fou_build_header(struct sk_buff *skb, struct
> ip_tunnel_encap *e,
> u8 *protocol, __be16 *sport, int type)
> {
> int err;
> + struct net *net;
>
Please order local variables from longest to shortest line.
> err = iptunnel_handle_offloads(skb, type);
> if (err)
> return err;
>
> - *sport = e->sport ? : udp_flow_src_port(dev_net(skb->dev),
> - skb, 0, 0, false);
> + if (skb->dev)
> + net = dev_net(skb->dev);
> + else if (skb->sk)
> + net = sock_net(skb->sk);
This is getting rediculous. Why not just put the net namespace pointer into
the tunnel encap object?