summaryrefslogtreecommitdiff
path: root/src/ipcpd/normal/dt.c
Commit message (Collapse)AuthorAgeFilesLines
* ipcpd: Add DHT as directory in normal IPCPdimitri staessens2017-07-181-5/+9
| | | | | | | | | This implements a Distributed Hash Table (DHT) based on the Kademlia protocol, with default parameters set as used in the BitTorrent Mainline DHT. This initial implementation is almost feature complete, except for some things to be done after a testing period: caching and stale peer bumping, and setting the expiration timeout via the IRM tool.
* ipcpd: Allow registering protocol machines with DTdimitri staessens2017-05-241-21/+70
| | | | | | Other protocol machines now have to register on top of the DT AE. This allows multiple instances of the same protocol machine and avoids preallocating fds for each protocol machine instance.
* ipcpd: normal: Make routing a policySander Vrijders2017-05-151-1/+8
| | | | | | This makes the routing component into a policy since different approaches may exist to do this, depending on how high the rank of the DIF is.
* ipcpd: Remove FRCT from normal IPCPdimitri staessens2017-05-101-11/+13
| | | | | | | 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: Fix sending fa dealloc messagedimitri staessens2017-04-291-1/+1
| | | | | | | The frct instance was previously destroyed before sending the message, resulting in the destination address being 0 and the message getting dropped. Some fixes in the normal for deallocation, but will require further revision once all data transfer protocols are in place.
* ipcpd: Fix some bugs for the normal splitdimitri staessens2017-04-281-11/+0
|
* ipcpd: normal: Split connection establishmentSander Vrijders2017-04-281-67/+45
| | | | | | Connection establishment was done at the same time as flow allocation. This splits it more cleanly, and allows to re-use the DT AE for other purposes.
* ipcpd: Fix start/stop order in dtdimitri staessens2017-04-261-9/+9
|
* lib: Add call to reserve blocks in rdrbuffdimitri staessens2017-04-261-6/+6
| | | | | | | This adds a call ipcp_sdb_reserve to reserve memory in the rdrbuff without directly writing to a flow. The ipcp_flow_del function was renamed to ipcp_sdb_release. The functions operating on sdbs are moved to their own header.
* ipcpd: normal: Extract flow sets from componentsSander Vrijders2017-04-241-27/+6
| | | | | | The flow sets were still kept within the FA and DT components, when it makes more sense that they are kept within the SDU scheduler component.
* ipcpd: normal: Split flow manager into DT and FASander Vrijders2017-04-211-0/+351
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.