[dpdk-dev] [PATCH v2 1/3] app/testpmd: code refactory for macswap
Ferruh Yigit
ferruh.yigit at intel.com
Tue Dec 11 16:48:19 CET 2018
On 12/11/2018 5:55 AM, Qi Zhang wrote:
> Move macswap workload to dedicate function, so we can further enable
> platform specific optimized version.
>
> Signed-off-by: Qi Zhang <qi.z.zhang at intel.com>
<...>
> +}
> +
> +#endif /* _BPF_CMD_H_ */
Comment is remaining from copy-pate, there are a few more in the patchset.
<...>
> +static inline uint64_t
> +ol_flags_init(uint64_t tx_offload)
> +{
> + uint64_t ol_flags = 0;
> +
> + ol_flags |= (tx_offload & DEV_TX_OFFLOAD_VLAN_INSERT) ?
> + PKT_TX_VLAN : 0;
> + ol_flags |= (tx_offload & DEV_TX_OFFLOAD_QINQ_INSERT) ?
> + PKT_TX_QINQ : 0;
> + ol_flags |= (tx_offload & DEV_TX_OFFLOAD_MACSEC_INSERT) ?
> + PKT_TX_MACSEC : 0;
> +
> + return ol_flags;
> +}
> +
> +static inline void
> +vlan_qinq_set(struct rte_mbuf *pkts[], uint16_t nb,
> + uint64_t ol_flags, uint16_t vlan, uint16_t outer_vlan)
> +{
> + int i;
> +
> + if (ol_flags & PKT_TX_VLAN)
> + for (i = 0; i < nb; i++)
> + pkts[i]->vlan_tci = vlan;
> + if (ol_flags & PKT_TX_QINQ)
> + for (i = 0; i < nb; i++)
> + pkts[i]->vlan_tci_outer = outer_vlan;
> +}
> +
> +static inline void
> +mbuf_field_set(struct rte_mbuf *mb, uint64_t ol_flags)
> +{
> + mb->ol_flags &= IND_ATTACHED_MBUF | EXT_ATTACHED_MBUF;
> + mb->ol_flags |= ol_flags;
> + mb->l2_len = sizeof(struct ether_hdr);
> + mb->l3_len = sizeof(struct ipv4_hdr);
'vlan_qinq_set()' goes through all packets in burst already, why not merge
'vlan_qinq_set' and 'mbuf_field_set' as before but only add 'ol_flags' checks?
More information about the dev
mailing list