summaryrefslogtreecommitdiff
path: root/include/linux/if_packet.h
diff options
context:
space:
mode:
authorSridhar Samudrala <sri@us.ibm.com>2010-02-04 20:24:10 -0800
committerDavid S. Miller <davem@davemloft.net>2010-02-04 20:24:10 -0800
commitbfd5f4a3d605e0f6054df0b59fe0907ff7e696d3 (patch)
tree63d19326b491b507f246ea4c3ef410d62602e794 /include/linux/if_packet.h
parent746079dabcf74be2a16dc983ac597156e3d2e051 (diff)
downloadlinux-3.10-bfd5f4a3d605e0f6054df0b59fe0907ff7e696d3.tar.gz
linux-3.10-bfd5f4a3d605e0f6054df0b59fe0907ff7e696d3.tar.bz2
linux-3.10-bfd5f4a3d605e0f6054df0b59fe0907ff7e696d3.zip
packet: Add GSO/csum offload support.
This patch adds GSO/checksum offload to af_packet sockets using virtio_net_hdr. Based on Rusty's patch to add this support to tun. It allows GSO/checksum offload to be enabled when using raw socket backend with virtio_net. Adds PACKET_VNET_HDR socket option to prepend virtio_net_hdr in the receive path and process/skip virtio_net_hdr in the send path. This option is only allowed with SOCK_RAW sockets attached to ethernet type devices. v2 updates ---------- Michael's Comments - Perform length check in packet_snd() when GSO is off even when vnet_hdr is present. - Check for SKB_GSO_FCOE type and return -EINVAL - don't allow tx/rx ring when vnet_hdr is enabled. Herbert's Comments - Removed ethernet specific code. - protocol value is assumed to be passed in by the caller. Signed-off-by: Sridhar Samudrala <sri@us.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/if_packet.h')
-rw-r--r--include/linux/if_packet.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/if_packet.h b/include/linux/if_packet.h
index 4021d47cc43..aa57a5f993f 100644
--- a/include/linux/if_packet.h
+++ b/include/linux/if_packet.h
@@ -46,6 +46,7 @@ struct sockaddr_ll {
#define PACKET_RESERVE 12
#define PACKET_TX_RING 13
#define PACKET_LOSS 14
+#define PACKET_VNET_HDR 15
struct tpacket_stats {
unsigned int tp_packets;