summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/rpc-server/commands/trex_rpc_cmd_general.cpp6
-rw-r--r--src/stateless/cp/trex_stateless_port.cpp5
-rw-r--r--src/stateless/cp/trex_stateless_port.h6
-rw-r--r--src/stateless/cp/trex_stream.cpp11
-rw-r--r--src/stateless/cp/trex_stream.h8
5 files changed, 33 insertions, 3 deletions
diff --git a/src/rpc-server/commands/trex_rpc_cmd_general.cpp b/src/rpc-server/commands/trex_rpc_cmd_general.cpp
index 084e154a..6ac88352 100644
--- a/src/rpc-server/commands/trex_rpc_cmd_general.cpp
+++ b/src/rpc-server/commands/trex_rpc_cmd_general.cpp
@@ -310,9 +310,9 @@ TrexRpcCmdGetPortStatus::_run(const Json::Value &params, Json::Value &result) {
TrexStatelessPort *port = get_stateless_obj()->get_port_by_id(port_id);
- result["result"]["owner"] = (port->get_owner().is_free() ? "" : port->get_owner().get_name());
- result["result"]["state"] = port->get_state_as_string();
-
+ result["result"]["owner"] = (port->get_owner().is_free() ? "" : port->get_owner().get_name());
+ result["result"]["state"] = port->get_state_as_string();
+ result["result"]["max_stream_id"] = port->get_max_stream_id();
return (TREX_RPC_CMD_OK);
}
diff --git a/src/stateless/cp/trex_stateless_port.cpp b/src/stateless/cp/trex_stateless_port.cpp
index a281e428..8ee46d29 100644
--- a/src/stateless/cp/trex_stateless_port.cpp
+++ b/src/stateless/cp/trex_stateless_port.cpp
@@ -343,6 +343,11 @@ TrexStatelessPort::get_state_as_string() const {
return "UNKNOWN";
}
+int
+TrexStatelessPort::get_max_stream_id() const {
+ return m_stream_table.get_max_stream_id();
+}
+
void
TrexStatelessPort::get_properties(std::string &driver, TrexPlatformApi::driver_speed_e &speed) {
diff --git a/src/stateless/cp/trex_stateless_port.h b/src/stateless/cp/trex_stateless_port.h
index 64cf73a4..b0b0ddf3 100644
--- a/src/stateless/cp/trex_stateless_port.h
+++ b/src/stateless/cp/trex_stateless_port.h
@@ -203,6 +203,12 @@ public:
std::string get_state_as_string() const;
/**
+ * the the max stream id currently assigned
+ *
+ */
+ int get_max_stream_id() const;
+
+ /**
* fill up properties of the port
*
* @author imarom (16-Sep-15)
diff --git a/src/stateless/cp/trex_stream.cpp b/src/stateless/cp/trex_stream.cpp
index 077c30b4..256f7de8 100644
--- a/src/stateless/cp/trex_stream.cpp
+++ b/src/stateless/cp/trex_stream.cpp
@@ -201,6 +201,17 @@ TrexStream * TrexStreamTable::get_stream_by_id(uint32_t stream_id) {
}
}
+int
+TrexStreamTable::get_max_stream_id() const {
+ int max_id = 0;
+
+ for (const auto stream : m_stream_table) {
+ max_id = std::max(stream.first, max_id);
+ }
+
+ return max_id;
+}
+
void TrexStreamTable::get_id_list(std::vector<uint32_t> &id_list) {
id_list.clear();
diff --git a/src/stateless/cp/trex_stream.h b/src/stateless/cp/trex_stream.h
index 525bf594..72e7bb8b 100644
--- a/src/stateless/cp/trex_stream.h
+++ b/src/stateless/cp/trex_stream.h
@@ -363,6 +363,14 @@ public:
TrexStream * get_stream_by_id(uint32_t stream_id);
/**
+ * get max stream ID assigned
+ *
+ *
+ * @return int
+ */
+ int get_max_stream_id() const;
+
+ /**
* populate a list with all the stream IDs
*
* @author imarom (06-Sep-15)