* [PATCH net-next 2/4] vlan: Fix mac_len adjustment.
@ 2014-12-01 22:30 Pravin B Shelar
2014-12-03 14:32 ` Jiri Benc
0 siblings, 1 reply; 2+ messages in thread
From: Pravin B Shelar @ 2014-12-01 22:30 UTC (permalink / raw)
To: davem; +Cc: netdev, Pravin B Shelar
skb_reset_mac_len() sets length according to ethernet and network
offsets, but mpls expects mac-length to be offset to mpls header (ref.
skb_mpls_header()). Therefore rather than reset we need to subtract
VLAN_HLEN from mac_len.
Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
---
net/core/skbuff.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index 92116df..c45888f 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -4178,7 +4178,7 @@ static int __skb_vlan_pop(struct sk_buff *skb, u16 *vlan_tci)
if (skb_network_offset(skb) < ETH_HLEN)
skb_set_network_header(skb, ETH_HLEN);
- skb_reset_mac_len(skb);
+ skb->mac_len -= VLAN_HLEN;
pull:
__skb_pull(skb, offset);
--
1.7.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH net-next 2/4] vlan: Fix mac_len adjustment.
2014-12-01 22:30 [PATCH net-next 2/4] vlan: Fix mac_len adjustment Pravin B Shelar
@ 2014-12-03 14:32 ` Jiri Benc
0 siblings, 0 replies; 2+ messages in thread
From: Jiri Benc @ 2014-12-03 14:32 UTC (permalink / raw)
To: Pravin B Shelar; +Cc: davem, netdev
On Mon, 1 Dec 2014 14:30:38 -0800, Pravin B Shelar wrote:
> skb_reset_mac_len() sets length according to ethernet and network
> offsets, but mpls expects mac-length to be offset to mpls header (ref.
> skb_mpls_header()). Therefore rather than reset we need to subtract
> VLAN_HLEN from mac_len.
>
> Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
> ---
> net/core/skbuff.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/net/core/skbuff.c b/net/core/skbuff.c
> index 92116df..c45888f 100644
> --- a/net/core/skbuff.c
> +++ b/net/core/skbuff.c
> @@ -4178,7 +4178,7 @@ static int __skb_vlan_pop(struct sk_buff *skb, u16 *vlan_tci)
> if (skb_network_offset(skb) < ETH_HLEN)
> skb_set_network_header(skb, ETH_HLEN);
>
> - skb_reset_mac_len(skb);
> + skb->mac_len -= VLAN_HLEN;
> pull:
> __skb_pull(skb, offset);
>
See my previous explanation why this patch is wrong with the current
code: http://article.gmane.org/gmane.linux.network/339457
Jiri
--
Jiri Benc
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-12-03 14:32 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-01 22:30 [PATCH net-next 2/4] vlan: Fix mac_len adjustment Pravin B Shelar
2014-12-03 14:32 ` Jiri Benc
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).