| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/
|
|
| |
Fixes #50
|
| |
|
|\
| |
| |
| | |
ipcpd: Refuse query when DHT not in running state
|
| | |
|
|\ \
| | |
| | |
| | | |
build: Notify if FUSE is not installed
|
| |/ |
|
|/ |
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This adds a reordering queue to FRCT so that SDUs can be delivered
in-order when requested.
|
|
|
|
|
|
| |
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.
|
|/
|
|
|
| |
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.
|
|/
|
|
|
| |
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.
|
|/
|
|
| |
This adds a systemd unit for the irmd on installation of Ouroboros.
|
|
|
|
|
|
|
| |
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
|
|\
| |
| |
| | |
lib: Add fccntl configuration command
|
| |
| |
| |
| |
| |
| |
| | |
This replaces the flow_set_* commands with a single fccntl command
that can configure flows and the FRCT instance.
For more details, see "man 3 fccntl".
|
| |
| |
| |
| |
| | |
This adds a check in the shims if a name was already registered, since
it should not return an error.
|
|/
|
|
|
|
| |
This adds a specific timeout for IPCP connect, since it may take a lot
longer than the regular socket timeout due to flow allocations in the
IPCP.
|
|\
| |
| |
| | |
Be corrupt
|
| |
| |
| |
| |
| | |
The name parameter was not being matched correctly in ipcp connect and
disconnect.
|
| |
| |
| |
| |
| | |
This will delete the rdrbuff also when it has been corrupted
before. Otherwise the irmd won't start, as experienced on my desktop.
|
|\ \
| | |
| | |
| | | |
ipcpd: Fix thread leaks in normal IPCP
|
| |/ |
|
|/ |
|
| |
|
|\
| |
| |
| | |
shim-eth-llc: Hide directory query locking
|
| |
| |
| |
| |
| |
| |
| | |
The locking of the directory queries was happening in the
shim-eth-llc, but it should be done within the shim-data functions.
Fixes #30
|
|\ \
| | |
| | |
| | | |
ipcpd: Fix state in dht lookup at lookup_wait
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The correct state was returned but not set internally in the
lookup_struct, causing lookup_wait to return a lookup in LU_PENDING if
the wait timedout.
This also unlocks the IRMd during register calls and fixes some
cleanup if lookup_wait gets interrupted.
Fixes #48
|
|\ \ \
| |/ /
|/| |
| | | |
lib, ipcpd: Fix e-mail addresses in protobuf files
|
| |/
| |
| |
| | |
This fixes the wrong e-mail addresses in the protobuf files.
|
|/ |
|
|
|
|
| |
This fixes several bugs as reported by the clang static analyzer.
|
|\
| |
| |
| | |
Be deprecate gam
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This enables user-written tools to instruct IPCPs to establish and
tear down connections (a.k.a. adjacencies) between its internal
components (Management and Data Transfer).
For more info, do "irm ipcp connect" or "irm ipcp disconnect" on the
command line.
This commit exposes a deletion bug in the RIB where FSO's fail to
unpack/parse. This will be fixed when the RIB is deprecated.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The graph adjacency manager has been deprecated in favor of providing
an external interface into the connectivity manager so that
adjacencies can be controlled from the command line, user scripts or
user applications.
The gam and its associated policies were removed from the normal IPCP
and the IRM configuration tools. The "/members" part of the RIB was
deprecated. Removal of the gam means that initial connectivity based
on changes in the RIB can't be provided, so some changes were
required throughout the normal IPCP.
The enrollment procedure was revised to establish its own
connectivity. First, it gets boot information from a peer by
establishing a connection to the remote enrollment component and
downloading the IPCP configuratoin. This is now done using its own
protocol buffers message in anticipation of deprecation of the RIB and
CDAP for communication within a DIF.
After the boot information is downloaded, it establishes a data
transfer flow for enrolling the directory (DHT). After the DHT has
enrolled, it signals the peer to that enrollment is done, and the data
transfer connection is torn down.
Signaling connections is done via the nbs struct, which is now passed
to the connmgr, which enables control of the connectivity graph from
external sources.
|