| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|/
|
|
|
|
|
|
|
|
|
| |
The steps for flow deallocation have been further refined. An
operation ipcp_flow_fini() which wait for all SDUs to be read from a
flow has been added. The shim IPCPs and the local IPCP have been
adapted to this new API.
Deallocation messages have been removed from the shim IPCPs, since
there is insufficient state synchronisation between them to make this
work reliably.
|
|\
| |
| |
| | |
ipcpd: shim-udp: Add check for directory entry
|
| |
| |
| |
| |
| |
| | |
A check was missing in the shim UDP if the destination was already
present in the directory, in which case no further queries were
needed.
|
|\ \
| |/
|/|
| | |
tools: irm: Bind IPCP name to IPCP-I
|
| |
| |
| |
| | |
This fixes 2 wrong unlocks in the bind API method.
|
|/
|
|
|
|
| |
This will invoke the bind operation when using the irm tool to create
a new IPCP. The new IPCP will be bound to the IPCP name as specified
by the administrator.
|
|\
| |
| |
| | |
ipcpd: Add threadpool for main loop
|
| |
| |
| |
| |
| |
| |
| | |
This adds a threadpool for the main loop of the IPCPs. Before there
was a single thread handling each request, which could result in
starvation since performing name queries at the same time as enrolling
a normal IPCP was impossible.
|
|\ \
| |/
|/|
| | |
lib: API for accepting flows with QoS
|
| | |
|
|\ \
| | |
| | |
| | | |
lib, irmd, ipcpd: Add name querying to IPCPs
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This adds the ability to query IPCPs if a name can be reached through
them, e.g. if a name is available in a DIF. This means that in the
shim-udp a DNS query is performed, in the shim-eth-llc an ARP-like
query has been added, in the local a check is done to see if the name
is registered, and in the normal currently no application is reachable
through it.
|
|\ \ \
| | | |
| | | |
| | | | |
irmd: Add log messages for flow allocation
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In the rewrite of the flow allocator for per-port ring buffers, the
messages were removed because they were not accurate anymore. This
adds messages when a port is allocated.
|
|\| | |
| | | |
| | | |
| | | | |
ipcpd: Fix memory leaks
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Fixes memory leaks associated with the dif_name (which doesn't need to
be maintained in shim DIFs) and the fqueue for the N + 1 flows.
|
| |\ \ \
| |/ / /
|/| | /
| | |/
| |/| |
|
|\ \ \
| | | |
| | | |
| | | | |
ipcpd: Fix memleaks in local IPCP
|
| |/| |
| |/ /
|/| | |
|
|\ \ \
| |_|/
|/| |
| | | |
tools: Fix memory leaks in oping
|
|\ \ \
| | | |
| | | |
| | | | |
lib: Stabilise flow allocation
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
More fixes
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Remote requests for a flow that's locally deallocated should not
generate an error. Sending messages should not be under lock.
|
| | | | |
| | | | |
| | | | |
| | | | | |
This solves some potential data races in the shims.
|
| | | |/ |
|
| | |/ |
|
| |/
|/|
| |
| |
| |
| |
| | |
Deallocation was reverted to a synchronoous operation between the AP,
IRMd and IPCP in order to avoid inconsistent states of the port_id.
Fixes some memory leaks, particularly the shm_flow_set is now closed
upon deallocation.
|
|\|
| |
| |
| | |
dev, ipcp: Fix setting default flow options
|
| |
| |
| |
| |
| | |
The default flow options were not set when a flow allocation request
arrives remotely. This went unnoticed due to a previous bug.
|
|\ \
| |/
|/|
| | |
build: Explicitly add compiler flags
|
| |
| |
| |
| | |
All flags from the -Wextra group but -Wclobbered are added.
|
|\|
| |
| |
| | |
Be fix build
|
| |
| |
| |
| |
| | |
gethostbyname is included in POSIX 2001. Ouroboros requires at least
POSIX 2001 and recommends POSIX 2008 for stable builds.
|
| |
| |
| |
| |
| |
| |
| | |
pthread_cleanup handlers make gcc and clang fail the -Wclobbered check
in release builds. Swig generates switch statements without a default,
making the -Wswitch-default check fail. The -Wstrict-overflow=5 flag
was removed.
|
|\|
| |
| |
| | |
ipcpd: Fix unused variable
|
| | |
|
| | |
|
|\|
| |
| |
| | |
Some fixes
|
| |
| |
| |
| | |
The rdrbuff was previously closed before the remaining SDUs were removed.
|
| |
| |
| |
| |
| | |
An untested (and wrong) modification to the fqueue was mistakenly
added to a previous commit. This corrects the bad code.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The BSD compiler requires explicit initializers for all fields with
the -Wmissing-field-initializers flag enabled
On branch be-fix-build # Changes to be committed: # modified:
src/irmd/main.c # modified: src/tools/irm/irm.c # modified:
src/tools/irm/irm_bind.c # modified: src/tools/irm/irm_ipcp.c #
modified: src/tools/irm/irm_unbind.c # # Untracked files: #
killouroboros.sh # start.sh #
|
| |
| |
| |
| | |
FLOW_O_RDONLY is 0, so the previous statement would always be false.
|
|\|
| |
| |
| | |
build: Fix missing include
|
|/
|
|
|
|
| |
CheckLibraryExists was not included. Apparently the
CHECK_FUNCTION_EXISTS call fails with the strict prototyping flag
turned on.
|
|\
| |
| |
| | |
build: Comply with -Wextra compiler flag
|
| |
| |
| |
| |
| | |
This has the code checked with -Wcast-qual and -Wconversion flags.
These flags were removed because SWIG generated code fails.
|
|/
|
|
|
| |
This reduces the risk for some bugs, for instance due to
signed/unsigned mismatches and unused variables.
|
|\
| |
| |
| | |
lib: Demultiplex the fast path
|
| |
| |
| |
| |
| | |
This stabilises flow allocation now that the rbuffs are created upon
flow allocation. Only the IRMd can sync this process sufficiently.
|
| |
| |
| |
| |
| |
| |
| |
| | |
The fast path will now use an incoming ring buffer per flow per
process. This necessitated the development of a new method for the
asynchronous io call, which is now based on an event queue system for
scalability (fqueue). The ipcpd's and tools have been updated to this
API.
|