I noticed IPv6 only sets skb->priority in raw.c but not in
ip6_output.c, which seems to be a mistake.

[IPV6]: Set skb->priority in ip6_output.c

Set skb->priority = sk->sk_priority as in raw.c and IPv4.

Signed-off-by: Patrick McHardy <[EMAIL PROTECTED]>

---
commit 6c35e681553b3faf9c98d0b983c3e9f51d17fcaf
tree 6793ee9dcc8b7a71b17e3faa4d0e63d3adc3cd4b
parent 663f377ad5eeac785bb490e1274fd9bab000995b
author Patrick McHardy <[EMAIL PROTECTED]> Mon, 09 Jan 2006 00:59:02 +0100
committer Patrick McHardy <[EMAIL PROTECTED]> Mon, 09 Jan 2006 00:59:02 +0100

 net/ipv6/ip6_output.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c
index b4c4beb..efa3e72 100644
--- a/net/ipv6/ip6_output.c
+++ b/net/ipv6/ip6_output.c
@@ -226,6 +226,8 @@ int ip6_xmit(struct sock *sk, struct sk_
        ipv6_addr_copy(&hdr->saddr, &fl->fl6_src);
        ipv6_addr_copy(&hdr->daddr, first_hop);
 
+       skb->priority = sk->sk_priority;
+
        mtu = dst_mtu(dst);
        if ((skb->len <= mtu) || ipfragok) {
                IP6_INC_STATS(IPSTATS_MIB_OUTREQUESTS);
@@ -1182,6 +1184,8 @@ int ip6_push_pending_frames(struct sock 
        ipv6_addr_copy(&hdr->saddr, &fl->fl6_src);
        ipv6_addr_copy(&hdr->daddr, final_dst);
 
+       skb->priority = sk->sk_priority;
+
        skb->dst = dst_clone(&rt->u.dst);
        IP6_INC_STATS(IPSTATS_MIB_OUTREQUESTS); 
        err = NF_HOOK(PF_INET6, NF_IP6_LOCAL_OUT, skb, NULL, skb->dst->dev, 
dst_output);

Reply via email to