[PATCH v2 2/2] examples/ipsec-secgw: add support of NEON with poll mode
Zhang, Roy Fan
roy.fan.zhang at intel.com
Thu Jun 23 10:46:32 CEST 2022
Hi Rahul
> -----Original Message-----
> From: Rahul Bhansali <rbhansali at marvell.com>
> Sent: Friday, June 17, 2022 8:43 AM
> To: dev at dpdk.org; Nicolau, Radu <radu.nicolau at intel.com>; Akhil Goyal
> <gakhil at marvell.com>; Ruifeng Wang <ruifeng.wang at arm.com>
> Cc: jerinj at marvell.com; Rahul Bhansali <rbhansali at 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 <rbhansali at 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");
More information about the dev
mailing list