summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* ipcpd: Revise internals of normal IPCPdimitri staessens2017-09-1241-4382/+719
| | | | | | | | This removes the RIB as a datastructure and CDAP as the protocol between IPCPs. CDAP, the rib and related sources are deprecated. The link-state protocol policy is udpated to use its own protocol based on a simple broadcast strategy along a tree. The neighbors struct is deprecated and moved to the library as a generic notifier component.
* Merged in dstaesse/ouroboros/be-dht-deadlock (pull request #588)dimitri staessens2017-09-081-6/+4
|\ | | | | | | ipcpd: Shutdown DHT work thread first at destroy
| * ipcpd: Shutdown DHT work thread first at destroydimitri staessens2017-09-071-6/+4
| | | | | | | | This prevents a potential deadlock on the wrlock.
* | Merged in dstaesse/ouroboros/be-ipcpd-main-fix (pull request #587)dimitri staessens2017-09-081-5/+4
|\ \ | |/ |/| | | ipcpd: Fix double finalization after some failures
| * ipcpd: Fix double finalization after some failuresdimitri staessens2017-09-071-5/+4
|/ | | | | When enroll or bootstrap failed, finalize_components could be called twice, resulting in double frees or use-after-free.
* Merged in sandervrijders/ouroboros/be-redef (pull request #586)Sander Vrijders2017-09-071-2/+1
|\ | | | | | | ipcpd: normal: Avoid redefining a typedef
| * ipcpd: normal: Avoid redefining a typedefSander Vrijders2017-09-061-2/+1
| | | | | | | | | | This avoids a redefinition of a typedef which is a C11 feature, and thus not supported by clang when the c89 switch is enabled.
* | Merged in sandervrijders/ouroboros/be-systemd (pull request #585)Sander Vrijders2017-09-063-1/+18
|\ \ | |/ |/| | | build: Add systemd unit on install
| * build: Add systemd unit on installSander Vrijders2017-09-053-1/+18
|/ | | | This adds a systemd unit for the irmd on installation of Ouroboros.
* Merged in sandervrijders/ouroboros/be-frct-lock (pull request #584)Sander Vrijders2017-09-016-33/+45
|\ | | | | | | Be frct lock
| * ipcpd: normal: Simplify enroll APISander Vrijders2017-09-015-12/+10
| | | | | | | | | | | | | | This will remove the dst parameter from enroll_boot, since it was only being used in logging. It also turns some other debug logs into info logs, and makes the component names as they are used in logs all lowercase.
| * lib: Add per instance FRCT lockSander Vrijders2017-09-011-21/+35
|/ | | | | This adds a per instance FRCT lock, since it was taking a write lock, thereby severely impacting parallelism in dev.c
* Merged in dstaesse/ouroboros/be-fccntl (pull request #583)dimitri staessens2017-08-3118-243/+339
|\ | | | | | | lib: Add fccntl configuration command
| * lib: Add fccntl configuration commanddimitri staessens2017-08-3118-243/+339
| | | | | | | | | | | | | | This replaces the flow_set_* commands with a single fccntl command that can configure flows and the FRCT instance. For more details, see "man 3 fccntl".
* | Merged in sandervrijders/ouroboros/be-connect (pull request #582)Sander Vrijders2017-08-308-31/+27
|\ \ | |/ |/| | | Be connect
| * ipcpd: Add check if name was already registeredSander Vrijders2017-08-305-31/+20
| | | | | | | | | | This adds a check in the shims if a name was already registered, since it should not return an error.
| * irmd: Add specific timeout for IPCP connectSander Vrijders2017-08-303-0/+7
|/ | | | | | This adds a specific timeout for IPCP connect, since it may take a lot longer than the regular socket timeout due to flow allocations in the IPCP.
* Merged in sandervrijders/ouroboros/be-corrupt (pull request #581)Sander Vrijders2017-08-297-15/+30
|\ | | | | | | Be corrupt
| * tools: irm: Fix matching of name parameterSander Vrijders2017-08-294-14/+15
| | | | | | | | | | The name parameter was not being matched correctly in ipcp connect and disconnect.
| * irmd: Fix deleting corrupt shm fileSander Vrijders2017-08-293-1/+15
| | | | | | | | | | This will delete the rdrbuff also when it has been corrupted before. Otherwise the irmd won't start, as experienced on my desktop.
* | Merged in dstaesse/ouroboros/be-ipcp-thread-leaks (pull request #580)dimitri staessens2017-08-292-2/+2
|\ \ | | | | | | | | | ipcpd: Fix thread leaks in normal IPCP
| * | ipcpd: Fix thread leaks in normal IPCPdimitri staessens2017-08-292-2/+2
| |/
* | Merged in dstaesse/ouroboros/be-irmd-logs (pull request #579)dimitri staessens2017-08-291-4/+1
|\ \ | |/ |/| | | irmd: Remove temporary debugging logs
| * irmd: Remove temporary debugging logsdimitri staessens2017-08-291-4/+1
|/
* Merged in dstaesse/ouroboros/be-dht-unlock (pull request #578)dimitri staessens2017-08-291-1/+2
|\ | | | | | | ipcpd: Fix missing unlock in dht
| * ipcpd: Fix missing unlock in dhtdimitri staessens2017-08-291-1/+2
|/
* Merged in sandervrijders/ouroboros/be-dir-query (pull request #576)Sander Vrijders2017-08-293-61/+87
|\ | | | | | | shim-eth-llc: Hide directory query locking
| * shim-eth-llc: Hide directory query lockingSander Vrijders2017-08-293-61/+87
| | | | | | | | | | | | | | The locking of the directory queries was happening in the shim-eth-llc, but it should be done within the shim-data functions. Fixes #30
* | Merged in dstaesse/ouroboros/be-dht (pull request #577)dimitri staessens2017-08-292-40/+71
|\ \ | | | | | | | | | ipcpd: Fix state in dht lookup at lookup_wait
| * | ipcpd: Fix state in dht lookup at lookup_waitdimitri staessens2017-08-292-40/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The correct state was returned but not set internally in the lookup_struct, causing lookup_wait to return a lookup in LU_PENDING if the wait timedout. This also unlocks the IRMd during register calls and fixes some cleanup if lookup_wait gets interrupted. Fixes #48
* | | Merged in sandervrijders/ouroboros/be-fix-authors (pull request #575)Sander Vrijders2017-08-2910-20/+20
|\ \ \ | |/ / |/| | | | | lib, ipcpd: Fix e-mail addresses in protobuf files
| * | lib, ipcpd: Fix e-mail addresses in protobuf filesSander Vrijders2017-08-2910-20/+20
| |/ | | | | | | This fixes the wrong e-mail addresses in the protobuf files.
* | Merged in dstaesse/ouroboros/be-fqueue (pull request #574)dimitri staessens2017-08-2925-110/+339
|\ \ | |/ |/| | | dev: Revise fqueue API and add man pages
| * dev: Revise fqueue API and add man pagesdimitri staessens2017-08-2925-110/+339
|/
* Merged in sandervrijders/ouroboros/be-bugfixes (pull request #573)Sander Vrijders2017-08-2912-36/+73
|\ | | | | | | lib, ipcpd, irmd: Fix bugs reported by static analysis
| * lib, ipcpd, irmd: Fix bugs reported by static analysisSander Vrijders2017-08-2912-36/+73
|/ | | | This fixes several bugs as reported by the clang static analyzer.
* Merged in dstaesse/ouroboros/be-deprecate-gam (pull request #572)dimitri staessens2017-08-2855-1354/+1468
|\ | | | | | | Be deprecate gam
| * ipcpd: Address comments on 176698edimitri staessens2017-08-285-10/+4
| |
| * tools: Add tool to connect IPCP componentsdimitri staessens2017-08-2825-64/+635
| | | | | | | | | | | | | | | | | | | | | | | | This enables user-written tools to instruct IPCPs to establish and tear down connections (a.k.a. adjacencies) between its internal components (Management and Data Transfer). For more info, do "irm ipcp connect" or "irm ipcp disconnect" on the command line. This commit exposes a deletion bug in the RIB where FSO's fail to unpack/parse. This will be fixed when the RIB is deprecated.
| * ipcpd: Deprecate gam as autonomous componentdimitri staessens2017-08-2839-1320/+869
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The graph adjacency manager has been deprecated in favor of providing an external interface into the connectivity manager so that adjacencies can be controlled from the command line, user scripts or user applications. The gam and its associated policies were removed from the normal IPCP and the IRM configuration tools. The "/members" part of the RIB was deprecated. Removal of the gam means that initial connectivity based on changes in the RIB can't be provided, so some changes were required throughout the normal IPCP. The enrollment procedure was revised to establish its own connectivity. First, it gets boot information from a peer by establishing a connection to the remote enrollment component and downloading the IPCP configuratoin. This is now done using its own protocol buffers message in anticipation of deprecation of the RIB and CDAP for communication within a DIF. After the boot information is downloaded, it establishes a data transfer flow for enrolling the directory (DHT). After the DHT has enrolled, it signals the peer to that enrollment is done, and the data transfer connection is torn down. Signaling connections is done via the nbs struct, which is now passed to the connmgr, which enables control of the connectivity graph from external sources.
* | Merged in sandervrijders/ouroboros/be-config (pull request #570)Sander Vrijders2017-08-263-95/+179
|\ \ | | | | | | | | | lib: Add configuration message to FRCT
| * | lib: Add configuration message to FRCTSander Vrijders2017-08-263-95/+179
| | | | | | | | | | | | | | | This adds the configuration message to FRCT, which allows for configuring the connection.
* | | Merged in dstaesse/ouroboros/be-irmd-no-warn (pull request #571)dimitri staessens2017-08-261-1/+2
|\ \ \ | |/ / |/| / | |/ irmd: Don't warn on failed write to terminated IPCP
| * irmd: Don't warn on failed write to terminated IPCPdimitri staessens2017-08-251-1/+2
|/
* Merged in sandervrijders/ouroboros/be-lock-fix (pull request #569)Sander Vrijders2017-08-251-1/+1
|\ | | | | | | lib: Fix bad locking in frcti_read
| * lib: Fix bad locking in frcti_readSander Vrijders2017-08-251-1/+1
|/ | | | A read lock was taken when a write lock was needed.
* Merged in sandervrijders/ouroboros/be-memleaks (pull request #568)Sander Vrijders2017-08-236-9/+10
|\ | | | | | | lib, ipcpd, irmd: Fix several memleaks
| * lib, ipcpd, irmd: Fix several memleaksSander Vrijders2017-08-236-9/+10
|/ | | | | This fixes several memleaks as reported by valgrind. It also fixes some calls to close() with -1.
* Merged in sandervrijders/ouroboros/be-inactivity (pull request #567)Sander Vrijders2017-08-231-153/+68
|\ | | | | | | lib: Make sender and receiver inactivity simple checks
| * lib: Make sender and receiver inactivity simple checksSander Vrijders2017-08-231-153/+68
|/ | | | | | This makes the sender and receiver inactivity timers into simple checks that compare when the last SDU was sent to the current time to set the receiver or sender inactivity.