TCP / IP Stack Update
Donations:
$790
Raised 0% of $ goal.
Platform:
AROS
Status:
Open
Developer:
None
Deadline:
January 1, 2007
Donate Go Back

Description

The following requirements must be met.

  • Design the binary so that the socket library is always available (so can exist in libs: or in rom). Miami support, etc will still be exposed by the socket library.
  • Compatible with bsdsocket.library (IPv6 Can use an extended API.)
  • Move the network control/config parsing code into a separate utility.
  • Replace all fixed IPv4 storage types in the socket api to use opaque types, so that client code can mostly be "address type" agnostic.
  • Rework the network layer/protocol code to be modular and instantiated by the network control utility. "modules" should use an amiga like API (e.g. libs) so that they can be rommable - and attach to bsdsocket in their init code 1. e.g -:
    1. transport layer modules : tcp, udp
    2. protocol modules : ip, 2 ipv6, icmp, arp 3
  • Provide a buffer management API for drivers (perhaps extending SANA) to handle high throughput devices. "new" drivers should use more efficient packet processing as part of the extended spec.
  • Must be able to use existing drivers API at least for IPv4 mode
  • It must be possible to share the library base of bsdsocket.library between different tasks. This should be controllable via SocketBaseTagList().
  • Multicast support
  • Must be based on AROS-compatible license (BSD, MIT, etc)


Optional:

  • provide a device for tunnelling IPv6 over IPv4
  • Zero Config support
  • Look at better intergrating the ppp/wlan support so that separate manager apps aren't necessary.


1 - As part of this, the code for the necessary modules should be updated based on current (net?)bsd sources.

2 - IPv6 may perhaps be just included in the "IP" module.

3 - It would be preferable to have them as libraries, so that they can expose functionality for further "modules" to utilise, etc. In rom the init code could bind them to the main socket library, or from disk the network control utility/per service scripts (or other "service" framework) could load them based on config settings and likewise cause the library to init (so that it binds). This would allow including just the necessary modules in rom to e.g. ftpboot.

Contributions
$111
Cloanto
$101
Evert Carton
$100
Kolbjørn Barmen
$80
Pascal P
$80
Timothy D
$50
Stephen J
$43
Gerd K
$25
Andreas H
$25
Serdar Boran
$20
Stefan Leitner
$15
Adam Mokan
$15
Bjoern Paschen
$15
Dimitris Panokostas
$15
Jorge Manuel Leal Ruivo
$15
Shane Hare
$10
Aksel Johan Høymyr Andersen
$10
Lukas Loesche
$10
Patrick Meyronneinc
$10
Paul Ogren
$10
Rock_Lobster
$10
Shawn Jenkins
$10
Stefan Von Straten
$10
Stefano Lodo
Do you think your donation might be missing? Please contact us at support@power2people.org

Genesi Network: Genesi - Main Site Power2People PowerDeveloper
Copyright © 2006 - 2018 Power2People