batman-adv: Set skb priority in fragments
authorAndrew Lunn <[email protected]>
Mon, 9 May 2016 18:03:35 +0000 (20:03 +0200)
committerSimon Wunderlich <[email protected]>
Thu, 30 Jun 2016 08:29:43 +0000 (10:29 +0200)
BATMAN will set the skb->priority based on the IP precedence or 802.1q
tag. However, if it needs to fragment the frame, it currently leaves
the fragment skb with the default priority and actually overwrites the
priority in the unfragmented frame. Fix this.

Signed-off-by: Andrew Lunn <[email protected]>
Signed-off-by: Marek Lindner <[email protected]>
Signed-off-by: Sven Eckelmann <[email protected]>
Signed-off-by: Simon Wunderlich <[email protected]>
net/batman-adv/fragmentation.c

index 65536db1bff7642ea261493bcceceeab067ba2c4..a119b6a6365f541fd2ae0b8a0c704858ef8896f1 100644 (file)
@@ -27,7 +27,6 @@
 #include <linux/kernel.h>
 #include <linux/lockdep.h>
 #include <linux/netdevice.h>
-#include <linux/pkt_sched.h>
 #include <linux/skbuff.h>
 #include <linux/slab.h>
 #include <linux/spinlock.h>
@@ -414,7 +413,7 @@ static struct sk_buff *batadv_frag_create(struct sk_buff *skb,
        if (!skb_fragment)
                goto err;
 
-       skb->priority = TC_PRIO_CONTROL;
+       skb_fragment->priority = skb->priority;
 
        /* Eat the last mtu-bytes of the skb */
        skb_reserve(skb_fragment, header_size + ETH_HLEN);