Open
Conversation
…scheduler and condition variable implementation The original commits are: Added FreeBSD TCP code and very basic integration into GNRC (doesn't compile yet) Add dummy method stubs and made modifications so that the code compiles; still doesn't link Fix some linker problems Fixed module definitions so that the code compiles Implement receipt of packets from lower layer Modify FreeBSD code to send packets using pktsnips Use consistent errno.h file Some more progress Implemented TinyOS-style scheduler (compiles, but not tested yet) Stub the remaining functions Debug task scheduler Start working on socket allocator Implement remaining functions for socket allocator Define external API in header file for TCP Delete unnecessary file and add some (coarse) synchronization to the TCP module Check the checksum for received segments Reorganize the code a bit, and fix bugs Fix bugs in TCP segment reception Fix bugs interfering with SYN-ACK retransmission Start implementing conn API for TCP Implement condition variable More work on conn API More work on conn interface Add memmgr-based zone allocator for TCP conn API Use union-based conn tcp structure Implemented all of conn except for send Preliminary implementation of send capability in conn API Fix memory leak Tie conn API logic into posix_sockets Fix bugs, and accept on ACK instead of SYN-ACK Got send/recv somewhat working Fix some bugs Update to new APIs after rebasing Fix race condition in initialization of TCP packet loop Prevent radio from going to sleep after send Fix some resource bugs in TCP Conn API implementation Fix bug in RIOT that prevents socket 0 from working properly Fix more bugs Implemented sock bindings for TCP in posix_sockets.c Also fixed some other miscellaneous errors that came up along the way. Compiles and linkes, but is not yet tested. Fix bugs found during testing Modify duty-cycling code to allow for Router - Router TCP connections Also fix many bugs in TCP and elsewhere Implement link-layer retransmission and software CSMA logic Commit remaining code and make CSMA/retries configurable in periph_conf.h Fix issue in software CSMA implementation Add support for REthos for border router Allow broadcast packets to be sent (without queueing) Fix bug in handling of broadcast Fix memory leaks in duty-cycled router Use autoconf bootstrapping Make autoconf_onehop more flexible Fix concurrency bugs in link retry/software CSMA implementation Fix some bugs in FreeBSD TCP These bugs were discovered when testing interoperability with Linux Fix major memory management problem in design of sock layer for tcp_freebsd Fix concurrency issue in sock_tcp_freebsd zone allocator Change starting MSS for TCP Fix bug in gnrc_netdev2_duty_router.c Allow for implicit bind in FreeBSD TCP Fix minor bug in FreeBSD TCP sock layer Increase queue_size Fix bug in link-layer so framebuffer is not overwritten while receiving Fix race condition in _xtimer_set_absolute Adjust MSS constants for Hamilton experiments Bugfixes and optimizations found during experiments Some progress on duty-cycling Appears to be quite stable Commit additional modifications needed for duty-cycling Further improvements to duty-cycling (and good TCP throughput!) Make duty_router work again
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I rebased TCP, along with the duty-cycling updates I made when working on the paper. Make sure to merge in the duty-cycling protocol first (and prefer my code if there are any conflicts, since my code is most recent).