summaryrefslogtreecommitdiff
path: root/src/ipcpd/normal/connmgr.c
Commit message (Collapse)AuthorAgeFilesLines
* ipcpd: Fix data race in connmgrdimitri staessens2017-08-221-0/+5
| | | | The removal of the mutex and signal in 198b709 was a mistake.
* ipcpd: Improve locking in connmgrdimitri staessens2017-08-221-64/+91
|
* build: Revise the build systemdimitri staessens2017-08-211-2/+4
| | | | | | | | | | This revises the build system to have configuration per system component. System settings can now be set using cmake. The standard compliance defines were removed from configuration header and are set in the sources where needed. Also some small code refactors, such as moving the data for shims out of the ipcp structure to the respective shims were performed.
* build: Replace fsf snail mail with contact URLdimitri staessens2017-08-131-1/+1
|
* ipcpd: Check connmgr acceptor thread at createdimitri staessens2017-07-121-1/+2
|
* ipcpd: Remove FRCT from normal IPCPdimitri staessens2017-05-101-1/+0
| | | | | | | In order to ensure 100% reliable transfer, the protocol state machine that takes care of retransmission and SDU ordering has to be in the application. Flow allocation in the normal now uses fds. The PDU_type field was deprecated and AE's within the DIF can use reserved fds.
* ipcpd: normal: Split flow manager into DT and FASander Vrijders2017-04-211-1/+0
| | | | | | This splits the flow manager into the Data Transfer AE, which is in charge of routing SDUs, and the Flow Allocator AE, which handles flow allocations.
* lib, ipcpd, irmd: Register hash instead of namedimitri staessens2017-04-131-6/+1
| | | | | | | | | 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: Revise flow allocation APIdimitri staessens2017-03-311-13/+2
| | | | | | The flow_alloc_res and flow_alloc_resp calls have been removed. The flow_alloc and flow_accept calls are now both blocking and take an additional timeout argument.
* ipcpd: Fix cleanup handler in connmgrdimitri staessens2017-03-221-2/+4
|
* ipcpd: Fix cleanup of connmgrdimitri staessens2017-03-201-18/+25
| | | | Fixed trying to double lock and cleanup order in main.
* ipcpd: Fix disregarding qs in connmgrdimitri staessens2017-03-141-2/+5
|
* Change email addresses to ugent.beSander Vrijders2017-03-031-1/+1
| | | | | | | 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.
* ipcpd: normal: Refactor application entities and add neighbors structSander Vrijders2017-03-031-5/+3
| | | | | | | | | | | | | | | | | | | | This refactors the different Application Entities of the normal IPCP. They all listen to and use the connection manager to establish new application connections. This commit also adds a neighbors struct to the normal IPCP. It contains neighbor structs that contain application connection. Notifiers can be registered in case a neighbor changes (added, removed, QoS changed). The flow manager has an instance of this neighbors struct and listens to these events to update its flow set. The routing component also listens to these events so that it can update the FSDB if needed. The flow manager now also creates the PFF instances and the routing instances per QoS cube. The RIB manager also uses this an instance of the neighbors struct and listens to neighbor events as well.
* ipcpd: normal: Add connection managerSander Vrijders2017-03-021-0/+350
This adds the connection manager which allows the different AEs of the normal IPCP to register with it. An AE can then use the connection manager to allocate a flow to a neighbor, or to wait for a new connection from a neighbor.