From 00c9ca3b9acd5cb50c7fe06521fdba04041c4b57 Mon Sep 17 00:00:00 2001 From: Yaroslav Brustinov Date: Fri, 16 Dec 2016 10:37:22 +0200 Subject: revert of 1602ab2067f1752b0c72c2cd1335d210260b3b04 need to find another solution Change-Id: Ia2b90ac58af4fc8417b1e2a7ba6815a68d614dfa Signed-off-by: Yaroslav Brustinov --- src/dpdk/lib/librte_ether/rte_ethdev.c | 3 +- src/main_dpdk.cpp | 64 +++++++++++++++++++++------------- 2 files changed, 41 insertions(+), 26 deletions(-) (limited to 'src') diff --git a/src/dpdk/lib/librte_ether/rte_ethdev.c b/src/dpdk/lib/librte_ether/rte_ethdev.c index 06d35656..e7bc9d6d 100644 --- a/src/dpdk/lib/librte_ether/rte_ethdev.c +++ b/src/dpdk/lib/librte_ether/rte_ethdev.c @@ -450,7 +450,8 @@ rte_eth_dev_get_port_by_name(const char *name, uint8_t *port_id) return -ENODEV; } -static int +/* TREX_PATCH removed "static" */ +int rte_eth_dev_get_port_by_addr(const struct rte_pci_addr *addr, uint8_t *port_id) { int i; diff --git a/src/main_dpdk.cpp b/src/main_dpdk.cpp index 6cd44b57..f8f365c8 100644 --- a/src/main_dpdk.cpp +++ b/src/main_dpdk.cpp @@ -103,6 +103,8 @@ extern "C" { typedef struct rte_mbuf * (*rte_mbuf_convert_to_one_seg_t)(struct rte_mbuf *m); struct rte_mbuf * rte_mbuf_convert_to_one_seg(struct rte_mbuf *m); +extern "C" int rte_eth_dev_get_port_by_addr(const struct rte_pci_addr *addr, uint8_t *port_id); +void reorder_dpdk_ports(); #define RTE_TEST_TX_DESC_DEFAULT 512 #define RTE_TEST_RX_DESC_DROP 0 @@ -5442,10 +5444,12 @@ int update_dpdk_args(void){ global_dpdk_args[global_dpdk_args_num++]=(char *)"-w"; global_dpdk_args[global_dpdk_args_num++]=(char *)lpop->dump_interfaces[i].c_str(); } - } else { - // add here only first interface. if give them all, they will be sorted alphanumerically. - global_dpdk_args[global_dpdk_args_num++]=(char *)"-w"; - global_dpdk_args[global_dpdk_args_num++]=(char *)global_platform_cfg_info.m_if_list[0].c_str(); + } + else { + for (int i=0; i<(int)global_platform_cfg_info.m_if_list.size(); i++) { + global_dpdk_args[global_dpdk_args_num++]=(char *)"-w"; + global_dpdk_args[global_dpdk_args_num++]=(char *)global_platform_cfg_info.m_if_list[i].c_str(); + } } @@ -5594,27 +5598,7 @@ int main_test(int argc , char * argv[]){ dump_interfaces_info(); exit(0); } - - // now attach the rest of interfaces in "our" order - for (uint8_t i=1; i 0){ + printf("TRex cfg port id: %d <-> DPDK port id: %d\n", i, port_id); + } + } + + // actual reorder + for (int i=0; i<(int)global_platform_cfg_info.m_if_list.size(); i++) { + memcpy(&rte_eth_devices[m_port_map[i]], &rte_eth_devices_temp[i], sizeof rte_eth_devices_temp[i]); + } +} ////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////// -- cgit 1.2.3-korg