diff options
author | David S. Miller <davem@davemloft.net> | 2016-02-18 14:35:02 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-02-18 14:35:02 -0500 |
commit | f0a404505c7310ca1b59c49516360ca6baa5ef74 (patch) | |
tree | f6c595f28145dc17d4dd983c0e0d64c19e1ebbfd /include | |
parent | 7c25b16dbbcf37ce8019bacf634ee47d852225d9 (diff) | |
parent | 7f290c94352e59b1d720055fce760a69a63bd0a1 (diff) | |
download | linux-f0a404505c7310ca1b59c49516360ca6baa5ef74.tar.bz2 |
Merge branch 'iptunnel-pkt-scrub-consolidate'
Jiri Benc says:
====================
iptunnel: scrub packet in iptunnel_pull_header
As every IP tunnel has to scrub skb on decapsulation, iptunnel_pull_header
tried to do that and open coded part of skb_scrub_packet. Various tunneling
protocols (VXLAN, Geneve) then called full skb_scrub_packet on their own,
duplicating part of the scrubbing already done.
Consolidate the code, calling skb_scrub_packet from iptunnel_pull_header.
This will allow additional cleanups in VXLAN code, as the packet is scrubbed
early during rx processing after this patchset and VXLAN can start filling
out skb fields earlier.
The full picture of vxlan cleanup patches can be seen at:
https://github.com/jbenc/linux-vxlan/commits/master
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r-- | include/net/ip_tunnels.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/net/ip_tunnels.h b/include/net/ip_tunnels.h index 87408ab80856..4dd616376fec 100644 --- a/include/net/ip_tunnels.h +++ b/include/net/ip_tunnels.h @@ -270,7 +270,8 @@ static inline u8 ip_tunnel_ecn_encap(u8 tos, const struct iphdr *iph, return INET_ECN_encapsulate(tos, inner); } -int iptunnel_pull_header(struct sk_buff *skb, int hdr_len, __be16 inner_proto); +int iptunnel_pull_header(struct sk_buff *skb, int hdr_len, __be16 inner_proto, + bool xnet); void iptunnel_xmit(struct sock *sk, struct rtable *rt, struct sk_buff *skb, __be32 src, __be32 dst, u8 proto, u8 tos, u8 ttl, __be16 df, bool xnet); |