summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* irmd: Fix timeouts in reg_entrydimitri staessens2017-03-215-14/+29
| | | | | This fixes bad timedwaits for the state of the reg_entry. Also slightly revised timedwaits throughout the prototype.
* Merged in dstaesse/ouroboros/testing-irmd (pull request #390)dimitri staessens2017-02-241-1/+1
|\ | | | | | | irmd: Fix bug in name comparison of IPCPs
| * irmd: Fix bug in name comparison of IPCPsdimitri staessens2017-02-241-1/+1
|/
* Merged in dstaesse/ouroboros/testing-bootstrap (pull request #389)dimitri staessens2017-02-232-7/+34
|\ | | | | | | irmd: Check IPCP type before bootstrap
| * irmd: Check IPCP name when creating an IPCPdimitri staessens2017-02-231-3/+25
| |
| * irmd: Check IPCP type before bootstrapdimitri staessens2017-02-222-4/+9
|/ | | | | This prevents assertion failures in the IPCP in some cases. IPCPs can now safely assert the type.
* Merged in dstaesse/ouroboros/testing (pull request #388)dimitri staessens2017-02-221-3/+1
|\ | | | | | | tools: Continue oping server after failed write
| * tools: Continue oping server after failed writedimitri staessens2017-02-221-3/+1
| | | | | | | | | | | | When hammering the oping thread, it will have write fails when the buffer gets full as its flow is non-blocking. It would stop and deallocate the flow, but should just continue.
* | Merged in dstaesse/ouroboros/testing (pull request #387)dimitri staessens2017-02-221-9/+10
|\| | | | | | | tools: Fix overflow bug in oping
| * tools: Fix overflow bug in opingdimitri staessens2017-02-221-9/+10
|/ | | | | | Sometimes the receiver thread got the SDU before the writer thread has set the sent time when testing over the local. The sent time is now written before actually sending to avoid this.
* Merged in dstaesse/ouroboros/be-ribmgr (pull request #378)0.4dimitri staessens2017-02-1712-32/+59
|\ | | | | | | ipcpd: Move RIB configuration to common header
| * ipcpd: Move RIB configuration to common headerdimitri staessens2017-02-1712-32/+59
|/ | | | | Moves the definitions of paths in the RIB for the normal IPCP to a header ribconfig.h to avoid repetition.
* Merged in dstaesse/ouroboros/be-irmd (pull request #377)dimitri staessens2017-02-161-4/+4
|\ | | | | | | irmd: Fix bad lock
| * irmd: Fix bad lockdimitri staessens2017-02-161-4/+4
|/
* Merged in sandervrijders/ouroboros/be-endianness (pull request #376)Sander Vrijders2017-02-164-253/+92
|\ | | | | | | lib: Revise endian header and SHA3
| * lib: Revise endian header and SHA3Sander Vrijders2017-02-164-253/+92
|/ | | | | | | | This revises the endian header to let the build time checks of endianness be performed by the standard libraries. We just check for the OS that is being used and provide the endian functions from OpenBSD to everyone. It also updates the SHA3 sources to use this new header. The byte order header is removed.
* Merged in dstaesse/ouroboros/be-eth-lock (pull request #375)dimitri staessens2017-02-131-1/+49
|\ | | | | | | ipcpd: Add lock to tx_ring data
| * ipcpd: Add lock to tx_ring datadimitri staessens2017-02-131-1/+49
| | | | | | | | Also fixes another lock.
* | Merged in sandervrijders/ouroboros/be-install-scripts (pull request #373)Sander Vrijders2017-02-134-4/+4
|\ \ | | | | | | | | | build: Make install scripts OS agnostic
| * | build: Make install scripts OS agnosticSander Vrijders2017-02-134-4/+4
| | | | | | | | | | | | | | | This makes the install scripts OS agnostic, since env is used to call bash, which just uses looks for bash in the path.
* | | Merged in dstaesse/ouroboros/be-bsd (pull request #374)dimitri staessens2017-02-132-2/+4
|\ \ \ | |/ / |/| / | |/ ipcpd: Fix build on FreeBSD
| * ipcpd: Fix build on FreeBSDdimitri staessens2017-02-132-2/+4
|/ | | | | Use labs for absolute value of a long, and defines bswap_64 as the FreeBSD function bswap64.
* Merged in sandervrijders/ouroboros/be-ipcpd-threads (pull request #372)Sander Vrijders2017-02-133-3/+2
|\ | | | | | | ipcpd: Increase threadpool size
| * ipcpd: Increase threadpool sizeSander Vrijders2017-02-133-3/+2
|/ | | | | | This increases the threadpool size for the IPCP main loop. Starvation was happening due to a lot of back and forth interactions between the normal IPCPd and the IRMd.
* Merged in dstaesse/ouroboros/be-endian (pull request #371)dimitri staessens2017-02-1315-165/+401
|\ | | | | | | Check time synchronization upon enrollment
| * ipcpd: Fix timeout in ipcp_wait_statedimitri staessens2017-02-121-2/+2
| |
| * include: Use width in endian naming conventiondimitri staessens2017-02-122-20/+12
| | | | | | | | | | ntohll and ntohl have been renamed ntoh64 and ntoh32, htonll and htonl have been renamed hton64 and hton32.
| * irmd: Allow time for AP to call flow_accept()dimitri staessens2017-02-125-47/+154
| | | | | | | | | | | | | | | | When there is a burst of successive flow allocations for a certain name, each such request will block a thread in the IRMD for IRMD_REQ_ARR_TIMEOUT ms to allow the application some time to respond. This refactors some parts of the IRMd.
| * ipcpd: Prevent access to directory before initdimitri staessens2017-02-111-4/+14
| | | | | | | | | | | | | | Doing a directory query before the IPCP is has bootstrapped or is enrolled will result in an assertion failure as the directory is not yet ready. This fixes flow allocation over the LLC shim (which triggers a directory query from the IRMd) with a normal IPCP present.
| * ipcpd: Compare timestamp upon enrollmentdimitri staessens2017-02-112-7/+56
| | | | | | | | | | | | The enrollment procedure will ask for a timestamp of the IPCP it is enrolling with. It will (taking into account the RTT of the request) issue a warning if the offset is larger than RIB_WARN_TIME_OFFSET ms.
| * cdap: Take void * for send operationsdimitri staessens2017-02-102-14/+18
| | | | | | | | This facilitates sending arbitrary variables over CDAP.
| * ipcpd: Silent shutdown of normaldimitri staessens2017-02-103-3/+9
| | | | | | | | | | The acceptor will not log disconnects with IRMd. Unexpected disconnects will be reported and handled by management components.
| * include: Add header for endiannessdimitri staessens2017-02-103-88/+156
|/ | | | | | | | | This adds a header for dealing with endianness in ouroboros. It is extracted from the byte_order header in the library (which now includes this header). It also exposes the functions ntohl, ntohll, htonl and htonll, necessary for converting 32 and 64 bit values for storage and retrieval from the RIB (which should store multi-byte values in network byte order).
* Merged in sandervrijders/ouroboros/be-ipcpd-logs (pull request #370)Sander Vrijders2017-02-105-7/+1
|\ | | | | | | ipcpd: Remove logging if not initialized yet
| * ipcpd: Remove logging if not initialized yetSander Vrijders2017-02-105-7/+1
| | | | | | | | | | | | This removes the logs that would print to stdout if the IPCP fails to initialize. If the user had asked that logs would be printed to the syslog this would be unwanted behaviour.
* | Merged in dstaesse/ouroboros/be-cacep (pull request #369)dimitri staessens2017-02-102-0/+3
|\ \ | |/ |/| | | ipcpd: Fix leaking name in cacep_info
| * ipcpd: Fix leaking name in cacep_infodimitri staessens2017-02-102-0/+3
|/
* Merged in dstaesse/ouroboros/be-bsd (pull request #368)dimitri staessens2017-02-109-23/+39
|\ | | | | | | Be bsd
| * lib: Fix bad lock in ribdimitri staessens2017-02-101-1/+1
| |
| * lib, ipcp: Correctly init condvarsdimitri staessens2017-02-093-12/+23
| | | | | | | | | | The timerwheel and RIB use timedwaits. The condition variables are now correctly initialised to use the configuration defined clock.
| * ipcpd: Print size_t and uint64_t in portable waydimitri staessens2017-02-092-6/+7
| | | | | | | | | | | | On 32-bit systems size_t is different than on 64 bit systems. The correct way to print a size_t is with %z. uint64_t is printed portably with the PRIu64 macro.
| * lib: Fix bug in rib_testdimitri staessens2017-02-091-1/+1
| |
| * lib, tools, ipcpd: Fix compilation on FreeBSDdimitri staessens2017-02-093-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | FreeBSD defines its own bswap64 in the <sys/endian.h> header, which is now included correctly. POSIX requires XSI or RTS extensions to be enabled for the sa_sigaction field to be visible. Linux doesn't do the check correctly, but FreeBSD does. Removes the LOG_MISSING call which was deprecated with the last revision of the logging system.
* | Merged in dstaesse/ouroboros/be-create_r (pull request #367)Sander Vrijders2017-02-0916-127/+201
|\| | | | | | | ipcpd, lib: Report IPCP creation failure
| * ipcpd, lib: Report IPCP creation failuredimitri staessens2017-02-0916-127/+201
|/ | | | | | | | The IPCP will now respond with an ipcp_create_r message when it fails, informing the IRMd. Also adds some const qualifiers in the public headers and fixes some formatting in dev.c.
* Merged in dstaesse/ouroboros/be-fixes (pull request #366)Sander Vrijders2017-02-092-5/+14
|\ | | | | | | Be fixes
| * ipcpd: Add cleanup handler to gamdimitri staessens2017-02-081-1/+4
| |
| * ipcpd: Fix boot order of normaldimitri staessens2017-02-081-4/+10
| | | | | | | | | | | | irm_bind has to be called after ipcp_init() since it targets the AP-I and needs the pid to be registered with the IRMd. Also fixes missing unbinding of the AP-I.
* | Merged in sandervrijders/ouroboros/be-pedantic-sometimes (pull request #365)dimitri staessens2017-02-082-29/+26
|\| | | | | | | lib, ipcpd: Comply to pedantic C99
| * lib, ipcpd: Comply to pedantic C99Sander Vrijders2017-02-082-29/+26
|/ | | | | | With the changes in this commit Ouroboros will compile with the pedantic flag on when the standard is C99. The main problem was the used of unnamed structs and unions, which is C11.