| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| | |
ipcpd: Add DHT as directory in normal IPCP
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| | |
The enrollment calls dealloc immediately after cdap_del_flow(), but
the CDAP instance may still have that fd in its fqueue loop.
cdap_del_flow will now wait for an fqueue loop to end before
returning, to make sure the flow is not needed anymore.
|
|/ |
|
|
|
|
|
|
|
| |
This will hardcode the shim hash algorithms as they don't have an
enrollment phase.
Fixes #44
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This adds a secure random number generator. It will use OS specific
calls with a fallback to OpenSSL if available.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
This adds more Quality of Service support to Ouroboros. One part is
the network specific characteristics such as bandwidth, delay, ...
The other part is end-to-end QoS like reliability, window based flow
control, ...
|
|
|
|
|
| |
The dev.c source file had some missing include headers. This PR fixes
inconsistencies between the definitions and declarations in ipcp-dev.h
|
| |
|
|\
| |
| |
| | |
include: Fix macro for printing hash
|
| | |
|
| | |
|
| | |
|
|/ |
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
Fixed releasing an allocated fd on failure. As the sending of dealloc
messages has been deprecated, dealloc was simplified by removing a
stale block of code (replaced with an assertion). Fixed reading some
variables without a necessary lock.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
This commits adds the functions and messages to specify a fixed
protocol syntax during CACEP. It also revises the messages for
specifying the DT protocol syntax from the irm tool.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
APs and AP-Is were not removed from the registry entry for that name.
Reported by: loic.vervaeke@ugent.be
Tested by: loic.vervaeke@ugent.be
|
|
|
|
|
|
|
| |
The flow resources are Delta-t protocol machines that will time out
and free their resources without any required signaling. Flows can be
cleaned locally when the application requests it and all FRCT
instances have timed out and released their resources.
|
|
|
|
|
|
|
| |
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.
|
| |
|
|\
| |
| |
| | |
irmd: Remove some debug logs
|
| | |
|
|\ \
| |/
|/|
| | |
ipcpd: normal: Split connection establishment
|
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
|/
|
|
|
|
|
|
| |
The IPCP will now report the DIF name and the hash value to the IRMd
as a dif_info struct. This can later be extended to add further
capability reporting. Some bugfixes in normal.
Fixes #24
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|\
| |
| |
| | |
ipcpd: Build complete graph with gam
|
| |
| |
| |
| |
| | |
The complete policy will now build a complete graph. Currently a
simple timer is used to check the member list periodically.
|
|\|
| |
| |
| | |
lib: Fix bad lock in rib
|
| | |
|
|/
|
|
|
|
| |
This extracts the SDU scheduling component out of the Flow Manager
since the functionality was duplicated. For both the N-1 and N+1 flow
sets an SDU scheduling component is now created.
|
|
|
|
|
| |
If compiled as release build, an error would be generated as the
control reaches the end of a non-void function.
|
|\
| |
| |
| | |
Be hashing
|