summaryrefslogtreecommitdiffstats
path: root/src/stateless/cp
diff options
context:
space:
mode:
authorimarom <imarom@cisco.com>2016-02-08 09:01:11 -0500
committerimarom <imarom@cisco.com>2016-02-08 09:01:55 -0500
commitf5a5e50bfe046148a20f6ce578d6082119dec2c0 (patch)
tree10bd95aa2ae3fb831dad7102ccbd5bd372199f54 /src/stateless/cp
parent5be5c499e145656daf748b0092732b1cb092e445 (diff)
stream ID allocation
Diffstat (limited to 'src/stateless/cp')
-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
4 files changed, 30 insertions, 0 deletions
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)