[dpdk-dev] [PATCH] mbuf: new flag when Vlan is stripped
Olivier Matz
olivier.matz at 6wind.com
Mon May 23 11:40:34 CEST 2016
>> static inline uint64_t
>> -rx_desc_status_to_pkt_flags(uint32_t rx_status)
>> +rx_desc_status_to_pkt_flags(uint32_t rx_status, uint8_t vlan_strip)
>> {
>> uint64_t pkt_flags;
>> + uint64_t vlan_flags;
>> +
>> + /* if vlan is stripped, set the proper flag */
>> + if (vlan_strip)
>> + vlan_flags = PKT_RX_VLAN_PKT | PKT_RX_VLAN_STRIPPED;
>> + else
>> + vlan_flags = PKT_RX_VLAN_PKT;
>>
>> /*
>> * Check if VLAN present only.
>> * Do not check whether L3/L4 rx checksum done by NIC or not,
>> * That can be found from rte_eth_rxmode.hw_ip_checksum flag
>> */
>> - pkt_flags = (rx_status & IXGBE_RXD_STAT_VP) ? PKT_RX_VLAN_PKT : 0;
>> + pkt_flags = (rx_status & IXGBE_RXD_STAT_VP) ? vlan_flags : 0;
>
>
> Instead of storing in rxq (and passing as a parameter) a bool value for vlan_strip (=on/off),
> you probably can store in rxq and pass as a parameter here uint64_t vlan_flags;
> Then it will be:
>
> rx_desc_status_to_pkt_flags(uint32_t rx_status, uint64_t vlan_flags)
> {
> ...
> pkt_flags = (rx_status & IXGBE_RXD_STAT_VP) ? vlan_flags : 0;
> ...
> }
>
> ...
> pkt_flags = rx_desc_status_to_pkt_flags(s[j], rxq->vlan_flags);
>
> Might help to save few cycles here.
Yep, will do in v2.
Olivier
More information about the dev
mailing list