[dpdk-dev] [PATCH 17/17] mbuf: remove old packet type bit masks for ol_flags

Olivier MATZ olivier.matz at 6wind.com
Mon Feb 2 12:22:56 CET 2015


Hi Helin,

On 02/02/2015 02:53 AM, Zhang, Helin wrote:
>> */
>>>  	/* case PKT_RX_RECIP_ERR: return "PKT_RX_RECIP_ERR"; */
>>>  	/* case PKT_RX_MAC_ERR: return "PKT_RX_MAC_ERR"; */
>>> -	case PKT_RX_IPV4_HDR: return "PKT_RX_IPV4_HDR";
>>> -	case PKT_RX_IPV4_HDR_EXT: return "PKT_RX_IPV4_HDR_EXT";
>>> -	case PKT_RX_IPV6_HDR: return "PKT_RX_IPV6_HDR";
>>> -	case PKT_RX_IPV6_HDR_EXT: return "PKT_RX_IPV6_HDR_EXT";
>>>  	case PKT_RX_IEEE1588_PTP: return "PKT_RX_IEEE1588_PTP";
>>>  	case PKT_RX_IEEE1588_TMST: return "PKT_RX_IEEE1588_TMST";
>>> -	case PKT_RX_TUNNEL_IPV4_HDR: return "PKT_RX_TUNNEL_IPV4_HDR";
>>> -	case PKT_RX_TUNNEL_IPV6_HDR: return "PKT_RX_TUNNEL_IPV6_HDR";
>>
>> I see you are not removing IEEE1588. Is there a reason why it is not handled as
>> a packet_type?
> Ieee1588 is not a part of information reported by hardware in packet type.
> Yes, your idea on this is worth being taken into account.

This would indeed be more coherent. In this case, I think it would
require to add a l2_type in the packet_type info.


>>> diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h
>>> index 94ae344..5df0d61 100644
>>> --- a/lib/librte_mbuf/rte_mbuf.h
>>> +++ b/lib/librte_mbuf/rte_mbuf.h
>>> @@ -90,16 +90,10 @@ extern "C" {
>>>  #define PKT_RX_HBUF_OVERFLOW (0ULL << 0)  /**< Header buffer
>> overflow. */
>>>  #define PKT_RX_RECIP_ERR     (0ULL << 0)  /**< Hardware processing
>> error. */
>>>  #define PKT_RX_MAC_ERR       (0ULL << 0)  /**< MAC error. */
>>> -#define PKT_RX_IPV4_HDR      (1ULL << 5)  /**< RX packet with IPv4
>> header. */
>>> -#define PKT_RX_IPV4_HDR_EXT  (1ULL << 6)  /**< RX packet with
>> extended IPv4 header. */
>>> -#define PKT_RX_IPV6_HDR      (1ULL << 7)  /**< RX packet with IPv6
>> header. */
>>> -#define PKT_RX_IPV6_HDR_EXT  (1ULL << 8)  /**< RX packet with
>>> extended IPv6 header. */  #define PKT_RX_IEEE1588_PTP  (1ULL << 9)
>>> /**< RX IEEE1588 L2 Ethernet PT Packet. */  #define
>>> PKT_RX_IEEE1588_TMST (1ULL << 10) /**< RX IEEE1588 L2/L4 timestamped
>>> packet.*/ -#define PKT_RX_TUNNEL_IPV4_HDR (1ULL << 11) /**< RX tunnel
>> packet with IPv4 header.*/ -#define PKT_RX_TUNNEL_IPV6_HDR (1ULL << 12)
>> /**< RX tunnel packet with IPv6 header. */
>>> -#define PKT_RX_FDIR_ID       (1ULL << 13) /**< FD id reported if FDIR
>> match. */
>>> -#define PKT_RX_FDIR_FLX      (1ULL << 14) /**< Flexible bytes reported if
>> FDIR match. */
>>> +#define PKT_RX_FDIR_ID       (1ULL << 11) /**< FD id reported if FDIR
>> match. */
>>> +#define PKT_RX_FDIR_FLX      (1ULL << 12) /**< Flexible bytes reported if
>> FDIR match. */
>>
>> It looks like but numbers are not contiguous anymore (there is a hole between
>> 5 and 8).
> Initially I don't want to move the following values up, as I am not sure if it may
> affect other features.
> I'd prefer to keep that hole as reserved. What's the opinion from you guys?
> Thanks for the good comments!

I think changing the flags bit value to keep ordering is not a problem.

Regards,
Olivier


More information about the dev mailing list