summaryrefslogtreecommitdiff
path: root/src/ipcpd/normal/gam.c
Commit message (Collapse)AuthorAgeFilesLines
* ipcpd: normal: Add connection managerSander Vrijders2017-03-021-2/+2
| | | | | | | 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 CACEP into request/response protocoldimitri staessens2017-02-281-3/+40
|
* lib: Split authentication from CACEPdimitri staessens2017-02-271-50/+37
| | | | | | | 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.
* lib: Remove application entity nameSander Vrijders2017-02-241-17/+3
| | | | | The AE name should not be passed over the layer boundaries. If an application has more than one AE it should exchange this in CACEP.
* Revise CACEP APIdimitri staessens2017-02-241-26/+26
| | | | | | The information passed to CACEP is split between the information about the connection and the information to be used during the authentication exchange.
* lib: Exchange protocol info during CACEPdimitri staessens2017-02-211-11/+46
| | | | | | | | | This exchanges a protocol name, a protocol version and concrete syntax for the protocol upon CACEP. For CDAP, only version 1 and GPB are supported. No lists for other supported versions or syntaxes are exchanged (but the proto file supports it). CACEP fails if there is a mismatch between the protocol names, version and syntax specified by the communicating parties.
* lib: Revise CACEPdimitri staessens2017-02-201-39/+29
| | | | | | | | | Revises CACEP policies to stateless library calls. It provides two policies: an anonymous authentication policy that will generate random credentials for the peer, and a simple authentication policy that will return a name for the peer and an address. Changes the normal IPCP to use the updates API calls.
* ipcpd: Increase threadpool sizeSander Vrijders2017-02-131-1/+0
| | | | | | This increases the threadpool size for the IPCP main loop. Starvation was happening due to a lot of back and forth interactions between the normal IPCPd and the IRMd.
* ipcpd: Fix leaking name in cacep_infodimitri staessens2017-02-101-0/+2
|
* ipcpd: Add cleanup handler to gamdimitri staessens2017-02-081-1/+4
|
* lib: Log to the logging systemdimitri staessens2017-02-081-11/+11
| | | | | | | | | | This removes the logfile and outputs log messages to the logging system. The creation of the logfiles (as well as the ap_init() call) were moved into ipcp_init() to simplify the IPCP creation and shutdown. Fixes #25 Fixes #27
* ipcpd, lib: Revise normal IPCPdimitri staessens2017-02-061-6/+26
| | | | | | | | | | 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-95/+41
| | | | | This allows the selection of a policy for the graph adjacency manager. Currently we only support constructing a complete graph.
* ipcpd: normal: Use new list APISander Vrijders2017-01-111-3/+3
| | | | | After a previous commit the API of the linked list was changed. This updates the files that were not yet merged upstream.
* ipcpd: normal: Add graph adjacency managerSander Vrijders2017-01-091-0/+339
This commit adds the graph adjacency manager to the normal IPCP, which sets up N-1 flows to other members.