summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * lib: allow accepting any flowsdimitri staessens2016-05-151-7/+7
| | | | | | | | The application can call accept(fd, NULL, NULL);
* | Merged in dstaesse/ouroboros/release-fd (pull request #89)Sander Vrijders2016-05-153-2/+21
|\| | | | | | | lib: cleanup file descriptors for shared memory
| * lib: cleanup file descriptors for shared memorydimitri staessens2016-05-153-2/+21
|/ | | | | cleanup of file descriptors for the shared memory. also adds a missing NULL check and some invalidation in dev.c
* Merged in sandervrijders/ouroboros/be (pull request #88)dimitri staessens2016-05-151-2/+2
|\ | | | | | | ipcpd: Move lock in ipcp_udp_listener
| * ipcpd: Move lock in ipcp_udp_listenerSander Vrijders2016-05-151-2/+2
|/ | | | | This takes a lock before notifying the IRMd of a new flow request, to avoid race conditions when trying to retrieve the fd by port-id.
* Merged in dstaesse/ouroboros/be-udp (pull request #87)Sander Vrijders2016-05-151-10/+10
|\ | | | | | | ipcpd: shim-udp: added missing checks
| * ipcpd: shim-udp: added missing checksdimitri staessens2016-05-151-10/+10
|/
* Merged in dstaesse/ouroboros/udp-lockfix (pull request #86)Sander Vrijders2016-05-154-35/+42
|\ | | | | | | ipcpd: shim-udp: fixed locking.
| * lib: shm_ap_rbuff: simplified file offsetsdimitri staessens2016-05-151-13/+9
| | | | | | | | Used simpler pointer arithmetic to calculate the file offset pointers.
| * lib: irmd: fixed flow deallocationdimitri staessens2016-05-152-7/+12
| | | | | | | | | | Port_id's weren't correctly released. Also removes remaining debug logs from the library.
| * ipcpd: shim-udp: fixed locking.dimitri staessens2016-05-141-15/+21
|/ | | | | The fd_to_port_id function has no internal locking and must now be called under lock.
* Merged in sandervrijders/ouroboros/be (pull request #84)dimitri staessens2016-05-1420-135/+144
|\ | | | | | | lib, ipcpd, irmd: Add QoS cube definition
| * lib: Fix header inclusionSander Vrijders2016-05-146-26/+28
| | | | | | | | | | | | This fixes wrong header inclusion that would make programs which are not developed within ouroboros fail upon compilation, since they would not find certain headers on their system.
| * Merge remote-tracking branch 'upstream/be' into beSander Vrijders2016-05-143-0/+169
| |\
| * | lib, ipcpd, irmd: Add QoS cube definitionSander Vrijders2016-05-1416-109/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the QoS cube definition, which is an enum to select which QoS is needed in the IPCP. An application has to use the qos_spec in qos.h to define what it needs. The IRMd will map this unto a qos cube definition. Some headers are now also no longer installed on the system, since they are only to be used within the irmd and ipcps.
* | | Merged in dstaesse/ouroboros/dev-initialise (pull request #85)Sander Vrijders2016-05-142-37/+179
|\ \ \ | | | | | | | | | | | | lib: dev.c: added locking
| * | | lib: dev.c: added lockingdimitri staessens2016-05-142-37/+179
| | |/ | |/| | | | | | | | | | Locking is required for multi-threaded applications. Flows are locked separately. Read/Write locks are used for concurrent reads.
* | | Merged in dstaesse/ouroboros/be-udp (pull request #82)Sander Vrijders2016-05-143-109/+387
|\ \ \ | |/ / |/| | | | | Be udp
| * | ipcpd: shim-udp: log error when failed sending SDUdimitri staessens2016-05-141-1/+2
| | |
| * | Merge branch 'be' of bitbucket.org:ouroboros-rina/ouroboros into be-udpdimitri staessens2016-05-140-0/+0
| |\ \ | |/ / |/| |
* | | Merged in dstaesse/ouroboros/be-rw_lock (pull request #80)dimitri staessens2016-05-144-0/+170
|\ \ \ | |_|/ |/| | | | | lib: implementation of read/write locks
| * | Merge branch 'be' of bitbucket.org:ouroboros-rina/ouroboros into be-rw_lockdimitri staessens2016-05-141-5/+4
| |\ \ | |/ / |/| |
* | | Merged in dstaesse/ouroboros/be (pull request #83)dimitri staessens2016-05-141-5/+4
|\ \ \ | | | | | | | | | | | | lib: shm_ap_rbuff: removed bad memory allocation
| * | | lib: shm_ap_rbuff: removed bad memory allocationdimitri staessens2016-05-141-5/+4
|/ / / | | | | | | | | | | | | moved a malloc so there is no malloc/free when there is no data to be read from the shm_ap_rbuff.
| | * ipcpd: shim-udp: complete lockingdimitri staessens2016-05-144-114/+390
| |/ | | | | | | | | | | | | Added necessary locks for the shim-udp. This PR also improves thread management, the main thread now starts a mainloop thread, which spawns sdu handler threads when it the IPCP is enrolled. If the IPCP exits the enrolled state, the sdu loop is cancelled.
| * lib: fixed a bug in the rw_lockdimitri staessens2016-05-141-3/+5
| | | | | | | | Locking the main mutex should happen while the counter is locked.
| * lib: implementation of read/write locksdimitri staessens2016-05-134-0/+168
|/ | | | | This adds read/write locks, allowing for concurrent reads on the locked datastructure. This is needed for the fast path.
* Merged in dstaesse/ouroboros/be-rbuff (pull request #79)Sander Vrijders2016-05-121-5/+0
|\ | | | | | | lib: shm_ap_rbuff: small fixes
| * lib: shm_ap_rbuff: small fixesdimitri staessens2016-05-121-5/+0
|/ | | | Unnecessary filename string removed. Formatting fix.
* Merged in dstaesse/ouroboros/be-irmd (pull request #78)Sander Vrijders2016-05-121-1/+6
|\ | | | | | | irmd: fixed bad locking and added cleanup
| * irmd: fixed bad locking and added cleanupdimitri staessens2016-05-121-1/+6
|/ | | | flow_alloc_res had missing cleanup, added missing unlock.
* Merged in dstaesse/ouroboros/be-flow_opts (pull request #77)Sander Vrijders2016-05-121-0/+1
|\ | | | | | | include: added flows.h to CMakelists
| * include: added flow.h to CMakelistsdimitri staessens2016-05-121-0/+1
| |
* | Merged in dstaesse/ouroboros/be-flow_opts (pull request #76)Sander Vrijders2016-05-124-10/+38
|\| | | | | | | lib: dev: implementation of flow_cntl
| * dev: fixed wrong bracket placementdimitri staessens2016-05-121-2/+1
| |
| * lib: dev: implementation of flow_cntldimitri staessens2016-05-124-10/+39
|/ | | | | allows setting the oflags to make flow_read and flow_write blocking or non-blocking (FLOW_O_NONBLOCK).
* Merged in dstaesse/ouroboros/irmd-cleanup (pull request #75)Sander Vrijders2016-05-121-12/+115
|\ | | | | | | irmd: cleanup
| * irmd: cleanupdimitri staessens2016-05-121-12/+115
|/ | | | improved cleanup when killing the IRMd.
* Merged in dstaesse/ouroboros/udp-static (pull request #74)Sander Vrijders2016-05-111-98/+40
|\ | | | | | | ipcpd: threading and cleanup of ipcpd_udp
| * ipcpd: threading and cleanup of ipcpd_udpdimitri staessens2016-05-111-98/+40
|/ | | | | The shim_udp now correctly destroys its ringbuffer on exit. Now handles sdu's in a single thread using select() with a 10 us timeout.
* Merged in sandervrijders/ouroboros/be (pull request #73)Sander Vrijders2016-05-101-2/+2
|\ | | | | | | ipcpd: Fix unitialized value
| * ipcpd: Fix unitialized valueSander Vrijders2016-05-101-2/+2
|/ | | | | A value that was unitialized was being treated as an error in the release build with gcc.
* Merged in sandervrijders/ouroboros/be (pull request #72)dimitri staessens2016-05-105-68/+240
|\ | | | | | | ipcpd: Allow disabling of DNS
| * ipcpd: Add nslookup to shim UDPSander Vrijders2016-05-103-25/+156
| | | | | | | | | | This adds nslookup support to the shim UDP, so that a custom DNS server can be queried.
| * ipcpd: Allow disabling of DNSSander Vrijders2016-05-105-43/+84
|/ | | | | | This allows someone to disable the use of DNS in the shim UDP. It also adds a config file specific for the shim UDP (which holds the nsupdate location). Certain defines were also moved to the global config file.
* Merged in dstaesse/ouroboros/irmd-threads (pull request #70)Sander Vrijders2016-05-103-137/+321
|\ | | | | | | irmd: use pthread_cond_wait
| * irmd: added dedicated locks for signalingdimitri staessens2016-05-101-9/+40
| | | | | | | | | | it's more robust to use dedicated locks for pthread_cond_signal so no other threads can be waiting for the mutex.
| * irmd: fixed potential data racesdimitri staessens2016-05-101-8/+10
| | | | | | | | | | bmp_allocate should be called under lock. Helgrind does not give warnings anymore during flow allocation.
| * IRMd: set number of thread back to 3 (minimum)dimitri staessens2016-05-101-1/+1
| |
| * irmd: introduced lockingdimitri staessens2016-05-103-142/+287
| | | | | | | | | | This commit adds locking to the IRMd with a single global lock. It also fixes some issues in cleaning up the daemon.