Message ID | 1474660229-5665-1-git-send-email-lrichard@redhat.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
Hello. On 09/23/2016 10:50 PM, Lance Richardson wrote: > Similar to commit 3be07244b733 ("ip6_gre: fix flowi6_proto value in > xmit path"), set flowi6_proto to IPPROTO_GRE for output route lookup. > > Up until now, ip6gre_xmit_other() has set flowi6_proto to a bogus value. > This affected output route lookup for packets sent on an ip6gretap device > in cases where routing was dependent on the value of 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") That "commit" isn't needed here, this tag has a standardized format. Hopefully, can be fixed while applying... > Reviewed-by: Shmulik Ladkani <shmulik.ladkani@gmail.com> > Signed-off-by: Lance Richardson <lrichard@redhat.com> [...] MBR, Sergei
> From: "Sergei Shtylyov" <sergei.shtylyov@cogentembedded.com> > To: "Lance Richardson" <lrichard@redhat.com>, netdev@vger.kernel.org > Cc: "shmulik ladkani" <shmulik.ladkani@gmail.com>, jbenc@redhat.com > Sent: Friday, September 23, 2016 4:01:15 PM > Subject: Re: [PATCH net v2] ip6_gre: fix flowi6_proto value in ip6gre_xmit_other() > > Hello. > > On 09/23/2016 10:50 PM, Lance Richardson wrote: > > > Similar to commit 3be07244b733 ("ip6_gre: fix flowi6_proto value in > > xmit path"), set flowi6_proto to IPPROTO_GRE for output route lookup. > > > > Up until now, ip6gre_xmit_other() has set flowi6_proto to a bogus value. > > This affected output route lookup for packets sent on an ip6gretap device > > in cases where routing was dependent on the value of 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") > > That "commit" isn't needed here, this tag has a standardized format. > Hopefully, can be fixed while applying... Thanks for pointing that out, I mistakenly added that "commit" after checkpatch.pl complained about not having "commit" before the hashes in the log. Hoping it can be fixed when applying as well. > > > Reviewed-by: Shmulik Ladkani <shmulik.ladkani@gmail.com> > > Signed-off-by: Lance Richardson <lrichard@redhat.com> > [...] > > MBR, Sergei > >
From: Lance Richardson <lrichard@redhat.com> Date: Fri, 23 Sep 2016 15:50:29 -0400 > Similar to commit 3be07244b733 ("ip6_gre: fix flowi6_proto value in > xmit path"), set flowi6_proto to IPPROTO_GRE for output route lookup. > > Up until now, ip6gre_xmit_other() has set flowi6_proto to a bogus value. > This affected output route lookup for packets sent on an ip6gretap device > in cases where routing was dependent on the value of 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") > Reviewed-by: Shmulik Ladkani <shmulik.ladkani@gmail.com> > Signed-off-by: Lance Richardson <lrichard@redhat.com> > --- > v2: expanded commit description as suggested by Shmulik Ladkani. Applied and queued up for -stable with Fixes tag fixes up. Thanks.
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)