diff options
author | Konstantin Ananyev <konstantin.ananyev@intel.com> | 2018-02-06 22:17:36 +0000 |
---|---|---|
committer | Konstantin Ananyev <konstantin.ananyev@intel.com> | 2018-02-07 17:43:40 +0000 |
commit | 5c795f7bd17608d441d4e2c7f862ad9d45685b93 (patch) | |
tree | 96947264d77354b9cb880f86333d961d414ce689 /examples/l4fwd/dpdk_legacy.h | |
parent | 3726dc50dd2a9873ac05847be80ca615ea4a708b (diff) |
tldk: make sure it builds/works with latest dpdk (17.11/18.02)
Change-Id: I460b88661656b64558b442c7800b4edc20ad4b56
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Diffstat (limited to 'examples/l4fwd/dpdk_legacy.h')
-rw-r--r-- | examples/l4fwd/dpdk_legacy.h | 104 |
1 files changed, 5 insertions, 99 deletions
diff --git a/examples/l4fwd/dpdk_legacy.h b/examples/l4fwd/dpdk_legacy.h index 7bf856f..29886b1 100644 --- a/examples/l4fwd/dpdk_legacy.h +++ b/examples/l4fwd/dpdk_legacy.h @@ -19,109 +19,15 @@ #include <rte_version.h> #if RTE_VERSION_NUM(17, 5, 0, 0) <= RTE_VERSION -#ifndef DPDK_VERSION_GE_1705 -#define DPDK_VERSION_GE_1705 -#endif -#endif - -/* - * IPv6 destination lookup callback. - */ -static int -lpm6_dst_lookup(void *data, const struct in6_addr *addr, - struct tle_dest *res) -{ - int32_t rc; -#ifdef DPDK_VERSION_GE_1705 - uint32_t idx; +typedef uint32_t dpdk_lpm6_idx_t; #else - uint8_t idx; +typedef uint8_t dpdk_lpm6_idx_t; #endif - struct netbe_lcore *lc; - struct tle_dest *dst; - uintptr_t p; - - lc = data; - p = (uintptr_t)addr->s6_addr; - rc = rte_lpm6_lookup(lc->lpm6, (uint8_t *)p, &idx); - if (rc == 0) { - dst = &lc->dst6[idx]; - rte_memcpy(res, dst, dst->l2_len + dst->l3_len + - offsetof(struct tle_dest, hdr)); - } - return rc; -} - -static int -netbe_find6(const struct in6_addr *laddr, uint16_t lport, - const struct in6_addr *raddr, uint32_t belc) -{ - uint32_t i, j; -#ifdef DPDK_VERSION_GE_1705 - uint32_t idx; +#if RTE_VERSION_NUM(17, 11, 0, 0) <= RTE_VERSION +typedef uint16_t dpdk_port_t; #else - uint8_t idx; +typedef uint8_t dpdk_port_t; #endif - struct netbe_lcore *bc; - - /* we have exactly one BE, use it for all traffic */ - if (becfg.cpu_num == 1) - return 0; - - /* search by provided be_lcore */ - if (belc != LCORE_ID_ANY) { - for (i = 0; i != becfg.cpu_num; i++) { - bc = becfg.cpu + i; - if (belc == bc->id) - return i; - } - RTE_LOG(NOTICE, USER1, "%s: no stream with belcore=%u\n", - __func__, belc); - return -ENOENT; - } - - /* search by local address */ - if (memcmp(laddr, &in6addr_any, sizeof(*laddr)) != 0) { - for (i = 0; i != becfg.cpu_num; i++) { - bc = becfg.cpu + i; - /* search by queue for the local port */ - for (j = 0; j != bc->prtq_num; j++) { - if (memcmp(laddr, &bc->prtq[j].port.ipv6, - sizeof(*laddr)) == 0) { - - if (lport == 0) - return i; - - if (verify_queue_for_port(bc->prtq + j, - lport) != 0) - return i; - } - } - } - } - - /* search by remote address */ - if (memcmp(raddr, &in6addr_any, sizeof(*raddr)) == 0) { - for (i = 0; i != becfg.cpu_num; i++) { - bc = becfg.cpu + i; - if (rte_lpm6_lookup(bc->lpm6, - (uint8_t *)(uintptr_t)raddr->s6_addr, - &idx) == 0) { - - if (lport == 0) - return i; - - /* search by queue for the local port */ - for (j = 0; j != bc->prtq_num; j++) - if (verify_queue_for_port(bc->prtq + j, - lport) != 0) - return i; - } - } - } - - return -ENOENT; -} #endif /* DPDK_LEGACY_H_ */ |