|
@@ -73,8 +73,8 @@ int udp_tunnel6_xmit_skb(struct dst_entry *dst, struct sock *sk,
|
|
|
struct sk_buff *skb,
|
|
|
struct net_device *dev, struct in6_addr *saddr,
|
|
|
struct in6_addr *daddr,
|
|
|
- __u8 prio, __u8 ttl, __be16 src_port,
|
|
|
- __be16 dst_port, bool nocheck)
|
|
|
+ __u8 prio, __u8 ttl, __be32 label,
|
|
|
+ __be16 src_port, __be16 dst_port, bool nocheck)
|
|
|
{
|
|
|
struct udphdr *uh;
|
|
|
struct ipv6hdr *ip6h;
|
|
@@ -98,7 +98,7 @@ int udp_tunnel6_xmit_skb(struct dst_entry *dst, struct sock *sk,
|
|
|
__skb_push(skb, sizeof(*ip6h));
|
|
|
skb_reset_network_header(skb);
|
|
|
ip6h = ipv6_hdr(skb);
|
|
|
- ip6_flow_hdr(ip6h, prio, htonl(0));
|
|
|
+ ip6_flow_hdr(ip6h, prio, label);
|
|
|
ip6h->payload_len = htons(skb->len);
|
|
|
ip6h->nexthdr = IPPROTO_UDP;
|
|
|
ip6h->hop_limit = ttl;
|