aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/mpmd/mpmd_impl.hpp
Commit message (Collapse)AuthorAgeFilesLines
* device3: Constraint send/recv_frame_size based on down/upstream MTUSugandha Gupta2019-05-211-0/+3
| | | | | | 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.
* mpmd: Allow reclaim failures on component updatesMartin Braun2019-02-221-0/+28
| | | | | | | | | | | | MPM has a flag that identifies component reloads as requiring to restart the RPC server. This change honours that flag, and doesn't cause a fatal failure when reclaims fail to ack for certain operations. For example, running uhd_image_loader on an N310 could fail after the FPGA was reloaded because the communication to the RPC server was temporarily interrupted. This is not always avoidable, since the RPC server does actually go down, and Ethernet connections might also be lost. So, we cut our losses and accept failures in that case.
* mpmd: implement get_*x_hintsTrung Tran2019-01-211-0/+2
| | | | Fix transport related arguments passed down the stack.
* uhd: mpm: apply clang-format to all filesBrent Stapleton2019-01-161-57/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Applying formatting changes to all .cpp and .hpp files in the following directories: ``` find host/examples/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/tests/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/dboard/neon/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/dboard/magnesium/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/device3/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/mpmd/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/lib/usrp/x300/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find host/utils/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file find mpm/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file ``` Also formatted host/include/, except Cpp03 was used as a the language standard instead of Cpp11. ``` sed -i 's/ Cpp11/ Cpp03/g' .clang-format find host/include/ -iname *.hpp -o -iname *.cpp | \ xargs clang-format -i -style=file ``` Formatting style was designated by the .clang-format file.
* formatting: remove vim hints in headersBrent Stapleton2019-01-161-1/+0
| | | | | Remove trailing vim hints in header files. This functionality will be replaced by clang-format.
* mpmd: increase claim_rpc call timeout.Trung Tran2019-01-141-0/+2
| | | | | | | | | | | During certain RPC calls (e.g. update_component), the MPM RPC server is slow to respond to reclaim requests, which can causes RPC timeouts. These changes fix those timeouts. By setting the reclaiming timeout to twice the timeout of an RPC call, we have some margin for error on the host side, while not affecting the underlying claiming logic in MPM. The loop should still operate on a 5 second period, but now has more leeway during stressful conditions.
* rpc,mpmd: replace all set_timeout() to new apiTrung Tran2019-01-141-6/+0
| | | | | Using new rpc client new API that ensure atomic setting of timeout on each rpc call.
* mpmd_impl: move timeout constants to headerTrung Tran2019-01-141-0/+13
|
* mpmd: Add set_timeout_init() API call to mpmd_mboard_implMartin Braun2018-07-181-0/+3
|
* mpmd: Use separate rpc connection for claim loopTrung N Tran2018-04-301-2/+11
| | | | | We need a separate RPC connection for the claim loop such that it is not blocked by other long executions of rpc calls.
* uhd: Move internal headers to uhdlib/Martin Braun2018-03-141-1/+1
| | | | | | | | | | | | | | | | To avoid the proliferation of additional include directories and multiple ways of including project-local headers, we now default to moving all headers that are used across UHD into the uhdlib/ subdirectory. Some #include statements were also reordered as they were modified for closer compliance with the coding guidelines. Internal cpp source files should now include files like this: #include <uhdlib/rfnoc/ctrl_iface.hpp> Reviewed-by: Ashish Chaudhari <ashish.chaudhari@ettus.com>
* uhd: Update license headersMartin Braun2018-02-191-1/+1
| | | | | | | All copyright is now attributed to "Ettus Research, a National Instruments company". SPDX headers were also updated to latest version 3.0.
* mpmd: Fix compiler issuesMartin Braun2018-02-101-3/+0
| | | | | | - Initialization of device_addr_t from another using auto doesn't work across compilers - Moved MPMD_DISC_RESPONSE_PREAMBLE to mpmd_find where it belongs
* mpmd: Factor find and prop tree init code out of mpmd_impl.cppMartin Braun2018-02-071-0/+14
| | | | No functional changes.
* mpmd: Let 'find' via broadcast check for reachabilityMartin Braun2018-02-071-0/+17
| | | | | | | | | In particular, when running uhd_find_devices, this will limit the devices to ones that can actually be reached via CHDR. There is a new key, find_all, which allows finding all devices even those not reachable from UHD. Reviewed-by: Brent Stapleton <brent.stapleton@ettus.com>
* mpmd: Add API to read back logs from device and send to native loggingMartin Braun2018-01-101-0/+5
|
* mpmd: Refactor device initialization for better parallelizabilityMartin Braun2018-01-081-22/+31
| | | | | | | | | | Note: This doesn't add any concurrency, rather, it changes the structure of the code to allow that. Notable changes: - All prop tree inits in one place - No access to containers in methods that might be run in parallel - Split initialization and claiming in mpmd_mboard_impl, calling ctor will no longer run the full initialization. - Added comments to identify parallelizable spots
* mpm: Increase RPC timeout during update_componentBrent Stapleton2018-01-051-0/+3
| | | | | | | Increases the host's timeout during update_component times, then resets it to the default RPC timeout after the call is complete. Reviewed-by: Martin Braun <martin.braun@ettus.com>
* mpmd: Allow user-overrides for MPM portsMartin Braun2018-01-041-4/+10
| | | | | | | Adds two device args: discovery_port and rpc_port. Both are integers which override the respective constants. Reviewed-by: Ashish Chaudhari <ashish.chaudhari@ettus.com>
* mpmd: Optionally parallelize all calls to setup_rpc_blocksMartin Braun2017-12-221-1/+4
| | | | Default is to not serialize inits.
* mpmd: Expose get_mtu() API to mpmd_mboard_impl and to prop treeMartin Braun2017-12-221-0/+2
|
* n310: Move SID framing all the way to n310.pyMartin Braun2017-12-221-3/+0
| | | | | | | MPM will now no longer keep a SID framer variable. Reviewed-by: Trung Tran <trung.tran@ettus.com> Reviewed-by: Brent Stapleton <brent.stapleton@ettus.com>
* mpmd: Refactor MPM transport architecture, use managersMartin Braun2017-12-221-72/+58
| | | | | | | | | | | | | | This splits up the transport code in mpmd_impl across multiple classes to properly leverage the request_xport/commit_xport API in MPM. Different types of transport (UDP, liberio) use their own distinct classes, which are generated dynamically on request. This is a true refactoring despite the large amount of changes; there are no functional differences. Reviewed-By: Brent Stapleton <brent.stapleton@ettus.com> Reviewed-By: Trung Tran <trung.tran@ettus.com> Reviewed-By: Ashish Chaudhari <ashish.chaudhari@ettus.com>
* mpm/mpmd: Move to request_xport()/commit_xport() architectureMartin Braun2017-12-221-7/+33
| | | | | This commit combines code from various branches to finally enable both UDP and Liberio transports.
* mpmd: Use the get_last_error feature from the RPC clientMartin Braun2017-12-221-0/+1
| | | | | The RPC client will now query the MPM server for details when an error occured.
* mpm/mpmd: Dboard info is now stored in mboard info; refactored initializationMartin Braun2017-12-221-6/+19
|
* mpm/mpmd: Allow SID increment; more fixes for multi-usrp operationMartin Braun2017-12-221-3/+18
|
* mpm/mpmd: Further improvements on multi-device operationsMartin Braun2017-12-221-5/+56
| | | | | | | - Crossbar local addr is now written during initialization of UHD session - Support for multiple crossbars per device (at least on UHD side) - Crossbars are now sequentially given a unique address
* mpmd: Refactored code to allow multi-device initializationMartin Braun2017-12-221-11/+42
|
* mpmd: Added preliminary support for passing RPC client to blocksMartin Braun2017-12-221-1/+17
|
* Rename netd to mpmdMartin Braun2017-12-221-0/+93