summaryrefslogtreecommitdiff
path: root/src/tools/oping/oping_client.c
Commit message (Collapse)AuthorAgeFilesLines
* tools: Fix overflow bug in opingdimitri staessens2017-02-221-9/+10
| | | | | | Sometimes the receiver thread got the SDU before the writer thread has set the sent time when testing over the local. The sent time is now written before actually sending to avoid this.
* build: Update licenses and copyrightdimitri staessens2017-01-091-1/+1
| | | | | Copyright is set to 2016 - 2017. License text on includes and sources in the library are changed to indicate the LGPLv2.1 license.
* ouroboros: Correct license statementsdimitri staessens2016-12-241-3/+2
| | | | | This corrects the license statements on all files. Installed headers are LGPLv2.1, the rest of the code is GPLv2.
* src, tools: Set/get timeout and get qos for flowsdimitri staessens2016-12-121-71/+44
| | | | | | | | | | | | | | | | Receiver timeouts can now be set on a flow using the flow_set_timeout function. Specifying NULL disables the timeout. The flow_get_timeout function gets the value for the timeout. This commit also deprecates fcntl in favor of flow_get_flags and flow_set_flags functions. struct qos_spec is typedef'd as a qosspec_t. The tools and cdap.c are updated to use the new API. Fixes a bug in operf client where the client's writer thread wouldn't cancel on SIGINT.
* tools: Fix compilation issues on 32 bit machinesdimitri staessens2016-12-021-1/+1
| | | | | | size_t is 32 bits on those machines, failing as an argument to printf. Some variables in oping and operf were changed to uint32_t and uint64_t to avoid issues.
* lib: Clean up flow if alloc_res failsdimitri staessens2016-10-271-37/+64
| | | | | | | | | If alloc_res fails all resources will be cleaned, except for the assigned flow_descriptor, which must be released with a dealloc call. Calling dealloc after a failed flow_alloc will not try to destroy the already cleaned up flow in the IRMd and IPCPs. Also fixes some memleaks in the oping client.
* tools: Fix memory leaks in opingdimitri staessens2016-10-241-6/+12
|
* build: Compile with strict conversiondimitri staessens2016-10-221-5/+5
| | | | | This has the code checked with -Wcast-qual and -Wconversion flags. These flags were removed because SWIG generated code fails.
* build: Comply with -Wextra compiler flagdimitri staessens2016-10-211-1/+6
| | | | | This reduces the risk for some bugs, for instance due to signed/unsigned mismatches and unused variables.
* lib: Demultiplex the fast pathdimitri staessens2016-10-211-8/+17
| | | | | | | | The fast path will now use an incoming ring buffer per flow per process. This necessitated the development of a new method for the asynchronous io call, which is now based on an event queue system for scalability (fqueue). The ipcpd's and tools have been updated to this API.
* lib: Add a type for struct flow_setdimitri staessens2016-10-091-2/+1
| | | | | | The struct flow_set can now be accessed in applications as flow_set_t. Fixes some malformed lines and homogenizes output when receiving bad SDUs in the oping tool.
* ipcpd: Filter traffic on shim-eth-llcdimitri staessens2016-10-061-0/+1
| | | | Now correctly handles and drops non-ouroboros traffic.
* lib, ipcp: Revise fast path and flow interfacesdimitri staessens2016-10-041-1/+2
| | | | | | | | | | | | IPCPs can now use ap_init() to initialize the memory. All flows are accessed using flow descriptors, this greatly simplifies IPCP development. Reverts the fast path to a single ap_rbuff per process. Splits lib/ipcp into irmd/ipcp and lib/ipcp-dev. Adds a lib/shim-dev holding tailored functions for shims. Moves the buffer_t to utils.h. Fixes the shim-eth-llc length field. Removes the flow from shared.h. Fixes #4 Fixes #5
* lib: dev: Provide a set of fds to flow_selectdimitri staessens2016-09-061-1/+1
| | | | | | | The flow_select call now takes as a parameter a flow_set_t, which specifies a set of flow descriptors that will unblock the select call when an SDU for one of them arrives. The select call has been moved to its own header.
* src: Fix grammar (SDU's -> SDUs)dimitri staessens2016-09-021-1/+1
|
* tools: oping: Fix wrong delay calculationdimitri staessens2016-08-061-1/+2
|
* tools: oping: Fix client cleanupdimitri staessens2016-08-041-0/+5
|
* tools: oping: Fix division by zerodimitri staessens2016-08-041-9/+14
| | | | | When killing the oping client before it sent an SDU, some bad operations were being performed.
* tools: Add a ping applicationdimitri staessens2016-08-031-0/+234
Ouoroboros ping application mimics the GNU ping application. do "oping --help" for options.