summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merged in sandervrijders/ouroboros/be-frct-fix (pull request #467)Sander Vrijders2017-04-061-1/+5
|\ | | | | | | ipcpd: normal: Change assert to NULL check
| * ipcpd: normal: Change assert to NULL checkSander Vrijders2017-04-061-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 Vrijders2017-04-061-4/+3
|\ | | | | | | ipcpd: shim-eth-llc: Avoid handling mgmt frame under lock
| * ipcpd: shim-eth-llc: Avoid handling mgmt frame under lockSander Vrijders2017-04-061-4/+3
| | | | | | | | | | This avoids handling the mgmt frames under lock, since it may deadlock if a new mgmt frame arrives in the meantime.
* | Merged in dstaesse/ouroboros/be-patience (pull request #465)dimitri staessens2017-04-061-0/+18
|\ \ | |/ |/| | | irmd: Prevent impatient user deadlock on shutdown
| * irmd: Prevent impatient user deadlock on shutdowndimitri staessens2017-04-061-0/+18
| |
* | Merged in dstaesse/ouroboros/be-tim (pull request #464)dimitri staessens2017-04-0612-139/+243
|\| | | | | | | lib, irmd: Implement flow allocation timeout
| * lib, irmd: Implement flow allocation timeoutdimitri staessens2017-04-0612-139/+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.
* Merged in sandervrijders/ouroboros/be-fix-fmgr (pull request #463)Sander Vrijders2017-04-053-31/+49
|\ | | | | | | ipcpd: normal: Add missing else clause
| * ipcpd: shim-eth-llc: Fix overwrite mgmt framesSander Vrijders2017-04-051-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 clauseSander Vrijders2017-04-052-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.
* Merged in sandervrijders/ouroboros/be-fix-llc (pull request #462)Sander Vrijders2017-04-056-106/+82
|\ | | | | | | Be fix llc
| * ipcpd: Add lock for allocation requestsSander Vrijders2017-04-056-103/+79
| | | | | | | | | | This adds a lock to prevent a race condition between flow_req_arr and flow_alloc_resp.
| * ipcpd: shim-eth-llc: Fix state check in readerSander Vrijders2017-04-051-3/+3
|/ | | | | The state check should be done first to avoid blocking on the recv call.
* Merged in dstaesse/ouroboros/be-local (pull request #461)dimitri staessens2017-04-042-34/+5
|\ | | | | | | ipcpd: Remove unnecessary locks in local
| * lib: Fix insertion in lockless rbuffdimitri staessens2017-04-041-2/+2
| |
| * ipcpd: Remove unnecessary locks in localdimitri staessens2017-04-041-32/+3
| |
* | Merged in dstaesse/ouroboros/be-irmd-res (pull request #460)dimitri staessens2017-04-042-521/+511
|\| | | | | | | Be irmd res
| * irmd: Initialize in stack memorydimitri staessens2017-04-041-482/+485
| |
| * ipcpd, irmd: Fix cleanup of thread resourcesdimitri staessens2017-04-042-46/+33
| |
* | Merged in sandervrijders/ouroboros/be-eth-mgmt (pull request #459)Sander Vrijders2017-04-041-295/+164
|\ \ | | | | | | | | | Be eth mgmt
| * | ipcpd: shim-eth-llc: Remove IPCP rwlockSander Vrijders2017-04-041-73/+23
| | | | | | | | | | | | | | | This removes the rwlock in the shim-eth-llc IPCP since it is already protected by a mutex.
| * | ipcpd: shim-eth-llc: Remove pthread_cancelSander Vrijders2017-04-041-78/+117
| | | | | | | | | | | | | | | This removes cancellation calls from the shim Ethernet. The different threads now check if the IPCP is still operational or not.
| * | ipcpd: shim-eth-llc: Deprecate PACKET_RX|TX_RINGSander Vrijders2017-04-041-203/+11
| | | | | | | | | | | | | | | | | | This deprecates these special socket options of the raw socket since they are less efficient for regular packet I/O. They should be more performant for batch processing of SDUs.
| * | ipcpd: shim-eth-llc: Add thread for mgmt framesSander Vrijders2017-04-041-29/+101
|/ / | | | | | | | | | | This adds a thread to handle management frames, since otherwise a deadlock can occur by blocking SDUs until flow allocation can be handled.
* | Merged in dstaesse/ouroboros/be-stable (pull request #458)dimitri staessens2017-04-041-1/+1
|\| | | | | | | ipcpd: Fix lock order in local sdu_loop
| * ipcpd: Fix lock order in local sdu_loopdimitri staessens2017-04-041-1/+1
|/
* Merged in dstaesse/ouroboros/be-stable (pull request #457)dimitri staessens2017-04-046-105/+186
|\ | | | | | | lib, irmd, ipcpd: Stabilize flow allocation
| * lib, irmd, ipcpd: Stabilize flow allocationdimitri staessens2017-04-046-105/+186
| |
* | Merged in dstaesse/ouroboros/be-ipcp-req-arr (pull request #456)dimitri staessens2017-04-033-48/+43
|\| | | | | | | ipcpd: Fix some bad locking
| * ipcpd: Fix some bad lockingdimitri staessens2017-04-033-48/+43
|/
* Merged in dstaesse/ouroboros/be-oping (pull request #455)dimitri staessens2017-04-031-2/+2
|\ | | | | | | tools: Fix oping client output
| * tools: Fix oping client outputdimitri staessens2017-04-031-2/+2
| |
* | Merged in dstaesse/ouroboros/be-irmd (pull request #454)dimitri staessens2017-04-021-2/+5
|\| | | | | | | irmd: Fix dealloc of pending flow
| * irmd: Fix dealloc of pending flowdimitri staessens2017-04-021-2/+5
| |
* | Merged in dstaesse/ouroboros/be-ipcpd-thr (pull request #453)dimitri staessens2017-04-023-27/+258
|\| | | | | | | Be ipcpd thr
| * ipcpd: Add dynamic threadpooling for IPCPsdimitri staessens2017-04-023-27/+258
| |
* | Merged in dstaesse/ouroboros/be-irmd (pull request #452)dimitri staessens2017-04-021-1/+1
|\| | | | | | | irmd: Fix thread creation order
| * irmd: Fix thread creation orderdimitri staessens2017-04-021-1/+1
|/
* Merged in dstaesse/ouroboros/be-rbuff-ll (pull request #451)dimitri staessens2017-04-014-15/+39
|\ | | | | | | lib: Fix some issues in lockless rbuff
| * ipcpd: Revert timeout in fmgrdimitri staessens2017-04-011-6/+1
| | | | | | | | | | | | | | Since there are no SDUs on most QoS cubes, the fmgr was always timing out on most QoS cubes, causing considerable delays in most SDUs. The timeout was reset to a very small value (so the bug in glibc 2.25 will cause lockups again).
| * lib: Fix some issues in lockless rbuffdimitri staessens2017-04-013-9/+38
| |
* | Merged in dstaesse/ouroboros/be-rbuff-ll (pull request #450)dimitri staessens2017-04-014-404/+790
|\| | | | | | | lib: Lockless implementation of the rbuff
| * lib: Lockless implementation of the rbuffdimitri staessens2017-04-014-404/+790
| |
* | Merged in sandervrijders/ouroboros/be-oping-fix (pull request #449)Sander Vrijders2017-04-011-1/+1
|\ \ | | | | | | | | | tools: oping: Fix bad calculation
| * | tools: oping: Fix bad calculationSander Vrijders2017-04-011-1/+1
|/ / | | | | | | This fixes a potential overflow when calculating the packet loss.
* | Merged in dstaesse/ouroboros/be-irmd-threadpool (pull request #448)dimitri staessens2017-04-015-66/+273
|\| | | | | | | Be irmd threadpool
| * irmd: Add dynamic threadpooldimitri staessens2017-04-012-34/+204
| | | | | | | | | | | | | | | | | | | | | | This makes the IRMd add/remove worker threads dynamically. IRMD_TPM_TIMEOUT sets a timer in the threadpool manager for checking idle threads. Each time this timer expires, it will reduce the threadpool by one. IRMD_MIN_AV_THREADS is the minimum number of available worker threads. If the number of active threads goes under this threshold, the threadpool manager will create threads to get the number of threads to IRMD_MAX_AV_THREADS, unless IRMD_MAX_THREADS is reached.
| * lib: Add a check if a bitmap ID is in usedimitri staessens2017-04-013-32/+69
| |
| * lib: Fix data race in rdrbuffdimitri staessens2017-04-011-7/+5
| | | | | | | | The blocks should be accessed inside the lock (or later with CAS).