[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