doc: fix file attributes
[dpdk.git] / doc / guides / prog_guide / poll_mode_drv.rst
index 71a9e63..e9e1132 100644 (file)
@@ -115,7 +115,7 @@ to dynamically adapt its overall behavior through different global loop policies
 
 To achieve optimal performance, overall software design choices and pure software optimization techniques must be considered and
 balanced against available low-level hardware-based optimization features (CPU cache properties, bus speed, NIC PCI bandwidth, and so on).
-The case of packet transmission is an example of this software/ hardware tradeoff issue when optimizing burst-oriented network packet processing engines.
+The case of packet transmission is an example of this software/hardware tradeoff issue when optimizing burst-oriented network packet processing engines.
 In the initial case, the PMD could export only an rte_eth_tx_one function to transmit one packet at a time on a given queue.
 On top of that, one can easily build an rte_eth_tx_burst function that loops invoking the rte_eth_tx_one function to transmit several packets at a time.
 However, an rte_eth_tx_burst function is effectively implemented by the PMD to minimize the driver-level transmit cost per packet through the following optimizations:
@@ -199,6 +199,7 @@ Other features such as the L3/L4 5-Tuple packet filtering feature of a port can
 Ethernet* flow control (pause frame) can be configured on the individual port.
 Refer to the testpmd source code for details.
 Also, L4 (UDP/TCP/ SCTP) checksum offload by the NIC can be enabled for an individual packet as long as the packet mbuf is set up correctly.
+In terms of UDP tunneling packet, the PKT_TX_UDP_TUNNEL_PKT flag must be set to enable tunneling packet TX checksum offload for both outer layer and inner layer.
 Refer to the testpmd source code (specifically the csumonly.c file) for details.
 
 That being said, the support of some offload features implies the addition of dedicated status bit(s) and value field(s) into the rte_mbuf