diff options
| author | Eric Dumazet <eric.dumazet@gmail.com> | 2009-10-01 15:14:46 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2009-10-07 04:07:38 -0400 |
| commit | 2d37a186cedc51502dbee71c16ae0fbd9114d62c (patch) | |
| tree | 57fb5fcd52db657066f389f8b0299c2af143bcd0 /net/packet | |
| parent | fa857afcf77da669eb6b7031ec07ad14b912c307 (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')
| -rw-r--r-- | net/packet/af_packet.c | 3 |
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 |
