aboutsummaryrefslogtreecommitdiffstats
path: root/net/packet/af_packet.c
diff options
context:
space:
mode:
authorEric Dumazet <eric.dumazet@gmail.com>2009-10-01 15:14:46 -0400
committerDavid S. Miller <davem@davemloft.net>2009-10-07 04:07:38 -0400
commit2d37a186cedc51502dbee71c16ae0fbd9114d62c (patch)
tree57fb5fcd52db657066f389f8b0299c2af143bcd0 /net/packet/af_packet.c
parentfa857afcf77da669eb6b7031ec07ad14b912c307 (diff)
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/af_packet.c')
-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,
490 skb->protocol = proto; 490 skb->protocol = proto;
491 skb->dev = dev; 491 skb->dev = dev;
492 skb->priority = sk->sk_priority; 492 skb->priority = sk->sk_priority;
493 skb->mark = sk->sk_mark;
493 if (err) 494 if (err)
494 goto out_free; 495 goto out_free;
495 496
@@ -884,6 +885,7 @@ static int tpacket_fill_skb(struct packet_sock *po, struct sk_buff *skb,
884 skb->protocol = proto; 885 skb->protocol = proto;
885 skb->dev = dev; 886 skb->dev = dev;
886 skb->priority = po->sk.sk_priority; 887 skb->priority = po->sk.sk_priority;
888 skb->mark = po->sk.sk_mark;
887 skb_shinfo(skb)->destructor_arg = ph.raw; 889 skb_shinfo(skb)->destructor_arg = ph.raw;
888 890
889 switch (po->tp_version) { 891 switch (po->tp_version) {
@@ -1153,6 +1155,7 @@ static int packet_snd(struct socket *sock,
1153 skb->protocol = proto; 1155 skb->protocol = proto;
1154 skb->dev = dev; 1156 skb->dev = dev;
1155 skb->priority = sk->sk_priority; 1157 skb->priority = sk->sk_priority;
1158 skb->mark = sk->sk_mark;
1156 1159
1157 /* 1160 /*
1158 * Now send it 1161 * Now send it