RISC OS Open
Safeguarding the past, present and future of RISC OS for everyone
ROOL
Home | News | Downloads | Bugs | Bounties | Forum | Documents | Photos | Contact us
Account

TCP/IP stack overhaul (Step 2 of 4)

Guide target £14,100

Our network stack dates back to 1997, and the Internet is a lot bigger and scarier than it was back then. Twenty years on and it’s time to bring it in-line with modern usage and security requirements. Step 1 shores up some security issues, and in this second part we want the bounty hunter to dig new foundations based on the latest FreeBSD stack, on top of which the final 2 bounties will build WiFi connectivity and a larger IPv6 address space.

This is the largest of the 4 steps because so much of the OS is intimately tied to the existing stack.

Details

  • Research
    • Determine the most appropriate point in FreeBSD to begin from
    • Assess how to arrange a dual mode IPv4 and IPv6 stack in terms of modules
    • Assess the most appropriate execution model within RISC OS
  • Supporting work
    • Enhancements to buffer management to reduce data copying
    • Porting of libraries to help interface to the stack from applications
  • Implementation
    • Proof of concept port of the core part of the FreeBSD stack
    • Basic packet send and receive, eg. ICMP “ping”, to a local host
  • Customisations
    • Re-add the sockets SWI interface code
    • Re-add the DCI interface to talk to the low level drivers
    • Re-add the event interface
  • Impact
    • Updates and testing of existing clients of the TCP/IP stack (we can supply a list of these) approximately
      • 5 libraries
      • 12 disc based applications or utilities
      • 25 modules
    • Changes to support configuration of the stack, for example through InetSetup
  • Debug and testing

Deliverables

  • Stack module source code in C using standard RISC OS tools/shared makefiles
    • Updated Internet module
    • Updated MbufManager module (an NDA is required for source access to this currently)
    • Updated TCP/IP libraries
    • Updated disc based Internet database resources
  • Boot sequence changes to allow the new stack to be softloaded on RISC OS 3.50 or later
  • Changes as needed to existing clients of the TCP/IP stack
    • Refactored components relying on (to be removed) Internet 4 compatibility
    • Any component included in the nightly build
  • Documentation
    • New TCP/IP library documentation for programmers as text files, wiki pages, or FrameMaker (we can supply the existing chapters to use as a basis)
    • Updated !Help files for any disc based components

Note that, once completed, the new network stack will continue to use wired media and be IPv4 based.

Donations 107
Total £11,640.00
State Underway ?
Help More information about the bounty scheme
Bounty scheme discussion forum

All bounties

Search whole site

Social

Follow us on and

ROOL Store

Buy RISC OS Open merchandise here, including SD cards for Raspberry Pi and more.

Donate! Why?

Help ROOL make things happen – please consider donating!

RISC OS IPR

RISC OS is an Open Source operating system owned by RISC OS Developments Ltd and licensed primarily under the Apache 2.0 license.

Actions

  • All bounties
Site design © RISC OS Open Limited 2018 except where indicated
The Canvass icons are adapted from material at defaulticon.com

Valid XHTML 1.0  |  Valid CSS

Powered by Canvass
This site runs on Rails

Hosted by Arachsys