mbuf: redefine packet type
authorHelin Zhang <helin.zhang@intel.com>
Thu, 9 Jul 2015 16:31:23 +0000 (00:31 +0800)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 15 Jul 2015 22:57:04 +0000 (00:57 +0200)
commit396254175854d21a88c0857078b15c23c0b431da
tree30fa4f64812ff096d0e9be2a42dc0ca92277ee8d
parentfc060aa614ca72576da2626ca74bcc6694d613c9
mbuf: redefine packet type

In order to unify the packet type, the field of 'packet_type' in
'struct rte_mbuf' needs to be extended from 16 to 32 bits.

Accordingly, some fields in 'struct rte_mbuf' are re-organized to support
this change for Vector PMD.
As 'struct rte_kni_mbuf' for KNI should be right mapped to
'struct rte_mbuf', it should be modified accordingly.
In ixgbe PMD driver, corresponding changes are added for the mbuf changes,
especially the bit masks of packet type for 'ol_flags' are replaced by
unified packet type. In addition, more packet types (UDP, TCP and SCTP)
are supported in vectorized ixgbe PMD.

To avoid breaking ABI compatibility, all the changes would be enabled by
RTE_NEXT_ABI.

Note that around 2% performance drop (64B) was observed of doing 4 ports
(1 port per 82599 card) IO forwarding on the same SNB core.

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Signed-off-by: Cunming Liang <cunming.liang@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
drivers/net/ixgbe/ixgbe_rxtx_vec.c
lib/librte_eal/linuxapp/eal/include/exec-env/rte_kni_common.h
lib/librte_mbuf/rte_mbuf.h