Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | ipcpd: Don't send deallocation messages | dimitri staessens | 2017-05-02 | 2 | -39/+0 | |
| | | | | | | | The flow resources are Delta-t protocol machines that will time out and free their resources without any required signaling. Flows can be cleaned locally when the application requests it and all FRCT instances have timed out and released their resources. | |||||
* | ipcpd: Fix sending fa dealloc message | dimitri staessens | 2017-04-29 | 2 | -18/+31 | |
| | | | | | | | The frct instance was previously destroyed before sending the message, resulting in the destination address being 0 and the message getting dropped. Some fixes in the normal for deallocation, but will require further revision once all data transfer protocols are in place. | |||||
* | ipcpd: Fix some bugs for the normal split | dimitri staessens | 2017-04-28 | 4 | -39/+46 | |
| | ||||||
* | Merged in dstaesse/ouroboros/be-irmd-logs (pull request #498) | dimitri staessens | 2017-04-28 | 1 | -6/+0 | |
|\ | | | | | | | irmd: Remove some debug logs | |||||
| * | irmd: Remove some debug logs | dimitri staessens | 2017-04-28 | 1 | -6/+0 | |
| | | ||||||
* | | Merged in sandervrijders/ouroboros/be-frct-api (pull request #497) | Sander Vrijders | 2017-04-28 | 15 | -680/+647 | |
|\ \ | |/ |/| | | | ipcpd: normal: Split connection establishment | |||||
| * | ipcpd: normal: Split connection establishment | Sander Vrijders | 2017-04-28 | 15 | -680/+647 | |
| | | | | | | | | | | | | Connection establishment was done at the same time as flow allocation. This splits it more cleanly, and allows to re-use the DT AE for other purposes. | |||||
* | | lib: Remove obsolete lock in dev.c | dimitri staessens | 2017-04-28 | 1 | -135/+5 | |
| | | ||||||
* | | ipcpd: Add capability reporting | dimitri staessens | 2017-04-27 | 7 | -53/+94 | |
|/ | | | | | | | | The IPCP will now report the DIF name and the hash value to the IRMd as a dif_info struct. This can later be extended to add further capability reporting. Some bugfixes in normal. Fixes #24 | |||||
* | ipcpd: Fix start/stop order in dt | dimitri staessens | 2017-04-26 | 1 | -9/+9 | |
| | ||||||
* | lib: Add call to reserve blocks in rdrbuff | dimitri staessens | 2017-04-26 | 8 | -23/+62 | |
| | | | | | | | This adds a call ipcp_sdb_reserve to reserve memory in the rdrbuff without directly writing to a flow. The ipcp_flow_del function was renamed to ipcp_sdb_release. The functions operating on sdbs are moved to their own header. | |||||
* | ipcpd: normal: Extract flow sets from components | Sander Vrijders | 2017-04-24 | 4 | -65/+58 | |
| | | | | | | The flow sets were still kept within the FA and DT components, when it makes more sense that they are kept within the SDU scheduler component. | |||||
* | ipcpd: normal: Split flow manager into DT and FA | Sander Vrijders | 2017-04-21 | 11 | -884/+972 | |
| | | | | | | This splits the flow manager into the Data Transfer AE, which is in charge of routing SDUs, and the Flow Allocator AE, which handles flow allocations. | |||||
* | Merged in dstaesse/ouroboros/be-complete (pull request #489) | dimitri staessens | 2017-04-20 | 4 | -21/+78 | |
|\ | | | | | | | ipcpd: Build complete graph with gam | |||||
| * | ipcpd: Build complete graph with gam | dimitri staessens | 2017-04-20 | 4 | -21/+78 | |
| | | | | | | | | | | The complete policy will now build a complete graph. Currently a simple timer is used to check the member list periodically. | |||||
* | | Merged in dstaesse/ouroboros/be-rib-lock (pull request #488) | dimitri staessens | 2017-04-20 | 1 | -2/+3 | |
|\| | | | | | | | lib: Fix bad lock in rib | |||||
| * | lib: Fix bad lock in rib | dimitri staessens | 2017-04-20 | 1 | -2/+3 | |
| | | ||||||
* | | ipcpd: normal: Extract SDU scheduling component | Sander Vrijders | 2017-04-19 | 4 | -127/+236 | |
|/ | | | | | | This extracts the SDU scheduling component out of the Flow Manager since the functionality was duplicated. For both the N-1 and N+1 flow sets an SDU scheduling component is now created. | |||||
* | lib: Fix compilation error in hash.c | Sander Vrijders | 2017-04-19 | 1 | -0/+2 | |
| | | | | | If compiled as release build, an error would be generated as the control reaches the end of a non-void function. | |||||
* | Merged in dstaesse/ouroboros/be-hashing (pull request #484) | dimitri staessens | 2017-04-16 | 23 | -121/+661 | |
|\ | | | | | | | Be hashing | |||||
| * | ipcpd: Allow specifying the hash algorithm to use | dimitri staessens | 2017-04-16 | 17 | -120/+212 | |
| | | | | | | | | Currently CRC32, MD5, and SHA3 (224, 256, 384 and 512 bit) are supported. | |||||
| * | lib: Add implementation for MD5 hashes | dimitri staessens | 2017-04-16 | 4 | -0/+409 | |
| | | ||||||
| * | lib: Fix minor things in sha3 implementation | dimitri staessens | 2017-04-16 | 2 | -1/+40 | |
| | | ||||||
* | | irmd, ipcpd: Include socket in select() for FreeBSD | dimitri staessens | 2017-04-16 | 2 | -2/+2 | |
|/ | | | | Fixes #41 | |||||
* | ipcpd: Fix LLC shim for BSD using netmap | dimitri staessens | 2017-04-13 | 1 | -7/+5 | |
| | | | | Fixes #22 | |||||
* | ipcpd: Fix unregistration in normal | dimitri staessens | 2017-04-13 | 1 | -0/+2 | |
| | ||||||
* | include, lib: Rename ap_init/ap_fini | dimitri staessens | 2017-04-13 | 8 | -20/+20 | |
| | | | | Fixes #35 | |||||
* | Merged in dstaesse/ouroboros/be-hashes (pull request #479) | dimitri staessens | 2017-04-13 | 46 | -1145/+934 | |
|\ | | | | | | | lib, ipcpd, irmd: Register hash instead of name | |||||
| * | lib, ipcpd, irmd: Register hash instead of name | dimitri staessens | 2017-04-13 | 46 | -1145/+934 | |
| | | | | | | | | | | | | | | | | | | All information passed over the IRMd/IPCP boundary for using IPC services (flow allocation, registration) is now hashed. This effectively fixes the shared namespace between DIFs and the IRMDs. This PR also fixes some API issues (adding const identifiers), shuffles the include headers a bit and some small bugs. | |||||
* | | build: Add STATUS to message statements | Sander Vrijders | 2017-04-12 | 2 | -6/+6 | |
| | | | | | | | | | | | | This adds the STATUS variable to the message() call in CMakeLists.txt in places where it was missing. This ensures that the message is printed to stdout instead of stderr. | |||||
* | | Merged in dstaesse/ouroboros/be-man (pull request #475) | dimitri staessens | 2017-04-12 | 1 | -4/+4 | |
|\ \ | | | | | | | | | | doc: Add man pages for flow allocation | |||||
| * | | lib: Fix return values in ap_init() | dimitri staessens | 2017-04-11 | 1 | -4/+4 | |
| |/ | ||||||
* / | irmd: Fix mixed declaration | dimitri staessens | 2017-04-11 | 1 | -2/+2 | |
|/ | ||||||
* | dev: Return descriptive errors for flow_alloc | dimitri staessens | 2017-04-10 | 1 | -10/+10 | |
| | ||||||
* | lib: Make timeout for flow allocation const | dimitri staessens | 2017-04-10 | 1 | -5/+5 | |
| | ||||||
* | ipcpd: Fix wrong timeval value in LLC shim | dimitri staessens | 2017-04-08 | 1 | -3/+2 | |
| | ||||||
* | ipcpd: Increase query timeout in shim LLC | dimitri staessens | 2017-04-08 | 1 | -2/+9 | |
| | ||||||
* | ipcpd: Add netmap support for LLC shim | dimitri staessens | 2017-04-07 | 1 | -52/+124 | |
| | | | | | Adds support for netmap (https://github.com/luigirizzo/netmap) to increase the performance of packet transfer over the LLC shim. | |||||
* | ipcpd: shim-eth-llc: Add check for netmap headers | Sander Vrijders | 2017-04-07 | 1 | -0/+14 | |
| | | | | This checks if the netmap headers are available on the system. | |||||
* | ipcpd: Fix race condition with concurrent allocs | dimitri staessens | 2017-04-06 | 6 | -23/+167 | |
| | ||||||
* | Merged in dstaesse/ouroboros/be-irmd-locks (pull request #468) | dimitri staessens | 2017-04-06 | 1 | -207/+36 | |
|\ | | | | | | | irmd: Remove unnecessary state locks | |||||
| * | irmd: Remove unnecessary state locks | dimitri staessens | 2017-04-06 | 1 | -207/+36 | |
| | | ||||||
* | | ipcpd: normal: Change assert to NULL check | Sander Vrijders | 2017-04-06 | 1 | -1/+5 | |
| | | | | | | | | | | | | An assertion was done instead of NULL check, where the FRCT instance could legitimately be NULL, resulting in the IPCP dying when it shouldn't. | |||||
* | | Merged in sandervrijders/ouroboros/be-mgmt-eth (pull request #466) | Sander Vrijders | 2017-04-06 | 1 | -4/+3 | |
|\ \ | |/ |/| | | | ipcpd: shim-eth-llc: Avoid handling mgmt frame under lock | |||||
| * | ipcpd: shim-eth-llc: Avoid handling mgmt frame under lock | Sander Vrijders | 2017-04-06 | 1 | -4/+3 | |
| | | | | | | | | | | This avoids handling the mgmt frames under lock, since it may deadlock if a new mgmt frame arrives in the meantime. | |||||
* | | irmd: Prevent impatient user deadlock on shutdown | dimitri staessens | 2017-04-06 | 1 | -0/+18 | |
|/ | ||||||
* | lib, irmd: Implement flow allocation timeout | dimitri staessens | 2017-04-06 | 11 | -137/+243 | |
| | | | | | | Setting the timeouts on flow_alloc and flow_accept will now work. This makes some changes to the UNIX sockets used for management communication between the APs, IRMd and IPCPs. | |||||
* | ipcpd: shim-eth-llc: Fix overwrite mgmt frames | Sander Vrijders | 2017-04-05 | 1 | -21/+42 | |
| | | | | | | This fixes the overwriting of management frames by adding a list in the shim Ethernet that keeps track of management frames instead of a single buffer. | |||||
* | ipcpd: normal: Add missing else clause | Sander Vrijders | 2017-04-05 | 2 | -10/+7 | |
| | | | | | A missing else clause was missing in the fast path, causing the PCI to be shrunk when it should not be. A double free has also been fixed. | |||||
* | ipcpd: Add lock for allocation requests | Sander Vrijders | 2017-04-05 | 6 | -103/+79 | |
| | | | | | This adds a lock to prevent a race condition between flow_req_arr and flow_alloc_resp. |