summaryrefslogtreecommitdiff
path: root/src/tools/oping
Commit message (Collapse)AuthorAgeFilesLines
...
* lib: Demultiplex the fast pathdimitri staessens2016-10-213-17/+33
| | | | | | | | 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-093-5/+3
| | | | | | 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-062-1/+3
| | | | 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-063-14/+23
| | | | | | | 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
|
* irmd, lib: Rebuild the IRMd data modeldimitri staessens2016-08-212-10/+20
| | | | | | | | | | | | | | | | | | | | | | The complete data model inside the IRMd has been restructured. The bind operation was revised to allow binding of AP and AP instances and register those names with different DIFs (see "irm bind" for details). Server applications require to call ap_init with a server name argument, client application that do not the be reachable over any DIF can call ap_init(NULL). Calling ap_init for a client with a specified name will not have adverse consequences for the application, but will consume unnecessary resources in the IRMd. Application servers can now be started at any point after the IRMd has been started. Starting servers, binding AP names and registering names in DIFs can be performed in any order that does not defy temporal logic. Supports naming instances by their pid. In case of IPCP Instances created with the IRM tool, the name assigned during "irm ipcp create" can be used. All the changes required updates in the tools.
* lib, irmd: Bind AP instances to AP_subsetsdimitri staessens2016-08-101-0/+5
| | | | | | | This call will allow grouping AP instances of a certain AP together which are configured identically. Adds the bind operation to dev and updates the applications to make use of this call. Flow_alloc is now only called with the pid and doesn't send the apn anymore.
* tools: oping: Fix wrong delay calculationdimitri staessens2016-08-061-1/+2
|
* tools: oping: Fix client cleanupdimitri staessens2016-08-041-0/+5
|
* tools: oping: Fix cleanup on exitdimitri staessens2016-08-041-3/+5
| | | | The server should cleanup whenever the listen thread exits.
* 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-034-0/+593
Ouoroboros ping application mimics the GNU ping application. do "oping --help" for options.