aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/x300/x300_eth_mgr.hpp
diff options
context:
space:
mode:
authorMartin Braun <martin.braun@ettus.com>2019-12-02 23:06:39 -0800
committerBrent Stapleton <brent.stapleton@ettus.com>2019-12-20 16:32:22 -0800
commit4547f2de85f0d8b258a89cea71af774fce8616b7 (patch)
treed1239e074c5a35b449638a34aa3a6f74a53adfbb /host/lib/usrp/x300/x300_eth_mgr.hpp
parent4e38eef817813c1bbd8a9cf972e4cf0134d24308 (diff)
downloaduhd-4547f2de85f0d8b258a89cea71af774fce8616b7.tar.gz
uhd-4547f2de85f0d8b258a89cea71af774fce8616b7.tar.bz2
uhd-4547f2de85f0d8b258a89cea71af774fce8616b7.zip
x300,mpmd: Enable DPDK
x300: - Remove obsolete variables from x300_eth_mgr and X300 motherboard components - Added some documentation / comments - Use constrained device args in more places - Enables the use of use_dpdk=1 - Switches between regular (kernel-based) and DPDK UDP mpmd: - Merge link_if_ctrl for udp and dpdk_udp - Update cmake options
Diffstat (limited to 'host/lib/usrp/x300/x300_eth_mgr.hpp')
-rw-r--r--host/lib/usrp/x300/x300_eth_mgr.hpp23
1 files changed, 18 insertions, 5 deletions
diff --git a/host/lib/usrp/x300/x300_eth_mgr.hpp b/host/lib/usrp/x300/x300_eth_mgr.hpp
index 1f4013e17..19b6064dd 100644
--- a/host/lib/usrp/x300/x300_eth_mgr.hpp
+++ b/host/lib/usrp/x300/x300_eth_mgr.hpp
@@ -99,7 +99,13 @@ private:
return eth_conns.at(_local_device_ids.at(0));
}
- static udp_simple_factory_t x300_get_udp_factory(const device_addr_t& args);
+ //! Create a factory function for UDP traffic
+ //
+ // \note This is static rather than local to x300_eth_mgr.cpp to get access
+ // to udp_simple_factory_t
+ // \param use_dpdk If true, use a DPDK transport instead of a regular UDP
+ // transport
+ static udp_simple_factory_t x300_get_udp_factory(const bool use_dpdk);
/*!
* Automatically determine the maximum frame size available by sending a UDP packet
@@ -109,15 +115,22 @@ private:
frame_size_t determine_max_frame_size(
const std::string& addr, const frame_size_t& user_mtu);
- // Discover the ethernet connections per motherboard
+ //! Discover the ethernet connections per motherboard
+ //
+ // - Gets called during init_link()
+ // - Populates eth_conn
+ // - Populates _local_device_ids
+ //
+ // \throws uhd::runtime_error if no Ethernet connections can be found
void discover_eth(
const uhd::usrp::mboard_eeprom_t mb_eeprom, const std::string& loaded_fpga_image);
-
+ /**************************************************************************
+ * Attributes
+ *************************************************************************/
+ // Cache the initial device args that brought up this motherboard
const x300_device_args_t _args;
- uhd::property_tree::sptr _tree;
-
udp_simple_factory_t _x300_make_udp_connected;
std::map<uhd::rfnoc::device_id_t, x300_eth_conn_t> eth_conns;