aboutsummaryrefslogtreecommitdiffstats
path: root/host/include
diff options
context:
space:
mode:
authorSugandha Gupta <sugandha.gupta@ettus.com>2019-01-25 17:36:26 -0800
committerBrent Stapleton <brent.stapleton@ettus.com>2019-05-01 15:17:23 -0700
commitfe3fa1dd31b6da9c90cf181d64d6829313804cdd (patch)
tree2e81322cfe66e3e5cc1cb0ec58b29c7d3199e609 /host/include
parent178b35569b1a25180a80a23b945b10b04c9f10f5 (diff)
downloaduhd-fe3fa1dd31b6da9c90cf181d64d6829313804cdd.tar.gz
uhd-fe3fa1dd31b6da9c90cf181d64d6829313804cdd.tar.bz2
uhd-fe3fa1dd31b6da9c90cf181d64d6829313804cdd.zip
device3: Constraint send/recv_frame_size based on down/upstream MTU
We need to properly contraint the send/recv_frame_size based on the minimum MTU of all the down/upstream blocks. This fixes the issue with E310 tx/rx streaming as it has smaller MTU sizes than the other usrps.
Diffstat (limited to 'host/include')
-rw-r--r--host/include/uhd/rfnoc/sink_block_ctrl_base.hpp12
-rw-r--r--host/include/uhd/rfnoc/source_block_ctrl_base.hpp12
2 files changed, 24 insertions, 0 deletions
diff --git a/host/include/uhd/rfnoc/sink_block_ctrl_base.hpp b/host/include/uhd/rfnoc/sink_block_ctrl_base.hpp
index a2d4685be..5267612e6 100644
--- a/host/include/uhd/rfnoc/sink_block_ctrl_base.hpp
+++ b/host/include/uhd/rfnoc/sink_block_ctrl_base.hpp
@@ -63,6 +63,18 @@ public:
*/
size_t get_fifo_size(size_t block_port = 0) const;
+ /*! Return the MTU size on a given block port.
+ *
+ * This is necessary for setting up transports, among other things.
+ *
+ * If the block port is not defined, it will return 0, and not throw.
+ *
+ * \param block_port The block port (0 through 15).
+ *
+ * Returns the MTU in bytes.
+ */
+ size_t get_mtu(size_t block_port = 0) const;
+
/*! Configure flow control for incoming streams.
*
* If flow control is enabled for incoming streams, this block will periodically
diff --git a/host/include/uhd/rfnoc/source_block_ctrl_base.hpp b/host/include/uhd/rfnoc/source_block_ctrl_base.hpp
index a22a19da9..e79b7ef69 100644
--- a/host/include/uhd/rfnoc/source_block_ctrl_base.hpp
+++ b/host/include/uhd/rfnoc/source_block_ctrl_base.hpp
@@ -118,6 +118,18 @@ public:
const size_t block_port = 0,
const uhd::sid_t& sid = uhd::sid_t());
+ /*! Return the MTU size on a given block port.
+ *
+ * This is necessary for setting up transports, among other things.
+ *
+ * If the block port is not defined, it will return 0, and not throw.
+ *
+ * \param block_port The block port (0 through 15).
+ *
+ * Returns the MTU in bytes.
+ */
+ size_t get_mtu(size_t block_port = 0) const;
+
protected:
/***********************************************************************