summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* ipcpd: normal: Add graph regression testSander Vrijders2017-03-295-8/+285
| | | | | This adds a regression test for the graph component to test the routing table.
* ipcpd: normal: Make graph undirectedSander Vrijders2017-03-293-7/+37
| | | | | | 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.
* Merged in dstaesse/ouroboros/be-lib-fix (pull request #430)dimitri staessens2017-03-291-7/+5
|\ | | | | | | lib: Fix locks in dev.c
| * lib: Fix locks in dev.cdimitri staessens2017-03-291-7/+5
|/
* Merged in dstaesse/ouroboros/be-cdap-fix (pull request #429)dimitri staessens2017-03-293-66/+114
|\ | | | | | | lib: Revise handling CDAP messages
| * lib: Revise handling CDAP messagesdimitri staessens2017-03-293-66/+114
|/ | | | | | | | | | | | | 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.
* Merged in dstaesse/ouroboros/be-bugfixing (pull request #428)dimitri staessens2017-03-281-35/+36
|\ | | | | | | ipcpd: Correctly read MGMT type PDUs from rdrbuff
| * ipcpd: Correctly read MGMT type PDUs from rdrbuffdimitri staessens2017-03-281-35/+36
| | | | | | | | They were not consumed upon reading, causing the rdrbuff to fill up.
* | Merged in dstaesse/ouroboros/be-bugfixing (pull request #427)dimitri staessens2017-03-282-1/+6
|\| | | | | | | Be bugfixing
| * ipcpd: Fix memleaks in fmgrdimitri staessens2017-03-281-0/+4
| |
| * ipcpd: Fix use-after-free in frctdimitri staessens2017-03-281-1/+2
|/
* Merged in sandervrijders/ouroboros/be-upd-graph (pull request #426)Sander Vrijders2017-03-2810-120/+87
|\ | | | | | | Be upd graph
| * lib: Use internal ops for list_moveSander Vrijders2017-03-281-1/+1
| |
| * Merge remote-tracking branch 'upstream/be' into be-upd-graphSander Vrijders2017-03-280-0/+0
| |\ | |/ |/|
* | Merged in sandervrijders/ouroboros/be-pointer (pull request #425)Sander Vrijders2017-03-264-10/+20
|\ \ | | | | | | | | | ipcpd: normal: Fix compilation issue
| * | lib, ipcpd: Fix bugs in ro setsSander Vrijders2017-03-253-9/+19
| | | | | | | | | | | | | | | 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: Fix compilation issueSander Vrijders2017-03-251-1/+1
|/ /
* | Merged in sandervrijders/ouroboros/be-double-free (pull request #424)Sander Vrijders2017-03-253-5/+4
|\ \ | | | | | | | | | ipcpd: normal: Avoid double free
| | * ipcpd: normal: Fix invalid free of pciSander Vrijders2017-03-281-5/+0
| | | | | | | | | | | | | | | The PCI was being freed by frct, but it was stack memory which was created in the fmgr, resulting in an illegal free.
| | * ipcpd: normal: Call shm_pci_init on fmgr initSander Vrijders2017-03-283-10/+29
| | | | | | | | | | | | | | | | | | 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.
| | * ipcpd: normal: Fix wrong update to indexSander Vrijders2017-03-281-2/+2
| | | | | | | | | | | | | | | The index j in the function that transforms the list of predecessors to a routing table was incremented at the wrong time.
| | * ipcpd: normal: Fix locking of PFFSander Vrijders2017-03-282-19/+10
| | | | | | | | | | | | | | | | | | 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.
| | * lib: Fix list_move on wrong listSander Vrijders2017-03-281-3/+9
| | | | | | | | | | | | | | | | | | 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.
| | * ipcpd: normal: Remove graph_add_edge operationSander Vrijders2017-03-283-73/+33
| | | | | | | | | | | | | | | | | | 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.
| | * lib: Revise list_move operationSander Vrijders2017-03-281-8/+4
| | | | | | | | | | | | | | | This revises the list_move operation, which was giving weird behaviour.
| | * lib, ipcpd: Fix bugs in ro setsSander Vrijders2017-03-283-9/+19
| | | | | | | | | | | | | | | 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: Fix compilation issueSander Vrijders2017-03-281-1/+1
| |/
| * ipcpd: normal: Avoid double freeSander Vrijders2017-03-253-5/+4
|/ | | | | The flow manager should clean up the buffer after the call to frct create instance has either failed or succeeded.
* Merged in dstaesse/ouroboros/be-cdap (pull request #423)dimitri staessens2017-03-252-52/+30
|\ | | | | | | lib: Fix invoke_ids and failure handling in CDAP
| * ipcpd: Register nb_notifiers before starting gamdimitri staessens2017-03-251-11/+12
| |
| * lib: Fix invoke_ids and failure handling in CDAPdimitri staessens2017-03-251-41/+18
|/ | | | | When something fails, the successfully sent CDAP messages should be reported back. Invoke_ids were not correctly released.
* Merged in dstaesse/ouroboros/be-ribmgr-dev (pull request #422)dimitri staessens2017-03-242-24/+264
|\ | | | | | | ipcpd: Initial synchronisation of the RIB
| * ipcpd: Initial synchronisation of the RIBdimitri staessens2017-03-242-24/+264
|/
* Merged in sandervrijders/ouroboros/be-full-pff (pull request #421)Sander Vrijders2017-03-246-21/+78
|\ | | | | | | ipcpd: normal: Fill in forwarding table
| * ipcpd: normal: Fill in forwarding tableSander Vrijders2017-03-246-21/+78
| | | | | | | | | | | | 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.
* | Merged in sandervrijders/ouroboros/be-free (pull request #420)Sander Vrijders2017-03-241-12/+12
|\| | | | | | | ipcpd: normal: Fix bad free
| * ipcpd: normal: Fix bad freeSander Vrijders2017-03-241-12/+12
|/ | | | | This fixes a bad free. The table was only freed if it was NULL, instead of the other way around.
* Merged in sandervrijders/ouroboros/be-neg-malloc (pull request #419)Sander Vrijders2017-03-241-0/+11
|\ | | | | | | ipcpd: normal: Fix negative malloc
| * ipcpd: normal: Fix negative mallocSander Vrijders2017-03-241-0/+11
|/ | | | | This adds a check to prevent a negative malloc in case the graph structure is empty.
* Merged in sandervrijders/ouroboros/be-segv (pull request #418)Sander Vrijders2017-03-241-1/+9
|\ | | | | | | ipcpd: normal: Fix segfault in dijkstra calculation
| * ipcpd: normal: Fix while loopSander Vrijders2017-03-241-0/+7
| | | | | | | | | | The next vertex was not taken at the end of the Dijkstra calculation loop.
| * ipcpd: normal: Fix segfault in dijkstra calculationSander Vrijders2017-03-241-1/+2
|/ | | | | | | 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.
* Merged in dstaesse/ouroboros/be-fmgr (pull request #417)dimitri staessens2017-03-231-1/+5
|\ | | | | | | ipcpd: Increase update timeout in fmgr
| * ipcpd: Increase update timeout in fmgrdimitri staessens2017-03-231-1/+5
| | | | | | | | This works around a possible bug in glibc 2.25.
* | Merged in sandervrijders/ouroboros/be-dijkstra (pull request #416)Sander Vrijders2017-03-233-28/+274
|\ \ | | | | | | | | | ipcpd: normal: Add routing table calculation
| * | ipcpd: normal: Add routing table calculationSander Vrijders2017-03-233-28/+274
|/ / | | | | | | | | | | This adds routing table calculation to the graph component. The routing instances can then periodically ask the graph component for the routing table, and update their PFFs accordingly.
* | Merged in sandervrijders/ouroboros/be-memset (pull request #415)Sander Vrijders2017-03-222-0/+4
|\ \ | | | | | | | | | ipcpd: normal: Add memset of conn_info
| * | ipcpd: normal: Add memset of conn_infoSander Vrijders2017-03-222-0/+4
|/ / | | | | | | | | This initializes conn_info in the ribmgr and fmgr before it is passed to cacep.
* | Merged in dstaesse/ouroboros/be-fixes (pull request #414)dimitri staessens2017-03-221-8/+23
|\| | | | | | | lib: Fix memleaks in cdap
| * lib: Fix memleaks in cdapdimitri staessens2017-03-221-8/+23
| |