batman-adv: Set skb priority in fragments
authorAndrew Lunn <andrew@lunn.ch>
Mon, 9 May 2016 18:03:35 +0000 (20:03 +0200)
committerSimon Wunderlich <sw@simonwunderlich.de>
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 <andrew@lunn.ch>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
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);