diff options
author | Deepak S <deepak.s@linux.intel.com> | 2018-06-29 06:53:05 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@opnfv.org> | 2018-06-29 06:53:05 +0000 |
commit | 95b73fd50f4a5bbd095c5e7291057a639e057716 (patch) | |
tree | d08016ae3ebdb62996890f5adbfe6986ad4a93b4 /VNFs/vACL/pipeline | |
parent | f9b2f62739b38b65195ff44e4a47ac310407ac49 (diff) | |
parent | 0b35af460f2ebb480fa1cdc46c69956be117cfa7 (diff) |
Merge "TempFix: vCGNAPT/vACL ipv4 perf issue"
Diffstat (limited to 'VNFs/vACL/pipeline')
-rw-r--r-- | VNFs/vACL/pipeline/pipeline_acl_be.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/VNFs/vACL/pipeline/pipeline_acl_be.c b/VNFs/vACL/pipeline/pipeline_acl_be.c index d4b92109..5da2e36f 100644 --- a/VNFs/vACL/pipeline/pipeline_acl_be.c +++ b/VNFs/vACL/pipeline/pipeline_acl_be.c @@ -777,7 +777,13 @@ pkt_work_acl_key(struct rte_pipeline *p, uint32_t packet_length = rte_pktmbuf_pkt_len(pkt); uint32_t dest_if = INVALID_DESTIF; + uint32_t dst_phy_port = INVALID_DESTIF; uint32_t src_phy_port = pkt->port; + if(is_phy_port_privte(src_phy_port)) + dst_phy_port = prv_to_pub_map[src_phy_port]; + else + dst_phy_port = pub_to_prv_map[src_phy_port]; + if(is_gateway()){ @@ -794,7 +800,7 @@ pkt_work_acl_key(struct rte_pipeline *p, uint32_t nhip = 0; uint32_t dst_ip_addr = rte_bswap32(ipv4hdr->dst_addr); - gw_get_nh_port_ipv4(dst_ip_addr, &dest_if, &nhip); + gw_get_route_nh_port_ipv4(dst_ip_addr, &dest_if, &nhip, dst_phy_port); ret_arp_data = get_dest_mac_addr_ipv4(nhip, dest_if, &dst_mac); @@ -1475,6 +1481,11 @@ pkt_work_acl_ipv4_key(struct rte_pipeline *p, uint32_t dest_if = INVALID_DESTIF; uint32_t src_phy_port = pkt->port; + uint32_t dst_phy_port = INVALID_DESTIF; + if(is_phy_port_privte(src_phy_port)) + dst_phy_port = prv_to_pub_map[src_phy_port]; + else + dst_phy_port = pub_to_prv_map[src_phy_port]; if(is_gateway()){ @@ -1493,7 +1504,7 @@ pkt_work_acl_ipv4_key(struct rte_pipeline *p, uint32_t src_phy_port = pkt->port; uint32_t dst_ip_addr = rte_bswap32(ipv4hdr->dst_addr); - gw_get_nh_port_ipv4(dst_ip_addr, &dest_if, &nhip); + gw_get_route_nh_port_ipv4(dst_ip_addr, &dest_if, &nhip, dst_phy_port); ret_arp_data = get_dest_mac_addr_ipv4(nhip, dest_if, &dst_mac); |