| Commit message (Collapse) | Author | Age | Files | Lines | 
| | 
| 
| 
| 
|  | 
Port_id's weren't correctly released. Also removes remaining debug
logs from the library.
 | 
| | 
| 
| 
| 
|  | 
The fd_to_port_id function has no internal locking and must now be
called under lock.
 | 
| |\  
| | 
| | 
| |  | 
lib, ipcpd, irmd: Add QoS cube definition
 | 
| | | 
| | 
| | 
| | 
| | 
| |  | 
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.
 | 
| | |\   | 
 | 
| | | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | |  | 
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.
 | 
| |\ \ \  
| | | | 
| | | | 
| | | |  | 
lib: dev.c: added locking
 | 
| | | |/  
| |/|   
| | |   
| | |   
| | |    | 
Locking is required for multi-threaded applications. Flows are locked
separately. Read/Write locks are used for concurrent reads.
 | 
| |\ \ \  
| |/ /  
|/| |   
| | |    | 
Be udp
 | 
| | | |  | 
 | 
| | |\ \  
| |/ /  
|/| |    | 
 | 
| |\ \ \  
| |_|/  
|/| |   
| | |    | 
lib: implementation of read/write locks
 | 
| | |\ \  
| |/ /  
|/| |    | 
 | 
| |\ \ \  
| | | | 
| | | | 
| | | |  | 
lib: shm_ap_rbuff: removed bad memory allocation
 | 
| |/ / /  
| | |   
| | |   
| | |   
| | |    | 
moved a malloc so there is no malloc/free when there is no data to be
read from the shm_ap_rbuff.
 | 
| | |/  
| |   
| |   
| |   
| |   
| |   
| |    | 
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.
 | 
| | | 
| | 
| | 
| |  | 
Locking the main mutex should happen while the counter is locked.
 | 
| |/  
|   
|   
|   
|    | 
This adds read/write locks, allowing for concurrent reads on the locked
datastructure. This is needed for the fast path.
 | 
| |\  
| | 
| | 
| |  | 
lib: shm_ap_rbuff: small fixes
 | 
| |/  
|   
|   
|    | 
Unnecessary filename string removed. Formatting fix.
 | 
| |\  
| | 
| | 
| |  | 
irmd: fixed bad locking and added cleanup
 | 
| |/  
|   
|   
|    | 
flow_alloc_res had missing cleanup, added missing unlock.
 | 
| |\  
| | 
| | 
| |  | 
include: added flows.h to CMakelists
 | 
| | |  | 
 | 
| |\| 
| | 
| | 
| |  | 
lib: dev: implementation of flow_cntl
 | 
| | |  | 
 | 
| |/  
|   
|   
|   
|    | 
allows setting the oflags to make flow_read and flow_write blocking or
non-blocking (FLOW_O_NONBLOCK).
 | 
| |\  
| | 
| | 
| |  | 
irmd: cleanup
 | 
| |/  
|   
|   
|    | 
improved cleanup when killing the IRMd.
 | 
| |\  
| | 
| | 
| |  | 
ipcpd: threading and cleanup of ipcpd_udp
 | 
| |/  
|   
|   
|   
|    | 
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.
 | 
| |\  
| | 
| | 
| |  | 
ipcpd: Fix unitialized value
 | 
| |/  
|   
|   
|   
|    | 
A value that was unitialized was being treated as an error in the
release build with gcc.
 | 
| |\  
| | 
| | 
| |  | 
ipcpd: Allow disabling of DNS
 | 
| | | 
| | 
| | 
| | 
| |  | 
This adds nslookup support to the shim UDP, so that a custom DNS
server can be queried.
 | 
| |/  
|   
|   
|   
|   
|    | 
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.
 | 
| |\  
| | 
| | 
| |  | 
irmd: use pthread_cond_wait
 | 
| | | 
| | 
| | 
| | 
| |  | 
it's more robust to use dedicated locks for pthread_cond_signal so no
other threads can be waiting for the mutex.
 | 
| | | 
| | 
| | 
| | 
| |  | 
bmp_allocate should be called under lock. Helgrind does not give
warnings anymore during flow allocation.
 | 
| | |  | 
 | 
| | | 
| | 
| | 
| | 
| |  | 
This commit adds locking to the IRMd with a single global lock.
It also fixes some issues in cleaning up the daemon.
 | 
| | |\  
| |/  
|/|    | 
 | 
| |\ \  
| | | 
| | | 
| | |  | 
Fixes some log messages
 | 
| | | | 
| | | 
| | | 
| | | 
| | |  | 
This fixes bad indentation and log messages without a newline in the
echo application.
 | 
| | | | 
| | | 
| | | 
| | | 
| | |  | 
A wrong log message was being printed if the bootstrap command was
called with a wrong parameter.
 | 
| | |/  
|/|   
| |   
| |   
| |   
| |    | 
The initial implementation looped on a nanosleep to wait for an
incoming flow allocation request. This implementation is now corrected
with the necessary locks and the thread sleeps on a condition variable.
 | 
| |\ \  
| |/  
|/|   
| |    | 
lib/test: removed the test for the shm_du_map
 | 
| |/  
|   
|   
|   
|   
|   
|    | 
The test had a synchronisation issue. Due to rebuild of the shm_du_map
for random access, there was also a hack in the shm_du_map
specifically to run this test. Because of this hack, the decision was
made to drop this test.
 | 
| |\  
| | 
| | 
| |  | 
ipcpd-udp: fixed missing close
 | 
| | | 
| | 
| | 
| |  | 
caused the shim to run out of file descriptors fast...
 |