summaryrefslogtreecommitdiff
path: root/src/ipcpd/normal/pol/complete.c
Commit message (Collapse)AuthorAgeFilesLines
* lib, ipcpd, irmd: Add full-fledged QoSSander Vrijders2017-06-211-6/+2
| | | | | | | 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: 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: Build complete graph with gamdimitri staessens2017-04-201-21/+50
| | | | | The complete policy will now build a complete graph. Currently a simple timer is used to check the member list periodically.
* ipcpd: normal: Add missing else clauseSander Vrijders2017-04-051-1/+1
| | | | | A missing else clause was missing in the fast path, causing the PCI to be shrunk when it should not be. A double free has also been fixed.
* irmd: Keep track of qos in irm_flowdimitri staessens2017-03-311-2/+0
| | | | This fixes the bug in handling multiple concurrent flow allocations.
* ipcpd: normal: Several bugfixesSander Vrijders2017-03-211-0/+2
| | | | These solve several bugfixes in the normal.
* ipcpd: Fill qosspec in complete gam policydimitri staessens2017-03-211-0/+3
| | | | | The temporary cube parameter must be initialized if a qosspec is passed to avoid uninitialized values for the qoscube in the prototype.
* Change email addresses to ugent.beSander Vrijders2017-03-031-2/+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.
* ipcpd: normal: Refactor application entities and add neighbors structSander Vrijders2017-03-031-116/+73
| | | | | | | | | | | | | | | | | | | | 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-10/+3
| | | | | | | 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.
* lib: Split authentication from CACEPdimitri staessens2017-02-271-2/+4
| | | | | | | By removing authentication as part of CACEP, all policies disappear. CACEP becomes a policy-free connection establishment protocol between Application Entities. Authentication can later be added cleanly as a pure policy function when needed.
* Revise CACEP APIdimitri staessens2017-02-241-1/+1
| | | | | | The information passed to CACEP is split between the information about the connection and the information to be used during the authentication exchange.
* ipcpd: Move RIB configuration to common headerdimitri staessens2017-02-171-0/+1
| | | | | Moves the definitions of paths in the RIB for the normal IPCP to a header ribconfig.h to avoid repetition.
* ipcpd, lib: Revise normal IPCPdimitri staessens2017-02-061-56/+47
| | | | | | | | | | This PR updates the normal IPCP to use the new RIB. The old ribmgr is removed and replaced by a stub that needs to be implemented. All components (dir, fmgr, frct) were adapted to the new RIB API. A lot of functionality was moved outside of the ribmgr, such as the addr_auth, which is now a component of the IPCP. The address is also stored to the ipcpi struct. The irm tool has an option to set the gam policy of the rib manager.
* ipcpd: normal: Create policies for GAMSander Vrijders2017-01-121-0/+208
This allows the selection of a policy for the graph adjacency manager. Currently we only support constructing a complete graph.