| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
|
|/
|
|
| |
This fixes a potential overflow when calculating the packet loss.
|
|
|
|
|
|
|
|
|
|
|
| |
This makes the IRMd add/remove worker threads dynamically.
IRMD_TPM_TIMEOUT sets a timer in the threadpool manager for checking
idle threads. Each time this timer expires, it will reduce the
threadpool by one. IRMD_MIN_AV_THREADS is the minimum number of
available worker threads. If the number of active threads goes under
this threshold, the threadpool manager will create threads to get the
number of threads to IRMD_MAX_AV_THREADS, unless IRMD_MAX_THREADS is
reached.
|
| |
|
|
|
|
| |
The blocks should be accessed inside the lock (or later with CAS).
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| |
| | |
ipcpd: normal: Fix logs
|
| |
| |
| |
| |
| | |
This removes some logs in the graph component and replaces prints of
uin64_t variables with an architecture agnostic variant.
|
|/ |
|
|\
| |
| |
| | |
lib: Fix bugs in B-tree
|
| |
| |
| |
| |
| | |
This fixes some bugs in the B-tree implementation. The test has also
been rewritten to be more thorough.
|
| |
| |
| |
| | |
This fixes the bug in handling multiple concurrent flow allocations.
|
|\ \
| |/
|/|
| | |
lib: Cancel outstanding CDAP requests on destroy
|
| | |
|
|\|
| |
| |
| | |
irmd: Fix assignment bug
|
| | |
|
|\|
| |
| |
| | |
lib: Revise flow allocation API
|
| |
| |
| |
| |
| |
| | |
The flow_alloc_res and flow_alloc_resp calls have been removed. The
flow_alloc and flow_accept calls are now both blocking and take an
additional timeout argument.
|
|/ |
|
|
|
|
|
| |
The FRCT instance was not properly cleaned when the PFF could not find
the next hop.
|
|
|
|
| |
This fixes an invalid access to an object that was already freed.
|
|
|
|
|
|
| |
This fixes a bug in enrollment where only the first enrollment would
happen correctly since the booleans indicating whether boot, members,
and DIF name were sent were not initialized back to false.
|
|\
| |
| |
| | |
lib: Fix heap-use-after-free in CDAP
|
| | |
|
|\|
| |
| |
| | |
lib: Reduce locking overhead in rdrbuff
|
| | |
|
|\|
| |
| |
| | |
irmd: Fix shutdown with active accept
|
| | |
|
|\|
| |
| |
| | |
irmd: Exit blocking threads from irm_sanitizer
|
| |
| |
| |
| |
| |
| | |
Some blocking calls caused mainloops to never exit. The irm_sanitizer
will now clean up those structs before exiting. This will speed up
regular exit and avoids non-cancelling threads.
|
|\ \
| |/
|/|
| | |
Be unidirected graph
|
| |
| |
| |
| |
| | |
This adds a regression test for the graph component to test the
routing table.
|
| |
| |
| |
| |
| |
| | |
This turns the directed graph into an undirected one. Only one side of
the flow creates an FSDB entry. The graph structure creates an edge
object for every vertex involved when an edge is updated or removed.
|
|/ |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes a number of issues in CDAP.
CDAP keeps track if a message is being processed, and moves it to the
end of the request list if it is. It will now correctly wait for new
messages.
The invoke_ids are generated locally per CDAP instance, invoke_ids
can't be used to track incoming requests, we need to keep track of the
fd. The keys are now identifiers (taken from the same local pool as the
invoke_ids) that are used to track requests.
|
|
|
|
| |
They were not consumed upon reading, causing the rdrbuff to fill up.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
The PCI was being freed by frct, but it was stack memory which was
created in the fmgr, resulting in an illegal free.
|
|
|
|
|
|
| |
The shm PCI was never initialized during flow manager init. This
commit will do that, and initialize the pdu length correctly as well,
since it was not being written into the RIB, nor read in shm_pci_init.
|
|
|
|
|
| |
The index j in the function that transforms the list of predecessors
to a routing table was incremented at the wrong time.
|
|
|
|
|
|
| |
This adds fixes the locking of the PFF which was externalized, but not
yet correctly updated within the PFF component itself and within the
flow manager.
|
|
|
|
|
|
| |
The list move was being done on the whole list of sub events, whereas
it should only be done on the first entry. A cleanup handler was also
added.
|
|
|
|
|
|
| |
This removes the graph_add_edge operation of the graph component. The
routing component now only listens to RO_MODIFY events, and updates
the graph accordingly.
|
|
|
|
|
| |
This revises the list_move operation, which was giving weird
behaviour.
|