#
7a89a343 |
| 10-Sep-2001 |
thorpej <thorpej@NetBSD.org> |
Enable Congestion Window Monitoring by default.
|
#
783db900 |
| 10-Sep-2001 |
thorpej <thorpej@NetBSD.org> |
Use a callout for the delayed ACK timer, and delete tcp_fasttimo(). Expose the delayed ACK timer as net.inet.tcp.delack_ticks.
|
#
35df06a6 |
| 31-Jul-2001 |
thorpej <thorpej@NetBSD.org> |
Carve off the code that builds a TCP data packet into its own function, and inline it, except when profiling... so we can profile it.
|
#
938720ee |
| 31-Jul-2001 |
thorpej <thorpej@NetBSD.org> |
Count the number of times we "self-quench" (ip_output() returns ENOBUFS), and don't inline tcp_segsize() if profiling.
|
#
52654926 |
| 26-Jul-2001 |
thorpej <thorpej@NetBSD.org> |
Slight cosmetic change.
|
#
03aaf3d8 |
| 08-Jul-2001 |
abs <abs@NetBSD.org> |
Rename TCPDEBUG to TCP_DEBUG, defopt TCP_DEBUG and TCP_NDEBUG, and make all usage of tcp_trace dependent on TCP_DEBUG - resulting in a 31K saving on an INET enabled i386 kernel.
|
#
ad9d3794 |
| 02-Jun-2001 |
thorpej <thorpej@NetBSD.org> |
Implement support for IP/TCP/UDP checksum offloading provided by network interfaces. This works by pre-computing the pseudo-header checksum and caching it, delaying the actual checksum to ip_output(
Implement support for IP/TCP/UDP checksum offloading provided by network interfaces. This works by pre-computing the pseudo-header checksum and caching it, delaying the actual checksum to ip_output() if the hardware cannot perform the sum for us. In-bound checksums can either be fully-checked by hardware, or summed up for final verification by software. This method was modeled after how this is done in FreeBSD, although the code is significantly different in most places.
We don't delay checksums for IPv6/TCP, but we do take advantage of the cached pseudo-header checksum.
Note: hardware-assisted checksumming defaults to "off". It is enabled with ifconfig(8). See the manual page for details.
Implement hardware-assisted checksumming on the DP83820 Gigabit Ethernet, 3c90xB/3c90xC 10/100 Ethernet, and Alteon Tigon/Tigon2 Gigabit Ethernet.
show more ...
|
#
6e45c58f |
| 03-Apr-2001 |
itojun <itojun@NetBSD.org> |
check ip_mtudisc only for TCP over IPv4. PMTUD is mandatory for TCP over IPv6 (if packets > 1280).
|
#
7a3c8f81 |
| 20-Mar-2001 |
thorpej <thorpej@NetBSD.org> |
Two changes, designed to make us even more resilient against TCP ISS attacks (which we already fend off quite well).
1. First-cut implementation of RFC1948, Steve Bellovin's cryptographic hash me
Two changes, designed to make us even more resilient against TCP ISS attacks (which we already fend off quite well).
1. First-cut implementation of RFC1948, Steve Bellovin's cryptographic hash method of generating TCP ISS values. Note, this code is experimental and disabled by default (experimental enough that I don't export the variable via sysctl yet, either). There are a couple of issues I'd like to discuss with Steve, so this code should only be used by people who really know what they're doing.
2. Per a recent thread on Bugtraq, it's possible to determine a system's uptime by snooping the RFC1323 TCP timestamp options sent by a host; in 4.4BSD, timestamps are created by incrementing the tcp_now variable at 2 Hz; there's even a company out there that uses this to determine web server uptime. According to Newsham's paper "The Problem With Random Increments", while NetBSD's TCP ISS generation method is much better than the "random increment" method used by FreeBSD and OpenBSD, it is still theoretically possible to mount an attack against NetBSD's method if the attacker knows how many times the tcp_iss_seq variable has been incremented. By not leaking uptime information, we can make that much harder to determine. So, we avoid the leak by giving each TCP connection a timebase of 0.
show more ...
|
#
617b3fab |
| 24-Jan-2001 |
itojun <itojun@NetBSD.org> |
- record IPsec packet history into m_aux structure. - let ipfilter look at wire-format packet only (not the decapsulated ones), so that VPN setting can work with NAT/ipfilter settings. sync with ka
- record IPsec packet history into m_aux structure. - let ipfilter look at wire-format packet only (not the decapsulated ones), so that VPN setting can work with NAT/ipfilter settings. sync with kame.
TODO: use header history for stricter inbound validation
show more ...
|
#
ef8a34f5 |
| 06-Nov-2000 |
itojun <itojun@NetBSD.org> |
fix IPv4 TTL selection with AF_INET6 API. sync with kame. From: jdc
|
#
9183e2dc |
| 19-Oct-2000 |
itojun <itojun@NetBSD.org> |
remove #ifdef TCP6. it is not likely for us to bring in sys/netinet6/tcp6*.c (separate TCP/IPv6 stack) into netbsd-current.
|
#
a7e15e49 |
| 17-Oct-2000 |
itojun <itojun@NetBSD.org> |
be more friendly with INET-less build. XXX we need to do more to do a working INET-less build
|
#
d839a91f |
| 17-Oct-2000 |
thorpej <thorpej@NetBSD.org> |
Add an IP_MTUDISC flag to the flags that can be passed to ip_output(). This flag, if set, causes ip_output() to set DF in the IP header if the MTU in the route is not locked.
This allows a bunch of
Add an IP_MTUDISC flag to the flags that can be passed to ip_output(). This flag, if set, causes ip_output() to set DF in the IP header if the MTU in the route is not locked.
This allows a bunch of redundant code, which I was never really all that happy about adding in the first place, to be eliminated.
Inspired by a similar change made by provos@openbsd.org when he integrated NetBSD's Path MTU Discovery code into OpenBSD.
show more ...
|
#
7abf4641 |
| 28-Jul-2000 |
itojun <itojun@NetBSD.org> |
forgot to call tcp6_quench(). sync with kame.
|
#
23f6a4f4 |
| 30-Jun-2000 |
itojun <itojun@NetBSD.org> |
remove old mbuf assumption (ip header and tcp header are on the same mbuf). this is for m_pulldown use. (sync with kame)
|
#
8529438f |
| 30-Mar-2000 |
augustss <augustss@NetBSD.org> |
Remove register declarations.
|
#
04ac848d |
| 01-Mar-2000 |
itojun <itojun@NetBSD.org> |
introduce m->m_pkthdr.aux to hold random data which needs to be passed between protocol handlers.
ipsec socket pointers, ipsec decryption/auth information, tunnel decapsulation information are in my
introduce m->m_pkthdr.aux to hold random data which needs to be passed between protocol handlers.
ipsec socket pointers, ipsec decryption/auth information, tunnel decapsulation information are in my mind - there can be several other usage. at this moment, we use this for ipsec socket pointer passing. this will avoid reuse of m->m_pkthdr.rcvif in ipsec code.
due to the change, MHLEN will be decreased by sizeof(void *) - for example, for i386, MHLEN was 100 bytes, but is now 96 bytes. we may want to increase MSIZE from 128 to 256 for some of our architectures.
take caution if you use it for keeping some data item for long period of time - use extra caution on M_PREPEND() or m_adj(), as they may result in loss of m->m_pkthdr.aux pointer (and mbuf leak).
this will bump kernel version.
(as discussed in tech-net, tested in kame tree)
show more ...
|
#
4f53db24 |
| 09-Feb-2000 |
itojun <itojun@NetBSD.org> |
optimize mbuf allocation for ip/tcp/tcpopt part.
|
#
ea861f01 |
| 13-Dec-1999 |
itojun <itojun@NetBSD.org> |
sync IPv6 part with latest KAME tree. IPsec part is left unmodified due to massive changes in KAME side. - IPv6 output goes through nd6_output - faith can capture IPv4 packets as well - you can run
sync IPv6 part with latest KAME tree. IPsec part is left unmodified due to massive changes in KAME side. - IPv6 output goes through nd6_output - faith can capture IPv4 packets as well - you can run IPv4-to-IPv6 translator using heavily modified DNS servers - per-interface statistics (required for IPv6 MIB) - interface autoconfig is revisited - udp input handling has a big change for mapped address support. - introduce in4_cksum() for non-overwriting checksumming - introduce m_pulldown() - neighbor discovery cleanups/improvements - netinet/in.h strictly conforms to RFC2553 (no extra defs visible to userland) - IFA_STATS is fixed a bit (not tested) - and more more more.
TODO: - cleanup os-independency #ifdef - avoid rcvif dual use (for IPsec) to help ifdetach
(sorry for jumbo commit, I can't separate this any more...)
show more ...
|
#
9474edfc |
| 23-Sep-1999 |
itojun <itojun@NetBSD.org> |
cleanup and correct TCP MSS consideration with IPsec headers.
MSS advertisement must always be: max(if mtu) - ip hdr siz - tcp hdr siz We violated this in the previous code so it was fixed.
tcp_ms
cleanup and correct TCP MSS consideration with IPsec headers.
MSS advertisement must always be: max(if mtu) - ip hdr siz - tcp hdr siz We violated this in the previous code so it was fixed.
tcp_mss_to_advertise() now takes af (af on wire) as its argument, to compute right ip hdr siz.
tcp_segsize() will take care of IPsec header size. One thing I'm not really sure is how to handle IPsec header size in *rxsegsizep (inbound segment size estimation). The current code subtracts possible *outbound* IPsec size from *rxsegsizep, hoping that the peer is using the same IPsec policy as me. It may not be applicable, could TCP gulu please comment...
show more ...
|
#
f9a7668b |
| 09-Jul-1999 |
thorpej <thorpej@NetBSD.org> |
defopt IPSEC and IPSEC_ESP (both into opt_ipsec.h).
|
#
e3fa5cc7 |
| 02-Jul-1999 |
fvdl <fvdl@NetBSD.org> |
Fix for -Wunitialized warnings broke compiles without INET6, refix.
|
#
4b961b81 |
| 02-Jul-1999 |
itojun <itojun@NetBSD.org> |
avoid "variable not initialized" warnings on some of the platforms.
|
#
118d2b1d |
| 01-Jul-1999 |
itojun <itojun@NetBSD.org> |
IPv6 kernel code, based on KAME/NetBSD 1.4, SNAP kit 19990628. (Sorry for a big commit, I can't separate this into several pieces...) Pls check sys/netinet6/TODO and sys/netinet6/IMPLEMENTATION for d
IPv6 kernel code, based on KAME/NetBSD 1.4, SNAP kit 19990628. (Sorry for a big commit, I can't separate this into several pieces...) Pls check sys/netinet6/TODO and sys/netinet6/IMPLEMENTATION for details.
- sys/kern: do not assume single mbuf, accept chained mbuf on passing data from userland to kernel (or other way round). - "midway" ATM card: ATM PVC pseudo device support, like those done in ALTQ package (ftp://ftp.csl.sony.co.jp/pub/kjc/). - sys/netinet/tcp*: IPv4/v6 dual stack tcp support. - sys/netinet/{ip6,icmp6}.h, sys/net/pfkeyv2.h: IETF document assumes those file to be there so we patch it up. - sys/netinet: IPsec additions are here and there. - sys/netinet6/*: most of IPv6 code sits here. - sys/netkey: IPsec key management code - dev/pci/pcidevs: regen
In my understanding no code here is subject to export control so it should be safe.
show more ...
|