Official MINIX sources - Automatically replicated from gerrit.minix3.org
Go to file
David van Moolenbroek ef8d499e2d Add lwip: a new lwIP-based TCP/IP service
This commit adds a new TCP/IP service to MINIX 3.  As its core, the
service uses the lwIP TCP/IP stack for maintenance reasons.  The
service aims to be compatible with NetBSD userland, including its
low-level network management utilities.  It also aims to support
modern features such as IPv6.  In summary, the new LWIP service has
support for the following main features:

- TCP, UDP, RAW sockets with mostly standard BSD API semantics;
- IPv6 support: host mode (complete) and router mode (partial);
- most of the standard BSD API socket options (SO_);
- all of the standard BSD API message flags (MSG_);
- the most used protocol-specific socket and control options;
- a default loopback interface and the ability to create one more;
- configuration-free ethernet interfaces and driver tracking;
- queuing and multiple concurrent requests to each ethernet driver;
- standard ioctl(2)-based BSD interface management;
- radix tree backed, destination-based routing;
- routing sockets for standard BSD route reporting and management;
- multicast traffic and multicast group membership tracking;
- Berkeley Packet Filter (BPF) devices;
- standard and custom sysctl(7) nodes for many internals;
- a slab allocation based, hybrid static/dynamic memory pool model.

Many of its modules come with fairly elaborate comments that cover
many aspects of what is going on.  The service is primarily a socket
driver built on top of the libsockdriver library, but for BPF devices
it is at the same time also a character driver.

Change-Id: Ib0c02736234b21143915e5fcc0fda8fe408f046f
2017-04-30 13:16:03 +00:00
bin Import NetBSD ps(1) 2016-01-13 20:32:52 +01:00
common w(1): switch to libkvm 2016-01-13 20:32:50 +01:00
crypto etc: synchronize master.password, group to NetBSD 2017-02-18 21:37:24 +00:00
dist/pf/sbin/pfctl Import a subset of PF distribution files 2016-06-18 12:20:46 +00:00
distrib Add lwip: a new lwIP-based TCP/IP service 2017-04-30 13:16:03 +00:00
docs Initial import of NetBSD rc system 2017-02-23 14:08:39 +00:00
etc Import NetBSD httpd(8) 2017-03-21 22:00:31 +00:00
external Import NetBSD tcpdump(8) 2017-03-21 22:00:21 +00:00
games Fix ARM noassert builds -g/-O{s/0/1/2/3} 2016-01-24 18:56:38 +01:00
gnu Fix the process for GNU tools on MINIX 2016-11-30 08:42:36 +01:00
include Enable a few more NetBSD functions 2017-03-09 23:40:09 +00:00
lib Import NetBSD libpcap 2017-03-21 22:00:18 +00:00
libexec ftpd(8): drop some MINIX-specific changes 2017-03-21 22:00:34 +00:00
minix Add lwip: a new lwIP-based TCP/IP service 2017-04-30 13:16:03 +00:00
releasetools Retire inet: the previous MINIX TCP/IP service 2017-03-09 23:39:58 +00:00
sbin Import NetBSD ping6(8) 2017-03-09 23:40:15 +00:00
share Import NetBSD resolvconf(8) 2017-03-09 23:40:18 +00:00
sys Import NetBSD libpcap 2017-03-21 22:00:18 +00:00
tests tests: add most kyua kernel tests 2016-01-16 14:04:25 +01:00
tools Improve the process for GNU tools 2016-09-01 21:16:13 +02:00
usr.bin Import NetBSD telnet(1) 2017-03-09 23:40:16 +00:00
usr.sbin syslogd(8): drop some MINIX-specific changes 2017-03-21 22:00:37 +00:00
.gitignore Initial import of NetBSD rc system 2017-02-23 14:08:39 +00:00
.gitreview build:update 'git review' config to match gerrit.minix3.org 2014-07-28 17:05:15 +02:00
build.sh NetBSD re-synchronization of the source tree 2016-01-13 20:32:14 +01:00
LICENSE Fix parameter parsing in cut 2010-01-21 10:16:05 +00:00
Makefile NetBSD re-synchronization of the source tree 2016-01-13 20:32:14 +01:00
Makefile.inc Synchronize on NetBSD-CVS (2013/12/1 12:00:00 UTC) 2014-07-28 17:05:06 +02:00