Changes between Version 4 and Version 5 of Projects/TCP/IP_update

Mar 20, 2012, 1:02:36 AM (8 years ago)



  • Projects/TCP/IP_update

    v4 v5  
     8'''Status:''' Active -- Contact [wiki:TBR/User/JoelSherrill JoelSherrill]
    9 '''Status:''' Dropped  -- Contact Andrew Spoerner
     10This effort consists of taking the FreeBSD 8.2 source and porting the TCP/IP portion to RTEMS. This version is being used as a baseline since [ embedded brains gmbh] used this to port the USB stack to RTEMS. We are building on that to add the TCP/IP functionality.
    11 The FreeBSD 7.1 source for the TCP/IP stack will be the basis for the update.   Existing RTEMS APIs will be kept and additional ones added to support newer TCP/IP functionality.
     12The overriding goals are:
    13 Again see [wiki:Projects/RosettaOSDeviceDriverAPI  Rosetta OS Device Driver API].  The DragonflyBSD stack is probably a better starting point because it is the most modern and will be the first to run in user space which is a stepping stone for the [wiki:Projects/RosettaOSDeviceDriverAPI  Rosetta OS Device Driver API] goals.
     14 *  update the TCP/IP stack
     15 *  provide maintainable port
     16 *  easy to update to new FreeBSD version in future
     17 *  minimal changes to FreeBSD code
     18 *  provide feedback to FreeBSD community so changes grow smaller on future updates
    15 Andrew Spoerner: I had to drop that project in favor of some of my customer's project. I don't know when I will be able to resume.  I had thought about going a totally different direction by having a "modular" stack at the end and it didn't fit with what they wanted.
     20[wiki:TBR/User/JoelSherrill JoelSherrill] is leading an effort to port the stack but the goal is only to have it working on a couple of BSPs with a few NICs. Current tasks available for SOC activities include (in no particular order):
     22 *  address NICs not included in initial set but needed
     23 *  address NICs in RTEMS NOT supported by FreeBSD
     24 *  update NICs not replaced by new FreeBSD ones
     25  *  automate this as much as possible
     26  *  minimize impact on source as much as possible
     27 *  provide "bus glue" files for BSPs with existing NICs
     28 *  address internet checksum (e.g. in_cksum) code for architectures not found in FreeBSD
     29  *  some have optimized versions in RTEMS now not in FreeBSD (e.g. m68k)
     30  *  generic in_cksum implementation needs to work (currently appears to be missing a symbol)
     32Working the above list would be a highly desirable SOC project.
     34 *  add shared baseline linkcmds (e.g. linkcmds.base) to architectures and BSPs missing it now
     35The FreeBSD kernel APIs needing to be addressed include:
     37 *  [wiki:BusSpaceAPI_  Bus Space API]. Supercore namespace RTEMS-specific API in the spirit of the [ BSD bus_space API]. This project may be too large for a SOC.
     39The [wiki:Projects/RosettaOSDeviceDriverAPI  Rosetta OS Device Driver API] was an earlier non-RTEMS effort to provide a common driver baseline. It may be useful as a reference.