aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/include/uhdlib/rfnoc/mgmt_portal.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'host/lib/include/uhdlib/rfnoc/mgmt_portal.hpp')
-rw-r--r--host/lib/include/uhdlib/rfnoc/mgmt_portal.hpp28
1 files changed, 20 insertions, 8 deletions
diff --git a/host/lib/include/uhdlib/rfnoc/mgmt_portal.hpp b/host/lib/include/uhdlib/rfnoc/mgmt_portal.hpp
index 1412d0e3d..ac72931bf 100644
--- a/host/lib/include/uhdlib/rfnoc/mgmt_portal.hpp
+++ b/host/lib/include/uhdlib/rfnoc/mgmt_portal.hpp
@@ -7,6 +7,7 @@
#ifndef INCLUDED_LIBUHD_MGMT_PORTAL_HPP
#define INCLUDED_LIBUHD_MGMT_PORTAL_HPP
+#include <uhdlib/rfnoc/chdr_ctrl_xport.hpp>
#include <uhdlib/rfnoc/chdr_types.hpp>
#include <memory>
#include <set>
@@ -54,10 +55,12 @@ public:
//! Initialize a stream endpoint and assign an endpoint ID to it
//
+ // \param xport The host stream endpoint's CTRL transport
// \param addr The physical address of the stream endpoint
// \param epid The endpoint ID to assign to this endpoint
//
- virtual void initialize_endpoint(const sep_addr_t& addr, const sep_id_t& epid) = 0;
+ virtual void initialize_endpoint(
+ chdr_ctrl_xport& xport, const sep_addr_t& addr, const sep_id_t& epid) = 0;
//! Get information about a discovered (reachable) stream endpoint
//
@@ -77,9 +80,10 @@ public:
// destination simply by setting the DstEPID in the CHDR header to the specified
// dst_epid
//
+ // \param xport The host stream endpoint's CTRL transport
// \param dst_epid The endpoint ID of the destination
//
- virtual void setup_local_route(const sep_id_t& dst_epid) = 0;
+ virtual void setup_local_route(chdr_ctrl_xport& xport, const sep_id_t& dst_epid) = 0;
//! Can a route from between the source and destination endpoints be established?
//
@@ -95,11 +99,12 @@ public:
// to the destination simply by setting the DstEPID in the CHDR header to the
// specified dst_epid
//
+ // \param xport The host stream endpoint's CTRL transport
// \param dst_epid The endpoint ID of the destination
// \param src_epid The endpoint ID of the source
//
virtual void setup_remote_route(
- const sep_id_t& dst_epid, const sep_id_t& src_epid) = 0;
+ chdr_ctrl_xport& xport, const sep_id_t& dst_epid, const sep_id_t& src_epid) = 0;
//! Start configuring a flow controlled receive data stream from the endpoint with the
// specified ID to this SW mgmt portal.
@@ -108,6 +113,7 @@ public:
// control handler needs to acknoweledge the setup transaction then call the commit
// function below.
//
+ // \param xport The host stream endpoint's CTRL transport (same EPID as RX stream)
// \param epid The endpoint ID of the data source
// \param lossy_xport Is the transport lossy? (e.g. UDP, not liberio)
// \param pyld_buff_fmt Datatype of SW buffer that holds the data payload
@@ -116,7 +122,8 @@ public:
// \param fc_freq Flow control headroom parameters
// \param reset Reset ingress stream endpoint state
//
- virtual void config_local_rx_stream_start(const sep_id_t& epid,
+ virtual void config_local_rx_stream_start(chdr_ctrl_xport& xport,
+ const sep_id_t& epid,
const bool lossy_xport,
const sw_buff_t pyld_buff_fmt,
const sw_buff_t mdata_buff_fmt,
@@ -127,19 +134,22 @@ public:
//! Finish configuring a flow controlled receive data stream from the endpoint with
// the specified ID to this SW mgmt portal.
//
+ // \param xport The host stream endpoint's CTRL transport (same EPID as RX stream)
// \param epid The endpoint ID of the data source
//
virtual stream_buff_params_t config_local_rx_stream_commit(
- const sep_id_t& epid, const double timeout = 0.2) = 0;
+ chdr_ctrl_xport& xport, const sep_id_t& epid, const double timeout = 0.2) = 0;
//! Configure a flow controlled transmit data stream from this SW mgmt portal to the
// endpoint with the specified ID.
//
+ // \param xport The host stream endpoint's CTRL transport (same EPID as TX stream)
// \param pyld_buff_fmt Datatype of SW buffer that holds the data payload
// \param mdata_buff_fmt Datatype of SW buffer that holds the data metadata
// \param reset Reset ingress stream endpoint state
//
- virtual void config_local_tx_stream(const sep_id_t& epid,
+ virtual void config_local_tx_stream(chdr_ctrl_xport& xport,
+ const sep_id_t& epid,
const sw_buff_t pyld_buff_fmt,
const sw_buff_t mdata_buff_fmt,
const bool reset = false) = 0;
@@ -147,6 +157,7 @@ public:
//! Configure a flow controlled data stream from the endpoint with ID src_epid to the
// endpoint with ID dst_epid
//
+ // \param xport The host stream endpoint's CTRL transport
// \param dst_epid The endpoint ID of the destination
// \param src_epid The endpoint ID of the source
// \param lossy_xport Is the transport lossy?
@@ -155,7 +166,8 @@ public:
// \param fc_freq Flow control response frequency parameters
// \param fc_freq Flow control headroom parameters
//
- virtual stream_buff_params_t config_remote_stream(const sep_id_t& dst_epid,
+ virtual stream_buff_params_t config_remote_stream(chdr_ctrl_xport& xport,
+ const sep_id_t& dst_epid,
const sep_id_t& src_epid,
const bool lossy_xport,
const stream_buff_params_t& fc_freq,
@@ -176,7 +188,7 @@ public:
//! Create an endpoint manager object
//
- static uptr make(const chdr_ctrl_xport_t& xport,
+ static uptr make(chdr_ctrl_xport& xport,
const chdr::chdr_packet_factory& pkt_factory,
sep_addr_t my_sep_addr,
sep_id_t my_epid);