| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
This fixes pthread_condtimedwaits in the flow allocator of all IPCPs
that had bad deadlines set (the interval instead of the actual
absolute time).
|
|
|
|
|
|
|
| |
This will hardcode the shim hash algorithms as they don't have an
enrollment phase.
Fixes #44
|
|
|
|
|
|
|
| |
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, ...
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Currently CRC32, MD5, and SHA3 (224, 256, 384 and 512 bit) are supported.
|
|
|
|
| |
Fixes #22
|
|\
| |
| |
| | |
lib, ipcpd, irmd: Register hash instead of name
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
All information passed over the IRMd/IPCP boundary for using IPC
services (flow allocation, registration) is now hashed. This
effectively fixes the shared namespace between DIFs and the IRMDs.
This PR also fixes some API issues (adding const identifiers),
shuffles the include headers a bit and some small bugs.
|
|/
|
|
|
|
| |
This adds the STATUS variable to the message() call in CMakeLists.txt
in places where it was missing. This ensures that the message is
printed to stdout instead of stderr.
|
| |
|
| |
|
|
|
|
|
| |
Adds support for netmap (https://github.com/luigirizzo/netmap) to
increase the performance of packet transfer over the LLC shim.
|
|
|
|
| |
This checks if the netmap headers are available on the system.
|
| |
|
|
|
|
|
| |
This avoids handling the mgmt frames under lock, since it may deadlock
if a new mgmt frame arrives in the meantime.
|
|
|
|
|
|
| |
This fixes the overwriting of management frames by adding a list in
the shim Ethernet that keeps track of management frames instead of a
single buffer.
|
|
|
|
|
| |
This adds a lock to prevent a race condition between flow_req_arr and
flow_alloc_resp.
|
|
|
|
|
| |
The state check should be done first to avoid blocking on the recv
call.
|
|
|
|
|
| |
This removes the rwlock in the shim-eth-llc IPCP since it is already
protected by a mutex.
|
|
|
|
|
| |
This removes cancellation calls from the shim Ethernet. The different
threads now check if the IPCP is still operational or not.
|
|
|
|
|
|
| |
This deprecates these special socket options of the raw socket since
they are less efficient for regular packet I/O. They should be more
performant for batch processing of SDUs.
|
|
|
|
|
|
| |
This adds a thread to handle management frames, since otherwise a
deadlock can occur by blocking SDUs until flow allocation can be
handled.
|
| |
|
|
|
|
|
|
|
| |
Our mailserver was migrated from intec.ugent.be to the central
ugent.be emailserver. This PR updates the header files to reflect this
change as well. Some header files were also homogenized if the
parameters within the functions were badly aligned.
|
|
|
|
| |
The CMakeLists files are now properly indented.
|
|
|
|
|
| |
The AE name should not be passed over the layer boundaries. If an
application has more than one AE it should exchange this in CACEP.
|
|
|
|
| |
Also fixes another lock.
|
|
|
|
|
|
| |
This removes the logs that would print to stdout if the IPCP fails to
initialize. If the user had asked that logs would be printed to the
syslog this would be unwanted behaviour.
|
|
|
|
|
|
|
|
|
|
|
|
| |
FreeBSD defines its own bswap64 in the <sys/endian.h> header, which is
now included correctly.
POSIX requires XSI or RTS extensions to be enabled for the
sa_sigaction field to be visible. Linux doesn't do the check
correctly, but FreeBSD does.
Removes the LOG_MISSING call which was deprecated with the last
revision of the logging system.
|
|
|
|
|
|
|
|
| |
The IPCP will now respond with an ipcp_create_r message when it fails,
informing the IRMd.
Also adds some const qualifiers in the public headers and fixes
some formatting in dev.c.
|
|
|
|
|
|
|
|
|
|
| |
This removes the logfile and outputs log messages to the logging
system. The creation of the logfiles (as well as the ap_init() call)
were moved into ipcp_init() to simplify the IPCP creation and
shutdown.
Fixes #25
Fixes #27
|
|
|
|
|
|
|
|
|
| |
The ipcp-ops header was removed and merged into ipcp.h. The common
components dif_name and ipcp_type have been moved to the main ipcp
struct. After this move, ipcp_data only contained shim information, so
it was renamed to shim_data. The ipcp_init() function checks the type
and will only include the shim_data if the type is not an IPCP_NORMAL.
All ipcps have been adapted to this change in API.
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| |
| | |
Copyright is set to 2016 - 2017. License text on includes and sources
in the library are changed to indicate the LGPLv2.1 license.
|
|/
|
|
|
|
|
| |
This allows IPCPs to bind a name, so that they can announce their name
to neighbors which can then allocate a flow to them. Registering of
the name happens by an administrator. It also moves the irmd_api to
common ground, since it is used by all IPCPs.
|
|
|
|
|
|
|
| |
These operations separe the starting and joining of the main ipcp
threads into ipcp_boot() and ipcp_shutdown() operations. This allows
the proper cleanup of user data and user threads after the IPCP is
requested to shut down.
|
|
|
|
|
|
|
|
|
|
| |
Now correctly relays the qoscube end-to-end in the stack.
A simple function specifying the cube in the spec is used for initial
testing.
The translation is now done in dev.c, but it could be moved elsewhere
when qos cabability matures and the need arises.
|
|
|
|
|
| |
This corrects the license statements on all files. Installed headers
are LGPLv2.1, the rest of the code is GPLv2.
|
| |
|
|
|
|
| |
Changes a state of the IPCP to a more correct terminology.
|
|
|
|
|
|
|
|
| |
This will split the IPCP state PENDING_ENROL into IPCP_CONFIG and
IPCP_BOOTING. IPCP_CONFIG is concerned only with configuring the IPCP
with the bare essence. When in IPCP_BOOTING, the IPCP will complete
its configuration by starting its policies, and thus making the IPCP
completely functioning.
|
|
|
|
|
|
| |
This adds a syntax version to the protobuf files. The latest version
of protobuf otherwise complains that it is missing. The GPL license is
also added on files where it was missing.
|
|
|
|
| |
Total SDU size (including LLC header) cannot exceed 1500 bytes.
|
|
|
|
|
|
|
| |
All calls for opening rbuffs are now concentrated on the dev side.
This allows some simplifications in the np1 calls. The ipcp_fini call
will not destroy the mutex associated with the state, since the final
state needs to be checked before shutting down an IPCP.
|
| |
|