diff options
author | Pravin B Shelar <pshelar@nicira.com> | 2013-05-07 20:41:07 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-05-08 13:13:30 -0700 |
commit | 19acc327258ac5bcd0f31c07853e6d9784010fb4 (patch) | |
tree | 4079bd2f20e09ebc1f9b23b2eef4ec6976801c74 /net/ipv4/gre.c | |
parent | 54309fa60b5f57b90c1842176f6045e665d21142 (diff) |
gso: Handle Trans-Ether-Bridging protocol in skb_network_protocol()
Rather than having logic to calculate inner protocol in every
tunnel gso handler move it to gso code. This simplifies code.
Cc: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Cong Wang <amwang@redhat.com>
Cc: David S. Miller <davem@davemloft.net>
Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/gre.c')
-rw-r--r-- | net/ipv4/gre.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/net/ipv4/gre.c b/net/ipv4/gre.c index cc22363965d..b2e805af9b8 100644 --- a/net/ipv4/gre.c +++ b/net/ipv4/gre.c @@ -150,13 +150,7 @@ static struct sk_buff *gre_gso_segment(struct sk_buff *skb, csum = false; /* setup inner skb. */ - if (greh->protocol == htons(ETH_P_TEB)) { - struct ethhdr *eth = (struct ethhdr *)skb_inner_mac_header(skb); - skb->protocol = eth->h_proto; - } else { - skb->protocol = greh->protocol; - } - + skb->protocol = greh->protocol; skb->encapsulation = 0; if (unlikely(!pskb_may_pull(skb, ghl))) |