> -----Original Message----- > From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Thomas Monjalon > Sent: Wednesday, April 18, 2018 3:28 PM > To: Xueming Li <xuemi...@mellanox.com> > Cc: Lu, Wenzhuo <wenzhuo...@intel.com>; Wu, Jingjing <jingjing...@intel.com>; > Yongseok Koh <ys...@mellanox.com>; Olivier MATZ > <olivier.m...@6wind.com>; Shahaf Shuler <shah...@mellanox.com>; Iremonger, > Bernard <bernard.iremon...@intel.com>; Yigit, Ferruh > <ferruh.yi...@intel.com>; dev@dpdk.org > Subject: Re: [dpdk-dev] [PATCH v6 1/2] ethdev: introduce generic IP/UDP > tunnel checksum and TSO > > 18/04/2018 15:58, Xueming Li: > > This patch introduce new TX offload flags for device that supports > > IP or UDP tunneled packet L3/L4 checksum and TSO offload. > > It will be used for non-standard tunnels. > > > > 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 > > > > Please note that specific tunnel headers that contain payload length, > > sequence id or checksum will not be updated. > > > > The new flag PKT_TX_TUNNEL_IP is redundant with PKT_TX_OUTER_IP_CKSUM. > > The old flag PKT_TX_OUTER_IP_CKSUM can be deprecated and removed in > > later release. > > > > Signed-off-by: Xueming Li <xuemi...@mellanox.com> > > Except a small comment below, it looks OK. > > Acked-by: Thomas Monjalon <tho...@monjalon.net> > > Please send a deprecation notice for PKT_TX_OUTER_IP_CKSUM.
I probably missed something, but why PKT_TX_OUTER_IP_CKSUM is supposed to be deprecated? Konstantin > > > > --- a/lib/librte_mbuf/rte_mbuf.h > > +++ b/lib/librte_mbuf/rte_mbuf.h > > +/** > > + * Generic IP encapsulated tunnel type, used for TSO and checksum offload. > > + * It can be used for tunnels which are not standards or listed above. > > + * It is preferred to use specific tunnel flags like PKT_TX_TUNNEL_VXLAN > > + * if possible. > > PKT_TX_TUNNEL_GRE or PKT_TX_TUNNEL_IPIP may be a better example than > PKT_TX_TUNNEL_VXLAN in IP tunnel case. > > > + * The ethdev must be configured with DEV_TX_OFFLOAD_IP_TNL_TSO. > > + * Outer and inner checksums are done according to the existing flags like > > + * PKT_TX_xxx_CKSUM. > > + * Specific tunnel headers that contain payload length, sequence id > > + * or checksum are not expected to be updated. > > + */ > > +#define PKT_TX_TUNNEL_IP (0xDULL << 45) > > +/** > > + * Generic UDP encapsulated tunnel type, used for TSO and checksum offload. > > + * UDP tunnel type implies outer IP layer. > > + * It can be used for tunnels which are not standards or listed above. > > + * It is preferred to use specific tunnel flags like PKT_TX_TUNNEL_VXLAN > > + * if possible. > > + * The ethdev must be configured with DEV_TX_OFFLOAD_UDP_TNL_TSO. > > + * Outer and inner checksums are done according to the existing flags like > > + * PKT_TX_xxx_CKSUM. > > + * Specific tunnel headers that contain payload length, sequence id > > + * or checksum are not expected to be updated. > > + */ > > +#define PKT_TX_TUNNEL_UDP (0xEULL << 45) > >