diff options
author | Willem de Bruijn <willemb@google.com> | 2016-02-03 18:02:17 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-02-09 06:43:50 -0500 |
commit | 1d036d25e5609ba73fee6a88db01c306b140d512 (patch) | |
tree | 6932e66c41212dcbb6f15a438a3a57af401e57c5 /net/appletalk | |
parent | 8d39b4a6b83c141acaf0b5e8f90fd5e67721ff90 (diff) | |
download | op-kernel-dev-1d036d25e5609ba73fee6a88db01c306b140d512.zip op-kernel-dev-1d036d25e5609ba73fee6a88db01c306b140d512.tar.gz |
packet: tpacket_snd gso and checksum offload
Support socket option PACKET_VNET_HDR together with PACKET_TX_RING.
When enabled, a struct virtio_net_hdr is expected to precede the data
in the ring. The vnet option must be set before the ring is created.
The implementation reuses the existing skb_copy_bits code that is used
when dev->hard_header_len is non-zero. Move this ll_header check to
before the skb alloc and combine it with a test for vnet_hdr->hdr_len.
Allocate and copy the max of the two.
Verified with test program at
github.com/wdebruij/kerneltools/blob/master/tests/psock_txring_vnet.c
Signed-off-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/appletalk')
0 files changed, 0 insertions, 0 deletions