X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=examples%2Fl3fwd%2Fl3fwd_neon.h;h=e3d33a52298a5a214608abbb769300ef323f2ff1;hb=52def963fc1c5aa8eae51ea2f87e0a34be4e53ee;hp=af2dc47ac26b5311af5c2fb6dd4355431472375b;hpb=6d13ea8e8e49ab957deae2bba5ecf4a4bfe747d1;p=dpdk.git diff --git a/examples/l3fwd/l3fwd_neon.h b/examples/l3fwd/l3fwd_neon.h index af2dc47ac2..e3d33a5229 100644 --- a/examples/l3fwd/l3fwd_neon.h +++ b/examples/l3fwd/l3fwd_neon.h @@ -48,19 +48,23 @@ processx4_step3(struct rte_mbuf *pkt[FWDSTEP], uint16_t dst_port[FWDSTEP]) vst1q_u32(p[2], ve[2]); vst1q_u32(p[3], ve[3]); - rfc1812_process((struct ipv4_hdr *)((struct rte_ether_hdr *)p[0] + 1), - &dst_port[0], pkt[0]->packet_type); - rfc1812_process((struct ipv4_hdr *)((struct rte_ether_hdr *)p[1] + 1), - &dst_port[1], pkt[1]->packet_type); - rfc1812_process((struct ipv4_hdr *)((struct rte_ether_hdr *)p[2] + 1), - &dst_port[2], pkt[2]->packet_type); - rfc1812_process((struct ipv4_hdr *)((struct rte_ether_hdr *)p[3] + 1), - &dst_port[3], pkt[3]->packet_type); + rfc1812_process((struct rte_ipv4_hdr *) + ((struct rte_ether_hdr *)p[0] + 1), + &dst_port[0], pkt[0]->packet_type); + rfc1812_process((struct rte_ipv4_hdr *) + ((struct rte_ether_hdr *)p[1] + 1), + &dst_port[1], pkt[1]->packet_type); + rfc1812_process((struct rte_ipv4_hdr *) + ((struct rte_ether_hdr *)p[2] + 1), + &dst_port[2], pkt[2]->packet_type); + rfc1812_process((struct rte_ipv4_hdr *) + ((struct rte_ether_hdr *)p[3] + 1), + &dst_port[3], pkt[3]->packet_type); } /* * Group consecutive packets with the same destination port in bursts of 4. - * Suppose we have array of destionation ports: + * Suppose we have array of destination ports: * dst_port[] = {a, b, c, d,, e, ... } * dp1 should contain: , dp2: . * We doing 4 comparisons at once and the result is 4 bit mask. @@ -113,7 +117,7 @@ process_packet(struct rte_mbuf *pkt, uint16_t *dst_port) ve = vreinterpretq_u32_s32(val_eth[dst_port[0]]); - rfc1812_process((struct ipv4_hdr *)(eth_hdr + 1), dst_port, + rfc1812_process((struct rte_ipv4_hdr *)(eth_hdr + 1), dst_port, pkt->packet_type); ve = vcopyq_laneq_u32(ve, 3, te, 3);