aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/transport/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* mpmd,transport,prefs: Add xport_mgr for dpdk_zero_copyAlex Williams2019-01-251-0/+1
| | | | | | | | | | | | | | | | | | | | | | | Add configuration sections to the UHD config file for NIC entries. Keys are based on MAC addresses, and the entries beneath the section describe which CPU and I/O thread to use for the NIC and its IPv4 address. Make ring sizes configurable for uhd-dpdk. Ring size is now an argument for packet buffers. Note that the maximum number of available buffers is still determined at init! Add ability to receive broadcasts to uhd-dpdk. This is controllable by a boolean in the sockarg during socket creation. dpdk_zero_copy will filter broadcast packets out. Add dpdk_simple transport (to mirror udp_simple). This transport allows receiving from broadcast addresses, but it only permits one outstanding buffer at a time. Fix IP checksum handling in UHD-DPDK. TX checksums were not being calculated in the NIC, and in RX, the check for IP checksums allowed values of zero (reported as none). Now packets with bad IP checksums will be dropped.
* transport: Add dpdk_zero_copy transportAlex Williams2019-01-151-0/+3
| | | | | This transport is based on uhd-dpdk, and it includes a global context that must be initialized prior to creating any dpdk_zero_copy objects.
* cmake: Update coding style to use lowercase commandsMartin Braun2018-11-141-47/+47
| | | | | | | | | | | | | | | | | Also updates our coding style file. Ancient CMake versions required upper-case commands. Later command names became case-insensitive. Now the preferred style is lower-case. Run the following shell code (with GNU compliant sed): cmake --help-command-list | grep -v "cmake version" | while read c; do echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g' done > convert.sed \ && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' \ '*CMakeLists.txt' | xargs -0 gsed -i -f convert.sed && rm convert.sed (Make sure the backslashes don't get mangled!)
* uhd-dpdk: Add DPDK-based sockets-like libraryAlex Williams2018-08-291-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This library makes available a userspace network stack with a socket-like interface for applications (except the sockets pass around pointers to buffers and use the buffers directly--It's sockets + a put/get for buffer management). Supported services are ARP and UDP. Destinations can be unicast or broadcast. Multicast is not currently supported. The implementation has two driver layers. The upper layer runs within the caller's context. The caller will make requests through lockless ring buffers (including socket creation and packet transmission), and the lower layer will implement the requests and provide a response. Currently, the lower layer runs in a separate I/O thread, and the caller will block until it receives a response. The I/O thread's main body is in src/uhd_dpdk_driver.c. You'll find that all I/O thread functions are prefixed by an underscore, and user thread functions do not. src/uhd_dpdk.c is used to initialize uhd-dpdk and bring up the network interfaces. src/uhd_dpdk_fops.c and src/uhd_dpdk_udp.c are for network services. The test is a benchmark of a flow control loop using a certain made-up protocol with credits and sequence number tracking.
* Device3: Change packet-based flow control to byte-based flow controlMartin Braun2018-07-251-0/+1
|
* uhd: Update license headersMartin Braun2018-02-191-0/+1
| | | | | | | All copyright is now attributed to "Ettus Research, a National Instruments company". SPDX headers were also updated to latest version 3.0.
* Move all license headers to SPDX format.Martin Braun2017-12-221-12/+1
|
* transport: Added liberio_zero_copy transport implementationMoritz Fischer2017-08-071-0/+10
| | | | | | | | | | | | This adds a zero copy transport using the liberio library. Currently supported API version for liberio is 0.3, this might still very much break, since the library is still in development. So far nobody uses it UHD so we might as well merge it. Signed-off-by: Alex Williams <alex.williams@ni.com> Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com>
* Added class to add flow control to any zero_copy_if interface.michael-west2017-04-051-0/+1
|
* usrp3: Added SW muxer/demuxer for the zero_copy interfaceAshish Chaudhari2016-07-291-0/+1
| | | | | | | - Can be used to share a single zero_copy_if object with multiple streams - Allows creating of virtual streams that are indistinguishable from low-level streams
* transport optimize: Added a thread transport offload to share the workloadPaul David2016-04-181-0/+1
|
* cmake: Cleaned up output, removed duplicate OctoClock component registrationMartin Braun2015-11-171-0/+1
|
* cmake: Register components earlierMartin Braun2015-11-161-5/+0
| | | | | | | | | | All device-specific CMake components are now registered in one place, before the host/lib/ subdirs are sourced. This way, there are no cyclic dependencies. This solves the issue where ENABLE_X300=Off could disable USB, but preserves the fix where ENABLE_X300=Off would still build some X300 codes.
* cmake: Proper selection of files for ENABLE_X300Martin Braun2015-10-261-2/+9
|
* cmake: added variable to LIBUHD_REGISTER_COMPONENT macro to make required, ↵Nicholas Corgan2015-08-111-2/+2
| | | | | | set LibUHD to required * If required component's dependencies aren't met, CMake will throw an error unless user specifically disables it
* transport: Made CHDR-related routines separate from VRTMartin Braun2014-12-031-0/+1
| | | | | | Our VRT routines have the option to switch, on the fly, between VRLP and CHDR. This adds new CHDR-specific (un-)packers, which can only work with CHDR.
* Merging USRP X300 and X310 support!!Ben Hilburn2014-02-041-0/+16
|
* b100: moved usb wrapper class into b100 implJosh Blum2013-07-191-2/+1
| | | | * since its only used internally in b100
* usb: check for and use libusb_handle_events_timeout_completedJosh Blum2013-03-111-0/+4
|
* udp: also set HAVE_ATLBASE_H for udp_wsa_zero_copyJosh Blum2012-04-261-0/+1
|
* uhd: squashed transport workJosh Blum2012-04-231-1/+5
|
* uhd: make atlbase options for msvc buildJosh Blum2012-03-141-0/+11
|
* usb: updated FindUSB1.cmake for standards complianceJosh Blum2012-01-091-1/+1
| | | | | Using cmake's recommended conventions for find scripts. Find script also handles different library name for freebsd.
* uhd: removed WSA UDP transport implementationJosh Blum2011-09-011-5/+1
| | | | | | Once the send buffer size is increased, there appears to be no performance advantage. I would rather not have extra implementations.
* udp: only build WSA transport for MSVC (not supported on mingw for example)Josh Blum2011-08-111-1/+1
|
* udp: squashed the wsa work and added documentation workJosh Blum2011-07-171-1/+9
|
* b100: added b100 host (squashed)Josh Blum2011-06-141-0/+1
|
* uhd: removed vrt packet handler codeJosh Blum2011-06-141-1/+0
|
* uhd: always link winsock2 on windows, disable pthread SCHED_RR for cygwinJosh Blum2011-04-061-1/+3
|
* uhd: tweaks for cygwin/mingw, always link winsock2, findusb1, __USE_W32_SOCKETSJosh Blum2011-04-051-0/+4
|
* usb: newer libusb1 does not need to link with setupapi.libJosh Blum2011-04-041-4/+0
|
* uhd: specify msvc for implementations known only to work on msvcJosh Blum2011-04-041-2/+2
|
* usb: changes to allow for static linking of libusb on windowsJosh Blum2011-03-281-0/+4
|
* uhd: replace header checks in cmake files with more robust compile checks ↵Josh Blum2011-02-211-7/+18
| | | | | | for features implemented different ifdefs in the cpp files
* udp: update docs for transport, create common header for wait implementationJosh Blum2011-02-201-1/+1
| | | | | | | Reimplemented simple udp transport with one impl class. Moved wait for ready/select implementation into common header. Important note on select, timeval should have usecs < 1 second or it may error on some platforms. Fixed in this implementation.
* uhd: use source properties to set flags and defs not globally, but only for ↵Josh Blum2011-02-171-2/+7
| | | | the source
* usrp-e100: replaced safe managed buffers in usrp-e100 mmap with custom onesJosh Blum2011-02-151-1/+0
| | | | | | | | the buffers are reusable and the overhead is reduced (nothing to malloc) also removed the zero_copy.cpp (not needed anymore) need to test on device...
* uhd: add msvc stdint.h so we can use stdints typedefs normally like, fix in ↵Josh Blum2011-01-111-3/+0
| | | | fw_common.h
* uhd: update copyright datesJosh Blum2011-01-051-1/+1
|
* uhd: removed convert types, replaced by convertJosh Blum2011-01-041-34/+0
|
* uhd: removed REQUIRED from find package calls to libusb and docutilsJosh Blum2011-01-041-1/+1
|
* uhd: created buffer pool to allocate aligned memory, and implemented in ↵Josh Blum2011-01-031-0/+1
| | | | transports
* uhd: create a find packages module for docutils, cleaned up some of the ↵Josh Blum2011-01-021-1/+2
| | | | other find package stuff
* cmake: moved module files into modules directory, set modules pathJosh Blum2010-12-271-2/+1
|
* uhd: use the include subdir macro to simplify the lib subdirs cmakelistsJosh Blum2010-12-201-20/+22
|
* uhd: implemented top-level component registryJosh Blum2010-12-201-8/+5
| | | | now docs, examples, utils, usb, are configurable components with dependencies
* uhd: tweak configuring usb messagesJosh Blum2010-11-301-6/+5
|
* uhd: set the HAVE_USB_SUPPORT FALSE when not found (fixes error)Josh Blum2010-11-301-0/+1
|
* uhd: added macro to enable/disable componentsJosh Blum2010-11-291-0/+3
| | | | | | libuhd prints summary of components added newline prints before config checks
* Merge branch 'next' into usrp_e_mmap_b2Josh Blum2010-10-071-1/+3
|\