Commit 825edac4 authored by Hannes Frederic Sowa's avatar Hannes Frederic Sowa Committed by David S. Miller

ipv6: copy traffic class from ping request to reply

Suggested-by: default avatarSimon Schneider <simon-schneider@gmx.net>
Signed-off-by: default avatarHannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 72c1d3bd
...@@ -67,6 +67,7 @@ ...@@ -67,6 +67,7 @@
#include <net/icmp.h> #include <net/icmp.h>
#include <net/xfrm.h> #include <net/xfrm.h>
#include <net/inet_common.h> #include <net/inet_common.h>
#include <net/dsfield.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
...@@ -553,6 +554,7 @@ static void icmpv6_echo_reply(struct sk_buff *skb) ...@@ -553,6 +554,7 @@ static void icmpv6_echo_reply(struct sk_buff *skb)
struct dst_entry *dst; struct dst_entry *dst;
int err = 0; int err = 0;
int hlimit; int hlimit;
u8 tclass;
saddr = &ipv6_hdr(skb)->daddr; saddr = &ipv6_hdr(skb)->daddr;
...@@ -603,8 +605,9 @@ static void icmpv6_echo_reply(struct sk_buff *skb) ...@@ -603,8 +605,9 @@ static void icmpv6_echo_reply(struct sk_buff *skb)
msg.offset = 0; msg.offset = 0;
msg.type = ICMPV6_ECHO_REPLY; msg.type = ICMPV6_ECHO_REPLY;
tclass = ipv6_get_dsfield(ipv6_hdr(skb));
err = ip6_append_data(sk, icmpv6_getfrag, &msg, skb->len + sizeof(struct icmp6hdr), err = ip6_append_data(sk, icmpv6_getfrag, &msg, skb->len + sizeof(struct icmp6hdr),
sizeof(struct icmp6hdr), hlimit, np->tclass, NULL, &fl6, sizeof(struct icmp6hdr), hlimit, tclass, NULL, &fl6,
(struct rt6_info *)dst, MSG_DONTWAIT, (struct rt6_info *)dst, MSG_DONTWAIT,
np->dontfrag); np->dontfrag);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment