|
@@ -728,7 +728,7 @@ static netdev_tx_t ip6gre_xmit2(struct sk_buff *skb,
|
|
*/
|
|
*/
|
|
ipv6h = ipv6_hdr(skb);
|
|
ipv6h = ipv6_hdr(skb);
|
|
ip6_flow_hdr(ipv6h, INET_ECN_encapsulate(0, dsfield),
|
|
ip6_flow_hdr(ipv6h, INET_ECN_encapsulate(0, dsfield),
|
|
- ip6_make_flowlabel(net, skb, fl6->flowlabel, false));
|
|
|
|
|
|
+ ip6_make_flowlabel(net, skb, fl6->flowlabel, false, fl6));
|
|
ipv6h->hop_limit = tunnel->parms.hop_limit;
|
|
ipv6h->hop_limit = tunnel->parms.hop_limit;
|
|
ipv6h->nexthdr = proto;
|
|
ipv6h->nexthdr = proto;
|
|
ipv6h->saddr = fl6->saddr;
|
|
ipv6h->saddr = fl6->saddr;
|
|
@@ -1182,7 +1182,8 @@ static int ip6gre_header(struct sk_buff *skb, struct net_device *dev,
|
|
|
|
|
|
ip6_flow_hdr(ipv6h, 0,
|
|
ip6_flow_hdr(ipv6h, 0,
|
|
ip6_make_flowlabel(dev_net(dev), skb,
|
|
ip6_make_flowlabel(dev_net(dev), skb,
|
|
- t->fl.u.ip6.flowlabel, false));
|
|
|
|
|
|
+ t->fl.u.ip6.flowlabel, false,
|
|
|
|
+ &t->fl.u.ip6));
|
|
ipv6h->hop_limit = t->parms.hop_limit;
|
|
ipv6h->hop_limit = t->parms.hop_limit;
|
|
ipv6h->nexthdr = NEXTHDR_GRE;
|
|
ipv6h->nexthdr = NEXTHDR_GRE;
|
|
ipv6h->saddr = t->parms.laddr;
|
|
ipv6h->saddr = t->parms.laddr;
|