From 4842d45fec1e62f9687ccf5c000f29cd34425964 Mon Sep 17 00:00:00 2001 From: Alex Williams Date: Fri, 15 Mar 2019 15:06:55 -0700 Subject: x300: Add support for DPDK transports Use dpdk_simple together with a control transport factory. Where udp_zero_copy is used, use dpdk_zero_copy if use_dpdk=1. --- host/lib/usrp/x300/x300_impl.hpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'host/lib/usrp/x300/x300_impl.hpp') diff --git a/host/lib/usrp/x300/x300_impl.hpp b/host/lib/usrp/x300/x300_impl.hpp index c58440d54..c101b3032 100644 --- a/host/lib/usrp/x300/x300_impl.hpp +++ b/host/lib/usrp/x300/x300_impl.hpp @@ -33,6 +33,7 @@ #include #include #include +#include // Ethernet ports enum x300_eth_iface_t { @@ -48,7 +49,6 @@ struct x300_eth_conn_t size_t link_rate; }; - uhd::uart_iface::sptr x300_make_uart_iface(uhd::wb_iface::sptr iface); uhd::wb_iface::sptr x300_make_ctrl_iface_enet( @@ -61,6 +61,10 @@ uhd::device_addrs_t x300_find(const uhd::device_addr_t& hint_); class x300_impl : public uhd::usrp::device3_impl { public: + //! Function to create a udp_simple::sptr (kernel-based or DPDK-based) + using udp_simple_factory_t = + std::function; + x300_impl(const uhd::device_addr_t&); void setup_mb(const size_t which, const uhd::device_addr_t&); ~x300_impl(void); @@ -231,6 +235,8 @@ private: uhd::device_addr_t get_rx_hints(size_t mb_index); void post_streamer_hooks(uhd::direction_t dir); + + udp_simple_factory_t _x300_make_udp_connected; }; #endif /* INCLUDED_X300_IMPL_HPP */ -- cgit v1.2.3