Hi Rahul > -----Original Message----- > From: Rahul Bhansali <rbhans...@marvell.com> > Sent: Friday, June 17, 2022 8:43 AM > To: dev@dpdk.org; Nicolau, Radu <radu.nico...@intel.com>; Akhil Goyal > <gak...@marvell.com>; Ruifeng Wang <ruifeng.w...@arm.com> > Cc: jer...@marvell.com; Rahul Bhansali <rbhans...@marvell.com> > Subject: [PATCH v2 2/2] examples/ipsec-secgw: add support of NEON with poll > mode > > This adds the support of NEON based lpm lookup along with > multi packet processing for burst send in packets routing. > > Performance impact: > On cn10k, with poll mode inline protocol, outbound performance > increased by upto ~8% and inbound performance increased by > upto ~6%. > > Signed-off-by: Rahul Bhansali <rbhans...@marvell.com> > --- --snip-- > > static inline void > @@ -1403,6 +1420,8 @@ add_dst_ethaddr(uint16_t port, const struct > rte_ether_addr *addr) > return -EINVAL; >
Fan: I failed to understand why do we need to overwrite address to do an address copy here. Was it a bug? > ethaddr_tbl[port].dst = ETHADDR_TO_UINT64(addr); > + rte_ether_addr_copy((struct rte_ether_addr *)ðaddr_tbl[port].dst, > + (struct rte_ether_addr *)(val_eth + port)); > return 0; > } > > @@ -1865,6 +1884,12 @@ port_init(uint16_t portid, uint64_t req_rx_offloads, > uint64_t req_tx_offloads) > portid, rte_strerror(-ret)); > > ethaddr_tbl[portid].src = ETHADDR_TO_UINT64(ðaddr); Fan: Same here > + > + rte_ether_addr_copy((struct rte_ether_addr *)ðaddr_tbl[portid].dst, > + (struct rte_ether_addr *)(val_eth + portid)); > + rte_ether_addr_copy((struct rte_ether_addr *)ðaddr_tbl[portid].src, > + (struct rte_ether_addr *)(val_eth + portid) + 1); > + > print_ethaddr("Address: ", ðaddr); > printf("\n");