summaryrefslogtreecommitdiff
path: root/src/tools/oping/oping_server.c
Commit message (Collapse)AuthorAgeFilesLines
* build: Compile with strict conversiondimitri staessens2016-10-221-2/+2
| | | | | 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-0/+9
| | | | | 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/+13
| | | | | | | | 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-1/+2
| | | | Now correctly handles and drops non-ouroboros traffic.
* lib: dev: Provide a set of fds to flow_selectdimitri staessens2016-09-061-10/+16
| | | | | | | 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.
* irmd, lib: Rebuild the IRMd data modeldimitri staessens2016-08-211-5/+8
| | | | | | | | | | | | | | | | | | | | | | 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 cleanup on exitdimitri staessens2016-08-041-3/+5
| | | | The server should cleanup whenever the listen thread exits.
* tools: Add a ping applicationdimitri staessens2016-08-031-0/+162
Ouoroboros ping application mimics the GNU ping application. do "oping --help" for options.