|
@@ -45,6 +45,8 @@ static void send_reset(struct net *net, struct sk_buff *oldskb)
|
|
|
int tcphoff, needs_ack;
|
|
|
const struct ipv6hdr *oip6h = ipv6_hdr(oldskb);
|
|
|
struct ipv6hdr *ip6h;
|
|
|
+#define DEFAULT_TOS_VALUE 0x0U
|
|
|
+ const __u8 tclass = DEFAULT_TOS_VALUE;
|
|
|
struct dst_entry *dst = NULL;
|
|
|
u8 proto;
|
|
|
struct flowi6 fl6;
|
|
@@ -124,7 +126,7 @@ static void send_reset(struct net *net, struct sk_buff *oldskb)
|
|
|
skb_put(nskb, sizeof(struct ipv6hdr));
|
|
|
skb_reset_network_header(nskb);
|
|
|
ip6h = ipv6_hdr(nskb);
|
|
|
- ip6h->version = 6;
|
|
|
+ *(__be32 *)ip6h = htonl(0x60000000 | (tclass << 20));
|
|
|
ip6h->hop_limit = ip6_dst_hoplimit(dst);
|
|
|
ip6h->nexthdr = IPPROTO_TCP;
|
|
|
ipv6_addr_copy(&ip6h->saddr, &oip6h->daddr);
|