| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
This reduces CPU consumption and shutdown times.
Invalidates #43
|
|\
| |
| |
| | |
ipcpd: Use the kernel scheduler for QoS
|
|/
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| |
| | |
lib: Pass the fuse struct to the handling thread
|
|/
|
|
| |
This avoids potential data races on rib.fuse.
|
|\
| |
| |
| | |
ipcpd: Handle DHT SDUs in different thread
|
| |
| |
| |
| |
| |
| |
| | |
The DHT will now spawn a thread when receiving SDUs to avoid
starvation of sdu scheduler threads.
Also fixes some locking issues.
|
|\ \
| | |
| | |
| | | |
ipcpd: normal: Make PFF policy-based
|
| | |
| | |
| | |
| | |
| | | |
This turns the PDU Forwarding Function of the IPCP into a policy. For
now only the simple PFF policy is available.
|
|\ \ \
| |/ /
|/| /
| |/ |
ipcpd: Fix shutdown of rib
|
| |
| |
| |
| | |
Fixes #50
|
|\|
| |
| |
| | |
irmd: Init libgcrypt before using it
|
|/ |
|
|\
| |
| |
| | |
ipcpd: Refuse query when DHT not in running state
|
| | |
|
|\ \
| | |
| | |
| | | |
build: Notify if FUSE is not installed
|
| |/ |
|
|\ \
| |/
|/|
| | |
ipcpd: Fix contact list in DHT
|
|/ |
|
|\
| |
| |
| | |
ipcpd: Enroll DHT when creating dt connection
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| |/
|/|
| | |
doc: man: Update fccntl manpage
|
|/
|
|
|
| |
The option to mark a flow as down was missing from the manpage of
fccntl.
|
|\
| |
| |
| | |
ipcpd, lib: Add flow down events
|
|/
|
|
|
|
|
|
| |
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.
|
|\
| |
| |
| | |
ipcpd: Fix src and dst in link-state advertisements
|
|/ |
|
|\
| |
| |
| | |
lib: Provide RIB API to export internals via fuse
|
|/
|
|
|
|
|
| |
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.
|
|\
| |
| |
| | |
lib: Add reordering queue to FRCT
|
|/
|
|
|
| |
This adds a reordering queue to FRCT so that SDUs can be delivered
in-order when requested.
|
|\
| |
| |
| | |
build: Clean up output with missing ProtobufC
|
| | |
|
|\|
| |
| |
| | |
build: Fix DDNS tool detection for shim-udp
|
|/
|
|
|
|
| |
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).
|
|\
| |
| |
| | |
ipcpd: Revise internals of normal IPCP
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| |/
|/|
| | |
ipcpd: shim-eth-llc: Fix FreeBSD compilation
|
|/
|
|
|
| |
This fixes the compilation on FreeBSD systems. A define was
missing. It also fixes some style errors.
|
|\
| |
| |
| | |
ipcpd: Shutdown DHT work thread first at destroy
|
| |
| |
| |
| | |
This prevents a potential deadlock on the wrlock.
|
|\ \
| |/
|/|
| | |
ipcpd: Fix double finalization after some failures
|
|/
|
|
|
| |
When enroll or bootstrap failed, finalize_components could be called
twice, resulting in double frees or use-after-free.
|
|\
| |
| |
| | |
ipcpd: normal: Avoid redefining a typedef
|
| |
| |
| |
| |
| | |
This avoids a redefinition of a typedef which is a C11 feature, and
thus not supported by clang when the c89 switch is enabled.
|
|\ \
| |/
|/|
| | |
build: Add systemd unit on install
|
|/
|
|
| |
This adds a systemd unit for the irmd on installation of Ouroboros.
|
|\
| |
| |
| | |
Be frct lock
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/
|
|
|
| |
This adds a per instance FRCT lock, since it was taking a write lock,
thereby severely impacting parallelism in dev.c
|