packet: set transport header before doing xmit
authorJason Wang <jasowang@redhat.com>
Mon, 25 Mar 2013 20:19:57 +0000 (20:19 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 26 Mar 2013 16:44:43 +0000 (12:44 -0400)
commitc1aad275b0293d2b1905ec95a945422262470684
tree68ce7c931434840a46bffd1e9db5cb20c0feb7cd
parent38502af77e07b5d6650b9ff99a0b482d86366592
packet: set transport header before doing xmit

Set the transport header for 1) some drivers (e.g ixgbe needs l4 header to do
atr) 2) precise packet length estimation (introduced in 1def9238) needs l4
header to compute header length.

So this patch first tries to get l4 header for packet socket through
skb_flow_dissect(), and pretend no l4 header if skb_flow_dissect() fails.

Cc: Eric Dumazet <edumazet@google.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/packet/af_packet.c