|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| |\  
| | 
| | 
| | | ipcpd: shim-udp: Add check for directory entry | 
| | | 
| | 
| | 
| | 
| | 
| | | A check was missing in the shim UDP if the destination was already
present in the directory, in which case no further queries were
needed. | 
| |\ \  
| |/  
|/|   
| | | tools: irm: Bind IPCP name to IPCP-I | 
| | | 
| | 
| | 
| | | This fixes 2 wrong unlocks in the bind API method. | 
| |/  
|   
|   
|   
|   
| | This will invoke the bind operation when using the irm tool to create
a new IPCP. The new IPCP will be bound to the IPCP name as specified
by the administrator. | 
| |\  
| | 
| | 
| | | ipcpd: Add threadpool for main loop | 
| | | 
| | 
| | 
| | 
| | 
| | 
| | | This adds a threadpool for the main loop of the IPCPs. Before there
was a single thread handling each request, which could result in
starvation since performing name queries at the same time as enrolling
a normal IPCP was impossible. | 
| |\ \  
| |/  
|/|   
| | | lib: API for accepting flows with QoS | 
| | | |  | 
| |\ \  
| | | 
| | | 
| | | | lib, irmd, ipcpd: Add name querying to IPCPs | 
| | | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | 
| | | | This adds the ability to query IPCPs if a name can be reached through
them, e.g. if a name is available in a DIF. This means that in the
shim-udp a DNS query is performed, in the shim-eth-llc an ARP-like
query has been added, in the local a check is done to see if the name
is registered, and in the normal currently no application is reachable
through it. | 
| |\ \ \  
| | | | 
| | | | 
| | | | | irmd: Add log messages for flow allocation | 
| | | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | | In the rewrite of the flow allocator for per-port ring buffers, the
messages were removed because they were not accurate anymore. This
adds messages when a port is allocated. | 
| |\| | | 
| | | | 
| | | | 
| | | | | ipcpd: Fix memory leaks | 
| | | | | 
| | | | 
| | | | 
| | | | 
| | | | | Fixes memory leaks associated with the dif_name (which doesn't need to
be maintained in shim DIFs) and the fqueue for the N + 1 flows. | 
| | |\ \ \  
| |/ / /  
|/| | /   
| | |/    
| |/| |  | 
| |\ \ \  
| | | | 
| | | | 
| | | | | ipcpd: Fix memleaks in local IPCP | 
| | |/| | 
| |/ /  
|/| | |  | 
| |\ \ \  
| |_|/  
|/| |   
| | | | tools: Fix memory leaks in oping | 
| |\ \ \  
| | | | 
| | | | 
| | | | | lib: Stabilise flow allocation | 
| |\ \ \ \  
| | | | | 
| | | | | 
| | | | | | More fixes | 
| | | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | | Remote requests for a flow that's locally deallocated should not
generate an error. Sending messages should not be under lock. | 
| | | | | | 
| | | | | 
| | | | | 
| | | | | | This solves some potential data races in the shims. | 
| | | | |/ |  | 
| | | |/ |  | 
| | |/  
|/|   
| |   
| |   
| |   
| |   
| | | Deallocation was reverted to a synchronoous operation between the AP,
IRMd and IPCP in order to avoid inconsistent states of the port_id.
Fixes some memory leaks, particularly the shm_flow_set is now closed
upon deallocation. | 
| |\| 
| | 
| | 
| | | dev, ipcp: Fix setting default flow options | 
| | | 
| | 
| | 
| | 
| | | The default flow options were not set when a flow allocation request
arrives remotely. This went unnoticed due to a previous bug. | 
| |\ \  
| |/  
|/|   
| | | build: Explicitly add compiler flags | 
| | | 
| | 
| | 
| | | All flags from the -Wextra group but -Wclobbered are added. | 
| |\| 
| | 
| | 
| | | Be fix build | 
| | | 
| | 
| | 
| | 
| | | gethostbyname is included in POSIX 2001. Ouroboros requires at least
POSIX 2001 and recommends POSIX 2008 for stable builds. | 
| | | 
| | 
| | 
| | 
| | 
| | 
| | | pthread_cleanup handlers make gcc and clang fail the -Wclobbered check
in release builds. Swig generates switch statements without a default,
making the -Wswitch-default check fail. The -Wstrict-overflow=5 flag
was removed. | 
| |\| 
| | 
| | 
| | | ipcpd: Fix unused variable | 
| | | |  | 
| | | |  | 
| |\| 
| | 
| | 
| | | Some fixes | 
| | | 
| | 
| | 
| | | The rdrbuff was previously closed before the remaining SDUs were removed. | 
| | | 
| | 
| | 
| | 
| | | An untested (and wrong) modification to the fqueue was mistakenly
added to a previous commit. This corrects the bad code. | 
| | | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | | The BSD compiler requires explicit initializers for all fields with
the -Wmissing-field-initializers flag enabled
On branch be-fix-build # Changes to be committed: # modified:
src/irmd/main.c # modified: src/tools/irm/irm.c # modified:
src/tools/irm/irm_bind.c # modified: src/tools/irm/irm_ipcp.c #
modified: src/tools/irm/irm_unbind.c # # Untracked files: #
killouroboros.sh # start.sh # | 
| | | 
| | 
| | 
| | | FLOW_O_RDONLY is 0, so the previous statement would always be false. | 
| |\| 
| | 
| | 
| | | build: Fix missing include | 
| |/  
|   
|   
|   
|   
| | CheckLibraryExists was not included. Apparently the
CHECK_FUNCTION_EXISTS call fails with the strict prototyping flag
turned on. | 
| |\  
| | 
| | 
| | | build: Comply with -Wextra compiler flag | 
| | | 
| | 
| | 
| | 
| | | This has the code checked with -Wcast-qual and -Wconversion flags.
These flags were removed because SWIG generated code fails. | 
| |/  
|   
|   
|   
| | This reduces the risk for some bugs, for instance due to
signed/unsigned mismatches and unused variables. | 
| |\  
| | 
| | 
| | | lib: Demultiplex the fast path | 
| | | 
| | 
| | 
| | 
| | | This stabilises flow allocation now that the rbuffs are created upon
flow allocation. Only the IRMd can sync this process sufficiently. | 
| | | 
| | 
| | 
| | 
| | 
| | 
| | 
| | | The fast path will now use an incoming ring buffer per flow per
process. This necessitated the development of a new method for the
asynchronous io call, which is now based on an event queue system for
scalability (fqueue). The ipcpd's and tools have been updated to this
API. | 
| |\ \  
| | | 
| | | 
| | | | ipcpd: normal: Avoid allocating flow over unenrolled IPCP. |