summaryrefslogtreecommitdiffstats
path: root/src/internal_api/trex_platform_api.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/internal_api/trex_platform_api.h')
-rw-r--r--src/internal_api/trex_platform_api.h45
1 files changed, 40 insertions, 5 deletions
diff --git a/src/internal_api/trex_platform_api.h b/src/internal_api/trex_platform_api.h
index f8bc10d5..831fd778 100644
--- a/src/internal_api/trex_platform_api.h
+++ b/src/internal_api/trex_platform_api.h
@@ -31,6 +31,7 @@ limitations under the License.
*
* @author imarom (06-Oct-15)
*/
+
class TrexPlatformGlobalStats {
public:
TrexPlatformGlobalStats() {
@@ -98,7 +99,12 @@ public:
class TrexPlatformApi {
public:
-
+ enum driver_stat_capabilities_e {
+ IF_STAT_IPV4_ID = 1,
+ IF_STAT_PAYLOAD = 2,
+ IF_STAT_IPV6_FLOW_LABEL = 4,
+ };
+
enum driver_speed_e {
SPEED_INVALID,
SPEED_1G,
@@ -109,9 +115,18 @@ public:
virtual void port_id_to_cores(uint8_t port_id, std::vector<std::pair<uint8_t, uint8_t>> &cores_id_list) const = 0;
virtual void get_global_stats(TrexPlatformGlobalStats &stats) const = 0;
virtual void get_interface_stats(uint8_t interface_id, TrexPlatformInterfaceStats &stats) const = 0;
- virtual void get_interface_info(uint8_t interface_id, std::string &driver_name, driver_speed_e &speed) const = 0;
+
+ virtual void get_interface_info(uint8_t interface_id, std::string &driver_name,
+ driver_speed_e &speed,
+ bool &has_crc) const = 0;
+
virtual void publish_async_data_now(uint32_t key) const = 0;
virtual uint8_t get_dp_core_count() const = 0;
+ virtual void get_interface_stat_info(uint8_t interface_id, uint16_t &num_counters, uint16_t &capabilities) const =0;
+ virtual int get_rx_stats(uint8_t port_id, uint64_t *stats, int index, bool reset) const = 0;
+ virtual void get_port_num(uint8_t &port_num) const = 0;
+ virtual int add_rx_flow_stat_rule(uint8_t port_id, uint8_t type, uint16_t proto, uint16_t id) const = 0;
+ virtual int del_rx_flow_stat_rule(uint8_t port_id, uint8_t type, uint16_t proto, uint16_t id) const = 0;
virtual ~TrexPlatformApi() {}
};
@@ -127,10 +142,19 @@ public:
void port_id_to_cores(uint8_t port_id, std::vector<std::pair<uint8_t, uint8_t>> &cores_id_list) const;
void get_global_stats(TrexPlatformGlobalStats &stats) const;
void get_interface_stats(uint8_t interface_id, TrexPlatformInterfaceStats &stats) const;
- void get_interface_info(uint8_t interface_id, std::string &driver_name, driver_speed_e &speed) const;
+
+ void get_interface_info(uint8_t interface_id,
+ std::string &driver_name,
+ driver_speed_e &speed,
+ bool &has_crc) const;
+
void publish_async_data_now(uint32_t key) const;
uint8_t get_dp_core_count() const;
-
+ void get_interface_stat_info(uint8_t interface_id, uint16_t &num_counters, uint16_t &capabilities) const;
+ int get_rx_stats(uint8_t port_id, uint64_t *stats, int index, bool reset) const;
+ void get_port_num(uint8_t &port_num) const;
+ int add_rx_flow_stat_rule(uint8_t port_id, uint8_t type, uint16_t proto, uint16_t id) const;
+ int del_rx_flow_stat_rule(uint8_t port_id, uint8_t type, uint16_t proto, uint16_t id) const;
};
/**
@@ -143,13 +167,24 @@ public:
void port_id_to_cores(uint8_t port_id, std::vector<std::pair<uint8_t, uint8_t>> &cores_id_list) const;
void get_global_stats(TrexPlatformGlobalStats &stats) const;
void get_interface_stats(uint8_t interface_id, TrexPlatformInterfaceStats &stats) const;
- void get_interface_info(uint8_t interface_id, std::string &driver_name, driver_speed_e &speed) const {
+
+ void get_interface_info(uint8_t interface_id,
+ std::string &driver_name,
+ driver_speed_e &speed,
+ bool &has_crc) const {
driver_name = "MOCK";
speed = SPEED_INVALID;
+ has_crc = false;
}
void publish_async_data_now(uint32_t key) const {}
uint8_t get_dp_core_count() const;
+ void get_interface_stat_info(uint8_t interface_id, uint16_t &num_counters, uint16_t &capabilities) const
+ {num_counters = 0; capabilities = 0;}
+ int get_rx_stats(uint8_t port_id, uint64_t *stats, int index, bool reset) const {return 0;}
+ void get_port_num(uint8_t &port_num) const {port_num = 2;};
+ int add_rx_flow_stat_rule(uint8_t port_id, uint8_t type, uint16_t proto, uint16_t id) const {return 0;}
+ int del_rx_flow_stat_rule(uint8_t port_id, uint8_t type, uint16_t proto, uint16_t id) const {return 0;}
};
#endif /* __TREX_PLATFORM_API_H__ */