Date: Fri, 30 Jun 2006 00:17:05 GMT From: Kip Macy <kmacy@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 100323 for review Message-ID: <200606300017.k5U0H5Kh037022@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=100323 Change 100323 by kmacy@kmacy_storage:sun4v_work_stable on 2006/06/30 00:16:09 IFC Affected files ... .. //depot/projects/kmacy_sun4v_stable/src/share/man/man4/uplcom.4#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/conf/files.ia64#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/conf/kern.mk#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/conf/kern.pre.mk#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/puc/puc.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/puc/puc_cfg.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/puc/puc_pccard.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/puc/puc_pci.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/dev/puc/pucdata.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/ia64/ia64/emulate.c#1 branch .. //depot/projects/kmacy_sun4v_stable/src/sys/ia64/ia64/trap.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/ia64/include/md_var.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/sched_4bsd.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/sched_core.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/kern/sysv_sem.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/net/if.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/net/if_atmsubr.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/net/if_gif.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/net/if_stf.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/net/if_tun.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/net/if_vlan.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/netinet/if_ether.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/netinet/in_pcb.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/netinet/ip_divert.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/netinet/ip_fw2.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/netinet/ip_output.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/netinet/tcp_input.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/netinet6/in6.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/netinet6/in6_pcb.c#3 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/netinet6/in6_var.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/nfsclient/bootp_subr.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/sys/nfsclient/nfs_diskless.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/usr.bin/tail/extern.h#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/usr.bin/tail/forward.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/usr.bin/tail/tail.1#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/usr.bin/tail/tail.c#2 integrate .. //depot/projects/kmacy_sun4v_stable/src/usr.sbin/kgmon/kgmon.c#2 integrate Differences ... ==== //depot/projects/kmacy_sun4v_stable/src/share/man/man4/uplcom.4#2 (text+ko) ==== @@ -34,7 +34,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/uplcom.4,v 1.12 2005/07/16 09:18:58 hrs Exp $ +.\" $FreeBSD: src/share/man/man4/uplcom.4,v 1.13 2006/06/29 08:28:18 takawata Exp $ .\" .Dd July 16, 2005 .Dt UPLCOM 4 @@ -91,6 +91,8 @@ SOURCENEXT KeikaiDenwa 8 (with and without charger) .It Sony Ericsson USB Cable (Susteen USB Data Cable) +.It +Willcom W-SIM DD PHS terminal.(WS002IN) .El .Sh SEE ALSO .Xr tty 4 , ==== //depot/projects/kmacy_sun4v_stable/src/sys/conf/files.ia64#2 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.ia64,v 1.86 2006/04/24 23:31:50 marcel Exp $ +# $FreeBSD: src/sys/conf/files.ia64,v 1.87 2006/06/29 19:59:16 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -93,6 +93,7 @@ ia64/ia64/dump_machdep.c standard ia64/ia64/efi.c standard ia64/ia64/elf_machdep.c standard +ia64/ia64/emulate.c standard ia64/ia64/exception.S standard ia64/ia64/gdb_machdep.c optional gdb ia64/ia64/in_cksum.c optional inet ==== //depot/projects/kmacy_sun4v_stable/src/sys/conf/kern.mk#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/kern.mk,v 1.48 2006/05/30 19:18:01 ru Exp $ +# $FreeBSD: src/sys/conf/kern.mk,v 1.49 2006/06/29 21:15:25 obrien Exp $ # # Warning flags for compiling the kernel and components of the kernel. @@ -12,7 +12,7 @@ .else CWARNFLAGS?= -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes \ -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual \ - ${_wundef} -fformat-extensions -std=c99 + ${_wundef} -fformat-extensions .if !defined(NO_UNDEF) _wundef= -Wundef .endif ==== //depot/projects/kmacy_sun4v_stable/src/sys/conf/kern.pre.mk#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.74 2005/12/12 01:14:59 rodrigc Exp $ +# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.75 2006/06/29 21:15:25 obrien Exp $ # Part of a unified Makefile for building kernels. This part contains all # of the definitions that need to be before %BEFORE_DEPEND. @@ -43,6 +43,7 @@ .if ${CC} == "icc" NOSTDINC= -X .else +C_DIALECT= -std=c99 NOSTDINC= -nostdinc .endif @@ -80,7 +81,7 @@ .endif -CFLAGS= ${COPTFLAGS} ${CWARNFLAGS} ${DEBUG} +CFLAGS= ${COPTFLAGS} ${C_DIALECT} ${DEBUG} ${CWARNFLAGS} CFLAGS+= ${INCLUDES} -D_KERNEL -DHAVE_KERNEL_OPTION_HEADERS -include opt_global.h .if ${CC} != "icc" CFLAGS+= -fno-common -finline-limit=${INLINE_LIMIT} ==== //depot/projects/kmacy_sun4v_stable/src/sys/dev/puc/puc.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/puc/puc.c,v 1.47 2006/04/28 21:21:52 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/puc/puc.c,v 1.48 2006/06/29 16:27:19 obrien Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -42,9 +42,9 @@ #include <dev/pci/pcireg.h> #include <dev/pci/pcivar.h> -#include <dev/puc/puc_bfe.h> #include <dev/puc/puc_bus.h> #include <dev/puc/puc_cfg.h> +#include <dev/puc/puc_bfe.h> #define PUC_ISRCCNT 5 ==== //depot/projects/kmacy_sun4v_stable/src/sys/dev/puc/puc_cfg.c#2 (text) ==== @@ -25,16 +25,16 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/puc/puc_cfg.c,v 1.1 2006/04/28 21:21:52 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/puc/puc_cfg.c,v 1.2 2006/06/29 16:27:19 obrien Exp $"); #include <sys/param.h> #include <sys/systm.h> #include <sys/bus.h> #include <sys/rman.h> -#include <dev/puc/puc_bfe.h> #include <dev/puc/puc_bus.h> #include <dev/puc/puc_cfg.h> +#include <dev/puc/puc_bfe.h> int puc_config(struct puc_softc *sc, enum puc_cfg_cmd cmd, int port, intptr_t *r) ==== //depot/projects/kmacy_sun4v_stable/src/sys/dev/puc/puc_pccard.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/puc/puc_pccard.c,v 1.10 2006/04/28 21:21:52 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/puc/puc_pccard.c,v 1.11 2006/06/29 16:27:19 obrien Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -41,8 +41,8 @@ #include <dev/pccard/pccardvar.h> +#include <dev/puc/puc_cfg.h> #include <dev/puc/puc_bfe.h> -#include <dev/puc/puc_cfg.h> /* http://www.argosy.com.tw/product/sp320.htm */ const struct puc_cfg puc_pccard_rscom = { ==== //depot/projects/kmacy_sun4v_stable/src/sys/dev/puc/puc_pci.c#2 (text+ko) ==== @@ -58,7 +58,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/puc/puc_pci.c,v 1.15 2006/04/28 21:21:52 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/puc/puc_pci.c,v 1.16 2006/06/29 16:27:19 obrien Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -75,8 +75,8 @@ #include <dev/pci/pcireg.h> #include <dev/pci/pcivar.h> +#include <dev/puc/puc_cfg.h> #include <dev/puc/puc_bfe.h> -#include <dev/puc/puc_cfg.h> static const struct puc_cfg * puc_pci_match(device_t dev, const struct puc_cfg *desc) ==== //depot/projects/kmacy_sun4v_stable/src/sys/dev/puc/pucdata.c#3 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/dev/puc/pucdata.c,v 1.56 2006/06/12 19:22:44 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/puc/pucdata.c,v 1.57 2006/06/29 16:27:19 obrien Exp $"); /* * PCI "universal" communications card driver configuration data (used to @@ -43,9 +43,9 @@ #include <dev/pci/pcivar.h> -#include <dev/puc/puc_bfe.h> #include <dev/puc/puc_bus.h> #include <dev/puc/puc_cfg.h> +#include <dev/puc/puc_bfe.h> static puc_config_f puc_config_amc; static puc_config_f puc_config_cronyx; ==== //depot/projects/kmacy_sun4v_stable/src/sys/ia64/ia64/trap.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/ia64/ia64/trap.c,v 1.118 2006/05/16 14:32:15 phk Exp $"); +__FBSDID("$FreeBSD: src/sys/ia64/ia64/trap.c,v 1.119 2006/06/29 19:59:17 marcel Exp $"); #include "opt_ddb.h" #include "opt_ktrace.h" @@ -608,7 +608,27 @@ break; } - case IA64_VEC_GENERAL_EXCEPTION: + case IA64_VEC_GENERAL_EXCEPTION: { + int code; + + if (!user) + trap_panic(vector, tf); + + code = tf->tf_special.isr & (IA64_ISR_CODE & 0xf0ull); + switch (code) { + case 0x0: /* Illegal Operation Fault. */ + sig = ia64_emulate(tf, td); + break; + default: + sig = SIGILL; + break; + } + if (sig == 0) + goto out; + ucode = vector; + break; + } + case IA64_VEC_NAT_CONSUMPTION: case IA64_VEC_SPECULATION: case IA64_VEC_UNSUPP_DATA_REFERENCE: ==== //depot/projects/kmacy_sun4v_stable/src/sys/ia64/include/md_var.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/ia64/include/md_var.h,v 1.22 2005/07/05 17:12:18 marcel Exp $ + * $FreeBSD: src/sys/ia64/include/md_var.h,v 1.23 2006/06/29 19:59:18 marcel Exp $ */ #ifndef _MACHINE_MD_VAR_H_ @@ -77,6 +77,7 @@ int do_ast(struct trapframe *); void ia32_trap(int, struct trapframe *); int ia64_count_cpus(void); +int ia64_emulate(struct trapframe *, struct thread *); int ia64_flush_dirty(struct thread *, struct _special *); uint64_t ia64_get_hcdp(void); int ia64_highfp_drop(struct thread *); ==== //depot/projects/kmacy_sun4v_stable/src/sys/kern/sched_4bsd.c#3 (text+ko) ==== @@ -33,7 +33,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.83 2006/06/15 06:37:39 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sched_4bsd.c,v 1.84 2006/06/29 19:37:31 obrien Exp $"); #include "opt_hwpmc_hooks.h" @@ -53,6 +53,7 @@ #include <sys/sysctl.h> #include <sys/sx.h> #include <sys/turnstile.h> +#include <machine/pcb.h> #include <machine/smp.h> #ifdef HWPMC_HOOKS ==== //depot/projects/kmacy_sun4v_stable/src/sys/kern/sched_core.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/sched_core.c,v 1.7 2006/06/29 05:59:36 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sched_core.c,v 1.9 2006/06/29 12:29:20 davidxu Exp $"); #include "opt_hwpmc_hooks.h" #include "opt_sched.h" @@ -566,7 +566,7 @@ { kseq->ksq_load--; if ((ke->ke_proc->p_flag & P_NOLOAD) == 0) - sched_tdcnt++; + sched_tdcnt--; } /* @@ -875,11 +875,6 @@ ke->ke_runq = ke->ke_kseq->ksq_curr; krunq_add(ke->ke_runq, ke); } - /* - * Hold this kse on this cpu so that sched_prio() doesn't - * cause excessive migration. We only want migration to - * happen as the result of a wakeup. - */ adjustrunqueue(td, prio); } else td->td_priority = prio; @@ -962,6 +957,7 @@ mtx_assert(&sched_lock, MA_OWNED); + now = sched_timestamp(); ke = td->td_kse; kg = td->td_ksegrp; ksq = KSEQ_SELF(); @@ -974,6 +970,7 @@ if (td == PCPU_GET(idlethread)) { TD_SET_CAN_RUN(td); } else { + sched_update_runtime(ke, now); /* We are ending our run so make our slot available again */ SLOT_RELEASE(td->td_ksegrp); kseq_load_rem(ksq, ke); @@ -1004,16 +1001,14 @@ */ SLOT_USE(newtd->td_ksegrp); newtd->td_kse->ke_flags |= KEF_DIDRUN; + newtd->td_kse->ke_timestamp = now; TD_SET_RUNNING(newtd); kseq_load_add(ksq, newtd->td_kse); - now = newtd->td_kse->ke_timestamp = sched_timestamp(); } else { newtd = choosethread(); /* sched_choose sets ke_timestamp, just reuse it */ - now = newtd->td_kse->ke_timestamp; } if (td != newtd) { - sched_update_runtime(ke, now); ke->ke_lastran = tick; #ifdef HWPMC_HOOKS @@ -1079,9 +1074,9 @@ if (ke->ke_flags & KEF_SLEEP) { ke->ke_flags &= ~KEF_SLEEP; if (sched_is_timeshare(kg)) { + sched_commit_runtime(ke); + now = sched_timestamp(); kseq = KSEQ_CPU(td->td_lastcpu); - now = sched_timestamp(); - sched_commit_runtime(ke); #ifdef SMP if (kseq != mykseq) now = now - mykseq->ksq_last_timestamp + ==== //depot/projects/kmacy_sun4v_stable/src/sys/kern/sysv_sem.c#3 (text+ko) ==== @@ -37,7 +37,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/kern/sysv_sem.c,v 1.80 2006/06/27 18:28:50 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/sysv_sem.c,v 1.81 2006/06/29 13:58:36 jhb Exp $"); #include "opt_sysvipc.h" #include "opt_mac.h" @@ -591,6 +591,7 @@ struct semid_kernel *semakptr; struct mtx *sema_mtxp; u_short usval, count; + int semidx; DPRINTF(("call to semctl(%d, %d, %d, 0x%x)\n", semid, semnum, cmd, arg)); @@ -601,6 +602,10 @@ switch(cmd) { case SEM_STAT: + /* + * For this command we assume semid is an array index + * rather than an IPC id. + */ if (semid < 0 || semid >= seminfo.semmni) return (EINVAL); semakptr = &sema[semid]; @@ -632,12 +637,12 @@ return (error); } - semid = IPCID_TO_IX(semid); - if (semid < 0 || semid >= seminfo.semmni) + semidx = IPCID_TO_IX(semid); + if (semidx < 0 || semidx >= seminfo.semmni) return (EINVAL); - semakptr = &sema[semid]; - sema_mtxp = &sema_mtx[semid]; + semakptr = &sema[semidx]; + sema_mtxp = &sema_mtx[semidx]; #ifdef MAC mtx_lock(sema_mtxp); error = mac_check_sysv_semctl(cred, semakptr, cmd); @@ -674,7 +679,7 @@ mac_cleanup_sysv_sem(semakptr); #endif SEMUNDO_LOCK(); - semundo_clear(semid, -1); + semundo_clear(semidx, -1); SEMUNDO_UNLOCK(); wakeup(semakptr); break; @@ -804,7 +809,7 @@ } semakptr->u.sem_base[semnum].semval = arg->val; SEMUNDO_LOCK(); - semundo_clear(semid, semnum); + semundo_clear(semidx, semnum); SEMUNDO_UNLOCK(); wakeup(semakptr); break; @@ -847,7 +852,7 @@ semakptr->u.sem_base[i].semval = usval; } SEMUNDO_LOCK(); - semundo_clear(semid, -1); + semundo_clear(semidx, -1); SEMUNDO_UNLOCK(); wakeup(semakptr); break; ==== //depot/projects/kmacy_sun4v_stable/src/sys/net/if.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)if.c 8.5 (Berkeley) 1/9/95 - * $FreeBSD: src/sys/net/if.c,v 1.259 2006/06/21 06:02:35 glebius Exp $ + * $FreeBSD: src/sys/net/if.c,v 1.260 2006/06/29 19:22:04 yar Exp $ */ #include "opt_compat.h" @@ -581,12 +581,11 @@ struct ifaddr *ifa, *next; TAILQ_FOREACH_SAFE(ifa, &ifp->if_addrhead, ifa_link, next) { - - if (ifa->ifa_addr && ifa->ifa_addr->sa_family == AF_LINK) + if (ifa->ifa_addr->sa_family == AF_LINK) continue; #ifdef INET /* XXX: Ugly!! ad hoc just for INET */ - if (ifa->ifa_addr && ifa->ifa_addr->sa_family == AF_INET) { + if (ifa->ifa_addr->sa_family == AF_INET) { struct ifaliasreq ifr; bzero(&ifr, sizeof(ifr)); @@ -599,7 +598,7 @@ } #endif /* INET */ #ifdef INET6 - if (ifa->ifa_addr && ifa->ifa_addr->sa_family == AF_INET6) { + if (ifa->ifa_addr->sa_family == AF_INET6) { in6_purgeaddr(ifa); /* ifp_addrhead is already updated */ continue; @@ -2404,8 +2403,7 @@ * the address change. */ TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) { - if (ifa->ifa_addr != NULL && - ifa->ifa_addr->sa_family == AF_INET) + if (ifa->ifa_addr->sa_family == AF_INET) arp_ifinit(ifp, ifa); } #endif ==== //depot/projects/kmacy_sun4v_stable/src/sys/net/if_atmsubr.c#2 (text+ko) ==== @@ -35,7 +35,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/sys/net/if_atmsubr.c,v 1.41 2005/08/11 08:14:52 glebius Exp $"); +__FBSDID("$FreeBSD: src/sys/net/if_atmsubr.c,v 1.43 2006/06/29 19:22:04 yar Exp $"); #include "opt_inet.h" #include "opt_inet6.h" @@ -383,13 +383,12 @@ #if defined(__NetBSD__) || defined(__OpenBSD__) TAILQ_FOREACH(ifa, &ifp->if_addrlist, ifa_list) #elif defined(__FreeBSD__) && (__FreeBSD__ > 2) - for (ifa = TAILQ_FIRST(&ifp->if_addrhead); ifa; - ifa = TAILQ_NEXT(ifa, ifa_link)) + TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) #elif defined(__FreeBSD__) || defined(__bsdi__) for (ifa = ifp->if_addrlist; ifa; ifa = ifa->ifa_next) #endif - if ((sdl = (struct sockaddr_dl *)ifa->ifa_addr) && - sdl->sdl_family == AF_LINK) { + if (ifa->ifa_addr->sa_family == AF_LINK) { + sdl = (struct sockaddr_dl *)ifa->ifa_addr; sdl->sdl_type = IFT_ATM; sdl->sdl_alen = ifp->if_addrlen; #ifdef notyet /* if using ATMARP, store hardware address using the next line */ ==== //depot/projects/kmacy_sun4v_stable/src/sys/net/if_gif.c#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/net/if_gif.c,v 1.60 2006/06/02 19:59:32 csjp Exp $ */ +/* $FreeBSD: src/sys/net/if_gif.c,v 1.61 2006/06/29 07:23:49 yar Exp $ */ /* $KAME: if_gif.c,v 1.87 2001/10/19 08:50:27 itojun Exp $ */ /*- @@ -916,13 +916,6 @@ if (odst) free((caddr_t)odst, M_IFADDR); - if (sc->gif_psrc && sc->gif_pdst) - ifp->if_drv_flags |= IFF_DRV_RUNNING; - else - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; - - return 0; - bad: if (sc->gif_psrc && sc->gif_pdst) ifp->if_drv_flags |= IFF_DRV_RUNNING; @@ -953,9 +946,5 @@ #ifdef INET6 (void)in6_gif_detach(sc); #endif - - if (sc->gif_psrc && sc->gif_pdst) - ifp->if_drv_flags |= IFF_DRV_RUNNING; - else - ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; } ==== //depot/projects/kmacy_sun4v_stable/src/sys/net/if_stf.c#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/net/if_stf.c,v 1.54 2006/06/02 19:59:32 csjp Exp $ */ +/* $FreeBSD: src/sys/net/if_stf.c,v 1.56 2006/06/29 19:22:04 yar Exp $ */ /* $KAME: if_stf.c,v 1.73 2001/12/03 11:08:30 keiichi Exp $ */ /*- @@ -367,12 +367,7 @@ struct sockaddr_in6 *sin6; struct in_addr in; - for (ia = TAILQ_FIRST(&ifp->if_addrlist); - ia; - ia = TAILQ_NEXT(ia, ifa_list)) - { - if (ia->ifa_addr == NULL) - continue; + TAILQ_FOREACH(ia, &ifp->if_addrlist, ifa_list) { if (ia->ifa_addr->sa_family != AF_INET6) continue; sin6 = (struct sockaddr_in6 *)ia->ifa_addr; ==== //depot/projects/kmacy_sun4v_stable/src/sys/net/if_tun.c#3 (text+ko) ==== @@ -13,7 +13,7 @@ * UCL. This driver is based much more on read/write/poll mode of * operation though. * - * $FreeBSD: src/sys/net/if_tun.c,v 1.155 2006/06/02 19:59:32 csjp Exp $ + * $FreeBSD: src/sys/net/if_tun.c,v 1.157 2006/06/29 19:22:04 yar Exp $ */ #include "opt_atalk.h" @@ -393,29 +393,23 @@ ifp->if_drv_flags |= IFF_DRV_RUNNING; getmicrotime(&ifp->if_lastchange); - for (ifa = TAILQ_FIRST(&ifp->if_addrhead); ifa; - ifa = TAILQ_NEXT(ifa, ifa_link)) { - if (ifa->ifa_addr == NULL) - error = EFAULT; - /* XXX: Should maybe return straight off? */ - else { #ifdef INET - if (ifa->ifa_addr->sa_family == AF_INET) { - struct sockaddr_in *si; + TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) { + if (ifa->ifa_addr->sa_family == AF_INET) { + struct sockaddr_in *si; - si = (struct sockaddr_in *)ifa->ifa_addr; - mtx_lock(&tp->tun_mtx); - if (si->sin_addr.s_addr) - tp->tun_flags |= TUN_IASET; + si = (struct sockaddr_in *)ifa->ifa_addr; + mtx_lock(&tp->tun_mtx); + if (si->sin_addr.s_addr) + tp->tun_flags |= TUN_IASET; - si = (struct sockaddr_in *)ifa->ifa_dstaddr; - if (si && si->sin_addr.s_addr) - tp->tun_flags |= TUN_DSTADDR; - mtx_unlock(&tp->tun_mtx); - } -#endif + si = (struct sockaddr_in *)ifa->ifa_dstaddr; + if (si && si->sin_addr.s_addr) + tp->tun_flags |= TUN_DSTADDR; + mtx_unlock(&tp->tun_mtx); } } +#endif return (error); } ==== //depot/projects/kmacy_sun4v_stable/src/sys/net/if_vlan.c#3 (text+ko) ==== @@ -26,7 +26,7 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/net/if_vlan.c,v 1.103 2006/06/21 13:48:34 yar Exp $ + * $FreeBSD: src/sys/net/if_vlan.c,v 1.105 2006/06/29 07:52:30 yar Exp $ */ /* @@ -105,17 +105,15 @@ #define PARENT(ifv) ((ifv)->ifv_trunk->parent) int ifv_pflags; /* special flags we have set on parent */ struct ifv_linkmib { - int ifvm_parent; int ifvm_encaplen; /* encapsulation length */ int ifvm_mtufudge; /* MTU fudged by this much */ int ifvm_mintu; /* min transmission unit */ - uint16_t ifvm_proto; /* encapsulation ethertype */ uint16_t ifvm_tag; /* tag to apply on packets leaving if */ } ifv_mib; - SLIST_HEAD(__vlan_mchead, vlan_mc_entry) vlan_mc_listhead; + SLIST_HEAD(, vlan_mc_entry) vlan_mc_listhead; LIST_ENTRY(ifvlan) ifv_list; }; -#define ifv_tag ifv_mib.ifvm_tag +#define ifv_tag ifv_mib.ifvm_tag #define ifv_encaplen ifv_mib.ifvm_encaplen #define ifv_mtufudge ifv_mib.ifvm_mtufudge #define ifv_mintu ifv_mib.ifvm_mintu @@ -177,7 +175,7 @@ static void trunk_destroy(struct ifvlantrunk *trunk); static void vlan_start(struct ifnet *ifp); -static void vlan_ifinit(void *foo); +static void vlan_init(void *foo); static void vlan_input(struct ifnet *ifp, struct mbuf *m); static int vlan_ioctl(struct ifnet *ifp, u_long cmd, caddr_t addr); static int vlan_setflag(struct ifnet *ifp, int flag, int status, @@ -204,6 +202,7 @@ #ifndef VLAN_ARRAY #define HASH(n, m) ((((n) >> 8) ^ ((n) >> 4) ^ (n)) & (m)) + static void vlan_inithash(struct ifvlantrunk *trunk) { @@ -627,7 +626,7 @@ struct ifvlan *ifv; struct ifnet *ifp; struct ifnet *p; - u_char eaddr[6] = {0,0,0,0,0,0}; + static const u_char eaddr[6]; /* 00:00:00:00:00:00 */ if ((p = vlan_clone_match_ethertag(ifc, name, &tag)) != NULL) { ethertag = 1; @@ -685,7 +684,7 @@ ifp->if_linkmiblen = sizeof(ifv->ifv_mib); /* NB: mtu is not set here */ - ifp->if_init = vlan_ifinit; + ifp->if_init = vlan_init; ifp->if_start = vlan_start; ifp->if_ioctl = vlan_ioctl; ifp->if_snd.ifq_maxlen = ifqmaxlen; @@ -704,8 +703,8 @@ * out all the way, otherwise userland could get * confused. Thus, we destroy the interface. */ + ether_ifdetach(ifp); vlan_unconfig(ifp); - ether_ifdetach(ifp); if_free_type(ifp, IFT_ETHER); free(ifv, M_VLAN); @@ -723,18 +722,13 @@ static int vlan_clone_destroy(struct if_clone *ifc, struct ifnet *ifp) { - int unit; struct ifvlan *ifv = ifp->if_softc; + int unit = ifp->if_dunit; - unit = ifp->if_dunit; - - vlan_unconfig(ifp); - - ether_ifdetach(ifp); + ether_ifdetach(ifp); /* first, remove it from system-wide lists */ + vlan_unconfig(ifp); /* now it can be unconfigured and freed */ if_free_type(ifp, IFT_ETHER); - free(ifv, M_VLAN); - ifc_free_unit(ifc, unit); return (0); @@ -744,9 +738,8 @@ * The ifp->if_init entry point for vlan(4) is a no-op. */ static void -vlan_ifinit(void *foo) +vlan_init(void *foo __unused) { - } /* @@ -1151,9 +1144,6 @@ ifp->if_link_state = LINK_STATE_UNKNOWN; ifp->if_drv_flags &= ~IFF_DRV_RUNNING; - /* Clear our MAC address. */ - bzero(IF_LLADDR(ifp), ETHER_ADDR_LEN); - return (0); } ==== //depot/projects/kmacy_sun4v_stable/src/sys/netinet/if_ether.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)if_ether.c 8.1 (Berkeley) 6/10/93 - * $FreeBSD: src/sys/netinet/if_ether.c,v 1.152 2006/06/09 00:33:30 thompsa Exp $ + * $FreeBSD: src/sys/netinet/if_ether.c,v 1.153 2006/06/29 19:22:04 yar Exp $ */ /* @@ -654,7 +654,7 @@ * as a dummy address for the rest of the function. */ TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) - if (ifa->ifa_addr && ifa->ifa_addr->sa_family == AF_INET) { + if (ifa->ifa_addr->sa_family == AF_INET) { ia = ifatoia(ifa); goto match; } ==== //depot/projects/kmacy_sun4v_stable/src/sys/netinet/in_pcb.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)in_pcb.c 8.4 (Berkeley) 5/24/95 - * $FreeBSD: src/sys/netinet/in_pcb.c,v 1.178 2006/06/27 11:34:44 pjd Exp $ + * $FreeBSD: src/sys/netinet/in_pcb.c,v 1.179 2006/06/29 10:49:49 bz Exp $ */ #include "opt_ipsec.h" @@ -280,7 +280,7 @@ if (nam != NULL && laddr.s_addr != INADDR_ANY) return (EINVAL); if ((so->so_options & (SO_REUSEADDR|SO_REUSEPORT)) == 0) - wild = 1; + wild = INPLOOKUP_WILDCARD; if (nam) { sin = (struct sockaddr_in *)nam; if (nam->sa_len != sizeof (*sin)) ==== //depot/projects/kmacy_sun4v_stable/src/sys/netinet/ip_divert.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/netinet/ip_divert.c,v 1.118 2006/04/21 09:25:39 ps Exp $ + * $FreeBSD: src/sys/netinet/ip_divert.c,v 1.119 2006/06/29 19:22:04 yar Exp $ */ #if !defined(KLD_MODULE) @@ -206,8 +206,6 @@ /* Find IP address for receive interface */ TAILQ_FOREACH(ifa, &m->m_pkthdr.rcvif->if_addrhead, ifa_link) { - if (ifa->ifa_addr == NULL) - continue; if (ifa->ifa_addr->sa_family != AF_INET) continue; divsrc.sin_addr = ==== //depot/projects/kmacy_sun4v_stable/src/sys/netinet/ip_fw2.c#3 (text+ko) ==== @@ -22,7 +22,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/netinet/ip_fw2.c,v 1.136 2006/06/22 13:22:54 ume Exp $ + * $FreeBSD: src/sys/netinet/ip_fw2.c,v 1.140 2006/06/29 19:22:04 yar Exp $ */ #define DEB(x) @@ -465,8 +465,6 @@ /* XXX lock? */ TAILQ_FOREACH(ia, &ifp->if_addrhead, ifa_link) { - if (ia->ifa_addr == NULL) - continue; if (ia->ifa_addr->sa_family != AF_INET) continue; if (cmd->p.ip.s_addr == ((struct sockaddr_in *) @@ -574,10 +572,7 @@ struct in6_addr copia; TAILQ_FOREACH(mdc, &ifnet, if_link) - for (mdc2 = mdc->if_addrlist.tqh_first; mdc2; - mdc2 = mdc2->ifa_list.tqe_next) { - if (!mdc2->ifa_addr) - continue; + TAILQ_FOREACH(mdc2, &mdc->if_addrlist, ifa_list) { if (mdc2->ifa_addr->sa_family == AF_INET6) { fdm = (struct in6_ifaddr *)mdc2; copia = fdm->ia_addr.sin6_addr; @@ -664,10 +659,9 @@ } static void -send_reject6(struct ip_fw_args *args, int code, u_short offset, u_int hlen) +send_reject6(struct ip_fw_args *args, int code, u_int hlen) { - if (code == ICMP6_UNREACH_RST && offset == 0 && - args->f_id.proto == IPPROTO_TCP) { + if (code == ICMP6_UNREACH_RST && args->f_id.proto == IPPROTO_TCP) { struct ip6_hdr *ip6; struct tcphdr *tcp; tcp_seq ack, seq; @@ -1620,7 +1614,7 @@ * sends a reject message, consuming the mbuf passed as an argument. */ static void -send_reject(struct ip_fw_args *args, int code, u_short offset, int ip_len) +send_reject(struct ip_fw_args *args, int code, int ip_len) { if (code != ICMP_REJECT_RST) { /* Send an ICMP unreach */ @@ -1631,7 +1625,7 @@ ip->ip_off = ntohs(ip->ip_off); } icmp_error(args->m, ICMP_UNREACH, code, 0L, 0); - } else if (offset == 0 && args->f_id.proto == IPPROTO_TCP) { + } else if (args->f_id.proto == IPPROTO_TCP) { struct tcphdr *const tcp = L3HDR(struct tcphdr, mtod(args->m, struct ip *)); if ( (tcp->th_flags & TH_RST) == 0) { @@ -1925,7 +1919,7 @@ wildcard = 0; pi = &tcbinfo; } else if (proto == IPPROTO_UDP) { - wildcard = 1; + wildcard = INPLOOKUP_WILDCARD; pi = &udbinfo; } else return 0; @@ -3126,20 +3120,19 @@ is_icmp_query(ICMP(ulp))) && !(m->m_flags & (M_BCAST|M_MCAST)) && !IN_MULTICAST(ntohl(dst_ip.s_addr))) { - send_reject(args, cmd->arg1, - offset,ip_len); + send_reject(args, cmd->arg1, ip_len); m = args->m; } /* FALLTHROUGH */ #ifdef INET6 case O_UNREACH6: if (hlen > 0 && is_ipv6 && + ((offset & IP6F_OFF_MASK) == 0) && (proto != IPPROTO_ICMPV6 || (is_icmp6_query(args->f_id.flags) == 1)) && !(m->m_flags & (M_BCAST|M_MCAST)) && !IN6_IS_ADDR_MULTICAST(&args->f_id.dst_ip6)) { - send_reject6(args, cmd->arg1, - offset, hlen); + send_reject6(args, cmd->arg1, hlen); m = args->m; } /* FALLTHROUGH */ ==== //depot/projects/kmacy_sun4v_stable/src/sys/netinet/ip_output.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)ip_output.c 8.3 (Berkeley) 1/21/94 - * $FreeBSD: src/sys/netinet/ip_output.c,v 1.257 2006/05/21 17:52:08 maxim Exp $ + * $FreeBSD: src/sys/netinet/ip_output.c,v 1.258 2006/06/29 13:38:36 glebius Exp $ */ #include "opt_ipfw.h" @@ -148,7 +148,7 @@ * will wrap around in less than 10 seconds at 100 Mbit/s on a * medium with MTU 1500. See Steven M. Bellovin, "A Technique * for Counting NATted Hosts", Proc. IMW'02, available at - * <http://www.research.att.com/~smb/papers/fnat.pdf>. + * <http://www.cs.columbia.edu/~smb/papers/fnat.pdf>. */ if ((flags & (IP_FORWARDING|IP_RAWOUTPUT)) == 0) { ip->ip_v = IPVERSION; ==== //depot/projects/kmacy_sun4v_stable/src/sys/netinet/tcp_input.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)tcp_input.c 8.12 (Berkeley) 5/24/95 - * $FreeBSD: src/sys/netinet/tcp_input.c,v 1.302 2006/06/26 16:14:19 andre Exp $ + * $FreeBSD: src/sys/netinet/tcp_input.c,v 1.303 2006/06/29 10:49:49 bz Exp $ */ #include "opt_ipfw.h" /* for ipfw_fwd */ @@ -651,7 +651,8 @@ next_hop->sin_port ? ntohs(next_hop->sin_port) : th->th_dport, - 1, m->m_pkthdr.rcvif); + INPLOOKUP_WILDCARD, + m->m_pkthdr.rcvif); } /* Remove the tag from the packet. We don't need it anymore. */ m_tag_delete(m, fwd_tag); @@ -662,13 +663,15 @@ inp = in6_pcblookup_hash(&tcbinfo, &ip6->ip6_src, th->th_sport, &ip6->ip6_dst, th->th_dport, - 1, m->m_pkthdr.rcvif); + INPLOOKUP_WILDCARD, + m->m_pkthdr.rcvif); #endif } else inp = in_pcblookup_hash(&tcbinfo, ip->ip_src, th->th_sport, ip->ip_dst, th->th_dport, - 1, m->m_pkthdr.rcvif); + INPLOOKUP_WILDCARD, >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200606300017.k5U0H5Kh037022>