can: Propagate SO_PRIORITY of raw sockets to skbs
authorRostislav Lisovy <lisovy@gmail.com>
Fri, 24 Jan 2014 12:17:37 +0000 (13:17 +0100)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Wed, 29 Jan 2014 19:23:23 +0000 (20:23 +0100)
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>
net/can/raw.c

index 07d72d852324f23a8fffdc71798e89602b861977..8be757cca2ec444171982cb8c33ef58ab27310be 100644 (file)
@@ -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);