Date: Fri, 1 May 1998 10:12:21 +0200 From: Philippe Regnauld <regnauld@deepo.prosa.dk> To: freebsd-current@FreeBSD.ORG Subject: Fwd: NetBSD network code improvements Message-ID: <19980501101221.61309@deepo.prosa.dk>
next in thread | raw e-mail | index | archive | help
FYI -- how much of this do we have, BTW ? I'm particularly ogling towards the IP fast-forwarding stuff. -----8<-----8<-----8<-----8<-----8<-----8<-----8<-----8<-----8<-----8<----- From: Jason Thorpe <thorpej@NetBSD.ORG> Subject: Recent NetBSD network code improvements To: netbsd-announce@NetBSD.ORG Date: Thu, 30 Apr 1998 19:50:11 -0700 Hi folks... This is just a quick note to announce some cool new features to NetBSD's networking code, recently introduced in NetBSD-current. * The TCP initial congestion window (IW) has been made a tunable variable. This will facilitate migration to the new TCP initial window when finalized by the Internet Engineering Task Force. The IW may be tuned by the sysctl variable net.inet.tcp.init_win. A value of 0 indicates that the Floyd ~4K IW formula will be used to compute the IW. Otherwise, the variable indicates the number of maximum-sized packets. Contact: Jason R. Thorpe <thorpej@netbsd.org> * The Hughes/Touch/Heidemann Congestion Window Monitoring algorithm has been added to TCP. This eliminates line-rate bursts that can congest network links and routers. It works by counting the number of outstanding (unacknowedged) packets on the wire, and allowing that many packets plus a burst value additional packets when more data is to be transmitted on a TCP connection. As long as a connection keeps transmitting, congestion window space is available. As soon as a connection stops transmitting, the available congestion window quickly decays back to the burst value. This policy has often been described as "use it or lose it". It can be especially helpful on World Wide Web servers which implement HTTP/1.1, which has lingering connections, which have a high tendency to go idle. CWM may be enabled in your kernel by setting the sysctl variable net.inet.tcp.cwm to 1. The burst value may be tuned by setting the sysctl variable net.inet.tcp.cwm_burstsize. The default burst size is 4 packets, as documented in the CWM Internet Draft. Contact: Jason R. Thorpe <thorpej@netbsd.org> * Path MTU Discovery has been improved. The most significant improvement over NetBSD 1.3 is that routes added by the Path MTU Discovery engine now properly time out. In support of this, a general route timer framework as been added to the NetBSD kernel. Path MTU Discovery may be enabled by the sysctl variable net.inet.ip.mtudisc. The timeout period, expressed in seconds, may be modified by the sysctl variable net.inet.ip.mtudisctimeout. Contact: Kevin M. Lahey <kml@netbsd.org> * The RFC1323 PAWS/Timestamps/Window Scale implementation in NetBSD's TCP has been brought up to full spec with the lastest RFC1323.bis. In addition, a finer-grained control over RFC1323 extensions is now supported. RFC1323 may be enabled by the sysctl variable net.inet.tcp.rfc1323. If that variable is enabled, timestamps and window scaling are enabled via the net.inet.tcp.timestamps and net.inet.tcp.win_scale sysctl variables, respectively. Contact: Kevin M. Lahey <kml@netbsd.org> Jason R. Thorpe <thorpej@netbsd.org> * Hooks for zero-copy and other optimizations have been added to the socket layer. In combination with the new virtual memory system, UVM, these hooks could potentially provide greatly improved performance for many network applications. Watch for more work in this exciting area! Contact: Matt Thomas <matt@netbsd.org> * The TCP segment reassembly code has been completely rewritten. The new code supports segment concatenation, which will improve performance for out-of-order packets, and also forms the building blocks of RFC2018 Selective Acknowledgement support. Contact: Matt Thomas <matt@netbsd.org> * IP flow recognition and fast IP forwarding support has been added. This enables PC-class hardware to forward packets at full line rate with very little CPU utilization. Initial testing showed forwarding rates of over 140,000 packets per second with no appreciable increase in system load! Support for fast-forwarding over Ethernet and FDDI exists now, and support for fast-forwarding over ATM and Hippi is planned for the near future. There's more work yet to do, but this is very exciting stuff! Contact: Matt Thomas <matt@netbsd.org> * Support for spoofing link-level addresses has been added to the Berkeley Packet Filter. This is useful in many applications where protocols require specific MAC source addresses. This code was contributed by Greg Smith of the Numerical Aerospace Simulation Facility, NASA Ames Research Center. Contact: Jason R. Thorpe <thorpej@netbsd.org> * inetd(8) has been modified to allow specification of listen socket buffer sizes in /etc/inetd.conf. This is useful for TCP servers that wish to advertise large windows requiring window scale factors (window scale must be advertised during the connection handshake, which is why the socket buffer size must be set on the listen socket). This can improve TCP performance greatly in some situations. Contact: Jason R. Thorpe <thorpej@netbsd.org> And remember, technical discussions about NetBSD's networking code take place on the tech-net@netbsd.org mailing list. To subscribe, send mail to majordomo@netbsd.org with the message body: subscribe tech-net Until next time... -- The NetBSD Network Code Hackers --SUOF0GtieIMvvwua-- -- -[ Philippe Regnauld / sysadmin / regnauld@deepo.prosa.dk / +55.4N +11.3E ]- «Pluto placed his bad dog at the entrance of Hades to keep the dead IN and the living OUT! The archetypical corporate firewall?» - S. Kelly Bootle To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19980501101221.61309>