diff options
| -rw-r--r-- | host/lib/usrp/mpmd/mpmd_xport_ctrl_udp.cpp | 23 | 
1 files changed, 15 insertions, 8 deletions
| diff --git a/host/lib/usrp/mpmd/mpmd_xport_ctrl_udp.cpp b/host/lib/usrp/mpmd/mpmd_xport_ctrl_udp.cpp index d900467d3..4d1306f82 100644 --- a/host/lib/usrp/mpmd/mpmd_xport_ctrl_udp.cpp +++ b/host/lib/usrp/mpmd/mpmd_xport_ctrl_udp.cpp @@ -18,15 +18,23 @@ using namespace uhd::mpmd::xport;  namespace {      #if defined(UHD_PLATFORM_MACOS) || defined(UHD_PLATFORM_BSD) +    //! Size of the host-side socket buffer for RX      const size_t MPMD_RX_SW_BUFF_SIZE_ETH        = 0x100000; // 1Mib      #elif defined(UHD_PLATFORM_LINUX) || defined(UHD_PLATFORM_WIN32) -    //For an ~8k frame size any size >32MiB is just wasted buffer space: +    //! Size of the host-side socket buffer for RX +    // For an ~8k frame size any size >32MiB is just wasted buffer space      const size_t MPMD_RX_SW_BUFF_SIZE_ETH        = 0x2000000; // 32 MiB      #endif -    const size_t MPMD_10GE_DATA_FRAME_MAX_SIZE = 8000; // CHDR packet size in bytes +    //! Maximum CHDR packet size in bytes +    const size_t MPMD_10GE_DATA_FRAME_MAX_SIZE = 8000; -    const double MPMD_MTU_DISCOVERY_TIMEOUT = 0.02; // seconds +    //! Number of send/recv frames +    const size_t MPMD_ETH_NUM_FRAMES = 32; + +    //! For MTU discovery, the time we wait for a packet before calling it +    // oversized (seconds). +    const double MPMD_MTU_DISCOVERY_TIMEOUT = 0.02;      std::vector<std::string> get_addrs_from_mb_args(          const uhd::device_addr_t& mb_args @@ -182,11 +190,10 @@ mpmd_xport_ctrl_udp::make_transport(      transport::zero_copy_xport_params default_buff_args;      // Create actual UDP transport -    // TODO don't hardcode these -    default_buff_args.send_frame_size = 8000; -    default_buff_args.recv_frame_size = 8000; -    default_buff_args.num_recv_frames = 32; -    default_buff_args.num_send_frames = 32; +    default_buff_args.send_frame_size = get_mtu(uhd::TX_DIRECTION); +    default_buff_args.recv_frame_size = get_mtu(uhd::RX_DIRECTION); +    default_buff_args.num_recv_frames = MPMD_ETH_NUM_FRAMES; +    default_buff_args.num_send_frames = MPMD_ETH_NUM_FRAMES;      transport::udp_zero_copy::buff_params buff_params;      auto recv = transport::udp_zero_copy::make( | 
