Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | lib: Make read_msg static in cacep.c | dimitri staessens | 2017-07-12 | 1 | -2/+2 |
| | |||||
* | lib: Add secure random generator | dimitri staessens | 2017-07-09 | 2 | -5/+81 |
| | | | | | This adds a secure random number generator. It will use OS specific calls with a fallback to OpenSSL if available. | ||||
* | lib: Fix bug and add test for time_utils | dimitri staessens | 2017-07-05 | 3 | -6/+173 |
| | |||||
* | lib: Handle errors when creating cdap_req structs | dimitri staessens | 2017-07-04 | 1 | -2/+13 |
| | |||||
* | lib: Fix memleak in FRCT enrollment | dimitri staessens | 2017-07-03 | 1 | -0/+3 |
| | |||||
* | lib, ipcpd, irmd: Add full-fledged QoS | Sander Vrijders | 2017-06-21 | 5 | -33/+253 |
| | | | | | | | This adds more Quality of Service support to Ouroboros. One part is the network specific characteristics such as bandwidth, delay, ... The other part is end-to-end QoS like reliability, window based flow control, ... | ||||
* | lib: include missing headers in dev.c | dimitri staessens | 2017-06-21 | 1 | -8/+8 |
| | | | | | The dev.c source file had some missing include headers. This PR fixes inconsistencies between the definitions and declarations in ipcp-dev.h | ||||
* | lib, irmd: Handle case fallthrough in gcc 7 | dimitri staessens | 2017-06-04 | 1 | -0/+1 |
| | |||||
* | lib: Fix bug in bitmap | dimitri staessens | 2017-05-24 | 2 | -8/+18 |
| | |||||
* | lib: Fix some bugs in dev.c | dimitri staessens | 2017-05-23 | 1 | -45/+55 |
| | | | | | | | Fixed releasing an allocated fd on failure. As the sending of dealloc messages has been deprecated, dealloc was simplified by removing a stale block of code (replaced with an assertion). Fixed reading some variables without a necessary lock. | ||||
* | ipcpd: normal: Make routing a policy | Sander Vrijders | 2017-05-15 | 2 | -3/+6 |
| | | | | | | This makes the routing component into a policy since different approaches may exist to do this, depending on how high the rank of the DIF is. | ||||
* | ipcpd: Allow specifying fixed syntax | dimitri staessens | 2017-05-15 | 4 | -64/+61 |
| | | | | | | This commits adds the functions and messages to specify a fixed protocol syntax during CACEP. It also revises the messages for specifying the DT protocol syntax from the irm tool. | ||||
* | ipcpd: Remove FRCT from normal IPCP | dimitri staessens | 2017-05-10 | 1 | -1/+1 |
| | | | | | | | In order to ensure 100% reliable transfer, the protocol state machine that takes care of retransmission and SDU ordering has to be in the application. Flow allocation in the normal now uses fds. The PDU_type field was deprecated and AE's within the DIF can use reserved fds. | ||||
* | lib: Remove obsolete lock in dev.c | dimitri staessens | 2017-04-28 | 1 | -135/+5 |
| | |||||
* | ipcpd: Add capability reporting | dimitri staessens | 2017-04-27 | 1 | -2/+4 |
| | | | | | | | | 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 | ||||
* | lib: Add call to reserve blocks in rdrbuff | dimitri staessens | 2017-04-26 | 2 | -7/+46 |
| | | | | | | | 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. | ||||
* | lib: Fix bad lock in rib | dimitri staessens | 2017-04-20 | 1 | -2/+3 |
| | |||||
* | 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. | ||||
* | ipcpd: Allow specifying the hash algorithm to use | dimitri staessens | 2017-04-16 | 3 | -10/+64 |
| | | | | 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 |
| | |||||
* | include, lib: Rename ap_init/ap_fini | dimitri staessens | 2017-04-13 | 1 | -2/+2 |
| | | | | Fixes #35 | ||||
* | Merged in dstaesse/ouroboros/be-hashes (pull request #479) | dimitri staessens | 2017-04-13 | 13 | -232/+149 |
|\ | | | | | | | lib, ipcpd, irmd: Register hash instead of name | ||||
| * | lib, ipcpd, irmd: Register hash instead of name | dimitri staessens | 2017-04-13 | 13 | -232/+149 |
| | | | | | | | | | | | | | | | | | | 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. | ||||
* | | lib: Fix return values in ap_init() | dimitri staessens | 2017-04-11 | 1 | -4/+4 |
|/ | |||||
* | 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 |
| | |||||
* | lib, irmd: Implement flow allocation timeout | dimitri staessens | 2017-04-06 | 4 | -24/+27 |
| | | | | | | 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. | ||||
* | lib: Fix insertion in lockless rbuff | dimitri staessens | 2017-04-04 | 1 | -2/+2 |
| | |||||
* | lib, irmd, ipcpd: Stabilize flow allocation | dimitri staessens | 2017-04-04 | 1 | -28/+51 |
| | |||||
* | lib: Fix some issues in lockless rbuff | dimitri staessens | 2017-04-01 | 2 | -8/+37 |
| | |||||
* | lib: Lockless implementation of the rbuff | dimitri staessens | 2017-04-01 | 3 | -404/+789 |
| | |||||
* | lib: Add a check if a bitmap ID is in use | dimitri staessens | 2017-04-01 | 2 | -31/+65 |
| | |||||
* | lib: Fix data race in rdrbuff | dimitri staessens | 2017-04-01 | 1 | -7/+5 |
| | | | | The blocks should be accessed inside the lock (or later with CAS). | ||||
* | lib: Fix use-after-free when destroying cdap_req | dimitri staessens | 2017-04-01 | 2 | -1/+6 |
| | |||||
* | lib: Fix missing assignment in flow_alloc | dimitri staessens | 2017-04-01 | 1 | -5/+13 |
| | |||||
* | lib: Some fixes in CDAP | dimitri staessens | 2017-04-01 | 1 | -1/+10 |
| | |||||
* | lib: Fix double typedef | dimitri staessens | 2017-03-31 | 1 | -2/+0 |
| | |||||
* | Merged in sandervrijders/ouroboros/be-btree (pull request #444) | Sander Vrijders | 2017-03-31 | 2 | -26/+62 |
|\ | | | | | | | lib: Fix bugs in B-tree | ||||
| * | lib: Fix bugs in B-tree | Sander Vrijders | 2017-03-31 | 2 | -26/+62 |
| | | | | | | | | | | This fixes some bugs in the B-tree implementation. The test has also been rewritten to be more thorough. | ||||
* | | lib: Cancel outstanding CDAP requests on destroy | dimitri staessens | 2017-03-31 | 3 | -1/+15 |
|/ | |||||
* | lib: Revise flow allocation API | dimitri staessens | 2017-03-31 | 3 | -145/+69 |
| | | | | | | 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. | ||||
* | lib: Fix invalid access in CDAP | Sander Vrijders | 2017-03-30 | 1 | -2/+5 |
| | | | | This fixes an invalid access to an object that was already freed. | ||||
* | lib: Fix heap-use-after-free in CDAP | dimitri staessens | 2017-03-30 | 1 | -1/+1 |
| | |||||
* | lib: Reduce locking overhead in rdrbuff | dimitri staessens | 2017-03-30 | 1 | -45/+20 |
| | |||||
* | lib: Fix locks in dev.c | dimitri staessens | 2017-03-29 | 1 | -7/+5 |
| | |||||
* | lib: Revise handling CDAP messages | dimitri staessens | 2017-03-29 | 3 | -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. | ||||
* | lib: Use internal ops for list_move | Sander Vrijders | 2017-03-28 | 1 | -1/+1 |
| | |||||
* | lib: Fix list_move on wrong list | Sander Vrijders | 2017-03-28 | 1 | -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. | ||||
* | lib: Revise list_move operation | Sander Vrijders | 2017-03-28 | 1 | -8/+4 |
| | | | | | This revises the list_move operation, which was giving weird behaviour. |