Message ID | 1474649699-31069-1-git-send-email-lrichard@redhat.com |
---|---|
State | Superseded, archived |
Delegated to: | David Miller |
Headers | show |
On Fri, 23 Sep 2016 12:54:59 -0400 Lance Richardson <lrichard@redhat.com> wrote: > Similar to commit 3be07244b733 ("ip6_gre: fix flowi6_proto value in > xmit path"), set flowi6_proto to IPPROTO_GRE for output route lookup. Suggesting to add: Up until now, 'ip6gre_xmit_other' has set flowi6_proto to a bogus value. This affects output route lookup upon xmit of non ipv4/ipv6 packets on a ip6gretap device, in cases where routing depends on flowi6_proto. > Since the correct proto is already set in the tunnel flowi6 template via > commit 252f3f5a1189 ("ip6_gre: Set flowi6_proto as IPPROTO_GRE in xmit > path."), simply delete the line setting the incorrect flowi6_proto value. > > Suggested-by: Jiri Benc <jbenc@redhat.com> > Fixes: commit c12b395a4664 ("gre: Support GRE over IPv6") > Signed-off-by: Lance Richardson <lrichard@redhat.com> Reviewed-by: Shmulik Ladkani <shmulik.ladkani@gmail.com>
> From: "Shmulik Ladkani" <shmulik.ladkani@gmail.com> > To: "Lance Richardson" <lrichard@redhat.com> > Cc: netdev@vger.kernel.org > Sent: Friday, September 23, 2016 3:00:36 PM > Subject: Re: [PATCH net] ip6_gre: fix flowi6_proto value in ip6gre_xmit_other() > > On Fri, 23 Sep 2016 12:54:59 -0400 Lance Richardson <lrichard@redhat.com> > wrote: > > Similar to commit 3be07244b733 ("ip6_gre: fix flowi6_proto value in > > xmit path"), set flowi6_proto to IPPROTO_GRE for output route lookup. > > Suggesting to add: > > Up until now, 'ip6gre_xmit_other' has set flowi6_proto to a bogus value. > This affects output route lookup upon xmit of non ipv4/ipv6 packets on a > ip6gretap device, in cases where routing depends on flowi6_proto. > Added in v2, taking some editorial license (please let me know if I mangled it too badly). Thanks, Lance > > Since the correct proto is already set in the tunnel flowi6 template via > > commit 252f3f5a1189 ("ip6_gre: Set flowi6_proto as IPPROTO_GRE in xmit > > path."), simply delete the line setting the incorrect flowi6_proto value. > > > > Suggested-by: Jiri Benc <jbenc@redhat.com> > > Fixes: commit c12b395a4664 ("gre: Support GRE over IPv6") > > Signed-off-by: Lance Richardson <lrichard@redhat.com> > > Reviewed-by: Shmulik Ladkani <shmulik.ladkani@gmail.com> >
On Fri, 23 Sep 2016 15:52:24 -0400 (EDT) Lance Richardson <lrichard@redhat.com> wrote: > > From: "Shmulik Ladkani" <shmulik.ladkani@gmail.com> > > Suggesting to add: > > > > Up until now, 'ip6gre_xmit_other' has set flowi6_proto to a bogus value. > > This affects output route lookup upon xmit of non ipv4/ipv6 packets on a > > ip6gretap device, in cases where routing depends on flowi6_proto. > > > > Added in v2, taking some editorial license (please let me know if I mangled it > too badly). Thanks Lance, looks good.
diff --git a/net/ipv6/ip6_gre.c b/net/ipv6/ip6_gre.c index 704274c..edc3daa 100644 --- a/net/ipv6/ip6_gre.c +++ b/net/ipv6/ip6_gre.c @@ -648,7 +648,6 @@ static int ip6gre_xmit_other(struct sk_buff *skb, struct net_device *dev) encap_limit = t->parms.encap_limit; memcpy(&fl6, &t->fl.u.ip6, sizeof(fl6)); - fl6.flowi6_proto = skb->protocol; err = gre_handle_offloads(skb, !!(t->parms.o_flags & TUNNEL_CSUM)); if (err)
Similar to commit 3be07244b733 ("ip6_gre: fix flowi6_proto value in xmit path"), set flowi6_proto to IPPROTO_GRE for output route lookup. Since the correct proto is already set in the tunnel flowi6 template via commit 252f3f5a1189 ("ip6_gre: Set flowi6_proto as IPPROTO_GRE in xmit path."), simply delete the line setting the incorrect flowi6_proto value. Suggested-by: Jiri Benc <jbenc@redhat.com> Fixes: commit c12b395a4664 ("gre: Support GRE over IPv6") Signed-off-by: Lance Richardson <lrichard@redhat.com> --- net/ipv6/ip6_gre.c | 1 - 1 file changed, 1 deletion(-)