summaryrefslogtreecommitdiff
path: root/src/ipcpd/normal/shm_pci.c
Commit message (Collapse)AuthorAgeFilesLines
* ipcpd: Move RIB configuration to common headerdimitri staessens2017-02-171-3/+2
| | | | | Moves the definitions of paths in the RIB for the normal IPCP to a header ribconfig.h to avoid repetition.
* ipcpd: Revise PCI manipulation in normaldimitri staessens2017-02-071-97/+78
| | | | | | | | | | | The pci function will store offsets to avoid having to recalculate them every time. TTL handling is removed from the fmgr, the TTL is automatically decreased when deserializing the PCI (or set to 1 if there is no TTL present so the PDU will be forwarded). The deserialisation function now takes a pointer to a struct pci as input to avoid memory allocation and release each time a PDU is processed. Some checks have been replaced with assert() and return values replaced with void where it makes sense.
* ipcpd, lib: Revise normal IPCPdimitri staessens2017-02-061-97/+101
| | | | | | | | | | This PR updates the normal IPCP to use the new RIB. The old ribmgr is removed and replaced by a stub that needs to be implemented. All components (dir, fmgr, frct) were adapted to the new RIB API. A lot of functionality was moved outside of the ribmgr, such as the addr_auth, which is now a component of the IPCP. The address is also stored to the ipcpi struct. The irm tool has an option to set the gam policy of the rib manager.
* lib: Move CRC32 implementation to librarydimitri staessens2017-01-141-1/+1
| | | | The CRC32 implementation will be used to ID objects in the RIB.
* build: Update licenses and copyrightdimitri staessens2017-01-091-1/+1
| | | | | Copyright is set to 2016 - 2017. License text on includes and sources in the library are changed to indicate the LGPLv2.1 license.
* ouroboros: Correct license statementsdimitri staessens2016-12-241-3/+2
| | | | | This corrects the license statements on all files. Installed headers are LGPLv2.1, the rest of the code is GPLv2.
* ipcpd: normal: Fix bugs in connection establishmentSander Vrijders2016-10-271-3/+8
| | | | This fixes some bugs in connection establishment over the normal IPCP.
* build: Compile with strict conversiondimitri staessens2016-10-221-8/+8
| | | | | This has the code checked with -Wcast-qual and -Wconversion flags. These flags were removed because SWIG generated code fails.
* ipcpd: normal: First version of the fast path bootstrapSander Vrijders2016-10-111-16/+67
| | | | | | | This is the first version of the fast path bootstrap in the normal IPCP. It sets up a connection with the other end, and creates the appropriate data structures. N+1 and N-1 SDUs are read and written and passed through the right components.
* ipcpd: normal: Add operations to get and set the PCISander Vrijders2016-09-071-89/+145
| | | | | | | | | 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.
* ouroboros: Use ouroboros errno.hdimitri staessens2016-07-071-1/+2
| | | | | All includes of <errno.h> within ouroboros are replaced with the ouroboros errno.
* ipcpd: initial IPC processesdimitri staessens2016-04-181-0/+146
Basic functions for implementation of IPC processes, and implementation of core functions of the shim IPCP over UDP. Updates to the build system to compile these IPC processes, as well as some fixes in the irmd (rudimentary capturing exit signals) and some fixes in the library, mainly relating to the messaging. Basic implementation of creation / bootstrapping / deletion of the shim UDP. Placeholders for other functions.