summaryrefslogtreecommitdiffstats
path: root/src/main_dpdk.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/main_dpdk.cpp')
-rwxr-xr-xsrc/main_dpdk.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/main_dpdk.cpp b/src/main_dpdk.cpp
index b1c9ed12..57a87b71 100755
--- a/src/main_dpdk.cpp
+++ b/src/main_dpdk.cpp
@@ -127,6 +127,9 @@ class CPhyEthIFStats ;
class CTRexExtendedDriverBase {
public:
+
+ virtual TrexPlatformApi::driver_speed_e get_driver_speed() = 0;
+
virtual int get_min_sample_rate(void)=0;
virtual void update_configuration(port_cfg_t * cfg)=0;
virtual void update_global_config_fdir(port_cfg_t * cfg)=0;
@@ -153,6 +156,10 @@ public:
CTRexExtendedDriverBase1G(){
}
+ TrexPlatformApi::driver_speed_e get_driver_speed() {
+ return TrexPlatformApi::SPEED_1G;
+ }
+
static CTRexExtendedDriverBase * create(){
return ( new CTRexExtendedDriverBase1G() );
}
@@ -191,6 +198,10 @@ public:
CGlobalInfo::m_options.preview.set_vm_one_queue_enable(true);
}
+ TrexPlatformApi::driver_speed_e get_driver_speed() {
+ return TrexPlatformApi::SPEED_1G;
+ }
+
static CTRexExtendedDriverBase * create(){
return ( new CTRexExtendedDriverBase1GVm() );
}
@@ -229,6 +240,11 @@ class CTRexExtendedDriverBase10G : public CTRexExtendedDriverBase {
public:
CTRexExtendedDriverBase10G(){
}
+
+ TrexPlatformApi::driver_speed_e get_driver_speed() {
+ return TrexPlatformApi::SPEED_10G;
+ }
+
static CTRexExtendedDriverBase * create(){
return ( new CTRexExtendedDriverBase10G() );
}
@@ -261,6 +277,10 @@ public:
CTRexExtendedDriverBase40G(){
}
+ TrexPlatformApi::driver_speed_e get_driver_speed() {
+ return TrexPlatformApi::SPEED_40G;
+ }
+
static CTRexExtendedDriverBase * create(){
return ( new CTRexExtendedDriverBase40G() );
}
@@ -303,6 +323,11 @@ public:
class CTRexExtendedDriverDb {
public:
+
+ const std::string & get_driver_name() {
+ return m_driver_name;
+ }
+
bool is_driver_exists(std::string name);
@@ -5275,3 +5300,11 @@ TrexDpdkPlatformApi::port_id_to_cores(uint8_t port_id, std::vector<std::pair<uin
}
}
+void
+TrexDpdkPlatformApi::get_interface_info(uint8_t interface_id,
+ std::string &driver_name,
+ driver_speed_e &speed) const {
+
+ driver_name = CTRexExtendedDriverDb::Ins()->get_driver_name();
+ speed = CTRexExtendedDriverDb::Ins()->get_drv()->get_driver_speed();
+}