summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * ipcpd: normal: Add alternate hop PFFSander Vrijders2017-09-2112-77/+579
| | | | | | | | | | This adds a PFF that returns an alternate hop as next hop in case the hop that would have been returned is down.
* | Merged in dstaesse/ouroboros/be-sched (pull request #608)dimitri staessens2017-09-213-61/+106
|\ \ | |/ |/| | | ipcpd: Use the kernel scheduler for QoS
| * ipcpd: Use the kernel scheduler for QoSdimitri staessens2017-09-213-61/+106
|/ | | | | | | | | This revises the sdu_scheduler of the normal IPCP to create a scheduler thread per QoS cube and let the kernel scheduler schedule them based on a priority. Priorities can be set at build time in a range of 0-100, which will be mapped onto a suitable priority for the kernel scheduler. The current scheduler policy is fixed to SCHED_RR since it is the most suitable scheduler defined by POSIX.
* Merged in dstaesse/ouroboros/be-rib (pull request #606)dimitri staessens2017-09-212-5/+3
|\ | | | | | | lib: Pass the fuse struct to the handling thread
| * lib: Pass the fuse struct to the handling threaddimitri staessens2017-09-212-5/+3
|/ | | | This avoids potential data races on rib.fuse.
* Merged in dstaesse/ouroboros/be-dht-revision (pull request #605)dimitri staessens2017-09-211-15/+58
|\ | | | | | | ipcpd: Handle DHT SDUs in different thread
| * ipcpd: Handle DHT SDUs in different threaddimitri staessens2017-09-201-15/+58
| | | | | | | | | | | | | | The DHT will now spawn a thread when receiving SDUs to avoid starvation of sdu scheduler threads. Also fixes some locking issues.
* | Merged in sandervrijders/ouroboros/be-pff (pull request #604)Sander Vrijders2017-09-2019-140/+422
|\ \ | | | | | | | | | ipcpd: normal: Make PFF policy-based
| * | ipcpd: normal: Make PFF policy-basedSander Vrijders2017-09-2019-140/+422
| | | | | | | | | | | | | | | This turns the PDU Forwarding Function of the IPCP into a policy. For now only the simple PFF policy is available.
* | | Merged in dstaesse/ouroboros/be-fuse-fix (pull request #603)dimitri staessens2017-09-201-0/+3
|\ \ \ | |/ / |/| / | |/ ipcpd: Fix shutdown of rib
| * ipcpd: Fix shutdown of ribdimitri staessens2017-09-201-0/+3
| | | | | | | | Fixes #50
* | Merged in dstaesse/ouroboros/be-gcrypt-init (pull request #602)dimitri staessens2017-09-204-3/+20
|\| | | | | | | irmd: Init libgcrypt before using it
| * irmd: Init libgcrypt before using itdimitri staessens2017-09-204-3/+20
|/
* Merged in dstaesse/ouroboros/be-dht-query-refuse (pull request #601)dimitri staessens2017-09-191-0/+3
|\ | | | | | | ipcpd: Refuse query when DHT not in running state
| * ipcpd: Refuse query when DHT not in running statedimitri staessens2017-09-191-0/+3
| |
* | Merged in dstaesse/ouroboros/be-fuse-msg (pull request #600)dimitri staessens2017-09-191-0/+2
|\ \ | | | | | | | | | build: Notify if FUSE is not installed
| * | build: Notify if FUSE is not installeddimitri staessens2017-09-191-0/+2
| |/
* | Merged in dstaesse/ouroboros/be-dht-contacts (pull request #599)dimitri staessens2017-09-191-3/+3
|\ \ | |/ |/| | | ipcpd: Fix contact list in DHT
| * ipcpd: Fix contact list in DHTdimitri staessens2017-09-191-3/+3
|/
* Merged in dstaesse/ouroboros/be-dht-async (pull request #598)dimitri staessens2017-09-199-96/+152
|\ | | | | | | ipcpd: Enroll DHT when creating dt connection
| * ipcpd: Enroll DHT when creating dt connectiondimitri staessens2017-09-199-96/+152
| | | | | | | | | | | | | | | | | | The DHT will now enroll or sync when a data transfer connection is added. This avoids the need to create a temporary data transfer connection during enrollment (and speeds it up considerably). The notifier system was modified to take an opaque pointer to the object that registers as a parameter.
* | Merged in sandervrijders/ouroboros/be-man (pull request #597)Sander Vrijders2017-09-191-0/+2
|\ \ | |/ |/| | | doc: man: Update fccntl manpage
| * doc: man: Update fccntl manpageSander Vrijders2017-09-191-0/+2
|/ | | | | The option to mark a flow as down was missing from the manpage of fccntl.
* Merged in sandervrijders/ouroboros/be-flow-down (pull request #596)Sander Vrijders2017-09-1912-107/+331
|\ | | | | | | ipcpd, lib: Add flow down events
| * ipcpd, lib: Add flow down eventsSander Vrijders2017-09-1912-107/+331
|/ | | | | | | | This adds the flow down event to Ouroboros. In the shim-eth-llc, a netlink socket is opened which listens to device up/down events. For each event the flow is then adjusted with fccntl to notify the user the flow is down or back up again. In the normal IPCP an event is thrown if a write reports that the flow is down.
* Merged in dstaesse/ouroboros/be-link-state (pull request #595)dimitri staessens2017-09-181-2/+2
|\ | | | | | | ipcpd: Fix src and dst in link-state advertisements
| * ipcpd: Fix src and dst in link-state advertisementsdimitri staessens2017-09-181-2/+2
|/
* Merged in dstaesse/ouroboros/be-fuse (pull request #594)dimitri staessens2017-09-188-18/+611
|\ | | | | | | lib: Provide RIB API to export internals via fuse
| * lib: Provide RIB API to export internals via fusedimitri staessens2017-09-188-18/+611
|/ | | | | | | This adds a virtual RIB that is accessible as a filesystem that is accessed through a fuse mountpoint (configurable , default is /tmp/ouroboros). Currently, each IPCP will export its link state database.
* Merged in sandervrijders/ouroboros/be-ordering (pull request #593)Sander Vrijders2017-09-156-13/+378
|\ | | | | | | lib: Add reordering queue to FRCT
| * lib: Add reordering queue to FRCTSander Vrijders2017-09-156-13/+378
|/ | | | | This adds a reordering queue to FRCT so that SDUs can be delivered in-order when requested.
* Merged in dstaesse/ouroboros/be-build (pull request #592)dimitri staessens2017-09-131-1/+6
|\ | | | | | | build: Clean up output with missing ProtobufC
| * build: Clean up output with missing ProtobufCdimitri staessens2017-09-131-1/+6
| |
* | Merged in dstaesse/ouroboros/be-build (pull request #591)dimitri staessens2017-09-136-26/+36
|\| | | | | | | build: Fix DDNS tool detection for shim-udp
| * build: Fix DDNS tool detection for shim-udpdimitri staessens2017-09-136-26/+36
|/ | | | | | This fixes output when detecting DDNS tools and homogenizes output and the APIs used to pass variables between the build system and the sources. Fixes some minor issues and typos).
* Merged in dstaesse/ouroboros/be-rib-removal (pull request #589)dimitri staessens2017-09-1341-4382/+719
|\ | | | | | | ipcpd: Revise internals of normal IPCP
| * ipcpd: Revise internals of normal IPCPdimitri staessens2017-09-1241-4382/+719
| | | | | | | | | | | | | | | | This removes the RIB as a datastructure and CDAP as the protocol between IPCPs. CDAP, the rib and related sources are deprecated. The link-state protocol policy is udpated to use its own protocol based on a simple broadcast strategy along a tree. The neighbors struct is deprecated and moved to the library as a generic notifier component.
* | Merged in sandervrijders/ouroboros/be-freebsd (pull request #590)Sander Vrijders2017-09-111-15/+17
|\ \ | |/ |/| | | ipcpd: shim-eth-llc: Fix FreeBSD compilation
| * ipcpd: shim-eth-llc: Fix FreeBSD compilationSander Vrijders2017-09-111-15/+17
|/ | | | | This fixes the compilation on FreeBSD systems. A define was missing. It also fixes some style errors.
* Merged in dstaesse/ouroboros/be-dht-deadlock (pull request #588)dimitri staessens2017-09-081-6/+4
|\ | | | | | | ipcpd: Shutdown DHT work thread first at destroy
| * ipcpd: Shutdown DHT work thread first at destroydimitri staessens2017-09-071-6/+4
| | | | | | | | This prevents a potential deadlock on the wrlock.
* | Merged in dstaesse/ouroboros/be-ipcpd-main-fix (pull request #587)dimitri staessens2017-09-081-5/+4
|\ \ | |/ |/| | | ipcpd: Fix double finalization after some failures
| * ipcpd: Fix double finalization after some failuresdimitri staessens2017-09-071-5/+4
|/ | | | | When enroll or bootstrap failed, finalize_components could be called twice, resulting in double frees or use-after-free.
* Merged in sandervrijders/ouroboros/be-redef (pull request #586)Sander Vrijders2017-09-071-2/+1
|\ | | | | | | ipcpd: normal: Avoid redefining a typedef
| * ipcpd: normal: Avoid redefining a typedefSander Vrijders2017-09-061-2/+1
| | | | | | | | | | This avoids a redefinition of a typedef which is a C11 feature, and thus not supported by clang when the c89 switch is enabled.
* | Merged in sandervrijders/ouroboros/be-systemd (pull request #585)Sander Vrijders2017-09-063-1/+18
|\ \ | |/ |/| | | build: Add systemd unit on install
| * build: Add systemd unit on installSander Vrijders2017-09-053-1/+18
|/ | | | This adds a systemd unit for the irmd on installation of Ouroboros.
* Merged in sandervrijders/ouroboros/be-frct-lock (pull request #584)Sander Vrijders2017-09-016-33/+45
|\ | | | | | | Be frct lock
| * ipcpd: normal: Simplify enroll APISander Vrijders2017-09-015-12/+10
| | | | | | | | | | | | | | This will remove the dst parameter from enroll_boot, since it was only being used in logging. It also turns some other debug logs into info logs, and makes the component names as they are used in logs all lowercase.
| * lib: Add per instance FRCT lockSander Vrijders2017-09-011-21/+35
|/ | | | | This adds a per instance FRCT lock, since it was taking a write lock, thereby severely impacting parallelism in dev.c