by davejh
Liquorice is a multithreaded SASOS for use in embedded systems (8 bit and up). Includes a small but working IP/ARP/ICMP/UDP/TCP stack with SLIP, PPP and Ethernet support.
Allow TCP services to reject connections as well as accepting them.Fixed a couple of problems in the SMC91C96 Ethernet driver.
Started to implement PPP (point-to-point protocol) support. Initially this is limited to purely asynchronous channels, ...
Modified the i386 bootstrapping code to switch away from as86/ld86 and instead use ".code16" support under GNU as/ld. This reduces the number of tools required to build the code.Moved the membuf support into the common library area. Found and fixed ...
Went through all of the dynamically bound upcalls and ensured that they protect the called object by refing and derefing.Modified the "stack blown" checks to allow a variable guard-band to be specified instead of being fixed at 0x20.
Implemented ...
Fixed a small memory leak in the ICMP client support code.Simplified little bits of the code - common fragments moved to inlined functions, etc.
Fixed a problem with ARP responses - I suspect I broke this when I modularized the code.
Went ...
Reworked the handling of netbufs to make the different protocol layers use membufs instead of heap allocations.Modified the retransmission handling in the TCP to clone the netbuf that will be resent rather than relying on internal reference ...
Added a new concept, membufs, to the code. These provide a reference-counted block memory allocation/garbage-collection mechanism. Converted netbufs and tcp_sockets to use membufs instead of their own reference-counting code. Reworked all of the code ...
Improved the support for timers (also trying to make the code a little less AVR-specific).Implemented the Karn/Partridge and Van Jacobson round-trip-time calculations for TCP (required by RFC1122).
Reworked thread and lock priorities to try and ...
Removed common socket close code sequences from the TCP receive state machine and put them into callable functions. Saved quite a lot of code space with this.Correctly handle requests from remote hosts with half-open (half-closed?) connections ...
Separated out STK300 eval board support from the configuration that I normally (DJH) use. Now easy to build either variant.Fixed a problem with "default" routes in the IP code.
Reworked the handling of netbuf transmission throughout all of the ...
Completely reworked the handling of UDP and TCP sockets.Much better support for TCP. Active and passive connections are now supported (client and server), and there is something of an API emerging. Also handles the packet receive state machine ...
Copyright © 2009 SourceForge, Inc. All rights reserved. Terms of Use