summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--scripts/automation/trex_control_plane/stl/examples/stl_imix_bidir_update.py4
-rw-r--r--src/dpdk/drivers/net/enic/enic_ethdev.c16
-rw-r--r--src/main_dpdk.cpp25
3 files changed, 14 insertions, 31 deletions
diff --git a/scripts/automation/trex_control_plane/stl/examples/stl_imix_bidir_update.py b/scripts/automation/trex_control_plane/stl/examples/stl_imix_bidir_update.py
index 55d1bbf5..22cceb8f 100644
--- a/scripts/automation/trex_control_plane/stl/examples/stl_imix_bidir_update.py
+++ b/scripts/automation/trex_control_plane/stl/examples/stl_imix_bidir_update.py
@@ -52,7 +52,7 @@ def imix_test (server):
c.start(ports = (dir_0 + dir_1), mult = "100kpps", total = True)
while True:
- for rate in range(200,1000,10):
+ for rate in range(200,3100,10):
# choose rate and start traffic for 10 seconds on 5 mpps
#mult = "30%"
@@ -63,7 +63,7 @@ def imix_test (server):
c.update(ports = (dir_0 + dir_1), mult = my_mult)
- time.sleep(2);
+ #time.sleep(1);
# block until done
#c.wait_on_traffic(ports = (dir_0 + dir_1))
diff --git a/src/dpdk/drivers/net/enic/enic_ethdev.c b/src/dpdk/drivers/net/enic/enic_ethdev.c
index c05476b2..6a86e23f 100644
--- a/src/dpdk/drivers/net/enic/enic_ethdev.c
+++ b/src/dpdk/drivers/net/enic/enic_ethdev.c
@@ -436,22 +436,6 @@ static void enicpmd_dev_stats_reset(struct rte_eth_dev *eth_dev)
}
-int enicpmd_dev_get_fw_support(int port_id,
- uint32_t *ver){
- struct rte_eth_dev *dev;
-
- RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -EINVAL);
-
- dev = &rte_eth_devices[port_id];
- *ver=0;
-
- struct enic *enic = pmd_priv(dev);
- enic->adv_filters;
- if ( enic->adv_filters ==0 ) {
- return (-1);
- }
- return (0);
-}
static void enicpmd_dev_info_get(struct rte_eth_dev *eth_dev,
diff --git a/src/main_dpdk.cpp b/src/main_dpdk.cpp
index 6f18b0b8..f102acbc 100644
--- a/src/main_dpdk.cpp
+++ b/src/main_dpdk.cpp
@@ -6852,26 +6852,25 @@ int CTRexExtendedDriverBaseVIC::configure_rx_filter_rules_statefull(CPhyEthIF *
return 0;
}
-extern "C" int enicpmd_dev_get_fw_support(int port_id,
- uint32_t *ver);
int CTRexExtendedDriverBaseVIC::verify_fw_ver(int port_id) {
- uint32_t ver;
- int ret=enicpmd_dev_get_fw_support(port_id,&ver);
+ struct rte_eth_fdir_info fdir_info;
- if (ret==0) {
- if (CGlobalInfo::m_options.preview.getVMode() >= 1) {
- printf("VIC port %d: FW support advanced filtering \n", port_id);
+ if ( rte_eth_dev_filter_ctrl(port_id,RTE_ETH_FILTER_FDIR, RTE_ETH_FILTER_INFO,(void *)&fdir_info) == 0 ){
+ if ( fdir_info.flow_types_mask[0] & (1<< RTE_ETH_FLOW_NONFRAG_IPV4_OTHER) ) {
+ /* support new features */
+ if (CGlobalInfo::m_options.preview.getVMode() >= 1) {
+ printf("VIC port %d: FW support advanced filtering \n", port_id);
+ }
+ return (0);
}
- }else{
- printf("Error: VIC firmware should upgrade to support advanced filtering \n");
- printf(" Please refer to %s for upgrade instructions\n",
- "https://trex-tgn.cisco.com/trex/doc/trex_manual.html");
- exit(1);
}
- return (0);
+ printf("Error: VIC firmware should upgrade to support advanced filtering \n");
+ printf(" Please refer to %s for upgrade instructions\n",
+ "https://trex-tgn.cisco.com/trex/doc/trex_manual.html");
+ exit(1);
}