| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Upon deallocation, the remote's SAP was being used to lookup the fd
instead of our own SAP. This resulted in strange behaviour.
|
|
|
|
|
|
| |
Some locks were taken at an inappropriate time, causing the
shim-eth-llc to block indefinitely upon shutdown and causing flow
allocation to halt since a response could never be given.
|
|\
| |
| |
| | |
lib: np1_flow.h: Remove bad includes
|
| | |
|
|\|
| |
| |
| | |
lib, ipcp: Revise fast path and flow interfaces
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
IPCPs can now use ap_init() to initialize the memory. All flows are
accessed using flow descriptors, this greatly simplifies IPCP
development. Reverts the fast path to a single ap_rbuff per process.
Splits lib/ipcp into irmd/ipcp and lib/ipcp-dev. Adds a lib/shim-dev
holding tailored functions for shims. Moves the buffer_t to utils.h.
Fixes the shim-eth-llc length field. Removes the flow from shared.h.
Fixes #4
Fixes #5
|
|\|
| |
| |
| | |
lib: Fix shm for evil devices
|
|/
|
|
|
|
| |
Cupertino's finest don't seem to support a write call with a
filedescriptor that points to a shared memory file. ENOTSUP is not
mentioned in their manpage either. Classic.
|
|\
| |
| |
| | |
ipcpd: normal: Fix crapped up indentation
|
|/
|
|
| |
There was some crapped up indentation in the crc32 source file.
|
|\
| |
| |
| | |
ipcpd: normal: Add operations to get and set the PCI
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds the operations needed in the normal IPCP to get and set the
Protocol Control Information. It allows to allocate or release space
in the current DU. The struct pci can be serialized into newly
allocate space. Vice versa, a struct pci can be deserialized given a
DU. It allows for decreasing the TTL in the DU and for calculating the
CRC32. The TTL and CRC32 can now be selected when creating a new DIF.
|
|\ \
| | |
| | |
| | | |
lib: Set umask for file creation permissions
|
|/ /
| |
| |
| |
| | |
Permissions are now set correctly upon creation, removing the need to
call fchmod.
|
|\ \
| | |
| | |
| | | |
ipcpd: Add missing include for FreeBSD
|
| | | |
|
|\| |
| | |
| | |
| | | |
lib: Add lazy copy of flow_set
|
|/ /
| |
| |
| |
| |
| | |
The flow_set now has a safe copy which is threadsafe for the select
call without needing a lock. This greatly speeds up consecutive
select calls.
|
|\ \
| | |
| | |
| | | |
irmd: Fix register with unenrolled IPCPs in system
|
| | |
| | |
| | |
| | |
| | | |
If there are unregistered IPCPs (no DIF name set) the lookup should
skip over them without segfaulting.
|
|\| |
| | |
| | |
| | | |
wrap: Add swig wrapper for select.h
|
| | | |
|
|\| |
| | |
| | |
| | | |
lib: dev: Provide a set of fds to flow_select
|
|/ /
| |
| |
| |
| |
| |
| | |
The flow_select call now takes as a parameter a flow_set_t, which
specifies a set of flow descriptors that will unblock the select call
when an SDU for one of them arrives. The select call has been moved to
its own header.
|
|\ \
| | |
| | |
| | | |
lib: dev: Add fd lookup table
|
| | | |
|
|\| |
| | |
| | |
| | | |
lib: dev: Refactor
|
|/ /
| |
| |
| |
| | |
Renamed _ap_instance to ai, adds a char * daf_name (to be set by ipcps
in ipcp-dev.h, later to be set when we generalise enrolment to DAFs).
|
|\ \
| | |
| | |
| | | |
src: Fix grammar (SDU's -> SDUs)
|
| | | |
|
|\| |
| |/
|/|
| | |
lib: Add northbound ringbuffers
|
| |
| |
| |
| | |
Fast path is split in north and southbound paths.
|
|\ \
| |/
|/|
| | |
lib: ipcp: Decouple flow_dealloc
|
| |
| |
| |
| | |
Sending a dealloc to the irmd moved to its own call.
|
|\ \
| | |
| | |
| | | |
build: Add correct include directory for swig
|
| |/
| |
| |
| |
| |
| | |
The correct include directory was not added to the CMakeLists in the
wrap directory. Before it was working since the headers were already
installed system-wide on my own system.
|
|\ \
| |/
|/|
| | |
lib: Change rdrbuff API to use correct types
|
|/
|
|
|
|
| |
The head and tail alloc and release operations were taking an int to
identify the idx instead of a ssize_t. The size was a ssize_t instead
of a size_t.
|
|\
| |
| |
| | |
irmd: Fix registering AP-I before bind
|
| | |
|
|\|
| |
| |
| | |
lib, rdrbuff: Fix fast path lockup
|
|/
|
|
| |
Adds missing condition signals.
|
|\
| |
| |
| | |
irmd: Fix binding after registering
|
| | |
|
| |
| |
| |
| |
| | |
Flow will now allocate correctly when the name is registered in a DIF
before it is bound to an AP.
|
|\|
| |
| |
| | |
tools, irm: Fix segfault with missing parameters
|
| | |
|
| |\
| |/
|/| |
|
|\ \
| | |
| | |
| | | |
lib, ipcp: Compile on Apple junk
|
| | |
| | |
| | |
| | |
| | |
| | | |
Disables robust mutexes and clock attributes for condition variables
for compatibility with OSX (SUSv2). Implements clock_gettime and adds
some defines for OSX compatibility in time_utils.
|