Re: [PATCH] mbuf: new flag when Vlan is stripped
From: Olivier Matz <hidden>
Date: 2016-05-23 09:40:45
quoted
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