Revision tags: isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521
|
#
1.36 |
|
18-May-2018 |
maxv |
IP6_EXTHDR_GET -> M_REGION_GET, no functional change.
|
#
1.35 |
|
03-May-2018 |
maxv |
Remove now unused tcpip.h includes. Some were already unused before.
|
Revision tags: pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330
|
#
1.34 |
|
29-Mar-2018 |
maxv |
Remove #ifdef INET. Same as tcp_input.c. Makes the code easier to understand.
Also make tcp6_mtudisc() static in tcp_subr.c.
|
Revision tags: netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107
|
#
1.33 |
|
13-Dec-2016 |
ozaki-r |
branches: 1.33.14; Remove unnecessary inclusions of nd6.h
|
Revision tags: nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
1.32 |
|
24-Aug-2015 |
pooka |
branches: 1.32.2; sprinkle _KERNEL_OPT
|
Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
#
1.31 |
|
31-Mar-2015 |
ozaki-r |
Remove unnecessary opt_ipsec.h inclusions
|
Revision tags: nick-nhusb-base
|
#
1.30 |
|
10-Nov-2014 |
maxv |
branches: 1.30.2; Do not uselessly include <sys/malloc.h>.
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.29 |
|
12-Nov-2013 |
kefren |
branches: 1.29.4; * implement TCP CUBIC congestion control algorithm * move tcp_sack_newack bits inside reno and newreno_fast_retransmit_newack * notify ECN peer about cwnd shrink in [new]reno_slow_retransmit
Based on the patch proposed on tech-net@ on Nov 7 with minor improvments: * adapt wmax for no-fast convergence case * correct cbrt calculation for big window sizes (>750KB)
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.28 |
|
30-Jan-2012 |
matt |
branches: 1.28.6; 1.28.10; Use proper ANSI prototypes for foo() -> foo(void) Caught when compiling with -Wold-style-definition
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.27 |
|
17-Jul-2011 |
joerg |
branches: 1.27.2; 1.27.6; Retire varargs.h support. Move machine/stdarg.h logic into MI sys/stdarg.h and expect compiler to provide proper builtins, defaulting to the GCC interface. lint still has a special fallback. Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and derive va_list as required by standards.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
1.26 |
|
14-Apr-2011 |
yamt |
- comments - whitespace
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 jym-xensuspend-nbase
|
#
1.25 |
|
27-May-2009 |
pooka |
branches: 1.25.4; 1.25.6; POOL_INIT -> pool_init
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base mjf-devfs2-base
|
#
1.24 |
|
28-Apr-2008 |
martin |
branches: 1.24.14; Remove clause 3 and 4 from TNF licenses
|
Revision tags: nick-csl-alignment-base5 yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 matt-armv6-prevmlocking vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-armv6-base matt-mips64-base jmcneill-pm-base hpcarm-cleanup-base nick-csl-alignment-base yamt-idlelwp-base8 thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base
|
#
1.23 |
|
12-Mar-2007 |
ad |
branches: 1.23.34; 1.23.36; 1.23.38; Pass an ipl argument to pool_init/POOL_INIT to be used when initializing the pool's lock.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 yamt-splraiseipl-base2 newlock2-base netbsd-4-base
|
#
1.22 |
|
21-Oct-2006 |
yamt |
branches: 1.22.4; 1.22.8; add sack_dump(), a function to dump sack holes, if defined(DDB).
|
#
1.21 |
|
21-Oct-2006 |
yamt |
- constify. - make tcp_dooptions and tcpipqent_pool static.
|
#
1.20 |
|
20-Oct-2006 |
reinoud |
Fix alignment problems causing regular panics in tpc_sack_option on NetBSD/alpha and NetBSD/sparc. This fixes PR#34751.
The problem most likely started to show in gcc4 and is caused by the use of a casting to an uint32_t pointer that is later copied from using memcpy. Gcc detects the copying of 4 bytes from an uint32_t pointer and decides to just replace it with an aligned copy causing the trap.
Fix provided by Izumi Tsutsui and ok'd by Martin.
|
#
1.19 |
|
07-Oct-2006 |
yamt |
- make sackhole_pool static. - unify duplicated hole allocation and accounting code. (no functional changes.)
|
#
1.18 |
|
07-Oct-2006 |
yamt |
revert tcp_sack.c rev.1.15 because it's unnecessary. all callers of these functions are at splsoftnet already: tcp_sack_option tcp_input ok
tcp_del_sackholes tcp_input ok
tcp_free_sackholes tcp_close ok tcp_timer_rexmt ok tcp_timer_2msl ok
|
#
1.17 |
|
07-Oct-2006 |
yamt |
tcp_sack_output: whitespace.
|
#
1.16 |
|
07-Oct-2006 |
yamt |
tcp_del_sackholes: whitespace.
|
#
1.15 |
|
05-Oct-2006 |
tls |
Protect calls to pool_put/pool_get that may occur in interrupt context with spl used to protect other allocations and frees, or datastructure element insertion and removal, in adjacent code.
It is almost unquestionably the case that some of the spl()/splx() calls added here are superfluous, but it really seems wrong to see:
s=splfoo(); /* frob data structure */ splx(s); pool_put(x);
and if we think we need to protect the first operation, then it is hard to see why we should not think we need to protect the next. "Better safe than sorry".
It is also almost unquestionably the case that I missed some pool gets/puts from interrupt context with my strategy for finding these calls; use of PR_NOWAIT is a strong hint that a pool may be used from interrupt context but many callers in the kernel pass a "can wait/can't wait" flag down such that my searches might not have found them. One notable area that needs to be looked at is pf.
See also:
http://mail-index.netbsd.org/tech-kern/2006/07/19/0003.html http://mail-index.netbsd.org/tech-kern/2006/07/19/0009.html
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.14 |
|
11-Dec-2005 |
christos |
branches: 1.14.4; 1.14.20; 1.14.22; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.13 |
|
08-May-2005 |
yamt |
branches: 1.13.2; tcp_sack_option: ignore sack beyond snd_max.
|
Revision tags: kent-audio2-base
|
#
1.12 |
|
05-Apr-2005 |
kurahone |
branches: 1.12.2; Added sysctl tunable limits for the number of maximum SACK holes per connection and per system.
Idea taken from FreeBSD.
|
Revision tags: yamt-km-base4 yamt-km-base3
|
#
1.11 |
|
18-Mar-2005 |
kurahone |
branches: 1.11.2; TCP/SACK changes from FreeBSD.
Ignore the SACK option if * The packet is not an ACK. * The ACK is outside of snd_una -> snd_max
|
Revision tags: netbsd-3-base
|
#
1.10 |
|
16-Mar-2005 |
yamt |
branches: 1.10.2; simplify data receiver side sack processing. - introduce t_segqlen, the number of segments in segq/timeq. the name is from freebsd. - rather than maintaining a copy of sack blocks (rcv_sack_block[]), build it directly from the segment list when needed.
|
#
1.9 |
|
16-Mar-2005 |
yamt |
- use full sized segments unless we actually have SACKs to send. - avoid TSO duplicate D-SACK. - send SACKs regardless of TF_ACKNOW. - don't clear rcv_sack_num when transmitting.
discussed on tech-net@.
|
#
1.8 |
|
08-Mar-2005 |
yamt |
tcp_sack_option: handle the case that the right-most sack'ed block is expanded. a fix from Noritoshi Demizu (FreeBSD PR/78226) via Kentaro A. Kurahone.
|
#
1.7 |
|
07-Mar-2005 |
yamt |
tcp_sack_option: fix the cases that some sack blocks go into a hole.
|
#
1.6 |
|
07-Mar-2005 |
yamt |
tcp_sack_option: fix a typo(?), which can cause to ignore valid blocks.
|
#
1.5 |
|
07-Mar-2005 |
yamt |
tcp_sack_option: the max number of sack blocks in a packet is 4, not 3.
|
#
1.4 |
|
06-Mar-2005 |
yamt |
- unwrap short lines. - remove unneeded parenthesis. - whitespace.
|
#
1.3 |
|
06-Mar-2005 |
yamt |
don't assume alignment of sack options.
|
#
1.2 |
|
06-Mar-2005 |
yamt |
wrap long lines.
|
#
1.1 |
|
28-Feb-2005 |
jonathan |
branches: 1.1.2; Commit TCP SACK patches from Kentaro A. Karahone's patch at: http://www.sigusr1.org/~kurahone/tcp-sack-netbsd-02152005.diff.gz
Fixes in that patch for pre-existing TCP pcb initializations were already committed to NetBSD-current, so are not included in this commit.
The SACK patch has been observed to correctly negotiate and respond, to SACKs in wide-area traffic.
There are two indepenently-observed, as-yet-unresolved anomalies: First, seeing unexplained delays between in fast retransmission (potentially explainable by an 0.2sec RTT between adjacent ethernet/wifi NICs); and second, peculiar and unepxlained TCP retransmits observed over an ath0 card.
After discussion with several interested developers, I'm committing this now, as-is, for more eyes to use and look over. Current hypothesis is that the anomalies above may in fact be due to link/level (hardware, driver, HAL, firmware) abberations in the test setup, affecting both Kentaro's wired-Ethernet NIC and in my two (different) WiFi NICs.
|
#
1.33 |
|
13-Dec-2016 |
ozaki-r |
Remove unnecessary inclusions of nd6.h
|
Revision tags: nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
#
1.32 |
|
24-Aug-2015 |
pooka |
sprinkle _KERNEL_OPT
|
Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
#
1.31 |
|
31-Mar-2015 |
ozaki-r |
Remove unnecessary opt_ipsec.h inclusions
|
Revision tags: nick-nhusb-base
|
#
1.30 |
|
10-Nov-2014 |
maxv |
branches: 1.30.2; Do not uselessly include <sys/malloc.h>.
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
#
1.29 |
|
12-Nov-2013 |
kefren |
branches: 1.29.4; * implement TCP CUBIC congestion control algorithm * move tcp_sack_newack bits inside reno and newreno_fast_retransmit_newack * notify ECN peer about cwnd shrink in [new]reno_slow_retransmit
Based on the patch proposed on tech-net@ on Nov 7 with minor improvments: * adapt wmax for no-fast convergence case * correct cbrt calculation for big window sizes (>750KB)
|
Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-base2 netbsd-6-base
|
#
1.28 |
|
30-Jan-2012 |
matt |
branches: 1.28.6; 1.28.10; Use proper ANSI prototypes for foo() -> foo(void) Caught when compiling with -Wold-style-definition
|
Revision tags: jmcneill-usbmp-pre-base2 jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
|
#
1.27 |
|
17-Jul-2011 |
joerg |
branches: 1.27.2; 1.27.6; Retire varargs.h support. Move machine/stdarg.h logic into MI sys/stdarg.h and expect compiler to provide proper builtins, defaulting to the GCC interface. lint still has a special fallback. Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and derive va_list as required by standards.
|
Revision tags: rmind-uvmplock-nbase cherry-xenmp-base rmind-uvmplock-base
|
#
1.26 |
|
14-Apr-2011 |
yamt |
- comments - whitespace
|
Revision tags: bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211 yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 jym-xensuspend-nbase
|
#
1.25 |
|
27-May-2009 |
pooka |
branches: 1.25.4; 1.25.6; POOL_INIT -> pool_init
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 nick-hppapmap-base2 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 haad-dm-base2 haad-nbase2 ad-audiomp2-base netbsd-5-base nick-hppapmap-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 haad-dm-base wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base mjf-devfs2-base
|
#
1.24 |
|
28-Apr-2008 |
martin |
branches: 1.24.14; Remove clause 3 and 4 from TNF licenses
|
Revision tags: nick-csl-alignment-base5 yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 matt-armv6-prevmlocking vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-armv6-base matt-mips64-base jmcneill-pm-base hpcarm-cleanup-base nick-csl-alignment-base yamt-idlelwp-base8 thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base
|
#
1.23 |
|
12-Mar-2007 |
ad |
branches: 1.23.34; 1.23.36; 1.23.38; Pass an ipl argument to pool_init/POOL_INIT to be used when initializing the pool's lock.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base ad-audiomp-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 yamt-splraiseipl-base2 newlock2-base netbsd-4-base
|
#
1.22 |
|
21-Oct-2006 |
yamt |
branches: 1.22.4; 1.22.8; add sack_dump(), a function to dump sack holes, if defined(DDB).
|
#
1.21 |
|
21-Oct-2006 |
yamt |
- constify. - make tcp_dooptions and tcpipqent_pool static.
|
#
1.20 |
|
20-Oct-2006 |
reinoud |
Fix alignment problems causing regular panics in tpc_sack_option on NetBSD/alpha and NetBSD/sparc. This fixes PR#34751.
The problem most likely started to show in gcc4 and is caused by the use of a casting to an uint32_t pointer that is later copied from using memcpy. Gcc detects the copying of 4 bytes from an uint32_t pointer and decides to just replace it with an aligned copy causing the trap.
Fix provided by Izumi Tsutsui and ok'd by Martin.
|
#
1.19 |
|
07-Oct-2006 |
yamt |
- make sackhole_pool static. - unify duplicated hole allocation and accounting code. (no functional changes.)
|
#
1.18 |
|
07-Oct-2006 |
yamt |
revert tcp_sack.c rev.1.15 because it's unnecessary. all callers of these functions are at splsoftnet already: tcp_sack_option tcp_input ok
tcp_del_sackholes tcp_input ok
tcp_free_sackholes tcp_close ok tcp_timer_rexmt ok tcp_timer_2msl ok
|
#
1.17 |
|
07-Oct-2006 |
yamt |
tcp_sack_output: whitespace.
|
#
1.16 |
|
07-Oct-2006 |
yamt |
tcp_del_sackholes: whitespace.
|
#
1.15 |
|
05-Oct-2006 |
tls |
Protect calls to pool_put/pool_get that may occur in interrupt context with spl used to protect other allocations and frees, or datastructure element insertion and removal, in adjacent code.
It is almost unquestionably the case that some of the spl()/splx() calls added here are superfluous, but it really seems wrong to see:
s=splfoo(); /* frob data structure */ splx(s); pool_put(x);
and if we think we need to protect the first operation, then it is hard to see why we should not think we need to protect the next. "Better safe than sorry".
It is also almost unquestionably the case that I missed some pool gets/puts from interrupt context with my strategy for finding these calls; use of PR_NOWAIT is a strong hint that a pool may be used from interrupt context but many callers in the kernel pass a "can wait/can't wait" flag down such that my searches might not have found them. One notable area that needs to be looked at is pf.
See also:
http://mail-index.netbsd.org/tech-kern/2006/07/19/0003.html http://mail-index.netbsd.org/tech-kern/2006/07/19/0009.html
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base simonb-timcounters-final yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 elad-kernelauth-base yamt-pdpolicy-base yamt-uio_vmspace-base5 simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.14 |
|
11-Dec-2005 |
christos |
branches: 1.14.4; 1.14.20; 1.14.22; merge ktrace-lwp.
|
Revision tags: yamt-readahead-base3 yamt-readahead-base2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base yamt-vop-base3 yamt-vop-base2 thorpej-vnode-attr-base yamt-vop-base ktrace-lwp-base
|
#
1.13 |
|
08-May-2005 |
yamt |
branches: 1.13.2; tcp_sack_option: ignore sack beyond snd_max.
|
Revision tags: kent-audio2-base
|
#
1.12 |
|
05-Apr-2005 |
kurahone |
branches: 1.12.2; Added sysctl tunable limits for the number of maximum SACK holes per connection and per system.
Idea taken from FreeBSD.
|
Revision tags: yamt-km-base4 yamt-km-base3
|
#
1.11 |
|
18-Mar-2005 |
kurahone |
branches: 1.11.2; TCP/SACK changes from FreeBSD.
Ignore the SACK option if * The packet is not an ACK. * The ACK is outside of snd_una -> snd_max
|
Revision tags: netbsd-3-base
|
#
1.10 |
|
16-Mar-2005 |
yamt |
branches: 1.10.2; simplify data receiver side sack processing. - introduce t_segqlen, the number of segments in segq/timeq. the name is from freebsd. - rather than maintaining a copy of sack blocks (rcv_sack_block[]), build it directly from the segment list when needed.
|
#
1.9 |
|
16-Mar-2005 |
yamt |
- use full sized segments unless we actually have SACKs to send. - avoid TSO duplicate D-SACK. - send SACKs regardless of TF_ACKNOW. - don't clear rcv_sack_num when transmitting.
discussed on tech-net@.
|
#
1.8 |
|
08-Mar-2005 |
yamt |
tcp_sack_option: handle the case that the right-most sack'ed block is expanded. a fix from Noritoshi Demizu (FreeBSD PR/78226) via Kentaro A. Kurahone.
|
#
1.7 |
|
07-Mar-2005 |
yamt |
tcp_sack_option: fix the cases that some sack blocks go into a hole.
|
#
1.6 |
|
07-Mar-2005 |
yamt |
tcp_sack_option: fix a typo(?), which can cause to ignore valid blocks.
|
#
1.5 |
|
07-Mar-2005 |
yamt |
tcp_sack_option: the max number of sack blocks in a packet is 4, not 3.
|
#
1.4 |
|
06-Mar-2005 |
yamt |
- unwrap short lines. - remove unneeded parenthesis. - whitespace.
|
#
1.3 |
|
06-Mar-2005 |
yamt |
don't assume alignment of sack options.
|
#
1.2 |
|
06-Mar-2005 |
yamt |
wrap long lines.
|
#
1.1 |
|
28-Feb-2005 |
jonathan |
branches: 1.1.2; Commit TCP SACK patches from Kentaro A. Karahone's patch at: http://www.sigusr1.org/~kurahone/tcp-sack-netbsd-02152005.diff.gz
Fixes in that patch for pre-existing TCP pcb initializations were already committed to NetBSD-current, so are not included in this commit.
The SACK patch has been observed to correctly negotiate and respond, to SACKs in wide-area traffic.
There are two indepenently-observed, as-yet-unresolved anomalies: First, seeing unexplained delays between in fast retransmission (potentially explainable by an 0.2sec RTT between adjacent ethernet/wifi NICs); and second, peculiar and unepxlained TCP retransmits observed over an ath0 card.
After discussion with several interested developers, I'm committing this now, as-is, for more eyes to use and look over. Current hypothesis is that the anomalies above may in fact be due to link/level (hardware, driver, HAL, firmware) abberations in the test setup, affecting both Kentaro's wired-Ethernet NIC and in my two (different) WiFi NICs.
|