All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH/RFC net] gre: set inner_protocol on xmit
@ 2016-08-12  9:46 Simon Horman
  2016-08-12 15:07 ` Alexander Duyck
  0 siblings, 1 reply; 3+ messages in thread
From: Simon Horman @ 2016-08-12  9:46 UTC (permalink / raw)
  To: netdev; +Cc: Simon Horman, Alexander Duyck

Ensure that the inner_protocol is set on transmit so that GSO segmentation,
which relies on that field, works correctly.

I have observed this is not the case when OvS transmits GRE using
lwtunnel metadata (which it always does).

Fixes: 38720352412a ("gre: Use inner_proto to obtain inner header protocol")
Cc: Alexander Duyck <aduyck@mirantis.com>
Reviewed-by: Dinan Gunawardena <dinan.gunawardena@netronome.com>
Acked-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: Simon Horman <simon.horman@netronome.com>
---
 net/ipv4/ip_gre.c | 1 +
 1 file changed, 1 insertion(+)
---
 Repost with correct domain vger address

diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c
index 5b1481be0282..1571b71448a0 100644
--- a/net/ipv4/ip_gre.c
+++ b/net/ipv4/ip_gre.c
@@ -451,6 +451,7 @@ static void gre_fb_xmit(struct sk_buff *skb, struct net_device *dev,
 
 	df = key->tun_flags & TUNNEL_DONT_FRAGMENT ?  htons(IP_DF) : 0;
 
+	skb_set_inner_protocol(skb, proto);
 	iptunnel_xmit(skb->sk, rt, skb, fl.saddr, key->u.ipv4.dst, IPPROTO_GRE,
 		      key->tos, key->ttl, df, false);
 	return;
-- 
2.7.0.rc3.207.g0ac5344

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH/RFC net] gre: set inner_protocol on xmit
  2016-08-12  9:46 [PATCH/RFC net] gre: set inner_protocol on xmit Simon Horman
@ 2016-08-12 15:07 ` Alexander Duyck
  2016-08-12 15:15   ` Simon Horman
  0 siblings, 1 reply; 3+ messages in thread
From: Alexander Duyck @ 2016-08-12 15:07 UTC (permalink / raw)
  To: Simon Horman; +Cc: Netdev, Alexander Duyck

On Fri, Aug 12, 2016 at 2:46 AM, Simon Horman
<simon.horman@netronome.com> wrote:
> Ensure that the inner_protocol is set on transmit so that GSO segmentation,
> which relies on that field, works correctly.
>
> I have observed this is not the case when OvS transmits GRE using
> lwtunnel metadata (which it always does).
>
> Fixes: 38720352412a ("gre: Use inner_proto to obtain inner header protocol")
> Cc: Alexander Duyck <aduyck@mirantis.com>
> Reviewed-by: Dinan Gunawardena <dinan.gunawardena@netronome.com>
> Acked-by: Jakub Kicinski <jakub.kicinski@netronome.com>
> Signed-off-by: Simon Horman <simon.horman@netronome.com>

Looks good.  I'm surprised we had such a difference in how this was
handled between the flow based and device based paths.

Acked-by: Alexander Duyck <alexander.h.duyck@intel.com>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH/RFC net] gre: set inner_protocol on xmit
  2016-08-12 15:07 ` Alexander Duyck
@ 2016-08-12 15:15   ` Simon Horman
  0 siblings, 0 replies; 3+ messages in thread
From: Simon Horman @ 2016-08-12 15:15 UTC (permalink / raw)
  To: Alexander Duyck; +Cc: Netdev, Alexander Duyck

On Fri, Aug 12, 2016 at 08:07:00AM -0700, Alexander Duyck wrote:
> On Fri, Aug 12, 2016 at 2:46 AM, Simon Horman
> <simon.horman@netronome.com> wrote:
> > Ensure that the inner_protocol is set on transmit so that GSO segmentation,
> > which relies on that field, works correctly.
> >
> > I have observed this is not the case when OvS transmits GRE using
> > lwtunnel metadata (which it always does).
> >
> > Fixes: 38720352412a ("gre: Use inner_proto to obtain inner header protocol")
> > Cc: Alexander Duyck <aduyck@mirantis.com>
> > Reviewed-by: Dinan Gunawardena <dinan.gunawardena@netronome.com>
> > Acked-by: Jakub Kicinski <jakub.kicinski@netronome.com>
> > Signed-off-by: Simon Horman <simon.horman@netronome.com>
> 
> Looks good.  I'm surprised we had such a difference in how this was
> handled between the flow based and device based paths.
> 
> Acked-by: Alexander Duyck <alexander.h.duyck@intel.com>

Thanks, I have reposted with the above Ack and no RFC designation.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-08-12 15:15 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-12  9:46 [PATCH/RFC net] gre: set inner_protocol on xmit Simon Horman
2016-08-12 15:07 ` Alexander Duyck
2016-08-12 15:15   ` Simon Horman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.