From mboxrd@z Thu Jan 1 00:00:00 1970 From: Olivier MATZ Subject: Re: [PATCH v5 1/3] mbuf:redefine three TX ol_flags Date: Wed, 03 Dec 2014 12:35:11 +0100 Message-ID: <547EF56F.5010604@6wind.com> References: <1417532767-1309-1-git-send-email-jijiang.liu@intel.com> <1417532767-1309-2-git-send-email-jijiang.liu@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit To: Jijiang Liu , dev-VfR2kkLFssw@public.gmane.org Return-path: In-Reply-To: <1417532767-1309-2-git-send-email-jijiang.liu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" Hi Jijiang, On 12/02/2014 04:06 PM, Jijiang Liu wrote: > The reason of redefining the PKT_TX_IPV4 and the PKT_TX_IPV6 is listed below, > It will avoid to send a packet with a bad info: > - we receive a Ether/IP6/IP4/L4/data packet > - the driver sets PKT_RX_IPV6_HDR > - the stack decapsulates IP6 > - the stack sends the packet, it has the PKT_TX_IPV6 flag but it's an IPv4 packet. > > Signed-off-by: Jijiang Liu > --- > lib/librte_mbuf/rte_mbuf.h | 10 +++++----- > 1 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h > index 2e5fce5..cbadf8e 100644 > --- a/lib/librte_mbuf/rte_mbuf.h > +++ b/lib/librte_mbuf/rte_mbuf.h > @@ -141,13 +141,13 @@ extern "C" { > #define PKT_TX_IP_CKSUM (1ULL << 54) /**< IP cksum of TX pkt. computed by NIC. */ > #define PKT_TX_IPV4_CSUM PKT_TX_IP_CKSUM /**< Alias of PKT_TX_IP_CKSUM. */ > > -/** Tell the NIC it's an IPv4 packet. Required for L4 checksum offload or TSO. */ > -#define PKT_TX_IPV4 PKT_RX_IPV4_HDR > +/** Packet is IPv4 without requiring IP checksum offload. */ > +#define PKT_TX_IPV4 (1ULL << 55) > > -/** Tell the NIC it's an IPv6 packet. Required for L4 checksum offload or TSO. */ > -#define PKT_TX_IPV6 PKT_RX_IPV6_HDR > +/** Tell the NIC it's an IPv6 packet.*/ > +#define PKT_TX_IPV6 (1ULL << 56) > > -#define PKT_TX_VLAN_PKT (1ULL << 55) /**< TX packet is a 802.1q VLAN packet. */ > +#define PKT_TX_VLAN_PKT (1ULL << 57) /**< TX packet is a 802.1q VLAN packet. */ > > /* Use final bit of flags to indicate a control mbuf */ > #define CTRL_MBUF_FLAG (1ULL << 63) /**< Mbuf contains control data */ > Acked-by: Olivier Matz