| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\|
| |
| |
| | |
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.
|
|\ \ \
| |/ /
|/| /
| |/ |
irmd: Set failed flows to FLOW_NULL before destroy
|
|/ |
|
|\
| |
| |
| | |
lib: Fix locks in dev.c
|
|/ |
|
|\
| |
| |
| | |
lib: Revise handling CDAP messages
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| |
| | |
ipcpd: Correctly read MGMT type PDUs from rdrbuff
|
| |
| |
| |
| | |
They were not consumed upon reading, causing the rdrbuff to fill up.
|
|\|
| |
| |
| | |
Be bugfixing
|
| | |
|
|/ |
|
|\
| |
| |
| | |
Be upd graph
|
| | |
|
| |\
| |/
|/| |
|
|\ \
| | |
| | |
| | | |
ipcpd: normal: Fix compilation issue
|
| | |
| | |
| | |
| | |
| | | |
This fixes several bugs in the ro sets, rib. And it fixes several bugs
in the graph and routing component of the normal IPCP.
|
|/ / |
|
|\ \
| | |
| | |
| | | |
ipcpd: normal: Avoid double free
|
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | | |
This fixes several bugs in the ro sets, rib. And it fixes several bugs
in the graph and routing component of the normal IPCP.
|
| |/ |
|
|/
|
|
|
| |
The flow manager should clean up the buffer after the call to frct
create instance has either failed or succeeded.
|
|\
| |
| |
| | |
lib: Fix invoke_ids and failure handling in CDAP
|
| | |
|
|/
|
|
|
| |
When something fails, the successfully sent CDAP messages should be
reported back. Invoke_ids were not correctly released.
|
|\
| |
| |
| | |
ipcpd: Initial synchronisation of the RIB
|
|/ |
|
|\
| |
| |
| | |
ipcpd: normal: Fill in forwarding table
|
| |
| |
| |
| |
| |
| | |
The routing now takes the results of the routing table to fill in the
forwarding table, by going through the neighbors and filling in the
right fd.
|
|\|
| |
| |
| | |
ipcpd: normal: Fix bad free
|
|/
|
|
|
| |
This fixes a bad free. The table was only freed if it was NULL,
instead of the other way around.
|
|\
| |
| |
| | |
ipcpd: normal: Fix negative malloc
|
|/
|
|
|
| |
This adds a check to prevent a negative malloc in case the graph
structure is empty.
|
|\
| |
| |
| | |
ipcpd: normal: Fix segfault in dijkstra calculation
|
| |
| |
| |
| |
| | |
The next vertex was not taken at the end of the Dijkstra calculation
loop.
|
|/
|
|
|
|
|
| |
This fixes a dumb segfault in the dijkstra calculation. If an entry
can be removed from the table it was set to NULL. However, if the
table is completely empty, the index was -1, resulting in an illegal
access into the table.
|
|\
| |
| |
| | |
ipcpd: Increase update timeout in fmgr
|
| |
| |
| |
| | |
This works around a possible bug in glibc 2.25.
|
|\ \
| | |
| | |
| | | |
ipcpd: normal: Add routing table calculation
|