summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2013-10-17 15:36:04 -0400
committerDavid S. Miller <davem@davemloft.net>2013-10-17 15:36:04 -0400
commit206f398587a4bc447734f9bd2c71f390905697bc (patch)
tree509d5a4bea1dc636885572a4c5d85e9e7bbce32b /include
parentc0f4ace79e7e5bec0ff065c4afa3eb3329c9384c (diff)
parent82cada22a0bbec6a7afb573ef5fb6c512aaa2739 (diff)
Merge branch 'xen_netback'
xen-netback: IPv6 offload support ==================== This patch series adds support for checksum and large packet offloads into xen-netback. Testing has mainly been done using the Microsoft network hardware certification suite running in Server 2008R2 VMs with Citrix PV frontends. v2: - Fixed Wei's email address in Cc lines v3: - Responded to Wei's comments: - netif.h now updated with comments and a definition of XEN_NETIF_GSO_TYPE_NONE. - limited number of pullups - Responded to Annie's comments: - New GSO_BIT macro v4: - Responded to more of Wei's comments - Remove parsing of IPv6 fragment header and added warning v5: - Added comment concerning the value chosen for PKT_PROT_LEN - Dropped deprecation of feature-no-csum-offload ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/xen/interface/io/netif.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/include/xen/interface/io/netif.h b/include/xen/interface/io/netif.h
index eb262e3324d2..c50061db6098 100644
--- a/include/xen/interface/io/netif.h
+++ b/include/xen/interface/io/netif.h
@@ -51,6 +51,20 @@
*/
/*
+ * "feature-no-csum-offload" should be used to turn IPv4 TCP/UDP checksum
+ * offload off or on. If it is missing then the feature is assumed to be on.
+ * "feature-ipv6-csum-offload" should be used to turn IPv6 TCP/UDP checksum
+ * offload on or off. If it is missing then the feature is assumed to be off.
+ */
+
+/*
+ * "feature-gso-tcpv4" and "feature-gso-tcpv6" advertise the capability to
+ * handle large TCP packets (in IPv4 or IPv6 form respectively). Neither
+ * frontends nor backends are assumed to be capable unless the flags are
+ * present.
+ */
+
+/*
* This is the 'wire' format for packets:
* Request 1: xen_netif_tx_request -- XEN_NETTXF_* (any flags)
* [Request 2: xen_netif_extra_info] (only if request 1 has XEN_NETTXF_extra_info)
@@ -95,8 +109,10 @@ struct xen_netif_tx_request {
#define _XEN_NETIF_EXTRA_FLAG_MORE (0)
#define XEN_NETIF_EXTRA_FLAG_MORE (1U<<_XEN_NETIF_EXTRA_FLAG_MORE)
-/* GSO types - only TCPv4 currently supported. */
+/* GSO types */
+#define XEN_NETIF_GSO_TYPE_NONE (0)
#define XEN_NETIF_GSO_TYPE_TCPV4 (1)
+#define XEN_NETIF_GSO_TYPE_TCPV6 (2)
/*
* This structure needs to fit within both netif_tx_request and