From: Rostislav Lisovy <lisovy@gmail.com>
Date: Fri, 24 Jan 2014 12:17:37 +0000 (+0100)
Subject: can: Propagate SO_PRIORITY of raw sockets to skbs
X-Git-Tag: v3.14-rc3~36^2~66^2~1
X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=bb5ecb0c63ac88b6f39029f75c47f4be4e352e8d;p=users%2Fjedix%2Flinux-maple.git

can: Propagate SO_PRIORITY of raw sockets to skbs

This allows controlling certain queueing disciplines by setting the
socket's SO_PRIORITY option.

For example, with the default pfifo_fast queueing discipline, which
provides three priorities, socket priority TC_PRIO_CONTROL means
higher than default and TC_PRIO_BULK means lower than default.

Signed-off-by: Rostislav Lisovy <lisovy@gmail.com>
Signed-off-by: Michal Sojka <sojkam1@fel.cvut.cz>
Acked-by: Oliver Hartkopp <socketcan@hartkopp.net>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---

diff --git a/net/can/raw.c b/net/can/raw.c
index 07d72d852324..8be757cca2ec 100644
--- a/net/can/raw.c
+++ b/net/can/raw.c
@@ -715,6 +715,7 @@ static int raw_sendmsg(struct kiocb *iocb, struct socket *sock,
 
 	skb->dev = dev;
 	skb->sk  = sk;
+	skb->priority = sk->sk_priority;
 
 	err = can_send(skb, ro->loopback);