Thread (80 messages) 80 messages, 9 authors, 2018-04-23

Re: [PATCH v2 1/5] ethdev: introduce Tx generic tunnel offloads

From: Ananyev, Konstantin <hidden>
Date: 2018-01-29 16:49:20

Hi Xueming,
This patch introduce new TX offloads flag for devices that support
tunnel agnostic checksum and TSO offloads.

The support from the device is for inner and outer checksums on
IPV4/TCP/UDP and TSO for *any packet with the following format*:

< some headers > / [optional IPv4/IPv6] / [optional TCP/UDP] / <some
headers> / [optional inner IPv4/IPv6] / [optional TCP/UDP]

For example the following packets can use this feature:

1. eth / ipv4 / udp / VXLAN / ip / tcp
2. eth / ipv4 / GRE / MPLS / ipv4 / udp
So in terms of usage - what is the difference with current TSO types?
Konstantin
quoted hunk ↗ jump to hunk
Signed-off-by: Xueming Li <redacted>
---
 lib/librte_ether/rte_ethdev.h | 10 ++++++++++
 1 file changed, 10 insertions(+)
diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
index 1a5b4cdc5..d8d08ccb2 100644
--- a/lib/librte_ether/rte_ethdev.h
+++ b/lib/librte_ether/rte_ethdev.h
@@ -979,6 +979,16 @@ struct rte_eth_conf {
  *   the same mempool and has refcnt = 1.
  */
 #define DEV_TX_OFFLOAD_SECURITY         0x00020000
+/**< Device supports generic tunnel checksum and TSO offloading.
+ * Checksum and TSO are done based on following mbuf fields:
+ *   - Length of each header
+ *   - Type of outer/inner L3 type, IPv4 or IPv6
+ *   - Type of outer/inner L4 type, TCP or UDP.
+ *	- PKT_TX_TUNNEL_VXLAN implies outer UDP type.
+ *	- PKT_TX_TCP_SEG implies inner TCP type.
+ * Tunnel type is optional except PKT_TX_TUNNEL_VXLAN to hint outer UDP.
+ */
+#define DEV_TX_OFFLOAD_GENERIC_TNL_CKSUM_TSO	0x00040000

 /*
  * If new Tx offload capabilities are defined, they also must be
--
2.13.3
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help