| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| | |
This addresses some comments after a code review by Dimitri.
|
| |
| |
| |
| |
| |
| |
| |
| | |
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 some helper functions to construct pathnames. Users of the
RIB manager may find these handy when constructing RIB objects.
|
| |
| |
| |
| |
| |
| |
| | |
This changes the way RIB object attributes are set. Previously the
struct was called ro_props and it had to be allocated on the heap. Now
it follows the model of pthreads closely. This commit also changes the
callbacks of the RO subscribers to return void instead of int.
|
| |
| |
| |
| |
| | |
This will add a check in the flat address policy to see if the address
is in use or not.
|
|\ \
| |/
|/|
| | |
Some fixes
|
| |
| |
| |
| | |
Also cleans up the flow_set if an AP-I dies abruptly.
|
|/ |
|
|\
| |
| |
| | |
ipcpd: normal: Add timerwheel to RIB manager
|
|/
|
|
|
|
|
| |
The RIB manager now keeps track of ROs it has already received. The
identification of a RO it knows is kept in a struct ro id. For the
deletion of these RO ids, a timerwheel to the RIB manager. It also
deletes ROs if they have a specified timeout.
|
|\
| |
| |
| | |
ipcpd, lib: Fix timerwheel issues / time_utils
|
|/
|
|
|
|
|
| |
Timerwheel would skip some additions due to a missed wakeup signal.
Addition of timespecs and timevals in the time utilities would
overflow tv_nsec/tv_usec if the sum is an integer number of seconds.
|
|\
| |
| |
| | |
ipcpd: Add timerwheel
|
| |
| |
| |
| |
| | |
The timerwheel can be used to defer work to a certain timeslot in the
future.
|
|\ \
| |/
|/|
| | |
lib: Deprecate shm_rbuff_reset
|
|/ |
|
|\
| |
| |
| | |
ipcpd, lib: Add syntax version to protobuf files
|
|/
|
|
|
|
| |
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.
|
|\
| |
| |
| | |
ipcpd: normal: Add syncing of RIB objects
|
| |
| |
| |
| |
| | |
This adds the remote syncing of RIB objects. Subscribers are notified
upon receipt of new/deleted/updated RIB objects.
|
|\ \
| | |
| | |
| | | |
tools: Use busy waiting in operf
|
| | |
| | |
| | |
| | |
| | |
| | | |
Using nanosleep in between sending SDUs is not accurate enough when
sending thousands of SDUs per second. The --sleep option is added for
lowering CPU consumption in low bandwidth tests.
|
|\| |
| | |
| | |
| | | |
ipcpd: Fix SDU size check in LLC shim
|
|/ /
| |
| |
| | |
Total SDU size (including LLC header) cannot exceed 1500 bytes.
|
|\ \
| | |
| | |
| | | |
lib: Remove dst_api field from rdrbuff blocks
|
|/ /
| |
| |
| |
| |
| | |
Now that we have an rbuff per flow per AP, there is no more need to
keep the dst_api in the rdrbuff. This also simplifies the sanitizer in
the irmd.
|
|\ \
| | |
| | |
| | | |
irmd: Refactor irm_flow
|
|/ /
| |
| |
| |
| | |
Creation and destruction of the rbuffs is now completely handled in
the irm_flow.
|
|\ \
| | |
| | |
| | | |
tools: Fix likely overflow in cbr output
|
| | | |
|
|\ \ \
| |_|/
|/| |
| | | |
irmd: Fix shutdown
|
|/ /
| |
| |
| |
| | |
The IRMd should not send messages to the IPCPs after its mainloop
terminated. IPCPs should cleanup al state when they get the SIGTERM.
|
|\ \
| |/
|/|
| | |
ipcpd: normal: Add RIB objects
|
|/
|
|
|
| |
This adds the ability to create/update/destroy RIB objects. Syncing
with other DIF members is not yet supported.
|
|\
| |
| |
| | |
lib: Simplify CDAP API
|
|/
|
|
|
|
| |
This will simplify the CDAP API. Now the opcode has to be given when
sending a CDAP request. Before a separate operation was provided since
some of the function parameters are unused for certain commands.
|
|\
| |
| |
| | |
ipcpd: normal: Add policy for obtaining a flat address
|
| |
| |
| |
| |
| |
| | |
This adds a policy for obtaining a flat address, and thus also the
infrastructure for policies in the IPCP. The IPCP should check if the
address is available; this is currently not there yet.
|
|\ \
| | |
| | |
| | | |
lib, ipcpd: Improve flow allocation
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|\| |
| | |
| | |
| | | |
ipcpd: Clean shutdown when bootstrap fails
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Fixes a double free (conf->dif_name) and the handling of non-created
threads when the bootstrap of an IPCP fails
|
|\| |
| |/
|/|
| | |
operf tool, bugfixing and small improvements
|
| |
| |
| |
| |
| |
| | |
This tool allows bidirectional bandwidth measurement between a client
and server application. The server reflects all traffic back to the
client. The traffic can be capped at a certain rate or set to flood.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Flow_event_wait will either return -EINVAL, -ETIMEDOUT or a positive
integer indicating the number of SDUs in the fqueue. This allows to
call the function as the condition for a non-terminating while loop.
|
| | |
|
|\|
| |
| |
| | |
lib: Free fd when deallocating a flow
|