head 1.31; access; symbols netbsd-10-0-RC6:1.31 netbsd-10-0-RC5:1.31 netbsd-10-0-RC4:1.31 netbsd-10-0-RC3:1.31 netbsd-10-0-RC2:1.31 thorpej-ifq:1.31.0.6 thorpej-ifq-base:1.31 thorpej-altq-separation:1.31.0.4 thorpej-altq-separation-base:1.31 netbsd-10-0-RC1:1.31 netbsd-10:1.31.0.2 netbsd-10-base:1.31 bouyer-sunxi-drm:1.30.0.28 bouyer-sunxi-drm-base:1.30 netbsd-9-3-RELEASE:1.30 thorpej-i2c-spi-conf2:1.30.0.26 thorpej-i2c-spi-conf2-base:1.30 thorpej-futex2:1.30.0.24 thorpej-futex2-base:1.30 thorpej-cfargs2:1.30.0.22 thorpej-cfargs2-base:1.30 cjep_sun2x-base1:1.30 cjep_sun2x:1.30.0.20 cjep_sun2x-base:1.30 cjep_staticlib_x-base1:1.30 netbsd-9-2-RELEASE:1.30 cjep_staticlib_x:1.30.0.18 cjep_staticlib_x-base:1.30 thorpej-i2c-spi-conf:1.30.0.16 thorpej-i2c-spi-conf-base:1.30 thorpej-cfargs:1.30.0.14 thorpej-cfargs-base:1.30 thorpej-futex:1.30.0.12 thorpej-futex-base:1.30 netbsd-9-1-RELEASE:1.30 bouyer-xenpvh-base2:1.30 phil-wifi-20200421:1.30 bouyer-xenpvh-base1:1.30 phil-wifi-20200411:1.30 bouyer-xenpvh:1.30.0.10 bouyer-xenpvh-base:1.30 is-mlppp:1.30.0.8 is-mlppp-base:1.30 phil-wifi-20200406:1.30 netbsd-8-2-RELEASE:1.28 ad-namecache-base3:1.30 netbsd-9-0-RELEASE:1.30 netbsd-9-0-RC2:1.30 ad-namecache-base2:1.30 ad-namecache-base1:1.30 ad-namecache:1.30.0.6 ad-namecache-base:1.30 netbsd-9-0-RC1:1.30 phil-wifi-20191119:1.30 netbsd-9:1.30.0.4 netbsd-9-base:1.30 phil-wifi-20190609:1.30 netbsd-8-1-RELEASE:1.28 netbsd-8-1-RC1:1.28 isaki-audio2:1.30.0.2 isaki-audio2-base:1.30 pgoyette-compat-merge-20190127:1.28.16.2 pgoyette-compat-20190127:1.30 pgoyette-compat-20190118:1.30 pgoyette-compat-1226:1.30 pgoyette-compat-1126:1.30 pgoyette-compat-1020:1.29 pgoyette-compat-0930:1.29 pgoyette-compat-0906:1.29 netbsd-7-2-RELEASE:1.27 pgoyette-compat-0728:1.28 netbsd-8-0-RELEASE:1.28 phil-wifi:1.28.0.18 phil-wifi-base:1.28 pgoyette-compat-0625:1.28 netbsd-8-0-RC2:1.28 pgoyette-compat-0521:1.28 pgoyette-compat-0502:1.28 pgoyette-compat-0422:1.28 netbsd-8-0-RC1:1.28 pgoyette-compat-0415:1.28 pgoyette-compat-0407:1.28 pgoyette-compat-0330:1.28 pgoyette-compat-0322:1.28 pgoyette-compat-0315:1.28 netbsd-7-1-2-RELEASE:1.27 pgoyette-compat:1.28.0.16 pgoyette-compat-base:1.28 netbsd-7-1-1-RELEASE:1.27 tls-maxphys-base-20171202:1.28 matt-nb8-mediatek:1.28.0.14 matt-nb8-mediatek-base:1.28 nick-nhusb-base-20170825:1.28 perseant-stdc-iso10646:1.28.0.12 perseant-stdc-iso10646-base:1.28 netbsd-8:1.28.0.10 netbsd-8-base:1.28 prg-localcount2-base3:1.28 prg-localcount2-base2:1.28 prg-localcount2-base1:1.28 prg-localcount2:1.28.0.8 prg-localcount2-base:1.28 pgoyette-localcount-20170426:1.28 bouyer-socketcan-base1:1.28 jdolecek-ncq:1.28.0.6 jdolecek-ncq-base:1.28 pgoyette-localcount-20170320:1.28 netbsd-7-1:1.27.0.10 netbsd-7-1-RELEASE:1.27 netbsd-7-1-RC2:1.27 nick-nhusb-base-20170204:1.28 netbsd-7-nhusb-base-20170116:1.27 bouyer-socketcan:1.28.0.4 bouyer-socketcan-base:1.28 pgoyette-localcount-20170107:1.28 netbsd-7-1-RC1:1.27 nick-nhusb-base-20161204:1.28 pgoyette-localcount-20161104:1.28 netbsd-7-0-2-RELEASE:1.27 nick-nhusb-base-20161004:1.28 localcount-20160914:1.28 netbsd-7-nhusb:1.27.0.8 netbsd-7-nhusb-base:1.27 pgoyette-localcount-20160806:1.28 pgoyette-localcount-20160726:1.28 pgoyette-localcount:1.28.0.2 pgoyette-localcount-base:1.28 nick-nhusb-base-20160907:1.28 nick-nhusb-base-20160529:1.28 netbsd-7-0-1-RELEASE:1.27 nick-nhusb-base-20160422:1.28 nick-nhusb-base-20160319:1.28 nick-nhusb-base-20151226:1.28 netbsd-7-0:1.27.0.6 netbsd-7-0-RELEASE:1.27 nick-nhusb-base-20150921:1.28 netbsd-7-0-RC3:1.27 netbsd-7-0-RC2:1.27 netbsd-7-0-RC1:1.27 nick-nhusb-base-20150606:1.28 nick-nhusb-base-20150406:1.27 nick-nhusb:1.27.0.4 nick-nhusb-base:1.27 netbsd-5-2-3-RELEASE:1.23 netbsd-5-1-5-RELEASE:1.23 netbsd-6-0-6-RELEASE:1.24 netbsd-6-1-5-RELEASE:1.24 netbsd-7:1.27.0.2 netbsd-7-base:1.27 yamt-pagecache-base9:1.25 yamt-pagecache-tag8:1.24.2.1 netbsd-6-1-4-RELEASE:1.24 netbsd-6-0-5-RELEASE:1.24 tls-earlyentropy:1.25.0.12 tls-earlyentropy-base:1.27 riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.25 riastradh-drm2-base3:1.25 netbsd-6-1-3-RELEASE:1.24 netbsd-6-0-4-RELEASE:1.24 netbsd-5-2-2-RELEASE:1.23 netbsd-5-1-4-RELEASE:1.23 netbsd-6-1-2-RELEASE:1.24 netbsd-6-0-3-RELEASE:1.24 netbsd-5-2-1-RELEASE:1.23 netbsd-5-1-3-RELEASE:1.23 rmind-smpnet-nbase:1.26 netbsd-6-1-1-RELEASE:1.24 riastradh-drm2-base2:1.25 riastradh-drm2-base1:1.25 riastradh-drm2:1.25.0.10 riastradh-drm2-base:1.25 rmind-smpnet:1.25.0.4 rmind-smpnet-base:1.26 netbsd-6-1:1.24.0.14 netbsd-6-0-2-RELEASE:1.24 netbsd-6-1-RELEASE:1.24 khorben-n900:1.25.0.8 netbsd-6-1-RC4:1.24 netbsd-6-1-RC3:1.24 agc-symver:1.25.0.6 agc-symver-base:1.25 netbsd-6-1-RC2:1.24 netbsd-6-1-RC1:1.24 yamt-pagecache-base8:1.25 netbsd-5-2:1.23.0.36 netbsd-6-0-1-RELEASE:1.24 yamt-pagecache-base7:1.25 netbsd-5-2-RELEASE:1.23 netbsd-5-2-RC1:1.23 matt-nb6-plus-nbase:1.24 yamt-pagecache-base6:1.25 netbsd-6-0:1.24.0.12 netbsd-6-0-RELEASE:1.24 netbsd-6-0-RC2:1.24 tls-maxphys:1.25.0.2 tls-maxphys-base:1.27 matt-nb6-plus:1.24.0.10 matt-nb6-plus-base:1.24 netbsd-6-0-RC1:1.24 jmcneill-usbmp-base10:1.24 yamt-pagecache-base5:1.24 jmcneill-usbmp-base9:1.24 yamt-pagecache-base4:1.24 jmcneill-usbmp-base8:1.24 jmcneill-usbmp-base7:1.24 jmcneill-usbmp-base6:1.24 jmcneill-usbmp-base5:1.24 jmcneill-usbmp-base4:1.24 jmcneill-usbmp-base3:1.24 jmcneill-usbmp-pre-base2:1.24 jmcneill-usbmp-base2:1.24 netbsd-6:1.24.0.8 netbsd-6-base:1.24 netbsd-5-1-2-RELEASE:1.23 netbsd-5-1-1-RELEASE:1.23 jmcneill-usbmp:1.24.0.6 jmcneill-usbmp-base:1.24 jmcneill-audiomp3:1.24.0.4 jmcneill-audiomp3-base:1.24 yamt-pagecache-base3:1.24 yamt-pagecache-base2:1.24 yamt-pagecache:1.24.0.2 yamt-pagecache-base:1.24 rmind-uvmplock-nbase:1.23 cherry-xenmp:1.23.0.34 cherry-xenmp-base:1.23 bouyer-quota2-nbase:1.23 bouyer-quota2:1.23.0.32 bouyer-quota2-base:1.23 jruoho-x86intr:1.23.0.30 jruoho-x86intr-base:1.23 matt-mips64-premerge-20101231:1.23 matt-nb5-mips64-premerge-20101231:1.23 matt-nb5-pq3:1.23.0.28 matt-nb5-pq3-base:1.23 netbsd-5-1:1.23.0.26 netbsd-5-1-RELEASE:1.23 uebayasi-xip-base4:1.23 uebayasi-xip-base3:1.23 yamt-nfs-mp-base11:1.23 netbsd-5-1-RC4:1.23 matt-nb5-mips64-k15:1.23 uebayasi-xip-base2:1.23 yamt-nfs-mp-base10:1.23 netbsd-5-1-RC3:1.23 netbsd-5-1-RC2:1.23 uebayasi-xip-base1:1.23 netbsd-5-1-RC1:1.23 rmind-uvmplock:1.23.0.24 rmind-uvmplock-base:1.23 yamt-nfs-mp-base9:1.23 uebayasi-xip:1.23.0.22 uebayasi-xip-base:1.23 netbsd-5-0-2-RELEASE:1.23 matt-nb5-mips64-premerge-20091211:1.23 matt-premerge-20091211:1.23 yamt-nfs-mp-base8:1.23 matt-nb5-mips64-u2-k2-k4-k7-k8-k9:1.23 matt-nb4-mips64-k7-u2a-k9b:1.23 matt-nb5-mips64-u1-k1-k5:1.23 yamt-nfs-mp-base7:1.23 matt-nb5-mips64:1.23.0.20 netbsd-5-0-1-RELEASE:1.23 jymxensuspend-base:1.23 yamt-nfs-mp-base6:1.23 yamt-nfs-mp-base5:1.23 yamt-nfs-mp-base4:1.23 jym-xensuspend-nbase:1.23 yamt-nfs-mp-base3:1.23 nick-hppapmap-base4:1.23 nick-hppapmap-base3:1.23 netbsd-5-0:1.23.0.18 netbsd-5-0-RELEASE:1.23 netbsd-5-0-RC4:1.23 netbsd-5-0-RC3:1.23 nick-hppapmap-base2:1.23 netbsd-5-0-RC2:1.23 jym-xensuspend:1.23.0.16 jym-xensuspend-base:1.23 netbsd-5-0-RC1:1.23 haad-dm-base2:1.23 haad-nbase2:1.23 ad-audiomp2:1.23.0.14 ad-audiomp2-base:1.23 netbsd-5:1.23.0.12 netbsd-5-base:1.23 nick-hppapmap:1.23.0.10 nick-hppapmap-base:1.23 matt-mips64-base2:1.23 matt-mips64:1.21.0.40 haad-dm-base1:1.23 wrstuden-revivesa-base-4:1.23 netbsd-4-0-1-RELEASE:1.20 wrstuden-revivesa-base-3:1.23 wrstuden-revivesa-base-2:1.23 wrstuden-fixsa-newbase:1.20 nick-csl-alignment-base5:1.21 haad-dm:1.23.0.8 haad-dm-base:1.23 wrstuden-revivesa-base-1:1.23 simonb-wapbl-nbase:1.23 yamt-pf42-base4:1.23 simonb-wapbl:1.23.0.6 simonb-wapbl-base:1.23 yamt-pf42-base3:1.23 hpcarm-cleanup-nbase:1.23 yamt-pf42-baseX:1.22 yamt-pf42-base2:1.23 yamt-nfs-mp-base2:1.23 wrstuden-revivesa:1.23.0.4 wrstuden-revivesa-base:1.23 yamt-nfs-mp:1.23.0.2 yamt-nfs-mp-base:1.23 yamt-pf42:1.22.0.2 yamt-pf42-base:1.22 ad-socklock-base1:1.21 yamt-lazymbuf-base15:1.21 yamt-lazymbuf-base14:1.21 keiichi-mipv6-nbase:1.21 mjf-devfs2:1.21.0.38 mjf-devfs2-base:1.23 nick-net80211-sync:1.21.0.36 nick-net80211-sync-base:1.21 keiichi-mipv6:1.21.0.34 keiichi-mipv6-base:1.21 bouyer-xeni386-merge1:1.21 matt-armv6-prevmlocking:1.21 wrstuden-fixsa-base-1:1.20 vmlocking2-base3:1.21 netbsd-4-0:1.20.0.16 netbsd-4-0-RELEASE:1.20 bouyer-xeni386-nbase:1.21 yamt-kmem-base3:1.21 cube-autoconf:1.21.0.32 cube-autoconf-base:1.21 yamt-kmem-base2:1.21 bouyer-xeni386:1.21.0.30 bouyer-xeni386-base:1.21 yamt-kmem:1.21.0.28 yamt-kmem-base:1.21 vmlocking2-base2:1.21 reinoud-bufcleanup-nbase:1.21 vmlocking2:1.21.0.26 vmlocking2-base1:1.21 netbsd-4-0-RC5:1.20 matt-nb4-arm:1.20.0.14 matt-nb4-arm-base:1.20 matt-armv6-nbase:1.21 jmcneill-base:1.21 netbsd-4-0-RC4:1.20 mjf-devfs:1.21.0.24 mjf-devfs-base:1.21 bouyer-xenamd64-base2:1.21 vmlocking-nbase:1.21 yamt-x86pmap-base4:1.21 bouyer-xenamd64:1.21.0.22 bouyer-xenamd64-base:1.21 netbsd-4-0-RC3:1.20 yamt-x86pmap-base3:1.21 yamt-x86pmap-base2:1.21 netbsd-4-0-RC2:1.20 yamt-x86pmap:1.21.0.20 yamt-x86pmap-base:1.21 netbsd-4-0-RC1:1.20 matt-armv6:1.21.0.18 matt-armv6-base:1.21 matt-mips64-base:1.21 jmcneill-pm:1.21.0.16 jmcneill-pm-base:1.21 hpcarm-cleanup:1.21.0.14 hpcarm-cleanup-base:1.21 nick-csl-alignment:1.21.0.12 nick-csl-alignment-base:1.21 netbsd-3-1-1-RELEASE:1.16 netbsd-3-0-3-RELEASE:1.16 yamt-idlelwp-base8:1.21 wrstuden-fixsa:1.20.0.12 wrstuden-fixsa-base:1.20 thorpej-atomic:1.21.0.10 thorpej-atomic-base:1.21 reinoud-bufcleanup:1.21.0.8 reinoud-bufcleanup-base:1.21 mjf-ufs-trans:1.21.0.6 mjf-ufs-trans-base:1.21 vmlocking:1.21.0.4 vmlocking-base:1.21 ad-audiomp:1.21.0.2 ad-audiomp-base:1.21 yamt-idlelwp:1.20.0.10 post-newlock2-merge:1.20 newlock2-nbase:1.20 yamt-splraiseipl-base5:1.20 yamt-splraiseipl-base4:1.20 yamt-splraiseipl-base3:1.20 abandoned-netbsd-4-base:1.20 abandoned-netbsd-4:1.20.0.2 netbsd-3-1:1.16.0.14 netbsd-3-1-RELEASE:1.16 netbsd-3-0-2-RELEASE:1.16 yamt-splraiseipl-base2:1.20 netbsd-3-1-RC4:1.16 yamt-splraiseipl:1.20.0.6 yamt-splraiseipl-base:1.20 netbsd-3-1-RC3:1.16 yamt-pdpolicy-base9:1.20 newlock2:1.20.0.4 newlock2-base:1.20 yamt-pdpolicy-base8:1.20 netbsd-3-1-RC2:1.16 netbsd-3-1-RC1:1.16 yamt-pdpolicy-base7:1.20 netbsd-4:1.20.0.8 netbsd-4-base:1.20 yamt-pdpolicy-base6:1.19 chap-midi-nbase:1.19 netbsd-3-0-1-RELEASE:1.16 gdamore-uart:1.19.0.16 gdamore-uart-base:1.19 simonb-timcounters-final:1.19 yamt-pdpolicy-base5:1.19 chap-midi:1.19.0.14 chap-midi-base:1.19 yamt-pdpolicy-base4:1.19 yamt-pdpolicy-base3:1.19 peter-altq-base:1.19 peter-altq:1.19.0.12 yamt-pdpolicy-base2:1.19 elad-kernelauth-base:1.19 elad-kernelauth:1.19.0.10 yamt-pdpolicy:1.19.0.8 yamt-pdpolicy-base:1.19 yamt-uio_vmspace-base5:1.19 simonb-timecounters:1.19.0.6 simonb-timecounters-base:1.19 rpaulo-netinet-merge-pcb:1.19.0.4 rpaulo-netinet-merge-pcb-base:1.20 yamt-uio_vmspace:1.19.0.2 netbsd-3-0:1.16.0.12 netbsd-3-0-RELEASE:1.16 netbsd-3-0-RC6:1.16 yamt-readahead-base3:1.17 netbsd-3-0-RC5:1.16 netbsd-3-0-RC4:1.16 netbsd-3-0-RC3:1.16 yamt-readahead-base2:1.17 netbsd-3-0-RC2:1.16 yamt-readahead-pervnode:1.17 yamt-readahead-perfile:1.17 yamt-readahead:1.17.0.6 yamt-readahead-base:1.17 netbsd-3-0-RC1:1.16 yamt-vop-base3:1.17 netbsd-2-0-3-RELEASE:1.15 netbsd-2-1:1.15.0.8 yamt-vop-base2:1.17 thorpej-vnode-attr:1.17.0.4 thorpej-vnode-attr-base:1.17 netbsd-2-1-RELEASE:1.15 yamt-vop:1.17.0.2 yamt-vop-base:1.17 netbsd-2-1-RC6:1.15 netbsd-2-1-RC5:1.15 netbsd-2-1-RC4:1.15 netbsd-2-1-RC3:1.15 netbsd-2-1-RC2:1.15 netbsd-2-1-RC1:1.15 yamt-lazymbuf:1.16.0.10 yamt-km-base4:1.16 netbsd-2-0-2-RELEASE:1.15 yamt-km-base3:1.16 netbsd-3:1.16.0.8 netbsd-3-base:1.16 yamt-km-base2:1.16 yamt-km:1.16.0.4 yamt-km-base:1.16 kent-audio2:1.16.0.2 kent-audio2-base:1.16 netbsd-2-0-1-RELEASE:1.15 kent-audio1-beforemerge:1.16 netbsd-2:1.15.0.6 netbsd-2-base:1.15 kent-audio1:1.15.0.4 kent-audio1-base:1.15 netbsd-2-0-RELEASE:1.15 netbsd-2-0-RC5:1.15 netbsd-2-0-RC4:1.15 netbsd-2-0-RC3:1.15 netbsd-2-0-RC2:1.15 netbsd-2-0-RC1:1.15 netbsd-2-0:1.15.0.2 netbsd-2-0-base:1.15 netbsd-1-6-PATCH002-RELEASE:1.11 netbsd-1-6-PATCH002:1.11 netbsd-1-6-PATCH002-RC4:1.11 netbsd-1-6-PATCH002-RC3:1.11 netbsd-1-6-PATCH002-RC2:1.11 netbsd-1-6-PATCH002-RC1:1.11 ktrace-lwp:1.13.0.2 ktrace-lwp-base:1.18 netbsd-1-6-PATCH001:1.11 netbsd-1-6-PATCH001-RELEASE:1.11 netbsd-1-6-PATCH001-RC3:1.11 netbsd-1-6-PATCH001-RC2:1.11 netbsd-1-6-PATCH001-RC1:1.11 nathanw_sa_end:1.9.4.2 nathanw_sa_before_merge:1.11 fvdl_fs64_base:1.11 gmcgarry_ctxsw:1.11.0.8 gmcgarry_ctxsw_base:1.11 gmcgarry_ucred:1.11.0.6 gmcgarry_ucred_base:1.11 nathanw_sa_base:1.11 kqueue-aftermerge:1.11 kqueue-beforemerge:1.11 netbsd-1-6-RELEASE:1.11 netbsd-1-6-RC3:1.11 netbsd-1-6-RC2:1.11 netbsd-1-6-RC1:1.11 netbsd-1-6:1.11.0.4 netbsd-1-6-base:1.11 gehenna-devsw:1.11.0.2 gehenna-devsw-base:1.11 netbsd-1-5-PATCH003:1.9 eeh-devprop:1.10.0.8 eeh-devprop-base:1.10 newlock:1.10.0.6 newlock-base:1.10 ifpoll-base:1.10 thorpej-mips-cache:1.10.0.2 thorpej-mips-cache-base:1.10 thorpej-devvp-base3:1.9 thorpej-devvp-base2:1.9 post-chs-ubcperf:1.9 pre-chs-ubcperf:1.9 thorpej-devvp:1.9.0.8 thorpej-devvp-base:1.9 netbsd-1-5-PATCH002:1.9 kqueue:1.9.0.6 kqueue-base:1.11 netbsd-1-5-PATCH001:1.9 thorpej_scsipi_beforemerge:1.9 nathanw_sa:1.9.0.4 thorpej_scsipi_nbase:1.9 netbsd-1-5-RELEASE:1.9 netbsd-1-5-BETA2:1.9 netbsd-1-5-BETA:1.9 netbsd-1-5-ALPHA2:1.9 netbsd-1-5:1.9.0.2 netbsd-1-5-base:1.9 minoura-xpg4dl-base:1.8 minoura-xpg4dl:1.8.0.2 chs-ubc2-newbase:1.6 wrstuden-devbsize-19991221:1.5 wrstuden-devbsize:1.3.0.8 wrstuden-devbsize-base:1.5 kame_141_19991130:1.1.2.2 comdex-fall-1999:1.3.0.6 comdex-fall-1999-base:1.3 fvdl-softdep:1.3.0.4 fvdl-softdep-base:1.3 thorpej_scsipi:1.3.0.2 thorpej_scsipi_base:1.9 kame_14_19990705:1.1.2.1 chs-ubc2-base:1.3 chs-ubc2:1.2.0.2 kame_14_19990628:1.1.2.1 kame:1.1.0.2; locks; strict; comment @ * @; 1.31 date 2022.10.28.05.18.39; author ozaki-r; state Exp; branches; next 1.30; commitid gtvbBgFPcSPgCrZD; 1.30 date 2018.11.22.04.48.34; author knakahara; state Exp; branches; next 1.29; commitid MFiHLQbXT1RIBT0B; 1.29 date 2018.08.22.01.05.24; author msaitoh; state Exp; branches; next 1.28; commitid m0ckT5Lro3Ypk3PA; 1.28 date 2015.05.02.17.18.03; author rtr; state Exp; branches 1.28.16.1 1.28.18.1; next 1.27; 1.27 date 2014.05.22.22.56.53; author rmind; state Exp; branches 1.27.4.1; next 1.26; 1.26 date 2014.05.18.14.46.16; author rmind; state Exp; branches; next 1.25; 1.25 date 2012.06.22.14.54.35; author christos; state Exp; branches 1.25.2.1 1.25.4.1 1.25.12.1; next 1.24; 1.24 date 2011.09.24.17.22.14; author christos; state Exp; branches 1.24.2.1; next 1.23; 1.23 date 2008.04.24.11.38.38; author ad; state Exp; branches; next 1.22; 1.22 date 2008.04.15.04.43.25; author thorpej; state Exp; branches 1.22.2.1; next 1.21; 1.21 date 2007.02.17.22.34.15; author dyoung; state Exp; branches 1.21.38.1; next 1.20; 1.20 date 2006.07.23.22.06.13; author ad; state Exp; branches 1.20.10.1; next 1.19; 1.19 date 2005.12.11.12.25.02; author christos; state Exp; branches 1.19.4.1 1.19.8.1; next 1.18; 1.18 date 2005.12.10.23.39.56; author elad; state Exp; branches; next 1.17; 1.17 date 2005.08.28.21.01.02; author rpaulo; state Exp; branches; next 1.16; 1.16 date 2004.12.15.04.25.21; author thorpej; state Exp; branches 1.16.10.1; next 1.15; 1.15 date 2003.09.04.09.17.10; author itojun; state Exp; branches; next 1.14; 1.14 date 2003.08.07.16.33.31; author agc; state Exp; branches; next 1.13; 1.13 date 2003.06.29.22.32.04; author fvdl; state Exp; branches 1.13.2.1; next 1.12; 1.12 date 2003.06.28.14.22.12; author darrenr; state Exp; branches; next 1.11; 1.11 date 2002.05.12.20.33.52; author matt; state Exp; branches; next 1.10; 1.10 date 2001.10.15.09.51.17; author itojun; state Exp; branches; next 1.9; 1.9 date 2000.06.05.06.38.23; author itojun; state Exp; branches 1.9.4.1 1.9.6.1; next 1.8; 1.8 date 2000.05.22.15.22.36; author itojun; state Exp; branches 1.8.2.1; next 1.7; 1.7 date 2000.02.28.12.08.25; author itojun; state Exp; branches; next 1.6; 1.6 date 2000.01.06.15.46.11; author itojun; state Exp; branches; next 1.5; 1.5 date 99.12.13.15.17.24; author itojun; state Exp; branches; next 1.4; 1.4 date 99.11.19.10.41.43; author bouyer; state Exp; branches; next 1.3; 1.3 date 99.07.03.21.30.20; author thorpej; state Exp; branches 1.3.2.1 1.3.8.1; next 1.2; 1.2 date 99.07.01.08.12.58; author itojun; state Exp; branches 1.2.2.1; next 1.1; 1.1 date 99.06.28.06.37.08; author itojun; state dead; branches 1.1.2.1; next ; 1.28.16.1 date 2018.09.06.06.56.45; author pgoyette; state Exp; branches; next 1.28.16.2; commitid HCi1bXD317XIK0RA; 1.28.16.2 date 2018.11.26.01.52.51; author pgoyette; state Exp; branches; next ; commitid Zj4q5SspGdKXto1B; 1.28.18.1 date 2019.06.10.22.09.48; author christos; state Exp; branches; next ; commitid jtc8rnCzWiEEHGqB; 1.27.4.1 date 2015.06.06.14.40.26; author skrll; state Exp; branches; next ; 1.25.2.1 date 2014.08.20.00.04.36; author tls; state Exp; branches; next 1.25.2.2; 1.25.2.2 date 2017.12.03.11.39.05; author jdolecek; state Exp; branches; next ; commitid XcIYRZTAh1LmerhA; 1.25.4.1 date 2013.07.17.03.16.31; author rmind; state Exp; branches; next 1.25.4.2; 1.25.4.2 date 2013.08.28.15.21.48; author rmind; state Exp; branches; next ; 1.25.12.1 date 2014.08.10.06.56.30; author tls; state Exp; branches; next ; 1.24.2.1 date 2012.10.30.17.22.50; author yamt; state Exp; branches; next ; 1.22.2.1 date 2008.05.18.12.35.35; author yamt; state Exp; branches; next ; 1.21.38.1 date 2008.06.02.13.24.28; author mjf; state Exp; branches; next ; 1.20.10.1 date 2007.02.27.16.55.06; author yamt; state Exp; branches; next ; 1.19.4.1 date 2006.02.07.04.51.49; author rpaulo; state Exp; branches; next 1.19.4.2; 1.19.4.2 date 2006.09.09.02.58.55; author rpaulo; state Exp; branches; next ; 1.19.8.1 date 2006.08.11.15.46.49; author yamt; state Exp; branches; next ; 1.16.10.1 date 2006.06.21.15.11.09; author yamt; state Exp; branches; next 1.16.10.2; 1.16.10.2 date 2006.12.30.20.50.39; author yamt; state Exp; branches; next 1.16.10.3; 1.16.10.3 date 2007.02.26.09.11.55; author yamt; state Exp; branches; next ; 1.13.2.1 date 2003.07.02.15.27.02; author darrenr; state Exp; branches; next 1.13.2.2; 1.13.2.2 date 2004.08.03.10.55.20; author skrll; state Exp; branches; next 1.13.2.3; 1.13.2.3 date 2004.09.18.14.55.15; author skrll; state Exp; branches; next 1.13.2.4; 1.13.2.4 date 2004.09.21.13.37.38; author skrll; state Exp; branches; next 1.13.2.5; 1.13.2.5 date 2004.12.18.09.33.06; author skrll; state Exp; branches; next 1.13.2.6; 1.13.2.6 date 2005.11.10.14.11.25; author skrll; state Exp; branches; next 1.13.2.7; 1.13.2.7 date 2005.12.11.10.29.32; author christos; state Exp; branches; next ; 1.9.4.1 date 2001.10.22.20.42.06; author nathanw; state Exp; branches; next 1.9.4.2; 1.9.4.2 date 2002.06.20.03.49.32; author nathanw; state Exp; branches; next ; 1.9.6.1 date 2002.01.10.20.03.33; author thorpej; state Exp; branches; next 1.9.6.2; 1.9.6.2 date 2002.06.23.17.51.24; author jdolecek; state Exp; branches; next ; 1.8.2.1 date 2000.06.22.17.10.06; author minoura; state Exp; branches; next ; 1.3.2.1 date 2000.11.20.18.11.00; author bouyer; state Exp; branches; next ; 1.3.8.1 date 99.12.27.18.36.28; author wrstuden; state Exp; branches; next ; 1.2.2.1 date 99.07.01.08.12.58; author thorpej; state dead; branches; next 1.2.2.2; 1.2.2.2 date 99.07.01.23.48.30; author thorpej; state Exp; branches; next 1.2.2.3; 1.2.2.3 date 99.08.02.22.36.07; author thorpej; state Exp; branches; next ; 1.1.2.1 date 99.06.28.06.37.08; author itojun; state Exp; branches; next 1.1.2.2; 1.1.2.2 date 99.11.30.13.36.01; author itojun; state Exp; branches; next ; desc @@ 1.31 log @inpcb: integrate data structures of PCB into one Data structures of network protocol control blocks (PCBs), i.e., struct inpcb, in6pcb and inpcb_hdr, are not organized well. Users of the data structures have to handle them separately and thus the code is cluttered and duplicated. The commit integrates the data structures into one, struct inpcb. As a result, users of PCBs only have to handle just one data structure, so the code becomes simple. One drawback is that the data size of PCB for IPv4 increases by 40 bytes (from 248 bytes to 288 bytes). @ text @/* $NetBSD: udp6_var.h,v 1.30 2018/11/22 04:48:34 knakahara Exp $ */ /* $KAME: udp6_var.h,v 1.11 2000/06/05 00:14:31 itojun Exp $ */ /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the project nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ /* * Copyright (c) 1982, 1986, 1989, 1993 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @@(#)udp_var.h 8.1 (Berkeley) 6/10/93 */ #ifndef _NETINET6_UDP6_VAR_H_ #define _NETINET6_UDP6_VAR_H_ /* * UDP Kernel structures and variables. */ #define UDP6_STAT_IPACKETS 0 /* total input packets */ #define UDP6_STAT_HDROPS 1 /* packet shorter than header */ #define UDP6_STAT_BADSUM 2 /* checksum error */ #define UDP6_STAT_NOSUM 3 /* no checksum */ #define UDP6_STAT_BADLEN 4 /* data length larger than packet */ #define UDP6_STAT_NOPORT 5 /* no socket on port */ #define UDP6_STAT_NOPORTMCAST 6 /* of above, arrived as multicast */ #define UDP6_STAT_FULLSOCK 7 /* not delivered, input socket full */ #define UDP6_STAT_PCBCACHEMISS 8 /* input packets missing pcb cache */ #define UDP6_STAT_OPACKETS 9 /* total output packets */ #define UDP6_NSTATS 10 /* * Names for UDP6 sysctl objects */ #define UDP6CTL_SENDSPACE 1 /* default send buffer */ #define UDP6CTL_RECVSPACE 2 /* default recv buffer */ #define UDP6CTL_LOOPBACKCKSUM 3 /* do UDP checksum on loopback? */ #define UDP6CTL_STATS 4 /* udp6 statistics */ #ifdef _KERNEL extern const struct pr_usrreqs udp6_usrreqs; void *udp6_ctlinput(int, const struct sockaddr *, void *); int udp6_ctloutput(int, struct socket *, struct sockopt *); void udp6_init(void); int udp6_input(struct mbuf **, int *, int); int udp6_output(struct inpcb *, struct mbuf *, struct sockaddr_in6 *, struct mbuf *, struct lwp *); int udp6_sysctl(int *, u_int, void *, size_t *, void *, size_t); int udp6_usrreq(struct socket *, int, struct mbuf *, struct mbuf *, struct mbuf *, struct lwp *); int udp6_realinput(int, struct sockaddr_in6 *, struct sockaddr_in6 *, struct mbuf **, int); int udp6_input_checksum(struct mbuf *, const struct udphdr *, int, int); void udp6_statinc(u_int); #endif /* _KERNEL */ #endif /* !_NETINET6_UDP6_VAR_H_ */ @ 1.30 log @Support IPv6 NAT-T. Implemented by hsuenaga@@IIJ and ohishi@@IIJ. Add ATF later. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.29 2018/08/22 01:05:24 msaitoh Exp $ */ d100 1 a100 1 int udp6_output(struct in6pcb *, struct mbuf *, struct sockaddr_in6 *, @ 1.29 log @- Cleanup for dynamic sysctl: - Remove unused *_NAMES macros for sysctl. - Remove unused *_MAXID for sysctls. - Move CTL_MACHDEP sysctl definitions for m68k into m68k/include/cpu.h and use them on all m68k machines. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.28 2015/05/02 17:18:03 rtr Exp $ */ d106 1 a106 1 struct mbuf *, int); @ 1.28 log @make connect syscall use sockaddr_big and modify pr_{send,connect} nam parameter type from buf * to sockaddr *. final commit for parameter type changes to protocol user requests * bump kernel version to 7.99.15 for parameter type changes to pr_{send,connect} @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.27 2014/05/22 22:56:53 rmind Exp $ */ a90 9 #define UDP6CTL_MAXID 5 #define UDP6CTL_NAMES { \ { 0, 0 }, \ { "sendspace", CTLTYPE_INT }, \ { "recvspace", CTLTYPE_INT }, \ { "do_loopback_cksum", CTLTYPE_INT }, \ { "stats", CTLTYPE_STRUCT }, \ } @ 1.28.18.1 log @Sync with HEAD @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.30 2018/11/22 04:48:34 knakahara Exp $ */ d91 9 d115 1 a115 1 struct mbuf **, int); @ 1.28.16.1 log @Sync with HEAD Resolve a couple of conflicts (result of the uimin/uimax changes) @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.29 2018/08/22 01:05:24 msaitoh Exp $ */ d91 9 @ 1.28.16.2 log @Sync with HEAD, resolve a couple of conflicts @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.30 2018/11/22 04:48:34 knakahara Exp $ */ d106 1 a106 1 struct mbuf **, int); @ 1.27 log @Move udp6_input(), udp6_sendup(), udp6_realinput() and udp6_input_checksum() from udp_usrreq.c to udp6_usrreq.c where they belong. No functional change. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.26 2014/05/18 14:46:16 rmind Exp $ */ d109 1 a109 1 int udp6_output(struct in6pcb *, struct mbuf *, struct mbuf *, @ 1.27.4.1 log @Sync with HEAD @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.28 2015/05/02 17:18:03 rtr Exp $ */ d109 1 a109 1 int udp6_output(struct in6pcb *, struct mbuf *, struct sockaddr_in6 *, @ 1.26 log @Add struct pr_usrreqs with a pr_generic function and prepare for the dismantling of pr_usrreq in the protocols; no functional change intended. PRU_ATTACH/PRU_DETACH changes will follow soon. Bump for struct protosw. Welcome to 6.99.62! @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.25 2012/06/22 14:54:35 christos Exp $ */ d114 3 @ 1.25 log @PR/46602: Move the rfc6056 port randomization to the IP layer. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.24 2011/09/24 17:22:14 christos Exp $ */ d102 3 @ 1.25.2.1 log @Rebase to HEAD as of a few days ago. @ text @d1 1 a1 1 /* $NetBSD$ */ a101 3 extern const struct pr_usrreqs udp6_usrreqs; a110 3 int udp6_realinput(int, struct sockaddr_in6 *, struct sockaddr_in6 *, struct mbuf *, int); int udp6_input_checksum(struct mbuf *, const struct udphdr *, int, int); @ 1.25.2.2 log @update from HEAD @ text @d109 1 a109 1 int udp6_output(struct in6pcb *, struct mbuf *, struct sockaddr_in6 *, @ 1.25.12.1 log @Rebase. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.27 2014/05/22 22:56:53 rmind Exp $ */ a101 3 extern const struct pr_usrreqs udp6_usrreqs; a110 3 int udp6_realinput(int, struct sockaddr_in6 *, struct sockaddr_in6 *, struct mbuf *, int); int udp6_input_checksum(struct mbuf *, const struct udphdr *, int, int); @ 1.25.4.1 log @Checkpoint work in progress: - Move PCB structures under __INPCB_PRIVATE, adjust most of the callers and thus make IPv4 PCB structures mostly opaque. Any volunteers for merging in6pcb with inpcb (see rpaulo-netinet-merge-pcb branch)? - Move various global vars to the modules where they belong, make them static. - Some preliminary work for IPv4 PCB locking scheme. - Make raw IP code mostly MP-safe. Simplify some of it. - Rework "fast" IP forwarding (ipflow) code to be mostly MP-safe. It should run from a software interrupt, rather than hard. - Rework tun(4) pseudo interface to be MP-safe. - Work towards making some other interfaces more strict. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.25 2012/06/22 14:54:35 christos Exp $ */ a103 1 a110 3 int udp6_realinput(int, struct sockaddr_in6 *, struct sockaddr_in6 *, struct mbuf *, int); int udp6_input_checksum(struct mbuf *, const struct udphdr *, int, int); @ 1.25.4.2 log @Checkpoint work in progress: - Initial split of the protocol user-request method into the following methods: pr_attach, pr_detach and pr_generic for old the pr_usrreq. - Adjust socreate(9) and sonewconn(9) to call pr_attach without the socket lock held (as a preparation for the locking scheme adjustment). - Adjust all pr_attach routines to assert that PCB is not set. - Sprinkle various comments, document some routines and their locking. - Remove M_PCB, replace with kmem(9). - Fix few bugs spotted on the way. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.25.4.1 2013/07/17 03:16:31 rmind Exp $ */ a101 3 extern const struct pr_usrreqs udp6_usrreqs; @ 1.24 log @Add inet6 part of the rfc6056 code contributed by Vlad Balan as part of Google SoC-2011 @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.23 2008/04/24 11:38:38 ad Exp $ */ d91 1 a91 2 #define UDP6CTL_RFC6056 5 /* RFC 6056 algorithm selection */ #define UDP6CTL_MAXID 6 @ 1.24.2.1 log @sync with head @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.24 2011/09/24 17:22:14 christos Exp $ */ d91 2 a92 1 #define UDP6CTL_MAXID 5 @ 1.23 log @Merge the socket locking patch: - Socket layer becomes MP safe. - Unix protocols become MP safe. - Allows protocol processing interrupts to safely block on locks. - Fixes a number of race conditions. With much feedback from matt@@ and plunky@@. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.22 2008/04/15 04:43:25 thorpej Exp $ */ d87 2 a88 2 #define UDP6CTL_SENDSPACE 1 /* default send buffer */ #define UDP6CTL_RECVSPACE 2 /* default recv buffer */ d90 3 a92 2 #define UDP6CTL_STATS 4 /* udp6 statistics */ #define UDP6CTL_MAXID 5 d104 1 d108 1 a108 1 struct mbuf *, struct lwp *); d110 2 a111 3 int udp6_usrreq(struct socket *, int, struct mbuf *, struct mbuf *, struct mbuf *, struct lwp *); @ 1.22 log @Make udp6 stats per-cpu. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.21 2007/02/17 22:34:15 dyoung Exp $ */ d102 1 a102 1 void udp6_ctlinput(int, const struct sockaddr *, void *); @ 1.22.2.1 log @sync with head. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.22 2008/04/15 04:43:25 thorpej Exp $ */ d102 1 a102 1 void *udp6_ctlinput(int, const struct sockaddr *, void *); @ 1.21 log @KNF: de-__P, bzero -> memset, bcmp -> memcmp. Remove extraneous parentheses in return statements. Cosmetic: don't open-code TAILQ_FOREACH(). Cosmetic: change types of variables to avoid oodles of casts: in in6_src.c, avoid casts by changing several route_in6 pointers to struct route pointers. Remove unnecessary casts to caddr_t elsewhere. Pave the way for eliminating address family-specific route caches: soon, struct route will not embed a sockaddr, but it will hold a reference to an external sockaddr, instead. We will set the destination sockaddr using rtcache_setdst(). (I created a stub for it, but it isn't used anywhere, yet.) rtcache_free() will free the sockaddr. I have extracted from rtcache_free() a helper subroutine, rtcache_clear(). rtcache_clear() will "forget" a cached route, but it will not forget the destination by releasing the sockaddr. I use rtcache_clear() instead of rtcache_free() in rtcache_update(), because rtcache_update() is not supposed to forget the destination. Constify: 1 Introduce const accessor for route->ro_dst, rtcache_getdst(). 2 Constify the 'dst' argument to ifnet->if_output(). This led me to constify a lot of code called by output routines. 3 Constify the sockaddr argument to protosw->pr_ctlinput. This led me to constify a lot of code called by ctlinput routines. 4 Introduce const macros for converting from a generic sockaddr to family-specific sockaddrs, e.g., sockaddr_in: satocsin6, satocsin, et cetera. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.20 2006/07/23 22:06:13 ad Exp $ */ d70 13 a82 14 struct udp6stat { /* input statistics: */ u_quad_t udp6s_ipackets; /* total input packets */ u_quad_t udp6s_hdrops; /* packet shorter than header */ u_quad_t udp6s_badsum; /* checksum error */ u_quad_t udp6s_nosum; /* no checksum */ u_quad_t udp6s_badlen; /* data length larger than packet */ u_quad_t udp6s_noport; /* no socket on port */ u_quad_t udp6s_noportmcast; /* of above, arrived as broadcast */ u_quad_t udp6s_fullsock; /* not delivered, input socket full */ u_quad_t udp6ps_pcbcachemiss; /* input packets missing pcb cache */ /* output statistics: */ u_quad_t udp6s_opackets; /* total output packets */ }; a101 2 extern struct udp6stat udp6stat; d111 2 @ 1.21.38.1 log @Sync with HEAD. @ text @d1 1 a1 1 /* $NetBSD$ */ d70 14 a83 13 #define UDP6_STAT_IPACKETS 0 /* total input packets */ #define UDP6_STAT_HDROPS 1 /* packet shorter than header */ #define UDP6_STAT_BADSUM 2 /* checksum error */ #define UDP6_STAT_NOSUM 3 /* no checksum */ #define UDP6_STAT_BADLEN 4 /* data length larger than packet */ #define UDP6_STAT_NOPORT 5 /* no socket on port */ #define UDP6_STAT_NOPORTMCAST 6 /* of above, arrived as multicast */ #define UDP6_STAT_FULLSOCK 7 /* not delivered, input socket full */ #define UDP6_STAT_PCBCACHEMISS 8 /* input packets missing pcb cache */ #define UDP6_STAT_OPACKETS 9 /* total output packets */ #define UDP6_NSTATS 10 d103 3 a105 1 void *udp6_ctlinput(int, const struct sockaddr *, void *); a113 2 void udp6_statinc(u_int); @ 1.20 log @Use the LWP cached credentials where sane. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.19 2005/12/11 12:25:02 christos Exp $ */ d105 7 a111 7 void udp6_ctlinput __P((int, struct sockaddr *, void *)); void udp6_init __P((void)); int udp6_input __P((struct mbuf **, int *, int)); int udp6_output __P((struct in6pcb *, struct mbuf *, struct mbuf *, struct mbuf *, struct lwp *)); int udp6_sysctl __P((int *, u_int, void *, size_t *, void *, size_t)); int udp6_usrreq __P((struct socket *, d113 1 a113 1 struct lwp *)); @ 1.20.10.1 log @- sync with head. - move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.20 2006/07/23 22:06:13 ad Exp $ */ d105 7 a111 7 void udp6_ctlinput(int, const struct sockaddr *, void *); void udp6_init(void); int udp6_input(struct mbuf **, int *, int); int udp6_output(struct in6pcb *, struct mbuf *, struct mbuf *, struct mbuf *, struct lwp *); int udp6_sysctl(int *, u_int, void *, size_t *, void *, size_t); int udp6_usrreq(struct socket *, d113 1 a113 1 struct lwp *); @ 1.19 log @merge ktrace-lwp. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.18 2005/12/10 23:39:56 elad Exp $ */ d109 1 a109 1 struct mbuf *, struct proc *)); @ 1.19.8.1 log @sync with head @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.19 2005/12/11 12:25:02 christos Exp $ */ d109 1 a109 1 struct mbuf *, struct lwp *)); @ 1.19.4.1 log @in6pcb -> inpcb. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.19 2005/12/11 12:25:02 christos Exp $ */ d108 1 a108 1 int udp6_output __P((struct inpcb *, struct mbuf *, struct mbuf *, @ 1.19.4.2 log @sync with head @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.20 2006/07/23 22:06:13 ad Exp $ */ @ 1.18 log @Multiple inclusion protection, as suggested by christos@@ on tech-kern@@ few days ago. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.17 2005/08/28 21:01:02 rpaulo Exp $ */ d113 1 a113 1 struct proc *)); @ 1.17 log @Implement net.inet6.udp6.stats. Reviewed by Elad Efrat. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.16 2004/12/15 04:25:21 thorpej Exp $ */ d116 1 a116 1 #endif /* _NETINET6_UDP6_VAR_H_ */ @ 1.16 log @Don't perform checksums on loopback interfaces. They can be reenabled with the net.inet.*.do_loopback_cksum sysctl. Approved by: groo @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.15 2003/09/04 09:17:10 itojun Exp $ */ d86 1 a86 1 * Names for UDP sysctl objects d91 2 a92 1 #define UDP6CTL_MAXID 4 d99 1 @ 1.16.10.1 log @sync with head. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.16 2004/12/15 04:25:21 thorpej Exp $ */ d86 1 a86 1 * Names for UDP6 sysctl objects d91 1 a91 2 #define UDP6CTL_STATS 4 /* udp6 statistics */ #define UDP6CTL_MAXID 5 a97 1 { "stats", CTLTYPE_STRUCT }, \ d111 1 a111 1 struct lwp *)); d114 1 a114 1 #endif /* !_NETINET6_UDP6_VAR_H_ */ @ 1.16.10.2 log @sync with head. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.16.10.1 2006/06/21 15:11:09 yamt Exp $ */ d109 1 a109 1 struct mbuf *, struct lwp *)); @ 1.16.10.3 log @sync with head. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.16.10.2 2006/12/30 20:50:39 yamt Exp $ */ d105 7 a111 7 void udp6_ctlinput(int, const struct sockaddr *, void *); void udp6_init(void); int udp6_input(struct mbuf **, int *, int); int udp6_output(struct in6pcb *, struct mbuf *, struct mbuf *, struct mbuf *, struct lwp *); int udp6_sysctl(int *, u_int, void *, size_t *, void *, size_t); int udp6_usrreq(struct socket *, d113 1 a113 1 struct lwp *); @ 1.15 log @revamp inpcb/in6pcb so that they are more aligned with each other. in6pcb lookup now uses hash(9). @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.14 2003/08/07 16:33:31 agc Exp $ */ d90 2 a91 1 #define UDP6CTL_MAXID 3 d97 1 @ 1.14 log @Move UCB-licensed code from 4-clause to 3-clause licence. Patches provided by Joel Baker in PR 22364, verified by myself. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.13 2003/06/29 22:32:04 fvdl Exp $ */ a98 1 extern struct in6pcb udb6; @ 1.13 log @Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.11 2002/05/12 20:33:52 matt Exp $ */ d45 1 a45 5 * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors @ 1.13.2.1 log @Apply the aborted ktrace-lwp changes to a specific branch. This is just for others to review, I'm concerned that patch fuziness may have resulted in some errant code being generated but I'll look at that later by comparing the diff from the base to the branch with the file I attempt to apply to it. This will, at the very least, put the changes in a better context for others to review them and attempt to tinker with removing passing of 'struct lwp' through the kernel. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.13 2003/06/29 22:32:04 fvdl Exp $ */ d114 1 a114 1 struct lwp *)); @ 1.13.2.2 log @Sync with HEAD @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.13.2.1 2003/07/02 15:27:02 darrenr Exp $ */ d45 5 a49 1 * 3. Neither the name of the University nor the names of its contributors d103 1 @ 1.13.2.3 log @Sync with HEAD. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.15 2003/09/04 09:17:10 itojun Exp $ */ d109 1 a109 1 struct proc *)); @ 1.13.2.4 log @Fix the sync with head I botched. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.13.2.2 2004/08/03 10:55:20 skrll Exp $ */ d109 1 a109 1 struct lwp *)); @ 1.13.2.5 log @Sync with HEAD. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.13.2.4 2004/09/21 13:37:38 skrll Exp $ */ d90 1 a90 2 #define UDP6CTL_LOOPBACKCKSUM 3 /* do UDP checksum on loopback? */ #define UDP6CTL_MAXID 4 a95 1 { "do_loopback_cksum", CTLTYPE_INT }, \ @ 1.13.2.6 log @Sync with HEAD. Here we go again... @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.13.2.5 2004/12/18 09:33:06 skrll Exp $ */ d86 1 a86 1 * Names for UDP6 sysctl objects d91 1 a91 2 #define UDP6CTL_STATS 4 /* udp6 statistics */ #define UDP6CTL_MAXID 5 a97 1 { "stats", CTLTYPE_STRUCT }, \ @ 1.13.2.7 log @Sync with head. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.18 2005/12/10 23:39:56 elad Exp $ */ d116 1 a116 1 #endif /* !_NETINET6_UDP6_VAR_H_ */ @ 1.12 log @Pass lwp pointers throughtout the kernel, as required, so that the lwpid can be inserted into ktrace records. The general change has been to replace "struct proc *" with "struct lwp *" in various function prototypes, pass the lwp through and use l_proc to get the process pointer when needed. Bump the kernel rev up to 1.6V @ text @d114 1 a114 1 struct lwp *)); @ 1.11 log @Eliminate commons. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.10 2001/10/15 09:51:17 itojun Exp $ */ d114 1 a114 1 struct proc *)); @ 1.10 log @implement IPV6_V6ONLY socket option from draft-ietf-ipngwg-rfc2553bis-03.txt. IPV6_BINDV6ONLY (netbsd only) is deprecated, but still work just like before. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.9 2000/06/05 06:38:23 itojun Exp $ */ d103 2 a104 2 struct in6pcb udb6; struct udp6stat udp6stat; @ 1.9 log @pass struct proc * down to udp6_output and in6_pcbbind. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.8 2000/05/22 15:22:36 itojun Exp $ */ d117 1 a117 1 #endif /*_NETINET6_UDP6_VAR_H_*/ @ 1.9.6.1 log @Sync kqueue branch with -current. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.10 2001/10/15 09:51:17 itojun Exp $ */ d117 1 a117 1 #endif /* _NETINET6_UDP6_VAR_H_ */ @ 1.9.6.2 log @catch up with -current on kqueue branch @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.9.6.1 2002/01/10 20:03:33 thorpej Exp $ */ d103 2 a104 2 extern struct in6pcb udb6; extern struct udp6stat udp6stat; @ 1.9.4.1 log @Catch up to -current. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.9 2000/06/05 06:38:23 itojun Exp $ */ d117 1 a117 1 #endif /* _NETINET6_UDP6_VAR_H_ */ @ 1.9.4.2 log @Catch up to -current. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.9.4.1 2001/10/22 20:42:06 nathanw Exp $ */ d103 2 a104 2 extern struct in6pcb udb6; extern struct udp6stat udp6stat; @ 1.8 log @make net.inet6.udp6.* sysctl name meet with IPv4 counterpart. XXX do we need to keep symbols mistakingly added (like UDP6CTL_SENDMAX) for backward compatibility? I believe not. @ text @d1 2 a2 1 /* $NetBSD: udp6_var.h,v 1.7 2000/02/28 12:08:25 itojun Exp $ */ d7 1 a7 1 * d19 1 a19 1 * d109 2 a110 2 int udp6_output __P((struct in6pcb *, struct mbuf *, struct mbuf *, struct mbuf *)); @ 1.8.2.1 log @Sync w/ netbsd-1-5-base. @ text @d1 1 a1 2 /* $NetBSD: udp6_var.h,v 1.9 2000/06/05 06:38:23 itojun Exp $ */ /* $KAME: udp6_var.h,v 1.11 2000/06/05 00:14:31 itojun Exp $ */ d6 1 a6 1 * d18 1 a18 1 * d108 2 a109 2 int udp6_output __P((struct in6pcb *, struct mbuf *, struct mbuf *, struct mbuf *, struct proc *)); @ 1.7 log @remove some of cross-BSD portability #ifdef. remove xxCTL_VARS, which is BSDI specific. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.6 2000/01/06 15:46:11 itojun Exp $ */ d91 1 a91 1 #define UDP6CTL_SENDMAX 1 /* default send buffer */ d97 1 a97 1 { "sendmax", CTLTYPE_INT }, \ @ 1.6 log @remove extra portability #ifdef (like #ifdef __FreeBSD__) in KAME IPv6/IPsec code, from netbsd-current repository. #ifdef'ed version is always available from ftp.kame.net. XXX please do not make too many diff-unfriendly changes, we'll need to take bunch of diffs on upgrade... @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.5 1999/12/13 15:17:24 itojun Exp $ */ a98 6 } #define UDP6CTL_VARS { \ 0, \ &udp6_sendspace, \ &udp6_recvspace, \ @ 1.5 log @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...) @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.4 1999/11/19 10:41:43 bouyer Exp $ */ a87 1 #if defined(__FreeBSD__) || defined(__NetBSD__) a105 26 #endif /*__FreeBSD__||__NetBSD__*/ #ifdef __bsdi__ /* * Names for UDP sysctl objects */ #define UDP6CTL_SENDMAX 2 /* default send buffer */ #define UDP6CTL_RECVSPACE 3 /* default recv buffer */ #define UDP6CTL_STATS 4 /* statistics */ #define UDP6CTL_MAXID 5 #define UDP6CTL_NAMES { \ { 0, 0 }, \ { 0, 0 }, \ { "sendmax", CTLTYPE_INT }, \ { "recvspace", CTLTYPE_INT }, \ { 0, 0 }, \ } #define UDP6CTL_VARS { \ 0, \ 0, \ &udp6_sendspace, \ &udp6_recvspace, \ 0, \ } #endif /*__bsdi__*/ a116 1 #if defined(__NetBSD__) || (defined(__FreeBSD__) && __FreeBSD__ >= 3) a119 4 #else int udp6_usrreq __P((struct socket *, int, struct mbuf *, struct mbuf *, struct mbuf *)); #endif @ 1.4 log @Update protocoles and interfaces stats counters to 64bit. RTM_IFINFO is now 0xf, 0xe is RTM_OIFINFO which returns the old (if_msghdr14) struct with 32bit counters (binary compat, conditioned on COMPAT_14). Same for sysctl: node 3 is renamed NET_RT_OIFLIST, NET_RT_IFLIST is now node 4. Change rt_msg1() to add an mbuf to the mbuf chain instead of just panic() when the message is larger than MHLEN. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.3 1999/07/03 21:30:20 thorpej Exp $ */ a69 1 #if defined(__FreeBSD__) || defined(__NetBSD__) d88 1 a109 18 * UDP Kernel structures and variables. */ struct udp6stat { /* input statistics: */ u_quad_t udp6s_ipackets; /* total input packets */ u_quad_t udp6s_hdrops; /* packet shorter than header */ u_quad_t udp6s_badsum; /* checksum error */ u_quad_t udp6s_nosum; /* no checksum */ u_quad_t udp6s_badlen; /* data length larger than packet */ u_quad_t udp6s_noport; /* no socket on port */ u_quad_t udp6s_noportmcast; /* of above, arrived as broadcast */ u_quad_t udp6s_fullsock; /* not delivered, input socket full */ u_quad_t udp6ps_pcbcachemiss; /* input packets missing pcb cache */ /* output statistics: */ u_quad_t udp6s_opackets; /* total output packets */ }; /* d138 1 a138 2 void udp6_ctlinput __P((int, struct sockaddr *, struct ip6_hdr *, struct mbuf *, int)); d144 5 d150 2 a151 1 int, struct mbuf *, struct mbuf *, struct mbuf *, struct proc *)); @ 1.3 log @RCS ID police. @ text @d1 1 a1 1 /* $NetBSD$ */ d76 9 a84 9 u_long udp6s_ipackets; /* total input packets */ u_long udp6s_hdrops; /* packet shorter than header */ u_long udp6s_badsum; /* checksum error */ u_long udp6s_nosum; /* no checksum */ u_long udp6s_badlen; /* data length larger than packet */ u_long udp6s_noport; /* no socket on port */ u_long udp6s_noportmcast; /* of above, arrived as broadcast */ u_long udp6s_fullsock; /* not delivered, input socket full */ u_long udp6ps_pcbcachemiss; /* input packets missing pcb cache */ d86 1 a86 1 u_long udp6s_opackets; /* total output packets */ @ 1.3.2.1 log @Update thorpej_scsipi to -current as of a month ago @ text @d1 1 a1 2 /* $NetBSD: udp6_var.h,v 1.9 2000/06/05 06:38:23 itojun Exp $ */ /* $KAME: udp6_var.h,v 1.11 2000/06/05 00:14:31 itojun Exp $ */ d6 1 a6 1 * d18 1 a18 1 * d70 39 d124 1 a124 1 u_quad_t udp6s_opackets; /* total output packets */ d130 4 a133 3 #define UDP6CTL_SENDSPACE 1 /* default send buffer */ #define UDP6CTL_RECVSPACE 2 /* default recv buffer */ #define UDP6CTL_MAXID 3 d137 2 a138 1 { "sendspace", CTLTYPE_INT }, \ d140 9 d150 1 d156 2 a157 1 void udp6_ctlinput __P((int, struct sockaddr *, void *)); d160 2 a161 2 int udp6_output __P((struct in6pcb *, struct mbuf *, struct mbuf *, struct mbuf *, struct proc *)); d164 1 a164 2 int, struct mbuf *, struct mbuf *, struct mbuf *, struct proc *)); @ 1.3.8.1 log @Pull up to last week's -current. @ text @d1 1 a1 1 /* $NetBSD: udp6_var.h,v 1.5 1999/12/13 15:17:24 itojun Exp $ */ d70 1 d76 9 a84 9 u_quad_t udp6s_ipackets; /* total input packets */ u_quad_t udp6s_hdrops; /* packet shorter than header */ u_quad_t udp6s_badsum; /* checksum error */ u_quad_t udp6s_nosum; /* no checksum */ u_quad_t udp6s_badlen; /* data length larger than packet */ u_quad_t udp6s_noport; /* no socket on port */ u_quad_t udp6s_noportmcast; /* of above, arrived as broadcast */ u_quad_t udp6s_fullsock; /* not delivered, input socket full */ u_quad_t udp6ps_pcbcachemiss; /* input packets missing pcb cache */ d86 1 a86 1 u_quad_t udp6s_opackets; /* total output packets */ a88 1 #if defined(__FreeBSD__) || defined(__NetBSD__) d110 18 d156 2 a157 1 void udp6_ctlinput __P((int, struct sockaddr *, void *)); a162 5 #if defined(__NetBSD__) || (defined(__FreeBSD__) && __FreeBSD__ >= 3) int udp6_usrreq __P((struct socket *, int, struct mbuf *, struct mbuf *, struct mbuf *, struct proc *)); #else d164 1 a164 2 int, struct mbuf *, struct mbuf *, struct mbuf *)); #endif @ 1.2 log @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. @ text @d1 2 @ 1.2.2.1 log @file udp6_var.h was added on branch chs-ubc2 on 1999-07-01 23:48:30 +0000 @ text @d1 165 @ 1.2.2.2 log @Sync w/ -current. @ text @a0 165 /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the project nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ /* * Copyright (c) 1982, 1986, 1989, 1993 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @@(#)udp_var.h 8.1 (Berkeley) 6/10/93 */ #ifndef _NETINET6_UDP6_VAR_H_ #define _NETINET6_UDP6_VAR_H_ #if defined(__FreeBSD__) || defined(__NetBSD__) /* * UDP Kernel structures and variables. */ struct udp6stat { /* input statistics: */ u_long udp6s_ipackets; /* total input packets */ u_long udp6s_hdrops; /* packet shorter than header */ u_long udp6s_badsum; /* checksum error */ u_long udp6s_nosum; /* no checksum */ u_long udp6s_badlen; /* data length larger than packet */ u_long udp6s_noport; /* no socket on port */ u_long udp6s_noportmcast; /* of above, arrived as broadcast */ u_long udp6s_fullsock; /* not delivered, input socket full */ u_long udp6ps_pcbcachemiss; /* input packets missing pcb cache */ /* output statistics: */ u_long udp6s_opackets; /* total output packets */ }; /* * Names for UDP sysctl objects */ #define UDP6CTL_SENDMAX 1 /* default send buffer */ #define UDP6CTL_RECVSPACE 2 /* default recv buffer */ #define UDP6CTL_MAXID 3 #define UDP6CTL_NAMES { \ { 0, 0 }, \ { "sendmax", CTLTYPE_INT }, \ { "recvspace", CTLTYPE_INT }, \ } #define UDP6CTL_VARS { \ 0, \ &udp6_sendspace, \ &udp6_recvspace, \ } #endif /*__FreeBSD__||__NetBSD__*/ #ifdef __bsdi__ /* * UDP Kernel structures and variables. */ struct udp6stat { /* input statistics: */ u_quad_t udp6s_ipackets; /* total input packets */ u_quad_t udp6s_hdrops; /* packet shorter than header */ u_quad_t udp6s_badsum; /* checksum error */ u_quad_t udp6s_nosum; /* no checksum */ u_quad_t udp6s_badlen; /* data length larger than packet */ u_quad_t udp6s_noport; /* no socket on port */ u_quad_t udp6s_noportmcast; /* of above, arrived as broadcast */ u_quad_t udp6s_fullsock; /* not delivered, input socket full */ u_quad_t udp6ps_pcbcachemiss; /* input packets missing pcb cache */ /* output statistics: */ u_quad_t udp6s_opackets; /* total output packets */ }; /* * Names for UDP sysctl objects */ #define UDP6CTL_SENDMAX 2 /* default send buffer */ #define UDP6CTL_RECVSPACE 3 /* default recv buffer */ #define UDP6CTL_STATS 4 /* statistics */ #define UDP6CTL_MAXID 5 #define UDP6CTL_NAMES { \ { 0, 0 }, \ { 0, 0 }, \ { "sendmax", CTLTYPE_INT }, \ { "recvspace", CTLTYPE_INT }, \ { 0, 0 }, \ } #define UDP6CTL_VARS { \ 0, \ 0, \ &udp6_sendspace, \ &udp6_recvspace, \ 0, \ } #endif /*__bsdi__*/ #ifdef _KERNEL struct in6pcb udb6; struct udp6stat udp6stat; void udp6_ctlinput __P((int, struct sockaddr *, struct ip6_hdr *, struct mbuf *, int)); void udp6_init __P((void)); int udp6_input __P((struct mbuf **, int *, int)); int udp6_output __P((struct in6pcb *, struct mbuf *, struct mbuf *, struct mbuf *)); int udp6_sysctl __P((int *, u_int, void *, size_t *, void *, size_t)); int udp6_usrreq __P((struct socket *, int, struct mbuf *, struct mbuf *, struct mbuf *, struct proc *)); #endif /* _KERNEL */ #endif /*_NETINET6_UDP6_VAR_H_*/ @ 1.2.2.3 log @Update from trunk. @ text @a0 2 /* $NetBSD: udp6_var.h,v 1.2.2.2 1999/08/02 22:36:07 thorpej Exp $ */ @ 1.1 log @file udp6_var.h was initially added on branch kame. @ text @d1 165 @ 1.1.2.1 log @KAME/NetBSD 1.4 SNAP kit, dated 19990628. NOTE: this branch (kame) is used just for refernce. this may not compile due to multiple reasons. @ text @a0 165 /* * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the project nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ /* * Copyright (c) 1982, 1986, 1989, 1993 * The Regents of the University of California. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the University of * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @@(#)udp_var.h 8.1 (Berkeley) 6/10/93 */ #ifndef _NETINET6_UDP6_VAR_H_ #define _NETINET6_UDP6_VAR_H_ #if defined(__FreeBSD__) || defined(__NetBSD__) /* * UDP Kernel structures and variables. */ struct udp6stat { /* input statistics: */ u_long udp6s_ipackets; /* total input packets */ u_long udp6s_hdrops; /* packet shorter than header */ u_long udp6s_badsum; /* checksum error */ u_long udp6s_nosum; /* no checksum */ u_long udp6s_badlen; /* data length larger than packet */ u_long udp6s_noport; /* no socket on port */ u_long udp6s_noportmcast; /* of above, arrived as broadcast */ u_long udp6s_fullsock; /* not delivered, input socket full */ u_long udp6ps_pcbcachemiss; /* input packets missing pcb cache */ /* output statistics: */ u_long udp6s_opackets; /* total output packets */ }; /* * Names for UDP sysctl objects */ #define UDP6CTL_SENDMAX 1 /* default send buffer */ #define UDP6CTL_RECVSPACE 2 /* default recv buffer */ #define UDP6CTL_MAXID 3 #define UDP6CTL_NAMES { \ { 0, 0 }, \ { "sendmax", CTLTYPE_INT }, \ { "recvspace", CTLTYPE_INT }, \ } #define UDP6CTL_VARS { \ 0, \ &udp6_sendspace, \ &udp6_recvspace, \ } #endif /*__FreeBSD__||__NetBSD__*/ #ifdef __bsdi__ /* * UDP Kernel structures and variables. */ struct udp6stat { /* input statistics: */ u_quad_t udp6s_ipackets; /* total input packets */ u_quad_t udp6s_hdrops; /* packet shorter than header */ u_quad_t udp6s_badsum; /* checksum error */ u_quad_t udp6s_nosum; /* no checksum */ u_quad_t udp6s_badlen; /* data length larger than packet */ u_quad_t udp6s_noport; /* no socket on port */ u_quad_t udp6s_noportmcast; /* of above, arrived as broadcast */ u_quad_t udp6s_fullsock; /* not delivered, input socket full */ u_quad_t udp6ps_pcbcachemiss; /* input packets missing pcb cache */ /* output statistics: */ u_quad_t udp6s_opackets; /* total output packets */ }; /* * Names for UDP sysctl objects */ #define UDP6CTL_SENDMAX 2 /* default send buffer */ #define UDP6CTL_RECVSPACE 3 /* default recv buffer */ #define UDP6CTL_STATS 4 /* statistics */ #define UDP6CTL_MAXID 5 #define UDP6CTL_NAMES { \ { 0, 0 }, \ { 0, 0 }, \ { "sendmax", CTLTYPE_INT }, \ { "recvspace", CTLTYPE_INT }, \ { 0, 0 }, \ } #define UDP6CTL_VARS { \ 0, \ 0, \ &udp6_sendspace, \ &udp6_recvspace, \ 0, \ } #endif /*__bsdi__*/ #ifdef _KERNEL struct in6pcb udb6; struct udp6stat udp6stat; void udp6_ctlinput __P((int, struct sockaddr *, struct ip6_hdr *, struct mbuf *, int)); void udp6_init __P((void)); int udp6_input __P((struct mbuf **, int *, int)); int udp6_output __P((struct in6pcb *, struct mbuf *, struct mbuf *, struct mbuf *)); int udp6_sysctl __P((int *, u_int, void *, size_t *, void *, size_t)); int udp6_usrreq __P((struct socket *, int, struct mbuf *, struct mbuf *, struct mbuf *, struct proc *)); #endif /* _KERNEL */ #endif /*_NETINET6_UDP6_VAR_H_*/ @ 1.1.2.2 log @bring in latest KAME (as of 19991130, KAME/NetBSD141) into kame branch just for reference purposes. This commit includes 1.4 -> 1.4.1 sync for kame branch. The branch does not compile at all (due to the lack of ALTQ and some other source code). Please do not try to modify the branch, this is just for referenre purposes. synchronization to latest KAME will take place on HEAD branch soon. @ text @d68 1 d74 9 a82 9 u_quad_t udp6s_ipackets; /* total input packets */ u_quad_t udp6s_hdrops; /* packet shorter than header */ u_quad_t udp6s_badsum; /* checksum error */ u_quad_t udp6s_nosum; /* no checksum */ u_quad_t udp6s_badlen; /* data length larger than packet */ u_quad_t udp6s_noport; /* no socket on port */ u_quad_t udp6s_noportmcast; /* of above, arrived as broadcast */ u_quad_t udp6s_fullsock; /* not delivered, input socket full */ u_quad_t udp6ps_pcbcachemiss; /* input packets missing pcb cache */ d84 1 a84 1 u_quad_t udp6s_opackets; /* total output packets */ a86 1 #if defined(__FreeBSD__) || defined(__NetBSD__) d108 18 d154 2 a155 1 void udp6_ctlinput __P((int, struct sockaddr *, void *)); a160 5 #if defined(__NetBSD__) || (defined(__FreeBSD__) && __FreeBSD__ >= 3) int udp6_usrreq __P((struct socket *, int, struct mbuf *, struct mbuf *, struct mbuf *, struct proc *)); #else d162 1 a162 2 int, struct mbuf *, struct mbuf *, struct mbuf *)); #endif @