summaryrefslogtreecommitdiff
path: root/doc/guides/nics
diff options
context:
space:
mode:
authorHaiyue Wang <haiyue.wang@intel.com>2019-11-08 23:44:34 +0800
committerFerruh Yigit <ferruh.yigit@intel.com>2019-11-11 14:23:02 +0100
commitefc1b2799f6674341322e2026698755d1dce842f (patch)
tree0e06f580ab356b78b8863f42ff477a0ac1b12ec0 /doc/guides/nics
parente484e40323327aa4c51f22d59a38bde40327743d (diff)
downloaddpdk-efc1b2799f6674341322e2026698755d1dce842f.zip
dpdk-efc1b2799f6674341322e2026698755d1dce842f.tar.gz
dpdk-efc1b2799f6674341322e2026698755d1dce842f.tar.xz
net/ice: optimize protocol extraction by dynamic mbuf
The original design is to use rte_mbuf::udata64 to save the metadata of protocol extraction which has network protocol data fields and type, a private API is used to decode this metadata. Use the dynamic mbuf field and flags to register the needed fields in mbuf, to avoid overwriting 'rte_mbuf::udata64', since the application may use it. Now the protocol extraction metadate is saved into dynamic mbuf field with 4B size, and its type and validity is indicated by the related dynamic mbuf flags in 'rte_mbuf::ol_flags'. Signed-off-by: Haiyue Wang <haiyue.wang@intel.com> Reviewed-by: Xiaolong Ye <xiaolong.ye@intel.com>
Diffstat (limited to 'doc/guides/nics')
-rw-r--r--doc/guides/nics/ice.rst14
1 files changed, 8 insertions, 6 deletions
diff --git a/doc/guides/nics/ice.rst b/doc/guides/nics/ice.rst
index 933f634..1a42643 100644
--- a/doc/guides/nics/ice.rst
+++ b/doc/guides/nics/ice.rst
@@ -82,8 +82,8 @@ Runtime Config Options
- ``Protocol extraction for per queue``
- Configure the RX queues to do protocol extraction into ``rte_mbuf::udata64``
- for protocol handling acceleration, like checking the TCP SYN packets quickly.
+ Configure the RX queues to do protocol extraction into mbuf for protocol
+ handling acceleration, like checking the TCP SYN packets quickly.
The argument format is::
@@ -111,7 +111,8 @@ Runtime Config Options
This setting means queues 1, 2-3, 8-9 are TCP extraction, queues 10-23 are
IPv6 extraction, other queues use the default VLAN extraction.
- The extraction will be copied into the lower 32 bit of ``rte_mbuf::udata64``.
+ The extraction metadata is copied into the registered dynamic mbuf field, and
+ the related dynamic mbuf flags is set.
.. table:: Protocol extraction : ``vlan``
@@ -175,10 +176,11 @@ Runtime Config Options
TCPHDR2 - Reserved
- Use ``get_proto_xtr_flds(struct rte_mbuf *mb)`` to access the protocol
- extraction, do not use ``rte_mbuf::udata64`` directly.
+ Use ``rte_net_ice_dynf_proto_xtr_metadata_get`` to access the protocol
+ extraction metadata, and use ``RTE_PKT_RX_DYNF_PROTO_XTR_*`` to get the
+ metadata type of ``struct rte_mbuf::ol_flags``.
- The ``dump_proto_xtr_flds(struct rte_mbuf *mb)`` routine shows how to
+ The ``rte_net_ice_dump_proto_xtr_metadata`` routine shows how to
access the protocol extraction result in ``struct rte_mbuf``.
Driver compilation and testing