summaryrefslogtreecommitdiff
path: root/net/packet
diff options
context:
space:
mode:
authorEric Dumazet <eric.dumazet@gmail.com>2009-10-01 23:14:46 +0400
committerDavid S. Miller <davem@davemloft.net>2009-10-07 12:07:38 +0400
commit2d37a186cedc51502dbee71c16ae0fbd9114d62c (patch)
tree57fb5fcd52db657066f389f8b0299c2af143bcd0 /net/packet
parentfa857afcf77da669eb6b7031ec07ad14b912c307 (diff)
downloadlinux-2d37a186cedc51502dbee71c16ae0fbd9114d62c.tar.xz
Use sk_mark for routing lookup in more places
Here is a followup on this area, thanks. [RFC] af_packet: fill skb->mark at xmit skb->mark may be used by classifiers, so fill it in case user set a SO_MARK option on socket. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/packet')
-rw-r--r--net/packet/af_packet.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
index d398a9bf6903..efc1174af716 100644
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -490,6 +490,7 @@ static int packet_sendmsg_spkt(struct kiocb *iocb, struct socket *sock,
skb->protocol = proto;
skb->dev = dev;
skb->priority = sk->sk_priority;
+ skb->mark = sk->sk_mark;
if (err)
goto out_free;
@@ -884,6 +885,7 @@ static int tpacket_fill_skb(struct packet_sock *po, struct sk_buff *skb,
skb->protocol = proto;
skb->dev = dev;
skb->priority = po->sk.sk_priority;
+ skb->mark = po->sk.sk_mark;
skb_shinfo(skb)->destructor_arg = ph.raw;
switch (po->tp_version) {
@@ -1153,6 +1155,7 @@ static int packet_snd(struct socket *sock,
skb->protocol = proto;
skb->dev = dev;
skb->priority = sk->sk_priority;
+ skb->mark = sk->sk_mark;
/*
* Now send it