You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(70) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(113) |
Feb
(86) |
Mar
(1) |
Apr
(14) |
May
(23) |
Jun
(4) |
Jul
(1) |
Aug
|
Sep
|
Oct
(1) |
Nov
(10) |
Dec
(39) |
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(20) |
Jun
(5) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2007 |
Jan
(14) |
Feb
|
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(13) |
2008 |
Jan
(14) |
Feb
|
Mar
(13) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(10) |
Dec
|
From: Hajimu U. <um...@us...> - 2008-11-28 19:43:10
|
Update of /cvsroot/xcast6/reltools In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv26822/reltools Modified Files: makerelease.sh Log Message: Sync with FreeBSD 6.4-RELEASE. Index: makerelease.sh =================================================================== RCS file: /cvsroot/xcast6/reltools/makerelease.sh,v retrieving revision 1.41 retrieving revision 1.42 diff -C2 -d -r1.41 -r1.42 *** makerelease.sh 2 Mar 2008 17:27:27 -0000 1.41 --- makerelease.sh 28 Nov 2008 19:43:06 -0000 1.42 *************** *** 32,38 **** ## freebsd6/sys ! freebsd6_name=freebsd-sys-6.3 freebsd6_rep=freebsd6/sys ! freebsd6_origtag='-r freebsd-6-3-release' ## freebsd7/sys --- 32,38 ---- ## freebsd6/sys ! freebsd6_name=freebsd-sys-6.4 freebsd6_rep=freebsd6/sys ! freebsd6_origtag='-r freebsd-6-4-release' ## freebsd7/sys |
From: Hajimu U. <um...@us...> - 2008-11-28 19:43:10
|
Update of /cvsroot/xcast6/doc In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv26822/doc Modified Files: ChangeLog README-XCAST6.txt Log Message: Sync with FreeBSD 6.4-RELEASE. Index: README-XCAST6.txt =================================================================== RCS file: /cvsroot/xcast6/doc/README-XCAST6.txt,v retrieving revision 1.46 retrieving revision 1.47 diff -C2 -d -r1.46 -r1.47 *** README-XCAST6.txt 2 Mar 2008 17:27:26 -0000 1.46 --- README-XCAST6.txt 28 Nov 2008 19:43:06 -0000 1.47 *************** *** 7,11 **** FreeBSD 4.11-RELEASE FreeBSD 5.5-RELEASE ! FreeBSD 6.3-RELEASE FreeBSD 7.0-RELEASE --- 7,11 ---- FreeBSD 4.11-RELEASE FreeBSD 5.5-RELEASE ! FreeBSD 6.4-RELEASE FreeBSD 7.0-RELEASE *************** *** 32,37 **** - patch file for FreeBSD 5.5-RELEASE xcast6-0.2.1-freebsd-sys-5.5.diff.gz ! - patch file for FreeBSD 6.3-RELEASE ! xcast6-0.2.1-1-freebsd-sys-6.3.diff.gz - patch file for FreeBSD 7.0-RELEASE xcast6-0.2.1-1-freebsd-sys-7.0.diff.gz --- 32,37 ---- - patch file for FreeBSD 5.5-RELEASE xcast6-0.2.1-freebsd-sys-5.5.diff.gz ! - patch file for FreeBSD 6.4-RELEASE ! xcast6-0.2.1-1-freebsd-sys-6.4.diff.gz - patch file for FreeBSD 7.0-RELEASE xcast6-0.2.1-1-freebsd-sys-7.0.diff.gz Index: ChangeLog =================================================================== RCS file: /cvsroot/xcast6/doc/ChangeLog,v retrieving revision 1.37 retrieving revision 1.38 diff -C2 -d -r1.37 -r1.38 *** ChangeLog 2 Mar 2008 17:27:26 -0000 1.37 --- ChangeLog 28 Nov 2008 19:43:06 -0000 1.38 *************** *** 1,2 **** --- 1,6 ---- + 2008-11-29 Hajimu UMEMOTO <um...@ma...> + + * freebsd6: sync with 6.4-RELEASE. + 2008-03-03 Hajimu UMEMOTO <um...@ma...> |
From: Hajimu U. <um...@us...> - 2008-11-28 19:30:02
|
Update of /cvsroot/xcast6/freebsd6/sys/modules/ipfw In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv25137/sys/modules/ipfw Modified Files: Makefile Log Message: Merge FreeBSD 6.4-RELEASE into main chunk. Index: Makefile =================================================================== RCS file: /cvsroot/xcast6/freebsd6/sys/modules/ipfw/Makefile,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Makefile 16 Jan 2007 04:58:50 -0000 1.3 --- Makefile 28 Nov 2008 19:29:50 -0000 1.4 *************** *** 1,3 **** ! # $FreeBSD: src/sys/modules/ipfw/Makefile,v 1.21.2.2 2006/09/19 15:45:21 csjp Exp $ .PATH: ${.CURDIR}/../../netinet --- 1,3 ---- ! # $FreeBSD: src/sys/modules/ipfw/Makefile,v 1.21.2.2.6.1 2008/10/02 02:57:24 kensmith Exp $ .PATH: ${.CURDIR}/../../netinet |
From: Hajimu U. <um...@us...> - 2008-11-28 19:30:02
|
Update of /cvsroot/xcast6/freebsd6/sys/conf In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv25137/sys/conf Modified Files: NOTES files options Log Message: Merge FreeBSD 6.4-RELEASE into main chunk. Index: files =================================================================== RCS file: /cvsroot/xcast6/freebsd6/sys/conf/files,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** files 19 Jan 2008 17:46:37 -0000 1.5 --- files 28 Nov 2008 19:29:50 -0000 1.6 *************** *** 1,3 **** ! # $FreeBSD: src/sys/conf/files,v 1.1031.2.69 2007/10/05 22:49:06 jfv Exp $ # # The long compile-with and dependency lines are required because of --- 1,3 ---- ! # $FreeBSD: src/sys/conf/files,v 1.1031.2.77.2.1 2008/10/02 02:57:24 kensmith Exp $ # # The long compile-with and dependency lines are required because of *************** *** 295,298 **** --- 295,302 ---- crypto/blowfish/bf_ecb.c optional ipsec ipsec_esp crypto/blowfish/bf_skey.c optional crypto + crypto/camellia/camellia.c optional crypto + crypto/camellia/camellia.c optional ipsec ipsec_esp + crypto/camellia/camellia-api.c optional crypto + crypto/camellia/camellia-api.c optional ipsec ipsec_esp crypto/blowfish/bf_skey.c optional ipsec ipsec_esp crypto/des/des_ecb.c optional crypto *************** *** 696,699 **** --- 700,704 ---- dev/ixgb/ixgb_ee.c optional ixgb dev/ixgb/ixgb_hw.c optional ixgb + dev/jme/if_jme.c optional jme pci dev/joy/joy.c optional joy dev/joy/joy_isa.c optional joy isa *************** *** 737,744 **** --- 742,753 ---- dev/mii/gentbi.c optional miibus dev/mii/gentbi.c optional mii + dev/mii/icsphy.c optional miibus + dev/mii/icsphy.c optional icsphy dev/mii/inphy.c optional miibus dev/mii/inphy.c optional inphy dev/mii/ip1000phy.c optional miibus dev/mii/ip1000phy.c optional ip1000phy + dev/mii/jmphy.c optional miibus + dev/mii/jmphy.c optional jmphy dev/mii/lxtphy.c optional miibus dev/mii/lxtphy.c optional lxtphy *************** *** 755,758 **** --- 764,769 ---- dev/mii/nsphy.c optional miibus dev/mii/nsphy.c optional nsphy + dev/mii/nsphyter.c optional miibus + dev/mii/nsphyter.c optional nsphyter dev/mii/pnaphy.c optional miibus dev/mii/pnaphy.c optional pnaphy *************** *** 791,794 **** --- 802,806 ---- dev/mpt/mpt_pci.c optional mpt pci dev/mpt/mpt_raid.c optional mpt + dev/mpt/mpt_user.c optional mpt dev/msk/if_msk.c optional msk dev/my/if_my.c optional my *************** *** 1783,1786 **** --- 1795,1799 ---- netinet6/esp_output.c optional ipsec ipsec_esp netinet6/esp_rijndael.c optional ipsec ipsec_esp + netinet6/esp_camellia.c optional ipsec ipsec_esp netinet6/frag6.c optional inet6 netinet6/icmp6.c optional inet6 *************** *** 1887,1890 **** --- 1900,1909 ---- nfsserver/nfs_srvsubs.c optional nfsserver nfsserver/nfs_syscalls.c optional nfsserver + nlm/nlm_prot_clnt.c optional nfslockd + nlm/nlm_prot_impl.c optional nfslockd + nlm/nlm_prot_server.c optional nfslockd + nlm/nlm_prot_svc.c optional nfslockd + nlm/nlm_prot_xdr.c optional nfslockd + nlm/sm_inter_xdr.c optional nfslockd # crypto support opencrypto/cast.c optional crypto *************** *** 1926,1930 **** --- 1945,1969 ---- posix4/p1003_1b.c standard posix4/posix4_mib.c standard + rpc/auth_none.c optional nfslockd + rpc/auth_unix.c optional nfslockd + rpc/authunix_prot.c optional nfslockd + rpc/clnt_dg.c optional nfslockd + rpc/clnt_rc.c optional nfslockd + rpc/clnt_vc.c optional nfslockd + rpc/getnetconfig.c optional nfslockd + rpc/inet_ntop.c optional nfslockd + rpc/inet_pton.c optional nfslockd + rpc/rpc_callmsg.c optional nfslockd + rpc/rpc_generic.c optional nfslockd + rpc/rpc_prot.c optional nfslockd + rpc/rpcb_clnt.c optional nfslockd + rpc/rpcb_prot.c optional nfslockd rpc/rpcclnt.c optional nfsclient + rpc/svc.c optional nfslockd + rpc/svc_auth.c optional nfslockd + rpc/svc_auth_unix.c optional nfslockd + rpc/svc_dg.c optional nfslockd + rpc/svc_generic.c optional nfslockd + rpc/svc_vc.c optional nfslockd security/audit/audit.c optional audit security/audit/audit_arg.c optional audit *************** *** 1981,1984 **** --- 2020,2024 ---- vm/device_pager.c standard vm/phys_pager.c standard + vm/redzone.c optional DEBUG_REDZONE vm/swap_pager.c standard vm/uma_core.c standard *************** *** 2001,2002 **** --- 2041,2048 ---- vm/vm_zeroidle.c standard vm/vnode_pager.c standard + xdr/xdr.c optional nfslockd + xdr/xdr_array.c optional nfslockd + xdr/xdr_mbuf.c optional nfslockd + xdr/xdr_mem.c optional nfslockd + xdr/xdr_reference.c optional nfslockd + xdr/xdr_sizeof.c optional nfslockd \ No newline at end of file Index: NOTES =================================================================== RCS file: /cvsroot/xcast6/freebsd6/sys/conf/NOTES,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** NOTES 19 Jan 2008 17:46:37 -0000 1.5 --- NOTES 28 Nov 2008 19:29:50 -0000 1.6 *************** *** 1,3 **** ! # $FreeBSD: src/sys/conf/NOTES,v 1.1325.2.38 2007/09/14 22:44:37 obrien Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. --- 1,3 ---- ! # $FreeBSD: src/sys/conf/NOTES,v 1.1325.2.45.2.1 2008/10/02 02:57:24 kensmith Exp $ # # NOTES -- Lines that can be cut/pasted into kernel and hints configs. *************** *** 360,363 **** --- 360,369 ---- # + # DEBUG_REDZONE enables buffer underflows and buffer overflows detection for + # malloc(9). + # + options DEBUG_REDZONE + + # # KTRACE enables the system-call tracing facility ktrace(2). To be more # SMP-friendly, KTRACE uses a worker thread to process most trace events *************** *** 807,812 **** # DUMMYNET enables the "dummynet" bandwidth limiter. You need IPFIREWALL # as well. See dummynet(4) and ipfw(8) for more info. When you run ! # DUMMYNET it is advisable to also have "options HZ=1000" to achieve a ! # smoother scheduling of the traffic. # options DUMMYNET --- 813,818 ---- # DUMMYNET enables the "dummynet" bandwidth limiter. You need IPFIREWALL # as well. See dummynet(4) and ipfw(8) for more info. When you run ! # DUMMYNET it is advisable to also have at least "options HZ=1000" to achieve ! # a smooth scheduling of the traffic. # options DUMMYNET *************** *** 883,886 **** --- 889,894 ---- options MSDOSFS #MS DOS File System (FAT, FAT32) options NFSSERVER #Network File System server + # XXX don't build NFSLOCKD since it conflicts with ATM_SPANS + #options NFSLOCKD #Network Lock Manager options NTFS #NT File System options NULLFS #NULL filesystem *************** *** 1033,1043 **** # The granularity of operation is controlled by the kernel option HZ whose ! # default value (100) means a granularity of 10ms (1s/HZ). ! # Some subsystems, such as DUMMYNET, might benefit from a smaller ! # granularity such as 1ms or less, for a smoother scheduling of packets. ! # Consider, however, that reducing the granularity too much might ! # cause excessive overhead in clock interrupt processing, ! # potentially causing ticks to be missed and thus actually reducing ! # the accuracy of operation. options HZ=100 --- 1041,1051 ---- # The granularity of operation is controlled by the kernel option HZ whose ! # default value (1000 on most architectures) means a granularity of 1ms ! # (1s/HZ). Historically, the default was 100, but finer granularity is ! # required for DUMMYNET and other systems on modern hardware. There are ! # reasonable arguments that HZ should, in fact, be 100 still; consider, ! # that reducing the granularity too much might cause excessive overhead in ! # clock interrupt processing, potentially causing ticks to be missed and thus ! # actually reducing the accuracy of operation. options HZ=100 *************** *** 1728,1732 **** # namely those which use MII-compliant transceivers or implement # transceiver control interfaces that operate like an MII. Adding ! # "device miibus0" to the kernel config pulls in support for # the generic miibus API and all of the PHY drivers, including a # generic one for PHYs that aren't specifically handled by an --- 1736,1740 ---- # namely those which use MII-compliant transceivers or implement # transceiver control interfaces that operate like an MII. Adding ! # "device miibus" to the kernel config pulls in support for # the generic miibus API and all of the PHY drivers, including a # generic one for PHYs that aren't specifically handled by an *************** *** 1768,1772 **** --- 1776,1782 ---- # fxp: Intel EtherExpress Pro/100B # (hint of prefer_iomap can be done to prefer I/O instead of Mem mapping) + # gem: Apple GMAC/Sun ERI/Sun GEM # hme: Sun HME (Happy Meal Ethernet) + # jme: JMicron JMC260 Fast Ethernet/JMC250 Gigabit Ethernet based adapters. # le: AMD Am7900 LANCE and Am79C9xx PCnet # lge: Support for PCI gigabit ethernet adapters based on the Level 1 *************** *** 1787,1790 **** --- 1797,1801 ---- # PCnet/Home. These were previously handled by the lnc driver (and # still will be if you leave this driver out of the kernel). + # re: RealTek 8139C+/8169/816xS/811xS/8101E PCI/PCIe Ethernet adapter # rl: Support for PCI fast ethernet adapters based on the RealTek 8129/8139 # chipset. Note that the RealTek driver defaults to using programmed *************** *** 1878,1883 **** --- 1889,1898 ---- device fxp # Intel EtherExpress PRO/100B (82557, 82558) hint.fxp.0.prefer_iomap="0" + device gem # Apple GMAC/Sun ERI/Sun GEM device hme # Sun HME (Happy Meal Ethernet) + device jme # JMicron JMC250 Gigabit/JMC260 Fast Ethernet + device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet device my # Myson Fast Ethernet (MTD80X, MTD89X) + device re # RealTek 8139C+/8169/8169S/8110S device rl # RealTek 8129/8139 device pcn # AMD Am79C97x PCI 10/100 NICs *************** *** 1886,1889 **** --- 1901,1905 ---- device sis # Silicon Integrated Systems SiS 900/SiS 7016 device ste # Sundance ST201 (D-Link DFE-550TX) + device stge # Sundance/Tamarack TC9021 gigabit Ethernet device tl # Texas Instruments ThunderLAN device tx # SMC EtherPower II (83c170 ``EPIC'') Index: options =================================================================== RCS file: /cvsroot/xcast6/freebsd6/sys/conf/options,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** options 19 Jan 2008 17:46:37 -0000 1.5 --- options 28 Nov 2008 19:29:50 -0000 1.6 *************** *** 1,3 **** ! # $FreeBSD: src/sys/conf/options,v 1.510.2.23 2007/09/14 22:44:37 obrien Exp $ # # On the handling of kernel options --- 1,3 ---- ! # $FreeBSD: src/sys/conf/options,v 1.510.2.25.2.1 2008/10/02 02:57:24 kensmith Exp $ # # On the handling of kernel options *************** *** 391,394 **** --- 391,396 ---- TCP_DROP_SYNFIN opt_tcp_input.h XBONEHACK + KRPC + NFSLOCKD # Netgraph(4). Use option NETGRAPH to enable the base netgraph code. *************** *** 543,546 **** --- 545,551 ---- DEBUG_MEMGUARD opt_vm.h + # The RedZone malloc(9) protection + DEBUG_REDZONE opt_vm.h + # Standard SMP options SMP opt_global.h |
From: Hajimu U. <um...@us...> - 2008-11-28 19:30:02
|
Update of /cvsroot/xcast6/freebsd6/sys/modules In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv25137/sys/modules Modified Files: Makefile Log Message: Merge FreeBSD 6.4-RELEASE into main chunk. Index: Makefile =================================================================== RCS file: /cvsroot/xcast6/freebsd6/sys/modules/Makefile,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Makefile 19 Jan 2008 17:46:37 -0000 1.5 --- Makefile 28 Nov 2008 19:29:50 -0000 1.6 *************** *** 1,3 **** ! # $FreeBSD: src/sys/modules/Makefile,v 1.450.2.35.2.1 2007/12/15 06:32:32 scottl Exp $ # oldcard -- specialized use for debugging only. --- 1,3 ---- ! # $FreeBSD: src/sys/modules/Makefile,v 1.450.2.40.2.1 2008/10/02 02:57:24 kensmith Exp $ # oldcard -- specialized use for debugging only. *************** *** 90,94 **** firmware \ fxp \ ! ${_gem} \ geom \ harp \ --- 90,94 ---- firmware \ fxp \ ! gem \ geom \ harp \ *************** *** 136,141 **** --- 136,143 ---- ${_iwi} \ ${_ixgb} \ + jme \ joy \ kbdmux \ + krpc \ kue \ le \ *************** *** 180,183 **** --- 182,186 ---- netgraph \ nfsclient \ + nfslockd \ nfsserver \ nge \ *************** *** 188,191 **** --- 191,195 ---- nullfs \ ${_nve} \ + ${_nvram} \ ${_nwfs} \ ${_oltr} \ *************** *** 378,381 **** --- 382,386 ---- _ndis= ndis _nsp= nsp + _nvram= nvram _nwfs= nwfs _oltr= oltr *************** *** 417,420 **** --- 422,426 ---- _el= el _ex= ex + _hptmv= hptmv _hptrr= hptrr _ichwd= ichwd *************** *** 488,491 **** --- 494,498 ---- _ndis= ndis _nve= nve + _nvram= nvram _ppc= ppc _rr232x= rr232x *************** *** 537,541 **** .if ${MACHINE_ARCH} == "powerpc" _ath_hal= ath_hal - _gem= gem .endif --- 544,547 ---- *************** *** 544,548 **** _auxio= auxio _em= em - _gem= gem _sound= sound .endif --- 550,553 ---- |
From: Hajimu U. <um...@us...> - 2008-11-28 19:30:02
|
Update of /cvsroot/xcast6/freebsd6/sys/netinet6 In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv25137/sys/netinet6 Modified Files: dest6.c icmp6.c in6_proto.c ip6_input.c ip6_output.c route6.c scope6.c udp6_usrreq.c Log Message: Merge FreeBSD 6.4-RELEASE into main chunk. Index: udp6_usrreq.c =================================================================== RCS file: /cvsroot/xcast6/freebsd6/sys/netinet6/udp6_usrreq.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** udp6_usrreq.c 19 Jan 2008 17:46:37 -0000 1.4 --- udp6_usrreq.c 28 Nov 2008 19:29:50 -0000 1.5 *************** *** 1,5 **** - /* $FreeBSD: src/sys/netinet6/udp6_usrreq.c,v 1.54.2.3 2006/12/29 19:25:49 jhb Exp $ */ - /* $KAME: udp6_usrreq.c,v 1.27 2001/05/21 05:45:10 jinmei Exp $ */ - /*- * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. --- 1,2 ---- *************** *** 29,32 **** --- 26,32 ---- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. + * + * $KAME: udp6_usrreq.c,v 1.27 2001/05/21 05:45:10 jinmei Exp $ + * $KAME: udp6_output.c,v 1.31 2001/05/21 16:39:15 jinmei Exp $ */ *************** *** 59,65 **** * SUCH DAMAGE. * ! * @(#)udp_var.h 8.1 (Berkeley) 6/10/93 */ #include "opt_inet.h" #include "opt_inet6.h" --- 59,68 ---- * SUCH DAMAGE. * ! * @(#)udp_usrreq.c 8.6 (Berkeley) 5/23/95 */ + #include <sys/cdefs.h> + __FBSDID("$FreeBSD: src/sys/netinet6/udp6_usrreq.c,v 1.54.2.4.2.1 2008/10/02 02:57:24 kensmith Exp $"); + #include "opt_inet.h" #include "opt_inet6.h" *************** *** 433,437 **** const struct sockaddr_in6 *sa6_src = NULL; void *cmdarg; ! struct inpcb *(*notify) __P((struct inpcb *, int)) = udp_notify; struct udp_portonly { u_int16_t uh_sport; --- 436,440 ---- const struct sockaddr_in6 *sa6_src = NULL; void *cmdarg; ! struct inpcb *(*notify)(struct inpcb *, int) = udp_notify; struct udp_portonly { u_int16_t uh_sport; Index: ip6_output.c =================================================================== RCS file: /cvsroot/xcast6/freebsd6/sys/netinet6/ip6_output.c,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ip6_output.c 13 May 2006 09:37:05 -0000 1.3 --- ip6_output.c 28 Nov 2008 19:29:50 -0000 1.4 *************** *** 1,5 **** - /* $FreeBSD: src/sys/netinet6/ip6_output.c,v 1.90.2.10 2006/02/14 21:38:46 rwatson Exp $ */ - /* $KAME: ip6_output.c,v 1.279 2002/01/26 06:12:30 jinmei Exp $ */ - /*- * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. --- 1,2 ---- *************** *** 29,32 **** --- 26,31 ---- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. + * + * $KAME: ip6_output.c,v 1.279 2002/01/26 06:12:30 jinmei Exp $ */ *************** *** 62,65 **** --- 61,67 ---- */ + #include <sys/cdefs.h> + __FBSDID("$FreeBSD: src/sys/netinet6/ip6_output.c,v 1.90.2.12.2.2 2008/10/22 14:58:23 bz Exp $"); + #include "opt_ip6fw.h" #include "opt_inet.h" *************** *** 133,150 **** static int ip6_pcbopts __P((struct ip6_pktopts **, struct mbuf *, struct socket *, struct sockopt *)); ! static int ip6_getpcbopt __P((struct ip6_pktopts *, int, struct sockopt *)); static int ip6_setpktopt __P((int, u_char *, int, struct ip6_pktopts *, int, int, int, int)); ! static int ip6_setmoptions __P((int, struct ip6_moptions **, struct mbuf *)); ! static int ip6_getmoptions __P((int, struct ip6_moptions *, struct mbuf **)); ! static int ip6_copyexthdr __P((struct mbuf **, caddr_t, int)); static int ip6_insertfraghdr __P((struct mbuf *, struct mbuf *, int, struct ip6_frag **)); ! static int ip6_insert_jumboopt __P((struct ip6_exthdrs *, u_int32_t)); ! static int ip6_splithdr __P((struct mbuf *, struct ip6_exthdrs *)); static int ip6_getpmtu __P((struct route_in6 *, struct route_in6 *, struct ifnet *, struct in6_addr *, u_long *, int *)); ! static int copypktopts __P((struct ip6_pktopts *, struct ip6_pktopts *, int)); --- 135,152 ---- static int ip6_pcbopts __P((struct ip6_pktopts **, struct mbuf *, struct socket *, struct sockopt *)); ! static int ip6_getpcbopt(struct ip6_pktopts *, int, struct sockopt *); static int ip6_setpktopt __P((int, u_char *, int, struct ip6_pktopts *, int, int, int, int)); ! static int ip6_setmoptions(int, struct ip6_moptions **, struct mbuf *); ! static int ip6_getmoptions(int, struct ip6_moptions *, struct mbuf **); ! static int ip6_copyexthdr(struct mbuf **, caddr_t, int); static int ip6_insertfraghdr __P((struct mbuf *, struct mbuf *, int, struct ip6_frag **)); ! static int ip6_insert_jumboopt(struct ip6_exthdrs *, u_int32_t); ! static int ip6_splithdr(struct mbuf *, struct ip6_exthdrs *); static int ip6_getpmtu __P((struct route_in6 *, struct route_in6 *, struct ifnet *, struct in6_addr *, u_long *, int *)); ! static int copypktopts(struct ip6_pktopts *, struct ip6_pktopts *, int); *************** *** 2557,2566 **** bad: ! if (dst->ip6po_pktinfo) free(dst->ip6po_pktinfo, M_IP6OPT); ! if (dst->ip6po_nexthop) free(dst->ip6po_nexthop, M_IP6OPT); ! if (dst->ip6po_hbh) free(dst->ip6po_hbh, M_IP6OPT); ! if (dst->ip6po_dest1) free(dst->ip6po_dest1, M_IP6OPT); ! if (dst->ip6po_dest2) free(dst->ip6po_dest2, M_IP6OPT); ! if (dst->ip6po_rthdr) free(dst->ip6po_rthdr, M_IP6OPT); return (ENOBUFS); } --- 2559,2563 ---- bad: ! ip6_clearpktopts(dst, -1); return (ENOBUFS); } *************** *** 3011,3015 **** return (EINVAL); ! for (; control->m_len; control->m_data += CMSG_ALIGN(cm->cmsg_len), control->m_len -= CMSG_ALIGN(cm->cmsg_len)) { int error; --- 3008,3012 ---- return (EINVAL); ! for (; control->m_len > 0; control->m_data += CMSG_ALIGN(cm->cmsg_len), control->m_len -= CMSG_ALIGN(cm->cmsg_len)) { int error; Index: icmp6.c =================================================================== RCS file: /cvsroot/xcast6/freebsd6/sys/netinet6/icmp6.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** icmp6.c 19 Jan 2008 17:46:37 -0000 1.4 --- icmp6.c 28 Nov 2008 19:29:50 -0000 1.5 *************** *** 1,5 **** - /* $FreeBSD: src/sys/netinet6/icmp6.c,v 1.62.2.9 2007/05/25 06:34:05 jinmei Exp $ */ - /* $KAME: icmp6.c,v 1.211 2001/04/04 05:56:20 itojun Exp $ */ - /*- * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. --- 1,2 ---- *************** *** 29,32 **** --- 26,31 ---- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. + * + * $KAME: icmp6.c,v 1.211 2001/04/04 05:56:20 itojun Exp $ */ *************** *** 62,65 **** --- 61,67 ---- */ + #include <sys/cdefs.h> + __FBSDID("$FreeBSD: src/sys/netinet6/icmp6.c,v 1.62.2.11.2.1 2008/10/02 02:57:24 kensmith Exp $"); + #include "opt_inet.h" #include "opt_inet6.h" *************** *** 128,144 **** extern int icmp6_nodeinfo; ! static void icmp6_errcount __P((struct icmp6errstat *, int, int)); ! static int icmp6_rip6_input __P((struct mbuf **, int)); ! static int icmp6_ratelimit __P((const struct in6_addr *, const int, const int)); static const char *icmp6_redirect_diag __P((struct in6_addr *, struct in6_addr *, struct in6_addr *)); ! static struct mbuf *ni6_input __P((struct mbuf *, int)); ! static struct mbuf *ni6_nametodns __P((const char *, int, int)); ! static int ni6_dnsmatch __P((const char *, int, const char *, int)); static int ni6_addrs __P((struct icmp6_nodeinfo *, struct mbuf *, struct ifnet **, struct in6_addr *)); static int ni6_store_addrs __P((struct icmp6_nodeinfo *, struct icmp6_nodeinfo *, struct ifnet *, int)); ! static int icmp6_notify_error __P((struct mbuf **, int, int, int)); --- 130,146 ---- extern int icmp6_nodeinfo; ! static void icmp6_errcount(struct icmp6errstat *, int, int); ! static int icmp6_rip6_input(struct mbuf **, int); ! static int icmp6_ratelimit(const struct in6_addr *, const int, const int); static const char *icmp6_redirect_diag __P((struct in6_addr *, struct in6_addr *, struct in6_addr *)); ! static struct mbuf *ni6_input(struct mbuf *, int); ! static struct mbuf *ni6_nametodns(const char *, int, int); ! static int ni6_dnsmatch(const char *, int, const char *, int); static int ni6_addrs __P((struct icmp6_nodeinfo *, struct mbuf *, struct ifnet **, struct in6_addr *)); static int ni6_store_addrs __P((struct icmp6_nodeinfo *, struct icmp6_nodeinfo *, struct ifnet *, int)); ! static int icmp6_notify_error(struct mbuf **, int, int, int); *************** *** 913,917 **** /* Detect the upper level protocol */ { ! void (*ctlfunc) __P((int, struct sockaddr *, void *)); u_int8_t nxt = eip6->ip6_nxt; int eoff = off + sizeof(struct icmp6_hdr) + --- 915,919 ---- /* Detect the upper level protocol */ { ! void (*ctlfunc)(int, struct sockaddr *, void *); u_int8_t nxt = eip6->ip6_nxt; int eoff = off + sizeof(struct icmp6_hdr) + *************** *** 1100,1104 **** } ! ctlfunc = (void (*) __P((int, struct sockaddr *, void *))) (inet6sw[ip6_protox[nxt]].pr_ctlinput); if (ctlfunc) { --- 1102,1106 ---- } ! ctlfunc = (void (*)(int, struct sockaddr *, void *)) (inet6sw[ip6_protox[nxt]].pr_ctlinput); if (ctlfunc) { *************** *** 1149,1152 **** --- 1151,1163 ---- return; + /* + * In case the suggested mtu is less than IPV6_MMTU, we + * only need to remember that it was for above mentioned + * "alwaysfrag" case. + * Try to be as close to the spec as possible. + */ + if (mtu < IPV6_MMTU) + mtu = IPV6_MMTU - 8; + bzero(&inc, sizeof(inc)); inc.inc_flags = 1; /* IPv6 */ Index: ip6_input.c =================================================================== RCS file: /cvsroot/xcast6/freebsd6/sys/netinet6/ip6_input.c,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ip6_input.c 13 May 2006 09:37:05 -0000 1.3 --- ip6_input.c 28 Nov 2008 19:29:50 -0000 1.4 *************** *** 1,5 **** - /* $FreeBSD: src/sys/netinet6/ip6_input.c,v 1.81.2.4 2006/01/31 16:36:11 ume Exp $ */ - /* $KAME: ip6_input.c,v 1.259 2002/01/21 04:58:09 jinmei Exp $ */ - /*- * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. --- 1,2 ---- *************** *** 29,32 **** --- 26,31 ---- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. + * + * $KAME: ip6_input.c,v 1.259 2002/01/21 04:58:09 jinmei Exp $ */ *************** *** 62,65 **** --- 61,67 ---- */ + #include <sys/cdefs.h> + __FBSDID("$FreeBSD: src/sys/netinet6/ip6_input.c,v 1.81.2.5.2.1 2008/10/02 02:57:24 kensmith Exp $"); + #include "opt_ip6fw.h" #include "opt_inet.h" *************** *** 151,159 **** struct ip6stat ip6stat; ! static void ip6_init2 __P((void *)); ! static struct ip6aux *ip6_setdstifaddr __P((struct mbuf *, struct in6_ifaddr *)); ! static int ip6_hopopts_input __P((u_int32_t *, u_int32_t *, struct mbuf **, int *)); #ifdef PULLDOWN_TEST ! static struct mbuf *ip6_pullexthdr __P((struct mbuf *, size_t, int)); #endif --- 153,161 ---- struct ip6stat ip6stat; ! static void ip6_init2(void *); ! static struct ip6aux *ip6_setdstifaddr(struct mbuf *, struct in6_ifaddr *); ! static int ip6_hopopts_input(u_int32_t *, u_int32_t *, struct mbuf **, int *); #ifdef PULLDOWN_TEST ! static struct mbuf *ip6_pullexthdr(struct mbuf *, size_t, int); #endif Index: dest6.c =================================================================== RCS file: /cvsroot/xcast6/freebsd6/sys/netinet6/dest6.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** dest6.c 4 Nov 2005 10:37:31 -0000 1.2 --- dest6.c 28 Nov 2008 19:29:50 -0000 1.3 *************** *** 1,5 **** - /* $FreeBSD: src/sys/netinet6/dest6.c,v 1.10 2005/01/07 02:30:34 imp Exp $ */ - /* $KAME: dest6.c,v 1.59 2003/07/11 13:21:16 t-momose Exp $ */ - /*- * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. --- 1,2 ---- *************** *** 29,34 **** --- 26,36 ---- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. + * + * $KAME: dest6.c,v 1.59 2003/07/11 13:21:16 t-momose Exp $ */ + #include <sys/cdefs.h> + __FBSDID("$FreeBSD: src/sys/netinet6/dest6.c,v 1.10.2.1.2.1 2008/10/02 02:57:24 kensmith Exp $"); + #include "opt_inet.h" #include "opt_inet6.h" Index: scope6.c =================================================================== RCS file: /cvsroot/xcast6/freebsd6/sys/netinet6/scope6.c,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** scope6.c 13 May 2006 09:37:05 -0000 1.3 --- scope6.c 28 Nov 2008 19:29:50 -0000 1.4 *************** *** 1,5 **** - /* $FreeBSD: src/sys/netinet6/scope6.c,v 1.12.2.1 2005/11/04 20:26:15 ume Exp $ */ - /* $KAME: scope6.c,v 1.10 2000/07/24 13:29:31 itojun Exp $ */ - /*- * Copyright (C) 2000 WIDE Project. --- 1,2 ---- *************** *** 29,34 **** --- 26,36 ---- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. + * + * $KAME: scope6.c,v 1.10 2000/07/24 13:29:31 itojun Exp $ */ + #include <sys/cdefs.h> + __FBSDID("$FreeBSD: src/sys/netinet6/scope6.c,v 1.12.2.2.2.1 2008/10/02 02:57:24 kensmith Exp $"); + #include "opt_xcast6.h" Index: route6.c =================================================================== RCS file: /cvsroot/xcast6/freebsd6/sys/netinet6/route6.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** route6.c 19 Jan 2008 17:46:37 -0000 1.4 --- route6.c 28 Nov 2008 19:29:50 -0000 1.5 *************** *** 1,5 **** - /* $FreeBSD: src/sys/netinet6/route6.c,v 1.11.2.2 2007/04/24 11:42:42 gnn Exp $ */ - /* $KAME: route6.c,v 1.24 2001/03/14 03:07:05 itojun Exp $ */ - /*- * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. --- 1,2 ---- *************** *** 29,34 **** --- 26,36 ---- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. + * + * $KAME: route6.c,v 1.24 2001/03/14 03:07:05 itojun Exp $ */ + #include <sys/cdefs.h> + __FBSDID("$FreeBSD: src/sys/netinet6/route6.c,v 1.11.2.3.2.1 2008/10/02 02:57:24 kensmith Exp $"); + #include "opt_inet.h" #include "opt_inet6.h" Index: in6_proto.c =================================================================== RCS file: /cvsroot/xcast6/freebsd6/sys/netinet6/in6_proto.c,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** in6_proto.c 19 Jan 2008 17:46:37 -0000 1.5 --- in6_proto.c 28 Nov 2008 19:29:50 -0000 1.6 *************** *** 1,5 **** - /* $FreeBSD: src/sys/netinet6/in6_proto.c,v 1.32.2.8 2007/05/25 06:34:05 jinmei Exp $ */ - /* $KAME: in6_proto.c,v 1.91 2001/05/27 13:28:35 itojun Exp $ */ - /*- * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. --- 1,2 ---- *************** *** 29,32 **** --- 26,31 ---- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. + * + * $KAME: in6_proto.c,v 1.91 2001/05/27 13:28:35 itojun Exp $ */ *************** *** 62,65 **** --- 61,67 ---- */ + #include <sys/cdefs.h> + __FBSDID("$FreeBSD: src/sys/netinet6/in6_proto.c,v 1.32.2.10.2.1 2008/10/02 02:57:24 kensmith Exp $"); + #include "opt_inet.h" #include "opt_inet6.h" *************** *** 327,331 **** }; ! extern int in6_inithead __P((void **, int)); struct domain inet6domain = { --- 329,333 ---- }; ! extern int in6_inithead(void **, int); struct domain inet6domain = { *************** *** 358,361 **** --- 360,364 ---- #define IPV6_SENDREDIRECTS 1 #endif + int nd6_onlink_ns_rfc4861 = 0; /* allow 'on-link' nd6 NS (as in RFC 4861) */ int ip6_forwarding = IPV6FORWARDING; /* act as router? */ *************** *** 560,561 **** --- 563,567 ---- SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_DEBUG, nd6_debug, CTLFLAG_RW, &nd6_debug, 0, ""); + SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_ONLINKNSRFC4861, + nd6_onlink_ns_rfc4861, CTLFLAG_RW, &nd6_onlink_ns_rfc4861, 0, + "Accept 'on-link' nd6 NS in compliance with RFC 4861."); |
From: Hajimu U. <um...@us...> - 2008-11-28 19:30:01
|
Update of /cvsroot/xcast6/freebsd6/sys/netinet In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv25137/sys/netinet Modified Files: ip_fw2.c Log Message: Merge FreeBSD 6.4-RELEASE into main chunk. Index: ip_fw2.c =================================================================== RCS file: /cvsroot/xcast6/freebsd6/sys/netinet/ip_fw2.c,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** ip_fw2.c 19 Jan 2008 17:46:37 -0000 1.5 --- ip_fw2.c 28 Nov 2008 19:29:50 -0000 1.6 *************** *** 23,27 **** * SUCH DAMAGE. * ! * $FreeBSD: src/sys/netinet/ip_fw2.c,v 1.106.2.40 2007/06/07 09:50:53 bz Exp $ */ --- 23,27 ---- * SUCH DAMAGE. * ! * $FreeBSD: src/sys/netinet/ip_fw2.c,v 1.106.2.41.2.1 2008/10/02 02:57:24 kensmith Exp $ */ *************** *** 2392,2398 **** case IPPROTO_NONE: /* RFC 2460 */ ! PULLUP_TO(hlen, ulp, struct ip6_ext); ! /* Packet ends here. if ip6e_len!=0 octets ! * must be ignored. */ break; --- 2392,2401 ---- case IPPROTO_NONE: /* RFC 2460 */ ! /* ! * Packet ends here, and IPv6 header has ! * already been pulled up. If ip6e_len!=0 ! * then octets must be ignored. ! */ ! ulp = ip; /* non-NULL to get out of loop. */ break; |
From: Hajimu U. <um...@us...> - 2008-11-28 19:29:56
|
Update of /cvsroot/xcast6/freebsd6/sys/net In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv25137/sys/net Modified Files: if_types.h Log Message: Merge FreeBSD 6.4-RELEASE into main chunk. Index: if_types.h =================================================================== RCS file: /cvsroot/xcast6/freebsd6/sys/net/if_types.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** if_types.h 16 Jan 2007 04:58:50 -0000 1.3 --- if_types.h 28 Nov 2008 19:29:50 -0000 1.4 *************** *** 28,32 **** * * @(#)if_types.h 8.3 (Berkeley) 4/28/95 ! * $FreeBSD: src/sys/net/if_types.h,v 1.21.2.1 2006/07/24 23:20:58 thompsa Exp $ * $NetBSD: if_types.h,v 1.16 2000/04/19 06:30:53 itojun Exp $ */ --- 28,32 ---- * * @(#)if_types.h 8.3 (Berkeley) 4/28/95 ! * $FreeBSD: src/sys/net/if_types.h,v 1.21.2.1.6.1 2008/10/02 02:57:24 kensmith Exp $ * $NetBSD: if_types.h,v 1.16 2000/04/19 06:30:53 itojun Exp $ */ |
From: Hajimu U. <um...@us...> - 2008-11-28 18:49:17
|
Update of /cvsroot/xcast6/freebsd6/sys/boot/pc98/boot2 In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv22887/sys/boot/pc98/boot2 Removed Files: Tag: freebsd README.serial.98 Log Message: remove obsoleted files --- README.serial.98 DELETED --- |
From: Hajimu U. <um...@us...> - 2008-11-28 18:49:17
|
Update of /cvsroot/xcast6/freebsd6/sys/dev/cxgb In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv22887/sys/dev/cxgb Removed Files: Tag: freebsd t3fw-4.5.0.bin.gz.uu Log Message: remove obsoleted files --- t3fw-4.5.0.bin.gz.uu DELETED --- |
From: Yuji I. <ki...@la...> - 2008-03-03 00:29:32
|
?????????????????????? Hajimu UMEMOTO wrote:: > Update of /cvsroot/xcast6/doc > In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv16667/doc > > Modified Files: > ChangeLog README-XCAST6.txt > Log Message: > Add support for FreeBSD 7.0-RELEASE. > > > Index: README-XCAST6.txt > =================================================================== > RCS file: /cvsroot/xcast6/doc/README-XCAST6.txt,v > retrieving revision 1.45 > retrieving revision 1.46 > diff -C2 -d -r1.45 -r1.46 > *** README-XCAST6.txt 20 Jan 2008 12:44:18 -0000 1.45 > --- README-XCAST6.txt 2 Mar 2008 17:27:26 -0000 1.46 > *************** > *** 8,11 **** > --- 8,12 ---- > FreeBSD 5.5-RELEASE > FreeBSD 6.3-RELEASE > + FreeBSD 7.0-RELEASE > > * Installation > *************** > *** 33,36 **** > --- 34,39 ---- > - patch file for FreeBSD 6.3-RELEASE > xcast6-0.2.1-1-freebsd-sys-6.3.diff.gz > + - patch file for FreeBSD 7.0-RELEASE > + xcast6-0.2.1-1-freebsd-sys-7.0.diff.gz > > For example: > > Index: ChangeLog > =================================================================== > RCS file: /cvsroot/xcast6/doc/ChangeLog,v > retrieving revision 1.36 > retrieving revision 1.37 > diff -C2 -d -r1.36 -r1.37 > *** ChangeLog 20 Jan 2008 12:44:18 -0000 1.36 > --- ChangeLog 2 Mar 2008 17:27:26 -0000 1.37 > *************** > *** 1,2 **** > --- 1,6 ---- > + 2008-03-03 Hajimu UMEMOTO <um...@ma...> > + > + * freebsd7: add support for FreeBSD 7.0-RELEASE. > + > 2008-01-20 Hajimu UMEMOTO <um...@ma...> > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Microsoft > Defy all challenges. Microsoft(R) Visual Studio 2008. > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ > _______________________________________________ > Xcast6-cvs mailing list > Xca...@li... > https://lists.sourceforge.net/lists/listinfo/xcast6-cvs |
From: Hajimu U. <um...@us...> - 2008-03-02 17:27:23
|
Update of /cvsroot/xcast6/doc In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv16667/doc Modified Files: ChangeLog README-XCAST6.txt Log Message: Add support for FreeBSD 7.0-RELEASE. Index: README-XCAST6.txt =================================================================== RCS file: /cvsroot/xcast6/doc/README-XCAST6.txt,v retrieving revision 1.45 retrieving revision 1.46 diff -C2 -d -r1.45 -r1.46 *** README-XCAST6.txt 20 Jan 2008 12:44:18 -0000 1.45 --- README-XCAST6.txt 2 Mar 2008 17:27:26 -0000 1.46 *************** *** 8,11 **** --- 8,12 ---- FreeBSD 5.5-RELEASE FreeBSD 6.3-RELEASE + FreeBSD 7.0-RELEASE * Installation *************** *** 33,36 **** --- 34,39 ---- - patch file for FreeBSD 6.3-RELEASE xcast6-0.2.1-1-freebsd-sys-6.3.diff.gz + - patch file for FreeBSD 7.0-RELEASE + xcast6-0.2.1-1-freebsd-sys-7.0.diff.gz For example: Index: ChangeLog =================================================================== RCS file: /cvsroot/xcast6/doc/ChangeLog,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -d -r1.36 -r1.37 *** ChangeLog 20 Jan 2008 12:44:18 -0000 1.36 --- ChangeLog 2 Mar 2008 17:27:26 -0000 1.37 *************** *** 1,2 **** --- 1,6 ---- + 2008-03-03 Hajimu UMEMOTO <um...@ma...> + + * freebsd7: add support for FreeBSD 7.0-RELEASE. + 2008-01-20 Hajimu UMEMOTO <um...@ma...> |
From: Hajimu U. <um...@us...> - 2008-03-02 17:27:22
|
Update of /cvsroot/xcast6/reltools In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv16667/reltools Modified Files: makerelease.sh tagger.sh Log Message: Add support for FreeBSD 7.0-RELEASE. Index: tagger.sh =================================================================== RCS file: /cvsroot/xcast6/reltools/tagger.sh,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** tagger.sh 31 Dec 2007 03:27:10 -0000 1.11 --- tagger.sh 2 Mar 2008 17:27:27 -0000 1.12 *************** *** 3,7 **** # $Id$ ! reps="doc libxcast ping6x traceroute6x netbsd-3 netbsd-4 freebsd4 freebsd5 freebsd6 rat vic xcgroup tcpdump" # w/o reltools dir. if [ $# -lt 1 ]; then --- 3,7 ---- # $Id$ ! reps="doc libxcast ping6x traceroute6x netbsd-3 netbsd-4 freebsd4 freebsd5 freebsd6 freebsd7 rat vic xcgroup tcpdump" # w/o reltools dir. if [ $# -lt 1 ]; then Index: makerelease.sh =================================================================== RCS file: /cvsroot/xcast6/reltools/makerelease.sh,v retrieving revision 1.40 retrieving revision 1.41 diff -C2 -d -r1.40 -r1.41 *** makerelease.sh 19 Jan 2008 18:07:07 -0000 1.40 --- makerelease.sh 2 Mar 2008 17:27:27 -0000 1.41 *************** *** 3,7 **** # $Id$ ! build_modules='doc freebsd4 freebsd5 freebsd6 libxcast netbsd3 netbsd4 ping6x rat tcpdump traceroute6x vic xcgroup' all_modules="${build_modules} freebsd462 libem6" --- 3,7 ---- # $Id$ ! build_modules='doc freebsd4 freebsd5 freebsd6 freebsd7 libxcast netbsd3 netbsd4 ping6x rat tcpdump traceroute6x vic xcgroup' all_modules="${build_modules} freebsd462 libem6" *************** *** 36,39 **** --- 36,44 ---- freebsd6_origtag='-r freebsd-6-3-release' + ## freebsd7/sys + freebsd7_name=freebsd-sys-7.0 + freebsd7_rep=freebsd7/sys + freebsd7_origtag='-r freebsd-7-0-release' + ## rat rat_name=rat-4.2.25 |
From: Hajimu U. <um...@us...> - 2008-03-02 17:12:05
|
Update of /cvsroot/xcast6/freebsd7/sys/net In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv7855/sys/net Modified Files: if_types.h Log Message: Merge XCAST6 support to FreeBSD 7.0-RELEASE. Index: if_types.h =================================================================== RCS file: /cvsroot/xcast6/freebsd7/sys/net/if_types.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** if_types.h 1 Mar 2008 18:25:31 -0000 1.1.1.1 --- if_types.h 2 Mar 2008 17:11:33 -0000 1.2 *************** *** 252,254 **** --- 252,255 ---- #define IFT_CARP 0xf8 /* Common Address Redundancy Protocol */ #define IFT_IPXIP 0xf9 /* IPX over IP tunneling; no longer used. */ + #define IFT_XCST 0xfa #endif /* !_NET_IF_TYPES_H_ */ |
From: Hajimu U. <um...@us...> - 2008-03-02 17:12:05
|
Update of /cvsroot/xcast6/freebsd7/sys/netinet In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv7855/sys/netinet Modified Files: ip_fw2.c Log Message: Merge XCAST6 support to FreeBSD 7.0-RELEASE. Index: ip_fw2.c =================================================================== RCS file: /cvsroot/xcast6/freebsd7/sys/netinet/ip_fw2.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** ip_fw2.c 1 Mar 2008 18:26:55 -0000 1.1.1.1 --- ip_fw2.c 2 Mar 2008 17:11:34 -0000 1.2 *************** *** 45,48 **** --- 45,49 ---- #include "opt_inet6.h" #include "opt_ipsec.h" + #include "opt_xcast6.h" #include "opt_mac.h" *************** *** 104,107 **** --- 105,111 ---- #include <netinet6/scope6_var.h> #endif + #ifdef XCAST6 + #include <netinet6/xcast6.h> + #endif #include <netinet/if_ether.h> /* XXX for ETHERTYPE_IP */ *************** *** 2395,2398 **** --- 2399,2406 ---- int is_ipv4 = 0; + #ifdef XCAST6 + int is_xcast6; + #endif + if (m->m_flags & M_SKIP_FIREWALL) return (IP_FW_PASS); /* accept */ *************** *** 2433,2436 **** --- 2441,2447 ---- hlen = sizeof(struct ip6_hdr); proto = ip6->ip6_nxt; + #ifdef XCAST6 + is_xcast6 = 0; + #endif /* Search extension headers to find upper layer protocols */ *************** *** 2466,2469 **** --- 2477,2483 ---- hlen += (((struct ip6_hbh *)ulp)->ip6h_len + 1) << 3; proto = ((struct ip6_hbh *)ulp)->ip6h_nxt; + #ifdef XCAST6 + is_xcast6 = 1; + #endif ulp = NULL; break; *************** *** 2478,2481 **** --- 2492,2499 ---- ext_hd |= EXT_RTHDR2; break; + #ifdef IPV6_RTHDR_TYPE_XCAST6 + case IPV6_RTHDR_TYPE_XCAST6: + break; + #endif default: printf("IPFW2: IPV6 - Unknown Routing " *************** *** 2566,2569 **** --- 2584,2595 ---- case IPPROTO_IPV6: /* RFC 2893 */ PULLUP_TO(hlen, ulp, struct ip6_hdr); + #ifdef XCAST6 + if (is_xcast6) { + hlen += sizeof(struct ip6_hdr); + proto = ((struct ip6_hdr *)ulp)->ip6_nxt; + ulp = NULL; + break; + } + #endif break; |
From: Hajimu U. <um...@us...> - 2008-03-02 17:12:05
|
Update of /cvsroot/xcast6/freebsd7/sys/modules/ipfw In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv7855/sys/modules/ipfw Modified Files: Makefile Log Message: Merge XCAST6 support to FreeBSD 7.0-RELEASE. Index: Makefile =================================================================== RCS file: /cvsroot/xcast6/freebsd7/sys/modules/ipfw/Makefile,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** Makefile 1 Mar 2008 18:25:12 -0000 1.1.1.1 --- Makefile 2 Mar 2008 17:11:33 -0000 1.2 *************** *** 7,11 **** KMOD= ipfw SRCS= ip_fw2.c ip_fw_pfil.c ! SRCS+= opt_inet6.h opt_ipsec.h opt_mac.h CFLAGS+= -DIPFIREWALL --- 7,11 ---- KMOD= ipfw SRCS= ip_fw2.c ip_fw_pfil.c ! SRCS+= opt_inet6.h opt_ipsec.h opt_mac.h opt_xcast6.h CFLAGS+= -DIPFIREWALL |
From: Hajimu U. <um...@us...> - 2008-03-02 17:12:00
|
Update of /cvsroot/xcast6/freebsd7/sys/modules In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv7855/sys/modules Modified Files: Makefile Log Message: Merge XCAST6 support to FreeBSD 7.0-RELEASE. Index: Makefile =================================================================== RCS file: /cvsroot/xcast6/freebsd7/sys/modules/Makefile,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** Makefile 1 Mar 2008 18:25:10 -0000 1.1.1.1 --- Makefile 2 Mar 2008 17:11:33 -0000 1.2 *************** *** 120,123 **** --- 120,124 ---- if_tun \ if_vlan \ + if_xcst \ ${_iir} \ ${_io} \ |
From: Hajimu U. <um...@us...> - 2008-03-02 17:11:59
|
Update of /cvsroot/xcast6/freebsd7/sys/conf In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv7855/sys/conf Modified Files: NOTES files options Log Message: Merge XCAST6 support to FreeBSD 7.0-RELEASE. Index: files =================================================================== RCS file: /cvsroot/xcast6/freebsd7/sys/conf/files,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** files 1 Mar 2008 18:10:04 -0000 1.1.1.1 --- files 2 Mar 2008 17:11:33 -0000 1.2 *************** *** 1900,1903 **** --- 1900,1904 ---- netinet6/frag6.c optional inet6 netinet6/icmp6.c optional inet6 + netinet6/if_xcst.c optional xcst inet6 xcast6 nowerror netinet6/in6.c optional inet6 netinet6/in6_cksum.c optional inet6 *************** *** 1923,1926 **** --- 1924,1928 ---- netinet6/sctp6_usrreq.c optional inet6 sctp netinet6/udp6_usrreq.c optional inet6 + netinet6/xcast6.c optional inet6 xcast6 netipsec/ipsec.c optional ipsec netipsec/ipsec_input.c optional ipsec Index: NOTES =================================================================== RCS file: /cvsroot/xcast6/freebsd7/sys/conf/NOTES,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** NOTES 1 Mar 2008 18:10:03 -0000 1.1.1.1 --- NOTES 2 Mar 2008 17:11:33 -0000 1.2 *************** *** 794,797 **** --- 794,798 ---- device faith #for IPv6 and IPv4 translation device stf #6to4 IPv6 over IPv4 encapsulation + device xcst #XCAST6 # Index: options =================================================================== RCS file: /cvsroot/xcast6/freebsd7/sys/conf/options,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** options 1 Mar 2008 18:10:05 -0000 1.1.1.1 --- options 2 Mar 2008 17:11:33 -0000 1.2 *************** *** 364,367 **** --- 364,368 ---- IPSEC_DEBUG opt_ipsec.h IPSEC_FILTERTUNNEL opt_ipsec.h + XCAST6 opt_xcast6.h IPDIVERT DUMMYNET opt_ipdn.h |
From: Hajimu U. <um...@us...> - 2008-03-02 17:11:38
|
Update of /cvsroot/xcast6/freebsd7/sys/modules/if_xcst In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv7855/sys/modules/if_xcst Added Files: Makefile Log Message: Merge XCAST6 support to FreeBSD 7.0-RELEASE. --- NEW FILE: Makefile --- # $Id: Makefile,v 1.1 2008/03/02 17:11:33 umemoto Exp $ .PATH: ${.CURDIR}/../../net ${.CURDIR}/../../netinet ${.CURDIR}/../../netinet6 KMOD= if_xcst SRCS= if_xcst.c opt_inet.h opt_inet6.h opt_xcast6.h WERROR= opt_inet.h: echo "#define INET 1" > ${.TARGET} opt_inet6.h: echo "#define INET6 1" > ${.TARGET} opt_xcast6.h: echo "#define XCAST6 1" > ${.TARGET} .include <bsd.kmod.mk> |
From: Hajimu U. <um...@us...> - 2008-03-02 17:11:36
|
Update of /cvsroot/xcast6/freebsd7/sys/netinet6 In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv7855/sys/netinet6 Modified Files: dest6.c icmp6.c in6_proto.c ip6_input.c ip6_output.c route6.c scope6.c udp6_usrreq.c Added Files: if_xcst.c if_xcst.h xcast6.c xcast6.h Log Message: Merge XCAST6 support to FreeBSD 7.0-RELEASE. --- NEW FILE: if_xcst.h --- /* * Copyright (C) 2001 FUJITSU LABORATRIES LTD. * 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. */ #ifndef _NETINET6_IF_XCST_H_ #define _NETINET6_IF_XCST_H_ struct encaptab; struct xcst_softc { #if !defined(__FreeBSD__) || __FreeBSD_version < 600031 struct ifnet sc_if; /* our ifnet structure */ #else struct ifnet *sc_ifp; /* our ifnet structure */ #endif struct in6_addr sc_src6; /* source address */ int sc_hassrc; const struct encaptab *sc_cookie; #if defined(__FreeBSD__) #if __FreeBSD_version < 501113 struct resource *r_unit; /* resource allocated for this unit */ #endif #if __FreeBSD_version < 700004 LIST_ENTRY(xcst_softc) sc_list; /* all xcst's are linked */ #endif #endif }; #if !defined(__FreeBSD__) || __FreeBSD_version < 600031 #define XCST2IFP(sc) (&(sc)->sc_if) #else #define XCST2IFP(sc) ((sc)->sc_ifp) #endif #ifdef _KERNEL int xcst_input __P((struct mbuf **, int *, int)); #endif #endif /* _NETINET6_IF_XCST_H_ */ Index: udp6_usrreq.c =================================================================== RCS file: /cvsroot/xcast6/freebsd7/sys/netinet6/udp6_usrreq.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** udp6_usrreq.c 1 Mar 2008 18:27:39 -0000 1.1.1.1 --- udp6_usrreq.c 2 Mar 2008 17:11:34 -0000 1.2 *************** *** 67,70 **** --- 67,71 ---- #include "opt_inet6.h" #include "opt_ipsec.h" + #include "opt_xcast6.h" #include "opt_mac.h" *************** *** 113,116 **** --- 114,121 ---- #include <security/mac/mac_framework.h> + #ifdef XCAST6 + #include <netinet6/xcast6.h> + #endif + /* * UDP protocol implementation. *************** *** 229,232 **** --- 234,241 ---- if (IN6_IS_ADDR_MULTICAST(&ip6->ip6_dst)) { struct inpcb *last; + #ifdef XCAST6_DESTOPT + u_int16_t dport; + xcast6_ctl_t *x6c; + #endif /* *************** *** 246,254 **** --- 255,276 ---- */ last = NULL; + #ifdef XCAST6_DESTOPT + dport = uh->uh_dport; + if (xcast6_enable) { + x6c = xcast6_getctl(m); + if (x6c != NULL && x6c->x6c_port != 0) + dport = x6c->x6c_port; + } + #endif LIST_FOREACH(inp, &udb, inp_list) { if ((inp->inp_vflag & INP_IPV6) == 0) continue; + #ifndef XCAST6_DESTOPT if (inp->in6p_lport != uh->uh_dport) continue; + #else + if (inp->in6p_lport != dport) + continue; + #endif /* * XXX: Do not check source port of incoming datagram *************** *** 296,299 **** --- 318,332 ---- if (last == NULL) { + #ifdef XCAST6 + /* + * Reflect ICMP6 error if requested. + * icmp6_error() judges whether ICMP6 error should + * be sent or not. + */ + m->m_flags |= M_LOOP; /* XXX */ + icmp6_error(m, ICMP6_DST_UNREACH, + ICMP6_DST_UNREACH_NOPORT, 0); + m = NULL; + #else /* * No matching pcb found; discard datagram. (No need *************** *** 301,304 **** --- 334,338 ---- * or multicast datgram.) */ + #endif udpstat.udps_noport++; udpstat.udps_noportmcast++; Index: ip6_output.c =================================================================== RCS file: /cvsroot/xcast6/freebsd7/sys/netinet6/ip6_output.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** ip6_output.c 1 Mar 2008 18:27:37 -0000 1.1.1.1 --- ip6_output.c 2 Mar 2008 17:11:34 -0000 1.2 *************** *** 65,68 **** --- 65,69 ---- #include "opt_inet6.h" #include "opt_ipsec.h" + #include "opt_xcast6.h" #include <sys/param.h> *************** *** 99,102 **** --- 100,107 ---- #endif /* IPSEC */ + #ifdef XCAST6 + #include <netinet6/xcast6.h> + #endif + #include <netinet6/ip6protosw.h> #include <netinet6/scope6_var.h> *************** *** 460,463 **** --- 465,480 ---- in6_clearscope(addr + rh0->ip6r0_segleft - 1); break; + #ifdef XCAST6 + case IPV6_RTHDR_TYPE_XCAST6: + if (!xcast6_enable) { + error = EINVAL; + goto bad; + } + /* + * leave untouched. + * The header is processed in xcst_output later. + */ + break; + #endif default: /* is it possible? */ error = EINVAL; *************** *** 559,562 **** --- 576,590 ---- case ENOMEM: break; + #ifdef XCAST6 + case IPV6_RTHDR_TYPE_XCAST6: + if (!xcast6_enable) + return(EINVAL); + /* + * Simply "break" here. + * Validation of XCAST6 routing header will be + * done in xcast6_branch(). + */ + break; + #endif default: printf("ip6_output (ipsec): error code %d\n", error); *************** *** 3030,3033 **** --- 3058,3075 ---- struct ip6_hbh *hbh; int hbhlen; + #ifdef XCAST6 + int nopriv = 0; + + if (len >= sizeof(struct ip6_hbh) + sizeof(xcast6_hbh_t)) { + xcast6_hbh_t *h; + + hbh = (struct ip6_hbh *)buf; + h = (xcast6_hbh_t *)(hbh + 1); + if (h->x6h_type == IP6OPT_TYPE_XCAST6 && + len == ((sizeof(struct ip6_hbh) + + sizeof(xcast6_hbh_t) + h->x6h_optdlen + 7) & ~7)) + nopriv = 1; + } + #endif /* *************** *** 3036,3040 **** --- 3078,3086 ---- * overhead. */ + #ifdef XCAST6 + if (!nopriv && !priv) + #else if (!priv) + #endif return (EPERM); *************** *** 3154,3157 **** --- 3200,3208 ---- return (EINVAL); break; + #ifdef XCAST6 + case IPV6_RTHDR_TYPE_XCAST6: + /* XXX: we must do validation check */ + break; + #endif default: return (EINVAL); /* not supported */ Index: in6_proto.c =================================================================== RCS file: /cvsroot/xcast6/freebsd7/sys/netinet6/in6_proto.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** in6_proto.c 1 Mar 2008 18:27:32 -0000 1.1.1.1 --- in6_proto.c 2 Mar 2008 17:11:34 -0000 1.2 *************** *** 68,71 **** --- 68,72 ---- #include "opt_carp.h" #include "opt_sctp.h" + #include "opt_xcast6.h" #include <sys/param.h> *************** *** 121,124 **** --- 122,129 ---- #endif /* IPSEC */ + #ifdef XCAST6 + #include <netinet6/xcast6.h> + #endif + #include <netinet6/ip6protosw.h> *************** *** 442,445 **** --- 447,453 ---- SYSCTL_NODE(_net_inet6, IPPROTO_ESP, ipsec6, CTLFLAG_RW, 0, "IPSEC6"); #endif /* IPSEC */ + #ifdef XCAST6 + SYSCTL_NODE(_net_inet6, IPPROTO_ROUTING,route6, CTLFLAG_RW, 0, "ROUTE6"); + #endif /* net.inet6.ip6 */ --- NEW FILE: if_xcst.c --- /* * Copyright (C) 2001 FUJITSU LABORATRIES LTD. * 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. */ #include "opt_inet.h" #if defined(__FreeBSD__) #include "opt_inet6.h" #endif #include "opt_xcast6.h" #if !defined(__FreeBSD__) #include "xcst.h" #endif #if NXCST > 0 || defined(__FreeBSD__) #ifndef XCAST6 #error "need 'options XCAST6' to enable xcst device." #endif #include <sys/param.h> #include <sys/systm.h> #include <sys/kernel.h> #include <sys/socket.h> #include <sys/sockio.h> #include <sys/mbuf.h> #include <sys/errno.h> #if defined(__NetBSD__) #include <sys/ioctl.h> #elif defined (__FreeBSD__) #include <sys/malloc.h> #ifndef M_WAITOK #define M_WAITOK 0 #endif #if __FreeBSD_version < 501113 #include <machine/bus.h> /* XXX: Shouldn't really be required! */ #include <sys/rman.h> #else #include <sys/module.h> #endif #endif #include <sys/queue.h> #include <sys/time.h> #include <sys/syslog.h> #include <sys/protosw.h> #include <machine/cpu.h> #include <net/if.h> #if defined(__FreeBSD__) && __FreeBSD_version >= 501113 #include <net/if_clone.h> #endif #include <net/if_types.h> #include <net/netisr.h> #include <net/route.h> #include <netinet/in.h> #include <netinet/in_systm.h> #ifdef INET #include <netinet/ip.h> #endif #include <netinet/ip_encap.h> #ifdef INET6 #include <netinet/ip6.h> #include <netinet6/ip6_var.h> #include <netinet6/in6_var.h> #include <netinet6/ip6protosw.h> #endif #include <netinet6/if_xcst.h> #include <netinet/ip_ecn.h> #if !defined(__FreeBSD__) || __FreeBSD_version < 700000 #include <net/net_osdep.h> #endif #include <machine/stdarg.h> #ifdef XCAST6 #include <netinet6/xcast6.h> #endif #if defined(__FreeBSD__) #define NBPFILTER 1 #else #include "bpfilter.h" #endif #if NBPFILTER > 0 #include <net/bpf.h> #endif #define XCST_BASEMTU 1500 extern struct domain inet6domain; struct ip6protosw xcst_protosw = { SOCK_RAW, &inet6domain, IPPROTO_IPV6, PR_ATOMIC|PR_ADDR, xcst_input, rip6_output, 0, rip6_ctloutput, #if defined(__FreeBSD__) 0, #else rip6_usrreq, #endif 0, 0, 0, 0, }; #if !defined(__FreeBSD__) struct xcst_softc *xcst_softc; int xcst_nsoftc; #endif static int xcst_encapcheck __P((const struct mbuf *, int, int, void *)); static int xcst_process_hopopts __P((struct mbuf *, int *, int)); #if !defined(__FreeBSD__) void xcstattach __P((int)); #endif int xcst_output __P((struct ifnet *, struct mbuf *, struct sockaddr *, struct rtentry *)); int xcst_ioctl __P((struct ifnet *, u_long, caddr_t)); #if defined(__FreeBSD__) #define XCSTNAME "xcst" #if __FreeBSD_version < 700004 static LIST_HEAD(, xcst_softc) xcst_softc_list; #endif static MALLOC_DEFINE(M_XCST, XCSTNAME, "XCAST6 Interface"); #if __FreeBSD_version < 501113 static int xcst_clone_create(struct if_clone *, int *); static void xcst_clone_destroy(struct ifnet *); #define XCST_MAXUNIT 1 static struct rman xcstunits[1]; struct if_clone xcst_cloner = IF_CLONE_INITIALIZER(XCSTNAME, xcst_clone_create, xcst_clone_destroy); #else static int xcst_clone_match(struct if_clone *, const char *); #if __FreeBSD_version < 700017 static int xcst_clone_create(struct if_clone *, char *, size_t); #else static int xcst_clone_create(struct if_clone *, char *, size_t, caddr_t); #endif static int xcst_clone_destroy(struct if_clone *, struct ifnet *); #define XCSTUNIT 0 /* * All mutable global variables in if_xcst.c are protected by xcst_mtx. * XXXRW: Note that mutable fields in the softc are not currently locked: * in particular, sc_ro needs to be protected from concurrent entrance * of xcst_output(). */ #if __FreeBSD_version < 700004 static struct mtx xcst_mtx; #endif static char *xcstnames[] = {"xcst0", "xcst", "xcast", NULL}; struct if_clone xcst_cloner = IFC_CLONE_INITIALIZER(XCSTNAME, NULL, 0, NULL, xcst_clone_match, xcst_clone_create, xcst_clone_destroy); static int xcst_clone_match(struct if_clone *ifc, const char *name) { int i; for(i = 0; xcstnames[i] != NULL; i++) { if (strcmp(xcstnames[i], name) == 0) return 1; } return 0; } #endif static int #if __FreeBSD_version < 501113 xcst_clone_create(struct if_clone *ifc, int *unit) #elif __FreeBSD_version < 700017 xcst_clone_create(struct if_clone *ifc, char *name, size_t len) #else xcst_clone_create(struct if_clone *ifc, char *name, size_t len, caddr_t params) #endif { struct xcst_softc *sc; struct ifnet *ifp; #if __FreeBSD_version < 501113 struct resource *r; #else int err, unit; #endif #if __FreeBSD_version < 501113 if (*unit > XCST_MAXUNIT) return ENXIO; if (*unit < 0) { r = rman_reserve_resource(xcstunits, 0, XCST_MAXUNIT, 1, RF_ALLOCATED | RF_ACTIVE, NULL); if (r == NULL) return ENOSPC; *unit = rman_get_start(r); } else { r = rman_reserve_resource(xcstunits, *unit, *unit, 1, RF_ALLOCATED | RF_ACTIVE, NULL); if (r == NULL) return EEXIST; } sc = malloc(sizeof(struct xcst_softc), M_XCST, M_WAITOK); memset(sc, 0, sizeof(struct xcst_softc)); ifp = &sc->sc_if; ifp->if_softc = sc; ifp->if_name = XCSTNAME; ifp->if_unit = *unit; sc->r_unit = r; #else /* * We can only have one unit, but since unit allocation is * already locked, we use it to keep from allocating extra * interfaces. */ unit = XCSTUNIT; if ((err = ifc_alloc_unit(ifc, &unit)) != 0) return err; sc = malloc(sizeof(struct xcst_softc), M_XCST, M_WAITOK | M_ZERO); #if __FreeBSD_version < 600031 ifp = XCST2IFP(sc); #else ifp = XCST2IFP(sc) = if_alloc(IFT_XCST); if (ifp == NULL) { free(sc, M_XCST); ifc_free_unit(ifc, unit); return (ENOSPC); } #endif /* * Set the name manually rather then using if_initname because * we don't conform to the default naming convention for interfaces. */ strlcpy(ifp->if_xname, name, IFNAMSIZ); ifp->if_dname = ifc->ifc_name; ifp->if_dunit = IF_DUNIT_NONE; #endif sc->sc_cookie = encap_attach_func(AF_INET6, -1, xcst_encapcheck, (struct protosw *)(void *)&xcst_protosw, sc); if (sc->sc_cookie == NULL) { if_printf(ifp, "attach failed\n"); free(sc, M_XCST); #if __FreeBSD_version >= 501113 ifc_free_unit(ifc, unit); #endif return ENOMEM; } ifp->if_softc = sc; #if __FreeBSD_version < 600031 ifp->if_type = IFT_XCST; #endif ifp->if_snd.ifq_maxlen = IFQ_MAXLEN; ifp->if_flags = IFF_MULTICAST; ifp->if_output = xcst_output; ifp->if_ioctl = xcst_ioctl; ifp->if_mtu = XCST_BASEMTU; if (xcast6_sptunnel) ifp->if_mtu -= sizeof(struct ip6_hdr) + XCAST6_HBH_HDRLEN; if_attach(ifp); bpfattach(ifp, DLT_NULL, ifp->if_hdrlen); #if __FreeBSD_version < 501113 LIST_INSERT_HEAD(&xcst_softc_list, sc, sc_list); #elif __FreeBSD_version < 700004 mtx_lock(&xcst_mtx); LIST_INSERT_HEAD(&xcst_softc_list, sc, sc_list); mtx_unlock(&xcst_mtx); #endif return 0; } #if __FreeBSD_version < 700003 static void xcst_destroy(struct xcst_softc *sc) { int err; err = encap_detach(sc->sc_cookie); KASSERT(err == 0, ("Unexpected error detaching encap_cookie")); bpfdetach(XCST2IFP(sc)); if_detach(XCST2IFP(sc)); #if __FreeBSD_version >= 600031 if_free(XCST2IFP(sc)); #endif #if __FreeBSD_version < 501113 err = rman_release_resource(sc->r_unit); KASSERT(err == 0, ("Unexpected error freeing resource")); #endif free(sc, M_XCST); } #endif #if __FreeBSD_version < 501113 static void xcst_clone_destroy(struct ifnet *ifp) { struct xcst_softc *sc = ifp->if_softc; LIST_REMOVE(sc, sc_list); xcst_destroy(sc); } #else static int xcst_clone_destroy(struct if_clone *ifc, struct ifnet *ifp) { struct xcst_softc *sc = ifp->if_softc; #if __FreeBSD_version >= 700003 int err; #endif #if __FreeBSD_version < 700004 mtx_lock(&xcst_mtx); LIST_REMOVE(sc, sc_list); mtx_unlock(&xcst_mtx); #endif #if __FreeBSD_version < 700003 xcst_destroy(sc); #else err = encap_detach(sc->sc_cookie); KASSERT(err == 0, ("Unexpected error detaching encap_cookie")); bpfdetach(ifp); if_detach(ifp); if_free(ifp); free(sc, M_XCST); #endif ifc_free_unit(ifc, XCSTUNIT); return 0; } #endif static int xcst_modevent(module_t mod, int type, void *data) { #if __FreeBSD_version < 501113 int err; #elif __FreeBSD_version < 700004 struct xcst_softc *sc; #endif switch (type) { case MOD_LOAD: #if __FreeBSD_version < 700004 #if __FreeBSD_version < 501113 xcstunits->rm_type = RMAN_ARRAY; xcstunits->rm_descr = "configurable if_xcst units"; err = rman_init(xcstunits); if (err != 0) return err; err = rman_manage_region(xcstunits, 0, XCST_MAXUNIT); if (err != 0) { printf( "%s: xcstunits: rman_manage_region: Failed %d\n", XCSTNAME, err); rman_fini(xcstunits); return err; } #else mtx_init(&xcst_mtx, "xcst_mtx", NULL, MTX_DEF); #endif LIST_INIT(&xcst_softc_list); #endif if_clone_attach(&xcst_cloner); break; case MOD_UNLOAD: if_clone_detach(&xcst_cloner); #if __FreeBSD_version < 501113 while (!LIST_EMPTY(&xcst_softc_list)) xcst_clone_destroy( &LIST_FIRST(&xcst_softc_list)->sc_if); err = rman_fini(xcstunits); if (err != 0) return err; #elif __FreeBSD_version < 700004 mtx_lock(&xcst_mtx); while ((sc = LIST_FIRST(&xcst_softc_list)) != NULL) { #if __FreeBSD_version < 700003 LIST_REMOVE(sc, sc_list); mtx_unlock(&xcst_mtx); xcst_destroy(sc); #else mtx_unlock(&xcst_mtx); xcst_clone_destroy(&xcst_cloner, XCST2IFP(sc)); #endif mtx_lock(&xcst_mtx); } mtx_unlock(&xcst_mtx); mtx_destroy(&xcst_mtx); #endif break; default: return EOPNOTSUPP; } return 0; } static moduledata_t xcst_mod = { "if_xcst", xcst_modevent, 0 }; DECLARE_MODULE(if_xcst, xcst_mod, SI_SUB_PSEUDO, SI_ORDER_ANY); #else /* __FreeBSD__ */ void xcstattach(count) int count; { struct xcst_softc *sc; size_t size; int i; xcst_nsoftc = count; size = sizeof(struct xcst_softc) * count; xcst_softc = malloc(size, M_DEVBUF, M_WAITOK); memset(xcst_softc, 0, size); for (i = 0; i < count; i++) { sc = &xcst_softc[i]; sprintf(sc->sc_if.if_xname, "xcst%d", i); sc->sc_cookie = encap_attach_func(AF_INET6, -1, xcst_encapcheck, (struct protosw *)&xcst_protosw, sc); if (sc->sc_cookie == NULL) { printf("%s: attach failed\n", sc->sc_if.if_xname); continue; } sc->sc_if.if_softc = sc; sc->sc_if.if_type = IFT_XCST; #if defined(__NetBSD__) sc->sc_if.if_dlt = DLT_NULL; #endif sc->sc_if.if_flags = IFF_MULTICAST; sc->sc_if.if_output = xcst_output; sc->sc_if.if_ioctl = xcst_ioctl; sc->sc_if.if_mtu = XCST_BASEMTU; if (xcast6_sptunnel) sc->sc_if.if_mtu -= sizeof(struct ip6_hdr) + XCAST6_HBH_HDRLEN; if_attach(&sc->sc_if); #if defined(__NetBSD__) if_alloc_sadl(&sc->sc_if); #endif #if NBPFILTER > 0 bpfattach(&sc->sc_if, DLT_NULL, sc->sc_if.if_hdrlen); #endif } } #endif /* __FreeBSD__ */ int xcst_input(mp, offp, proto) struct mbuf **mp; int *offp; int proto; { struct mbuf *m = *mp; struct xcst_softc *sc; struct ip6_hdr *ip6; struct ifnet *ifp; int off = *offp; int hlim, plen, nxt; sc = (struct xcst_softc *)encap_getarg(m); if (sc == NULL) { m_freem(m); return IPPROTO_DONE; } ifp = XCST2IFP(sc); ifp->if_ipackets++; ifp->if_ibytes += m->m_pkthdr.len; m->m_pkthdr.rcvif = ifp; ip6 = mtod(m, struct ip6_hdr *); hlim = ip6->ip6_hlim; /* Inner IP headr is not so important on SP tunneling. Simply skip. */ m_adj(m, off); off = sizeof(struct ip6_hdr); if (m->m_len < off) { if ((m = m_pullup(m, off)) == NULL) return IPPROTO_DONE; } ip6 = mtod(m, struct ip6_hdr *); /* Make the semi-permeable tunnel sane for hoplimit. */ ip6->ip6_hlim = hlim; nxt = ip6->ip6_nxt; if (nxt == IPPROTO_HOPOPTS) { plen = ntohs(ip6->ip6_plen); nxt = xcst_process_hopopts(m, &off, plen); if (nxt < 0) { m_freem(m); return IPPROTO_DONE; } } #if NBPFILTER > 0 #if !defined(__FreeBSD__) || __FreeBSD_version < 700017 if (ifp->if_bpf) #else if (bpf_peers_present(ifp->if_bpf)) #endif { /* * We need to prepend the address family as * a four byte field. Cons up a dummy header * to pacify bpf. This is safe because bpf * will only read from the mbuf (i.e., it won't * try to free it or keep a pointer a to it). */ u_int32_t af = AF_INET6; #if !defined(__FreeBSD__) || __FreeBSD_version < 503000 struct mbuf m0; (void)memset(&m0, 0, sizeof(m0)); m0.m_next = m; m0.m_len = 4; m0.m_data = (char *)⁡ #if defined(__FreeBSD__) && __FreeBSD_version < 500000 bpf_mtap(ifp, &m0); #else bpf_mtap(ifp->if_bpf, &m0); #endif #else bpf_mtap2(ifp->if_bpf, &af, sizeof(af), m); #endif } #endif xcast6_launch(m, &off, nxt); return IPPROTO_DONE; } /* * Output routine. xcst_output will not be called on forwarding. */ int xcst_output(ifp, m0, dst, rt) struct ifnet *ifp; struct mbuf *m0; struct sockaddr *dst; struct rtentry *rt; { struct ip6_hdr *ip6; struct ip6_ext *ip6e; xcast6_rthdr_t *x6; struct mbuf *m = m0; int off, nxt; int ret; #ifndef PULLDOWN_TEST struct mbuf *n; #endif if (dst->sa_family != AF_INET6) { #if defined(__FreeBSD__) && __FreeBSD_version >= 500000 _IF_DROP(&ifp->if_snd); #else IF_DROP(&ifp->if_snd); #endif m_freem(m); return EAFNOSUPPORT; } ip6 = mtod(m, struct ip6_hdr *); /* * A Xcast packet may have hopopts header(s?) (used for ICMP6) * before the routing heder. A hopopts header has already * processed in ip6_output(), so we should skip the hopopts header. */ off = sizeof(struct ip6_hdr); nxt = ip6->ip6_nxt; while (nxt != IPPROTO_ROUTING) { switch (nxt) { case IPPROTO_HOPOPTS: case IPPROTO_DSTOPTS: /* really exists? */ #ifndef PULLDOWN_TEST if (m->m_len < off + sizeof(*ip6e)) { m = m_pullup(m, off + sizeof(*ip6e)); if (m == NULL) return ENOBUFS; } ip6e = (struct ip6_ext *)(mtod(m, u_int8_t *) + off); #else IP6_EXTHDR_GET(ip6e, struct ip6_ext *, m, off, sizeof(*ip6e)); if (ip6e == NULL) { ip6stat.ip6s_toosmall++; in6_ifstat_inc(ifp, ifs6_in_hdrerr); return EINVAL; } #endif nxt = ip6e->ip6e_nxt; off += (ip6e->ip6e_len + 1) << 3; break; case IPPROTO_ROUTING: break; default: m_freem(m); in6_ifstat_inc(ifp, ifs6_in_hdrerr); return EINVAL; } } #ifndef PULLDOWN_TEST if (m->m_len < off + sizeof(*x6)) { m = m_pullup(m, off + sizeof(*x6)); if (m == NULL) return ENOBUFS; } if (m->m_next != NULL && m->m_pkthdr.len < MCLBYTES) { MGETHDR(n, M_DONTWAIT, MT_HEADER); if (n == NULL) { m_freem(m); return ENOBUFS; } M_MOVE_PKTHDR(n, m); if (n->m_pkthdr.len > MHLEN) { MCLGET(n, M_DONTWAIT); if ((n->m_flags & M_EXT) == 0) { m_freem(n); m_freem(m); return ENOBUFS; } } m_copydata(m, 0, n->m_pkthdr.len, mtod(n, caddr_t)); n->m_len = n->m_pkthdr.len; m_freem(m); m = n; } x6 = (xcast6_rthdr_t *)(mtod(m, u_int8_t *) + off); /* * sendmsg() shall pass correct x6->x6r_len. * No need to (re)compute from the number of destinations. */ if (m->m_len < off + ((x6->x6r_len + 1) << 3)) { m = m_pullup(m, off + ((x6->x6r_len + 1) << 3)); if (m == NULL) return ENOBUFS; } x6 = (xcast6_rthdr_t *)(mtod(m, u_int8_t *) + off); #else IP6_EXTHDR_GET(x6, xcast6_rthdr_t *, m, off, sizeof(*x6)); if (x6 == NULL) { ip6stat.ip6s_toosmall++; in6_ifstat_inc(ifp, ifs6_in_hdrerr); return EINVAL; } /* * sendmsg() shall pass correct x6->x6r_len. * No need to (re)compute from the number of destinations. */ IP6_EXTHDR_GET(x6, xcast6_rthdr_t *, m, off, (x6->x6r_len + 1) << 3); if (x6 == NULL) { ip6stat.ip6s_toosmall++; in6_ifstat_inc(ifp, ifs6_in_hdrerr); return EINVAL; } #endif #if NBPFILTER > 0 #if !defined(__FreeBSD__) || __FreeBSD_version < 700017 if (ifp->if_bpf) #else if (bpf_peers_present(ifp->if_bpf)) #endif { /* * We need to prepend the address family as * a four byte field. Cons up a dummy header * to pacify bpf. This is safe because bpf * will only read from the mbuf (i.e., it won't * try to free it or keep a pointer a to it). */ u_int32_t af = AF_INET6; #if !defined(__FreeBSD__) || __FreeBSD_version < 503000 struct mbuf m0; (void)memset(&m0, 0, sizeof(m0)); m0.m_next = m; m0.m_len = 4; m0.m_data = (char *)⁡ #if defined(__FreeBSD__) && __FreeBSD_version < 500000 bpf_mtap(ifp, &m0); #else bpf_mtap(ifp->if_bpf, &m0); #endif #else bpf_mtap2(ifp->if_bpf, &af, sizeof(af), m); #endif } #endif if (xcast6_addctl(m) == NULL) { m_freem(m); return ENOBUFS; } ifp->if_opackets++; ifp->if_obytes += m->m_pkthdr.len; ret = xcast6_branch(m, x6, &off, -1); if (ret <= 0) ret = 0; return ret; } int xcst_ioctl(ifp, cmd, data) struct ifnet *ifp; u_long cmd; caddr_t data; { struct xcst_softc *sc = ifp->if_softc; struct ifaddr *ifa = (struct ifaddr *)data; struct ifreq *ifr = (struct ifreq *)data; struct sockaddr_in6 *sin6p; int s, error = 0; s = splnet(); switch (cmd) { case SIOCSIFADDR: if (ifa->ifa_addr->sa_family != AF_INET6) { error = EAFNOSUPPORT; break; } sin6p = satosin6(ifa->ifa_addr); if (sin6p->sin6_len != sizeof(struct sockaddr_in6)) { error = EINVAL; break; } if (!IN6_IS_ADDR_LINKLOCAL(&sin6p->sin6_addr)) { sc->sc_src6 = sin6p->sin6_addr; sc->sc_hassrc = 1; } ifp->if_flags |= IFF_UP; if_up(ifp); break; case SIOCSIFFLAGS: break; case SIOCSIFMTU: break; case SIOCADDMULTI: case SIOCDELMULTI: if (ifr == NULL || ifr->ifr_addr.sa_family != AF_INET6) error = EAFNOSUPPORT; break; default: error = EINVAL; } splx(s); return (error); } static int xcst_encapcheck(m, off, proto, arg) const struct mbuf *m; int off; int proto; void *arg; { struct xcst_softc *sc; xcast6_ctl_t *ctl; sc = (struct xcst_softc *)arg; if (sc == NULL) return 0; if ((XCST2IFP(sc)->if_flags & IFF_UP) == 0) return 0; if (!xcast6_enable) return 0; if (proto != IPPROTO_IPV6) return 0; /* The Xcast6 aux data should have been attached to the mbuf. */ if ((ctl = xcast6_getctl((struct mbuf *)m)) == NULL) return 0; if (! ctl->x6c_hbhseen) return 0; return sizeof(struct ip6_hdr) * 8; } static int xcst_process_hopopts(m, offp, plen) struct mbuf *m; int *offp; int plen; { struct ip6_hbh *hbh; int hbhlen, nxt, dummy; #ifndef PULLDOWN_TEST IP6_EXTHDR_CHECK(m, *offp, sizeof(*hbh), -1); hbh = (struct ip6_hbh *)(mtod(m, caddr_t) + *offp); hbhlen = (hbh->ip6h_len + 1) << 3; IP6_EXTHDR_CHECK(m, *offp, hbhlen, IPPROTO_DONE); hbh = (struct ip6_hbh *)(mtod(m, caddr_t) + *offp); #else IP6_EXTHDR_GET(hbh, struct ip6_hbh *, m, *offp, sizeof(struct ip6_hbh)); if (hbh == NULL) { ip6stat.ip6s_tooshort++; return -1; } hbhlen = (hbh->ip6h_len + 1) << 3; IP6_EXTHDR_GET(hbh, struct ip6_hbh *, m, *offp, hbhlen); if (hbh == NULL) { ip6stat.ip6s_tooshort++; return -1; } #endif *offp += hbhlen; hbhlen -= sizeof(struct ip6_hbh); nxt = hbh->ip6h_nxt; if (ip6_process_hopopts(m, (u_int8_t *)(hbh + 1), hbhlen, &dummy, &plen) < 0) return -1; return nxt; } #endif /* NXCST > 0 */ Index: ip6_input.c =================================================================== RCS file: /cvsroot/xcast6/freebsd7/sys/netinet6/ip6_input.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** ip6_input.c 1 Mar 2008 18:27:35 -0000 1.1.1.1 --- ip6_input.c 2 Mar 2008 17:11:34 -0000 1.2 *************** *** 65,68 **** --- 65,69 ---- #include "opt_inet6.h" #include "opt_ipsec.h" + #include "opt_xcast6.h" #include <sys/param.h> *************** *** 110,113 **** --- 111,118 ---- #include <netinet6/ip6protosw.h> + #ifdef XCAST6 + #include <netinet6/xcast6.h> + #endif + extern struct domain inet6domain; *************** *** 436,439 **** --- 441,457 ---- in6_ifstat_inc(m->m_pkthdr.rcvif, ifs6_in_mcast); + #ifdef XCAST6 + + /* + * Simply compare ip6_dst with ALL_XCAST6_ROUTERS. + * It's difficult to implement non-semi-permeable + * Xcast on classical `join' model. + */ + if (xcast6_enable && xcast6_is_addr_xcast6(&ip6->ip6_dst)) { + ours = 1; + deliverifp = m->m_pkthdr.rcvif; + goto hbhcheck; + } + #endif /* * See if we belong to the destination multicast group on the *************** *** 670,673 **** --- 688,696 ---- } } + #ifdef XCAST6 + /* accept the packet if a Xcast6 hbh option is included. */ + if (xcast6_enable && xcast6_getctl(m) != NULL) + ours = 1; + #endif /* XCAST6 */ } else nxt = ip6->ip6_nxt; *************** *** 970,973 **** --- 993,1014 ---- break; + #ifdef XCAST6 + case IP6OPT_TYPE_XCAST6: + if (!xcast6_enable) + goto fakeunknown; + + /* XXX may need check for alignment */ + if (hbhlen < XCAST6_HBH_OPTLEN + 2) { + ip6stat.ip6s_toosmall++; + goto bad; + } + + if (xcast6_process_hopopts(m, opt, &optlen) < 0) + goto bad; + + break; + fakeunknown: + ; /*FALLTHRU*/ + #endif /* XCAST6 */ default: /* unknown option */ if (hbhlen < IP6OPT_MINLEN) { Index: dest6.c =================================================================== RCS file: /cvsroot/xcast6/freebsd7/sys/netinet6/dest6.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** dest6.c 1 Mar 2008 18:27:28 -0000 1.1.1.1 --- dest6.c 2 Mar 2008 17:11:34 -0000 1.2 *************** *** 33,36 **** --- 33,37 ---- #include "opt_inet.h" #include "opt_inet6.h" + #include "opt_xcast6.h" #include <sys/param.h> *************** *** 53,56 **** --- 54,60 ---- #include <netinet6/ip6_var.h> #include <netinet/icmp6.h> + #ifdef XCAST6 + #include <netinet6/xcast6.h> + #endif /* *************** *** 103,106 **** --- 107,122 ---- optlen = *(opt + 1) + 2; break; + #ifdef XCAST6_DESTOPT + case IP6OPT_TYPE_XCAST6: + if (!xcast6_enable) + goto fakeunknown; + + if (xcast6_process_destopts(m, opt, &optlen) < 0) + return IPPROTO_DONE; + break; + + fakeunknown: + /*FALLTHROUGH*/ + #endif default: /* unknown option */ optlen = ip6_unknown_opt(opt, m, Index: icmp6.c =================================================================== RCS file: /cvsroot/xcast6/freebsd7/sys/netinet6/icmp6.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** icmp6.c 1 Mar 2008 18:27:29 -0000 1.1.1.1 --- icmp6.c 2 Mar 2008 17:11:34 -0000 1.2 *************** *** 65,68 **** --- 65,69 ---- #include "opt_inet6.h" #include "opt_ipsec.h" + #include "opt_xcast6.h" #include <sys/param.h> *************** *** 105,108 **** --- 106,113 ---- #endif + #ifdef XCAST6 + #include <netinet6/xcast6.h> + #endif + extern struct domain inet6domain; *************** *** 277,282 **** (type != ICMP6_PACKET_TOO_BIG && (type != ICMP6_PARAM_PROB || ! code != ICMP6_PARAMPROB_OPTION))) goto freeit; /* --- 282,293 ---- (type != ICMP6_PACKET_TOO_BIG && (type != ICMP6_PARAM_PROB || ! code != ICMP6_PARAMPROB_OPTION))) { ! #ifdef XCAST6 ! if (!xcast6_enable || !xcast6_isreflectable(m, 1)) ! goto freeit; ! #else goto freeit; + #endif + } /* *************** *** 531,534 **** --- 542,549 ---- if (code != 0) goto badcode; + #ifdef XCAST6 + if (xcast6_enable && !xcast6_isreflectable(m, 0)) + goto freeit; + #endif if ((n = m_copy(m, 0, M_COPYALL)) == NULL) { /* Give up remote */ *************** *** 1197,1200 **** --- 1212,1221 ---- */ if (IN6_IS_ADDR_MULTICAST(&ip6->ip6_dst)) { + #ifdef XCAST6 + if (xcast6_enable && xcast6_is_addr_xcast6(&ip6->ip6_dst)) { + if (!xcast6_isreflectable(m, 1)) + goto bad; + } else + #endif if (!IN6_IS_ADDR_MC_LINKLOCAL(&ip6->ip6_dst)) goto bad; Index: scope6.c =================================================================== RCS file: /cvsroot/xcast6/freebsd7/sys/netinet6/scope6.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** scope6.c 1 Mar 2008 18:27:39 -0000 1.1.1.1 --- scope6.c 2 Mar 2008 17:11:34 -0000 1.2 *************** *** 31,34 **** --- 31,36 ---- */ + #include "opt_xcast6.h" + #include <sys/param.h> #include <sys/malloc.h> *************** *** 41,44 **** --- 43,49 ---- #include <net/route.h> #include <net/if.h> + #ifdef XCAST6 + #include <net/if_types.h> + #endif #include <netinet/in.h> *************** *** 420,423 **** --- 425,436 ---- */ if (IN6_IS_ADDR_LOOPBACK(in6)) { + #ifdef XCAST6 + if (ifp->if_type == IFT_XCST) { + IF_AFDATA_UNLOCK(ifp); + if (ret_id != NULL) + *ret_id = 0; + return (0); + } + #endif if (!(ifp->if_flags & IFF_LOOPBACK)) { IF_AFDATA_UNLOCK(ifp); Index: route6.c =================================================================== RCS file: /cvsroot/xcast6/freebsd7/sys/netinet6/route6.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** route6.c 1 Mar 2008 18:27:39 -0000 1.1.1.1 --- route6.c 2 Mar 2008 17:11:34 -0000 1.2 *************** *** 33,36 **** --- 33,37 ---- #include "opt_inet.h" #include "opt_inet6.h" + #include "opt_xcast6.h" #include <sys/param.h> *************** *** 50,53 **** --- 51,58 ---- #include <netinet/icmp6.h> + #ifdef XCAST6 + #include <netinet6/xcast6.h> + #endif + #if 0 static int ip6_rthdr0 __P((struct mbuf *, struct ip6_hdr *, *************** *** 122,125 **** --- 127,157 ---- break; #endif /* Disable route header 0 */ + #ifdef XCAST6 + case IPV6_RTHDR_TYPE_XCAST6: + if (!xcast6_enable) + goto fakeunknown; + + rhlen = (rh->ip6r_len + 1) << 3; + + #ifndef PULLDOWN_TEST + /* Copied from TYPE_0. See comments on TYPE_0. */ + IP6_EXTHDR_CHECK(m, off, rhlen, IPPROTO_DONE); + #else + /* Copied from TYPE_0. See comments on TYPE_0. */ + IP6_EXTHDR_GET(rh, struct ip6_rthdr *, m, off, rhlen); + if (rh == NULL) { + ip6stat.ip6s_tooshort++; + return IPPROTO_DONE; + } + #endif + if (xcast6_addctl(m) == NULL) { + /* XXX ENOBUFS. which statistics? */ + return IPPROTO_DONE; + } + xcast6_branch(m, (xcast6_rthdr_t *)rh, offp, ip6->ip6_hlim); + return IPPROTO_DONE; + fakeunknown: + ; /*FALLTHRU*/ + #endif /* XCAST6 */ default: /* unknown routing type */ --- NEW FILE: xcast6.h --- /* * Copyright (C) 2001 FUJITSU LABORATRIES LTD. * 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. */ #ifndef _NETINET6_XCAST6_H_ #define _NETINET6_XCAST6_H_ #define XCAST6_DESTOPT /* Support for XCAST6 destination option */ #define IPV6_RTHDR_TYPE_XCAST6 0x11 /* XXX needs to register */ #define IP6OPT_TYPE_XCAST6 0x27 /* XXX needs to register */ /* XXX this address is not registered... */ #define IN6ADDR_ALL_XCAST6_ROUTERS_INIT \ {{{ 0xff, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10 }}} /* XXX Actually 0x7f, but limitation from the mbuf size */ #define XCAST6_MAX_DESTS 0x7e /* X2U support level */ #define XCAST6_X2U_NEVER 0 /* no X2U support. */ #define XCAST6_X2U_SINGLEDEST 1 /* single dest. packet only. */ #define XCAST6_X2U_PREMATURE 2 /* every packet. N/A yet. */ /* Xcast6 Routing header */ typedef struct xcast6_rthdr { u_int8_t x6r_nxt; /* next header */ u_int8_t x6r_len; /* length in units of 8 octets */ u_int8_t x6r_type; /* IPV6_RTHDR_TYPE_XCAST */ u_int8_t x6r_reserved; /* reserved */ u_int8_t x6r_flags; /* version, anonymity, Xcast, DSCP */ u_int8_t x6r_ndest; /* # of destinations */ u_int16_t x6r_cksum; /* checksum; 1's complement */ u_int8_t x6r_chid[16]; /* channel identifier */ /* followed by a bitmap and destionation addresses */ } xcast6_rthdr_t; #define XCAST6_VERSION 1 #define XCAST6_RTHDR_VERSION_MASK 0xf0 #define XCAST6_RTHDR_VERSION_SHIFT 4 #define XCAST6_RTHDR_ANON 0x08 #define XCAST6_RTHDR_DONTX2U 0x04 #define XCAST6_RTHDR_DSCP 0x02 /* The size of a bitmap in routing header. */ #define XCAST6_BM_SIZE(ndest) (((((ndest) + 7) / 8) + 7) & ~7) #define XCAST6_RTHDRLEN(ndest) \ (sizeof(xcast6_rthdr_t) + \ XCAST6_BM_SIZE(ndest) + \ sizeof(struct in6_addr) * (ndest)) /* * Xcast6 semi-permeable tunneling. * Use hop-by-hop extension header for tunneling. */ /* Xcast6 Hop-by-Hop options header */ typedef struct xcast6_hbh { u_int8_t x6h_type; /* IP6OPT_TYPE_XCAST6 */ u_int8_t x6h_optdlen; /* >= 0 */ /* Xcast hop-by-hop extensions follow... */ } xcast6_hbh_t; typedef struct xcast6_hbhso { /* Xcast6 suboption in hbh */ u_int8_t x6hs_type; u_int8_t x6hs_optdlen; /* >= 0 */ } xcast6_hbh_so_t; #define XCAST6_HBH_OPTLEN (sizeof(xcast6_hbh_t) - 2) #define XCAST6_HBH_HDRLEN \ ((sizeof(struct ip6_hbh) + sizeof(xcast6_hbh_t) + 7) & ~7) #define XCAST6_SUBOPT_ICMP6 0x01 typedef struct xcast6_hbhso_icmp6 { u_int8_t x6hi_type; u_int8_t x6hi_optdlen; u_int8_t x6hi_nth; /* n-th destination */ } xcast6_hbhso_icmp6_t; /* Xcast6 destination options header */ typedef struct xcast6_dest { u_int8_t x6d_type; /* IP6OPT_TYPE_XCAST6 */ u_int8_t x6d_optdlen; /* >= 0 */ /* Xcast destination ports follow... */ } xcast6_dest_t; #define XCAST6_DEST_HDRLEN(ndest) \ ((sizeof(struct ip6_dest) + \ sizeof(xcast6_dest_t) + \ sizeof(u_int16_t) * (ndest) + 7) & ~7) /* Sysctl objects. Should be in route6.h? */ #define ROUTE6CTL_XCAST6_ENABLE 1 #define ROUTE6CTL_XCAST6_SPTUNNEL 2 #define ROUTE6CTL_XCAST6_X2ULEVEL 3 #define ROUTE6CTL_XCAST6_ALLOWSITELOCAL 4 #define ROUTE6CTL_MAXID 5 #define ROUTE6CTL_NAMES { \ { 0, 0 }, \ { "xcast6_enable", CTLTYPE_INT }, \ { "xcast6_sptunnel", CTLTYPE_INT }, \ { "xcast6_x2ulevel", CTLTYPE_INT }, \ { "xcast6_allowsitelocal", CTLTYPE_INT }, \ } #ifdef _KERNEL /* *_var part. better create xcast6_var.h? */ /* Bitmap structure internally used in XCAST6 routing. */ typedef struct { u_int8_t b[XCAST6_BM_SIZE(XCAST6_MAX_DESTS)]; } xcast6_bm_t; /* Routing table structure. */ typedef struct { struct route_in6 x6_rt; /* Will be added members when needed. */ } xcast6_routetab_t; /* * Xcast6 auxiliary structure used for Xcast6 options. * This structure is put as mbuf_aux data. */ typedef struct xcast6_ctl { u_int16_t x6c_port; /* destination port number */ int x6c_ndest; /* number of destinations */ int x6c_nth; /* nth destination (port option) */ int x6c_icmp6nth; /* icmp6 nth destination */ int x6c_reflectable; /* icmp6 reflectable? */ int x6c_hbhseen; /* seen XCAST6 hbh before inner IP6 */ xcast6_routetab_t *x6c_rtabspace; /* routing table space. */ size_t x6c_rtablen; /* length that can be used for rtab. */ u_int64_t _pad; /* more options may be added... */ } xcast6_ctl_t; extern int xcast6_enable; extern int xcast6_sptunnel; extern int xcast6_x2ulevel; extern int xcast6_allowsitelocal; int xcast6_branch __P((struct mbuf *, xcast6_rthdr_t *, int *, int)); void xcast6_launch __P((struct mbuf *, int *, int)); xcast6_ctl_t *xcast6_addctl __P((struct mbuf *)); xcast6_ctl_t *xcast6_getctl __P((struct mbuf *)); void xcast6_delctl __P((struct mbuf *)); int xcast6_isreflectable __P((struct mbuf *, int)); int xcast6_process_hopopts __P((struct mbuf *, u_int8_t *, int *)); int xcast6_process_destopts __P((struct mbuf *, u_int8_t *, int *)); int xcast6_hasdestopt __P((struct ip6_pktopts *)); int xcast6_is_addr_xcast6 __P((struct in6_addr *)); #if defined(__NetBSD__) /* Should be in route6.h? */ int route6_sysctl __P((int *, u_int, void *, size_t *, void *, size_t)); #endif #endif #endif /* ! _NETINET6_XCAST6_H_ */ --- NEW FILE: xcast6.c --- /* * Copyright (C) 2001 FUJITSU LABORATRIES LTD. * 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 [...1441 lines suppressed...] s_util.c[1] = 0; sum += s_util.s; } complete: REDUCE; return (~sum & 0xffff); } #if defined(__FreeBSD__) SYSCTL_DECL(_net_inet6_route6); SYSCTL_INT(_net_inet6_route6, ROUTE6CTL_XCAST6_ENABLE, xcast6_enable, CTLFLAG_RW, &xcast6_enable, 0, ""); SYSCTL_INT(_net_inet6_route6, ROUTE6CTL_XCAST6_SPTUNNEL, xcast6_sptunnel, CTLFLAG_RW, &xcast6_sptunnel, 0, ""); SYSCTL_INT(_net_inet6_route6, ROUTE6CTL_XCAST6_X2ULEVEL, xcast6_x2ulevel, CTLFLAG_RW, &xcast6_x2ulevel, 0, ""); SYSCTL_INT(_net_inet6_route6, ROUTE6CTL_XCAST6_ALLOWSITELOCAL, xcast6_allowsitelocal, CTLFLAG_RW, &xcast6_allowsitelocal, 0, ""); #endif |
From: Hajimu U. <um...@us...> - 2008-03-02 17:11:36
|
Update of /cvsroot/xcast6/freebsd7/sys/i386/conf In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv7855/sys/i386/conf Added Files: GENERIC_XCAST6 Log Message: Merge XCAST6 support to FreeBSD 7.0-RELEASE. --- NEW FILE: GENERIC_XCAST6 --- # # GENERIC_XCAST6 -- Generic XCAST6 kernel configuration file for FreeBSD/i386 # # For more information on this file, please read the handbook section on # Kernel Configuration Files: # # http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html # # The handbook is also available locally in /usr/share/doc/handbook # if you've installed the doc distribution, otherwise always see the # FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the # latest information. # # An exhaustive list of options and more detailed explanations of the # device lines is also present in the ../../conf/NOTES and NOTES files. # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # # $Id: GENERIC_XCAST6,v 1.1 2008/03/02 17:11:33 umemoto Exp $ include GENERIC ident GENERIC_XCAST6 options XCAST6 device xcst # XCAST6 |
From: Hajimu U. <um...@us...> - 2008-03-02 17:11:36
|
Update of /cvsroot/xcast6/freebsd7/sys/amd64/conf In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv7855/sys/amd64/conf Added Files: GENERIC_XCAST6 Log Message: Merge XCAST6 support to FreeBSD 7.0-RELEASE. --- NEW FILE: GENERIC_XCAST6 --- # # GENERIC_XCAST6 -- Generic XCAST6 kernel configuration file for FreeBSD/amd64 # # For more information on this file, please read the handbook section on # Kernel Configuration Files: # # http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html # # The handbook is also available locally in /usr/share/doc/handbook # if you've installed the doc distribution, otherwise always see the # FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the # latest information. # # An exhaustive list of options and more detailed explanations of the # device lines is also present in the ../../conf/NOTES and NOTES files. # If you are in doubt as to the purpose or necessity of a line, check first # in NOTES. # # $Id: GENERIC_XCAST6,v 1.1 2008/03/02 17:11:33 umemoto Exp $ include GENERIC ident GENERIC_XCAST6 options XCAST6 device xcst # XCAST6 |
From: Hajimu U. <um...@us...> - 2008-03-02 17:03:45
|
Update of /cvsroot/xcast6/freebsd7/sys/modules/if_xcst In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv5529/sys/modules/if_xcst Log Message: Directory /cvsroot/xcast6/freebsd7/sys/modules/if_xcst added to the repository |
From: Hajimu U. <um...@us...> - 2008-01-20 18:27:02
|
Update of /cvsroot/xcast6/freebsd6/sys/netinet6 In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv14952 Modified Files: if_xcst.c Log Message: FreeBSD 7.x and later doesn't have net/net_osdep.h. Index: if_xcst.c =================================================================== RCS file: /cvsroot/xcast6/freebsd6/sys/netinet6/if_xcst.c,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** if_xcst.c 22 Jul 2006 14:57:37 -0000 1.5 --- if_xcst.c 20 Jan 2008 18:26:58 -0000 1.6 *************** *** 92,96 **** --- 92,98 ---- #include <netinet/ip_ecn.h> + #if !defined(__FreeBSD__) || __FreeBSD_version < 700000 #include <net/net_osdep.h> + #endif #include <machine/stdarg.h> |
From: HAMAJIMA K. <ham...@us...> - 2008-01-20 12:44:17
|
Update of /cvsroot/xcast6/doc In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv30174 Modified Files: ChangeLog README-XCAST6.txt Log Message: I forgot that I updated documents on December 31. netbsd-2 is end of support. netbsd-3 is up to netbsd-3-1-1-RELEASE. netbsd-4 is a new support. Index: README-XCAST6.txt =================================================================== RCS file: /cvsroot/xcast6/doc/README-XCAST6.txt,v retrieving revision 1.44 retrieving revision 1.45 diff -C2 -d -r1.44 -r1.45 *** README-XCAST6.txt 19 Jan 2008 18:07:07 -0000 1.44 --- README-XCAST6.txt 20 Jan 2008 12:44:18 -0000 1.45 *************** *** 3,9 **** * Release note This document describes how you can set up XCAST6-kit for these platforms. ! NetBSD 1.6.2 ! NetBSD 2.1 ! NetBSD 3.0 FreeBSD 4.11-RELEASE FreeBSD 5.5-RELEASE --- 3,8 ---- * Release note This document describes how you can set up XCAST6-kit for these platforms. ! NetBSD 3.1.1 ! NetBSD 4.0 FreeBSD 4.11-RELEASE FreeBSD 5.5-RELEASE *************** *** 24,33 **** 2. Build XCAST6-enabled kernel. 2-1. Apply the XCAST6 kernel patch for the kernel sources. ! - patch file for NetBSD 1.6.2 ! xcast6-0.2.1-1-netbsd-sys-1.6.2.diff.gz ! - patch file for NetBSD 2.1 ! xcast6-0.2.1-1-netbsd-sys-2.1.diff.gz ! - patch file for NetBSD 3.0 ! xcast6-0.2.1-netbsd-sys-3.0.diff.gz - patch file for FreeBSD 4.11-RELEASE xcast6-0.2.1-freebsd-sys-4.11.diff.gz --- 23,30 ---- 2. Build XCAST6-enabled kernel. 2-1. Apply the XCAST6 kernel patch for the kernel sources. ! - patch file for NetBSD 3.1.1 ! xcast6-0.2.1-1-netbsd-sys-3.1.1.diff.gz ! - patch file for NetBSD 4.0 ! xcast6-0.2.1-netbsd-sys-4.0.diff.gz - patch file for FreeBSD 4.11-RELEASE xcast6-0.2.1-freebsd-sys-4.11.diff.gz Index: ChangeLog =================================================================== RCS file: /cvsroot/xcast6/doc/ChangeLog,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** ChangeLog 19 Jan 2008 18:07:07 -0000 1.35 --- ChangeLog 20 Jan 2008 12:44:18 -0000 1.36 *************** *** 3,6 **** --- 3,11 ---- * freebsd6: sync with 6.3-RELEASE. + 2007-12-31 HAMAJIMA Katsuomi + + * netbsd-4: add support for netbsd-4-0-RELEASE + * netbsd-3: sync with 3.1.1 + 2007-01-16 Hajimu UMEMOTO <um...@ma...> |