summaryrefslogtreecommitdiff
path: root/include/ouroboros/sockets.h
Commit message (Collapse)AuthorAgeFilesLines
* include, src: Update copyright to 2018Dimitri Staessens2018-01-091-1/+1
| | | | | | | Happy New Year, Ouroboros. Signed-off-by: Dimitri Staessens <dimitri.staessens@ugent.be> Signed-off-by: Sander Vrijders <sander.vrijders@ugent.be>
* lib, tools: Rename application process and instanceDimitri Staessens2017-12-021-1/+1
| | | | | | | | | | | This refactors ouroboros to use "program" instead of "application process" and "process" instead of "application process instance" to align with current naming in current Operating Systems courses instead of the ISO nomenclature adopted by RINA. This change permeates through the entire implementation. Also contains some minor other refactors. Signed-off-by: Dimitri Staessens <dimitri.staessens@ugent.be> Signed-off-by: Sander Vrijders <sander.vrijders@ugent.be>
* build: Replace fsf snail mail with contact URLdimitri staessens2017-08-131-2/+1
|
* lib: Simplify initializing flowsSander Vrijders2017-08-011-3/+0
| | | | | This refactors dev.c to have a common function called init_flow that is called whenever a flow is allocated in dev.c
* lib, ipcpd, irmd: Add full-fledged QoSSander Vrijders2017-06-211-0/+3
| | | | | | | This adds more Quality of Service support to Ouroboros. One part is the network specific characteristics such as bandwidth, delay, ... The other part is end-to-end QoS like reliability, window based flow control, ...
* ipcpd: Allow specifying fixed syntaxdimitri staessens2017-05-151-0/+1
| | | | | | This commits adds the functions and messages to specify a fixed protocol syntax during CACEP. It also revises the messages for specifying the DT protocol syntax from the irm tool.
* lib, ipcpd, irmd: Register hash instead of namedimitri staessens2017-04-131-2/+2
| | | | | | | | | All information passed over the IRMd/IPCP boundary for using IPC services (flow allocation, registration) is now hashed. This effectively fixes the shared namespace between DIFs and the IRMDs. This PR also fixes some API issues (adding const identifiers), shuffles the include headers a bit and some small bugs.
* lib, irmd: Implement flow allocation timeoutdimitri staessens2017-04-061-2/+0
| | | | | | Setting the timeouts on flow_alloc and flow_accept will now work. This makes some changes to the UNIX sockets used for management communication between the APs, IRMd and IPCPs.
* Change email addresses to ugent.beSander Vrijders2017-03-031-1/+2
| | | | | | | Our mailserver was migrated from intec.ugent.be to the central ugent.be emailserver. This PR updates the header files to reflect this change as well. Some header files were also homogenized if the parameters within the functions were badly aligned.
* 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-10/+10
| | | | | This corrects the license statements on all files. Installed headers are LGPLv2.1, the rest of the code is GPLv2.
* lib: Stabilise flow allocationdimitri staessens2016-10-231-2/+0
| | | | | | | Deallocation was reverted to a synchronoous operation between the AP, IRMd and IPCP in order to avoid inconsistent states of the port_id. Fixes some memory leaks, particularly the shm_flow_set is now closed upon deallocation.
* lib, dev: Add asynchronous deallocationdimitri staessens2016-10-071-0/+2
| | | | | Flow deallocation from the application will immediately return (void call). The IRMd will not send a reply message.
* lib, ipcp: Revise fast path and flow interfacesdimitri staessens2016-10-041-2/+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, irmd, ipcp: Add socket timeoutSander Vrijders2016-08-101-0/+1
| | | | | | This will add a timeout to the socket so that a process won't be blocked by the actions of the process with which it is communicating over the socket.
* lib, irmd, ipcpd: Change pid to apiSander Vrijders2016-06-281-1/+1
| | | | Changes the variable name as well to API instead of PID.
* lib, irmd: Change sockets and shm pathSander Vrijders2016-06-201-1/+1
| | | | | | Reverting from previous commit. Even when running Ouroboros sandboxed, the sockets and shared memory should be created in the default system paths.
* build: Change install directories and set correct permissionsSander Vrijders2016-06-201-2/+5
| | | | | | | | | This sets the correct install directories for all the binaries, library and header files. It also sets the right permissions on the sockets and shared memory so that regular users can also use the ouroboros library. Root privileges are required to run the irmd. Fixes #7
* lib, irmd, irm: Add dif_configSander Vrijders2016-04-081-0/+3
| | | | | | | | | This adds dif_config to the prototype, in which one is able to specify the parameters a DIF should have. The bootstrap operation of an IPCP takes this as parameter and is oblivious to whether it is a shim or a normal IPCP. The dif_config struct is also correctly serialized and deserialized and passed opaquely to the correct IPCP. This IPCP is in charge of deserializing it correctly.
* lib: Implementation of flow related opsSander Vrijders2016-03-311-1/+1
| | | | | | This adds the messages that are sent to the IPCPs related to flows. Some messages are also sent to the IRMd (e.g. when a new flow arrives).
* lib, irmd: Update communication with IRMdSander Vrijders2016-03-301-1/+0
| | | | | All messages sent to the IRMd now also get a reply back with the result of the operation.
* lib: renamed rina_name_t to instance_name_tdimitri staessens2016-03-301-1/+0
| | | | | all functions taking a char * ap_name and uint id now take either a instance_name_t or instance_name_t *
* lib: Add ipcp_messages proto fileSander Vrijders2016-03-281-26/+8
| | | | | This removes the custom ser/des methods for communicating with the IPCP daemon and also uses GPB instead.
* lib, irmd: Use GPB for dev.c and IRMdSander Vrijders2016-03-281-47/+2
| | | | | IRMd and dev.c now also use GPB instead of our own ser/des. irm_msg struct has been dropped as well as the methods associated with it.
* lib: Update irm.h APISander Vrijders2016-03-281-0/+5
| | | | | | Removes rina_name_t from that API. Passing ap_name and api_id as params instead. The IRM tool has been updated accordingly. Some errors in the build related to protobuf-c have also been resolved.
* lib: Adds IRMd messages for the dev.h API callsSander Vrijders2016-03-241-3/+28
| | | | | | This adds several messages for the dev.h API calls to communicate with the IRM daemon. The deserializing of these messages is still missing and the irmd hasn't been updated with them either.
* lib: Add communication with IPCP daemonSander Vrijders2016-03-171-12/+38
| | | | | This adds the messages required for the IRMd to communicate with an IPC Process through the library.
* lib, irmd: Fix memleaksSander Vrijders2016-03-171-0/+2
| | | | | This removes some memleaks present in the sockets layer. It also fixes the bad initialization of the difs_size param in the irm_msg.
* lib: Add helpers for RINA namesSander Vrijders2016-03-111-0/+3
| | | | This adds helper functions for RINA names, to aid with handling them.
* include: Fixed missing 'struct', renamed dif_infoDimitri Staessens2016-03-031-1/+1
| | | | | common.h: dif_info renamed to dif_config missing struct fixed
* lib, irmd, tools: Provide more IRM messagesSander Vrijders2016-03-011-8/+8
| | | | | | | This provides the other messages that are used to communicate between the library and the IRM Daemon. The IRM tool just calls the library right now to see if it works. A full fledged program will be provided in a next commit.
* lib, irmd: Address Dimitri's commentsSander Vrijders2016-02-261-0/+5
| | | | This addresses several comments Dimitri had on the sockets layer code.
* lib, irmd, tools: Support to create IPCPsSander Vrijders2016-02-251-5/+8
| | | | | | | Provides the initial support to create IPCPs via a command-line tool. It extends the socket layer with a message that is sent over a socket to the irmd when the irm_create_ipcp library function is called from a program.
* lib: Initial messages for the IRMSander Vrijders2016-02-231-0/+46
This provides the initial messages to be passed between the irmd and libouroboros-irm.