From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ferruh Yigit Subject: Re: [PATCH v2 1/3] app/testpmd: code refactory for macswap Date: Tue, 11 Dec 2018 15:48:19 +0000 Message-ID: References: <20181122172632.6229-1-qi.z.zhang@intel.com> <20181211055511.32284-1-qi.z.zhang@intel.com> <20181211055511.32284-2-qi.z.zhang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Cc: dev@dpdk.org, wenzhuo.lu@intel.com, bernard.iremonger@intel.com To: Qi Zhang , bruce.richardson@intel.com, keith.wiles@intel.com, konstantin.ananyev@intel.com Return-path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id 9B1965911 for ; Tue, 11 Dec 2018 16:48:23 +0100 (CET) In-Reply-To: <20181211055511.32284-2-qi.z.zhang@intel.com> Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 <...> > +} > + > +#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?