Date: Sun, 29 Jun 2008 01:21:47 GMT From: Julian Elischer <julian@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 144254 for review Message-ID: <200806290121.m5T1Llqj051095@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=144254 Change 144254 by julian@julian_trafmon1 on 2008/06/29 01:20:49 merge in a pile of Macros to reduce the diff size and assist testing. Affected files ... .. //depot/projects/vimage-commit3/src/sys/compat/linprocfs/linprocfs.c#2 edit .. //depot/projects/vimage-commit3/src/sys/compat/linux/linux_ioctl.c#2 edit .. //depot/projects/vimage-commit3/src/sys/compat/linux/linux_misc.c#2 edit .. //depot/projects/vimage-commit3/src/sys/ddb/db_textdump.c#2 edit .. //depot/projects/vimage-commit3/src/sys/dev/firewire/firewire.c#2 edit .. //depot/projects/vimage-commit3/src/sys/fs/cd9660/cd9660_rrip.c#2 edit .. //depot/projects/vimage-commit3/src/sys/kern/kern_jail.c#2 edit .. //depot/projects/vimage-commit3/src/sys/kern/kern_mib.c#2 edit .. //depot/projects/vimage-commit3/src/sys/kern/kern_uuid.c#2 edit .. //depot/projects/vimage-commit3/src/sys/kern/kern_xxx.c#2 edit .. //depot/projects/vimage-commit3/src/sys/net/if.c#2 edit .. //depot/projects/vimage-commit3/src/sys/net/if_ethersubr.c#2 edit .. //depot/projects/vimage-commit3/src/sys/net/if_faith.c#2 edit .. //depot/projects/vimage-commit3/src/sys/net/if_gif.c#2 edit .. //depot/projects/vimage-commit3/src/sys/net/if_gre.c#2 edit .. //depot/projects/vimage-commit3/src/sys/net/if_loop.c#2 edit .. //depot/projects/vimage-commit3/src/sys/net/if_mib.c#2 edit .. //depot/projects/vimage-commit3/src/sys/net/if_stf.c#2 edit .. //depot/projects/vimage-commit3/src/sys/net/if_vlan.c#2 edit .. //depot/projects/vimage-commit3/src/sys/net/raw_cb.c#3 edit .. //depot/projects/vimage-commit3/src/sys/net/raw_usrreq.c#3 edit .. //depot/projects/vimage-commit3/src/sys/net/route.c#2 edit .. //depot/projects/vimage-commit3/src/sys/net/rtsock.c#2 edit .. //depot/projects/vimage-commit3/src/sys/net80211/ieee80211.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netgraph/ng_base.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netgraph/ng_eiface.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netgraph/ng_iface.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/if_ether.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/igmp.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/in.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/in_gif.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/in_mcast.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/in_pcb.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/in_rmx.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/ip_carp.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/ip_fastfwd.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/ip_fw2.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/ip_fw_nat.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/ip_icmp.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/ip_input.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/ip_ipsec.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/ip_mroute.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/ip_options.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/ip_output.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/raw_ip.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/tcp_hostcache.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/tcp_input.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/tcp_output.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/tcp_reass.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/tcp_sack.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/tcp_subr.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/tcp_syncache.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/tcp_timer.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/tcp_timewait.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/tcp_usrreq.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet/udp_usrreq.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/dest6.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/frag6.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/icmp6.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/in6.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/in6_gif.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/in6_ifattach.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/in6_pcb.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/in6_proto.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/in6_rmx.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/in6_src.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/ip6_forward.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/ip6_input.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/ip6_ipsec.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/ip6_mroute.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/ip6_output.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/mld6.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/nd6.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/nd6_nbr.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/nd6_rtr.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/raw_ip6.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/route6.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/scope6.c#3 edit .. //depot/projects/vimage-commit3/src/sys/netinet6/udp6_usrreq.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netipsec/ipsec.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netipsec/ipsec_input.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netipsec/ipsec_mbuf.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netipsec/ipsec_output.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netipsec/key.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netipsec/keysock.c#3 edit .. //depot/projects/vimage-commit3/src/sys/netipsec/xform_ah.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netipsec/xform_esp.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netipsec/xform_ipcomp.c#2 edit .. //depot/projects/vimage-commit3/src/sys/netipsec/xform_ipip.c#2 edit .. //depot/projects/vimage-commit3/src/sys/nfsclient/nfs_diskless.c#2 edit .. //depot/projects/vimage-commit3/src/sys/nfsclient/nfs_vfsops.c#2 edit .. //depot/projects/vimage-commit3/src/sys/nfsclient/nfs_vnops.c#2 edit .. //depot/projects/vimage-commit3/src/sys/rpc/authunix_prot.c#2 edit Differences ... ==== //depot/projects/vimage-commit3/src/sys/compat/linprocfs/linprocfs.c#2 (text+ko) ==== @@ -1002,6 +1002,7 @@ static int linprocfs_donetdev(PFS_FILL_ARGS) { + INIT_VNET_NET(TD_TO_VNET(curthread)); char ifname[16]; /* XXX LINUX_IFNAMSIZ */ struct ifnet *ifp; ==== //depot/projects/vimage-commit3/src/sys/compat/linux/linux_ioctl.c#2 (text+ko) ==== @@ -2040,6 +2040,7 @@ int linux_ifname(struct ifnet *ifp, char *buffer, size_t buflen) { + INIT_VNET_NET(ifp->if_vnet); struct ifnet *ifscan; int ethno; @@ -2073,6 +2074,7 @@ static struct ifnet * ifname_linux_to_bsd(const char *lxname, char *bsdname) { + INIT_VNET_NET(TD_TO_VNET(curthread)); struct ifnet *ifp; int len, unit; char *ep; @@ -2113,6 +2115,7 @@ static int linux_ifconf(struct thread *td, struct ifconf *uifc) { + INIT_VNET_NET(TD_TO_VNET(td)); #ifdef COMPAT_LINUX32 struct l_ifconf ifc; #else ==== //depot/projects/vimage-commit3/src/sys/compat/linux/linux_misc.c#2 (text+ko) ==== @@ -712,6 +712,7 @@ int linux_newuname(struct thread *td, struct linux_newuname_args *args) { + INIT_VPROCG(TD_TO_VPROCG(td)); struct l_new_utsname utsname; char osname[LINUX_MAX_UTSNAME]; char osrelease[LINUX_MAX_UTSNAME]; ==== //depot/projects/vimage-commit3/src/sys/ddb/db_textdump.c#2 (text+ko) ==== @@ -185,6 +185,7 @@ mkdumpheader(struct kerneldumpheader *kdh, uint32_t archver, uint64_t dumplen, uint32_t blksz) { + INIT_VPROCG(TD_TO_VPROCG(&thread0)); bzero(kdh, sizeof(*kdh)); strncpy(kdh->magic, TEXTDUMPMAGIC, sizeof(kdh->magic)); ==== //depot/projects/vimage-commit3/src/sys/dev/firewire/firewire.c#2 (text+ko) ==== @@ -680,6 +680,7 @@ static void fw_reset_crom(struct firewire_comm *fc) { + INIT_VPROCG(TD_TO_VPROCG(curthread)); /* XXX */ struct crom_src_buf *buf; struct crom_src *src; struct crom_chunk *root; ==== //depot/projects/vimage-commit3/src/sys/fs/cd9660/cd9660_rrip.c#2 (text+ko) ==== @@ -116,6 +116,7 @@ ISO_RRIP_SLINK *p; ISO_RRIP_ANALYZE *ana; { + INIT_VPROCG(TD_TO_VPROCG(curthread)); ISO_RRIP_SLINK_COMPONENT *pcomp; ISO_RRIP_SLINK_COMPONENT *pcompe; int len, wlen, cont; @@ -225,6 +226,7 @@ ISO_RRIP_ALTNAME *p; ISO_RRIP_ANALYZE *ana; { + INIT_VPROCG(TD_TO_VPROCG(curthread)); char *inbuf; int wlen; int cont; ==== //depot/projects/vimage-commit3/src/sys/kern/kern_jail.c#2 (text+ko) ==== @@ -467,6 +467,7 @@ void getcredhostname(struct ucred *cred, char *buf, size_t size) { + INIT_VPROCG(cred->cr_vimage->v_procg); if (jailed(cred)) { mtx_lock(&cred->cr_prison->pr_mtx); ==== //depot/projects/vimage-commit3/src/sys/kern/kern_mib.c#2 (text+ko) ==== @@ -213,6 +213,7 @@ static int sysctl_hostname(SYSCTL_HANDLER_ARGS) { + INIT_VPROCG(TD_TO_VPROCG(req->td)); struct prison *pr; char tmphostname[MAXHOSTNAMELEN]; int error; ==== //depot/projects/vimage-commit3/src/sys/kern/kern_uuid.c#2 (text+ko) ==== @@ -90,6 +90,7 @@ static void uuid_node(uint16_t *node) { + INIT_VNET_NET(curvnet); struct ifnet *ifp; struct ifaddr *ifa; struct sockaddr_dl *sdl; ==== //depot/projects/vimage-commit3/src/sys/kern/kern_xxx.c#2 (text+ko) ==== @@ -247,6 +247,7 @@ struct thread *td; struct getdomainname_args *uap; { + INIT_VPROCG(TD_TO_VPROCG(td)); int domainnamelen; int error; @@ -271,6 +272,7 @@ struct thread *td; struct setdomainname_args *uap; { + INIT_VPROCG(TD_TO_VPROCG(td)); int error, domainnamelen; error = priv_check(td, PRIV_SETDOMAINNAME); ==== //depot/projects/vimage-commit3/src/sys/net/if.c#2 (text+ko) ==== @@ -58,6 +58,7 @@ #include <sys/domain.h> #include <sys/jail.h> #include <sys/vimage.h> + #include <machine/stdarg.h> #include <net/if.h> @@ -225,6 +226,7 @@ static int netkqfilter(struct cdev *dev, struct knote *kn) { + INIT_VNET_NET(curvnet); struct knlist *klist; struct ifnet *ifp; int idx; @@ -329,6 +331,7 @@ struct ifnet* if_alloc(u_char type) { + INIT_VNET_NET(curvnet); struct ifnet *ifp; ifp = malloc(sizeof(struct ifnet), M_IFNET, M_WAITOK|M_ZERO); @@ -389,6 +392,7 @@ void if_free_type(struct ifnet *ifp, u_char type) { + INIT_VNET_NET(curvnet); /* ifp->if_vnet can be NULL here ! */ if (ifp != ifnet_byindex(ifp->if_index)) { if_printf(ifp, "%s: value was not if_alloced, skipping\n", @@ -425,6 +429,7 @@ void if_attach(struct ifnet *ifp) { + INIT_VNET_NET(curvnet); unsigned socksize, ifasize; int namelen, masklen; struct sockaddr_dl *sdl; @@ -539,6 +544,7 @@ static void if_attachdomain(void *dummy) { + INIT_VNET_NET(curvnet); struct ifnet *ifp; int s; @@ -649,6 +655,7 @@ void if_detach(struct ifnet *ifp) { + INIT_VNET_NET(ifp->if_vnet); struct ifaddr *ifa; struct radix_node_head *rnh; int s; @@ -764,6 +771,7 @@ int if_addgroup(struct ifnet *ifp, const char *groupname) { + INIT_VNET_NET(ifp->if_vnet); struct ifg_list *ifgl; struct ifg_group *ifg = NULL; struct ifg_member *ifgm; @@ -833,6 +841,7 @@ int if_delgroup(struct ifnet *ifp, const char *groupname) { + INIT_VNET_NET(ifp->if_vnet); struct ifg_list *ifgl; struct ifg_member *ifgm; @@ -922,6 +931,7 @@ static int if_getgroupmembers(struct ifgroupreq *data) { + INIT_VNET_NET(curvnet); struct ifgroupreq *ifgr = data; struct ifg_group *ifg; struct ifg_member *ifgm; @@ -1031,6 +1041,7 @@ struct ifaddr * ifa_ifwithaddr(struct sockaddr *addr) { + INIT_VNET_NET(curvnet); struct ifnet *ifp; struct ifaddr *ifa; @@ -1061,6 +1072,7 @@ struct ifaddr * ifa_ifwithbroadaddr(struct sockaddr *addr) { + INIT_VNET_NET(curvnet); struct ifnet *ifp; struct ifaddr *ifa; @@ -1088,6 +1100,7 @@ struct ifaddr * ifa_ifwithdstaddr(struct sockaddr *addr) { + INIT_VNET_NET(curvnet); struct ifnet *ifp; struct ifaddr *ifa; @@ -1116,6 +1129,7 @@ struct ifaddr * ifa_ifwithnet(struct sockaddr *addr) { + INIT_VNET_NET(curvnet); struct ifnet *ifp; struct ifaddr *ifa; struct ifaddr *ifa_maybe = (struct ifaddr *) 0; @@ -1359,6 +1373,7 @@ struct ifnet *ifp = (struct ifnet *)arg; int link_state = ifp->if_link_state; int link; + CURVNET_SET(ifp->if_vnet); /* Notify that the link state has changed. */ rt_ifmsg(ifp); @@ -1395,6 +1410,7 @@ if (log_link_state_change) log(LOG_NOTICE, "%s: link state changed to %s\n", ifp->if_xname, (link_state == LINK_STATE_UP) ? "UP" : "DOWN" ); + CURVNET_RESTORE(); } /* @@ -1461,12 +1477,15 @@ int s = splimp(); IFNET_RLOCK(); + VNET_ITERLOOP_BEGIN(); + INIT_VNET_NET(curvnet); TAILQ_FOREACH(ifp, &V_ifnet, if_link) { if (ifp->if_timer == 0 || --ifp->if_timer) continue; if (ifp->if_watchdog) (*ifp->if_watchdog)(ifp); } + VNET_ITERLOOP_END(); IFNET_RUNLOCK(); splx(s); timeout(if_slowtimo, (void *)0, hz / IFNET_SLOWHZ); @@ -1479,6 +1498,7 @@ struct ifnet * ifunit(const char *name) { + INIT_VNET_NET(curvnet); struct ifnet *ifp; IFNET_RLOCK(); @@ -2051,6 +2071,7 @@ static int ifconf(u_long cmd, caddr_t data) { + INIT_VNET_NET(curvnet); struct ifconf *ifc = (struct ifconf *)data; #ifdef __amd64__ struct ifconf32 *ifc32 = (struct ifconf32 *)data; @@ -2410,6 +2431,7 @@ int lastref; #ifdef INVARIANTS struct ifnet *oifp; + INIT_VNET_NET(ifp->if_vnet); IFNET_RLOCK(); TAILQ_FOREACH(oifp, &V_ifnet, if_link) ==== //depot/projects/vimage-commit3/src/sys/net/if_ethersubr.c#2 (text+ko) ==== @@ -389,6 +389,7 @@ { int error; #if defined(INET) || defined(INET6) + INIT_VNET_NET(ifp->if_vnet); struct ip_fw *rule = ip_dn_claim_rule(m); if (IPFW_LOADED && V_ether_ipfw != 0) { @@ -420,6 +421,7 @@ ether_ipfw_chk(struct mbuf **m0, struct ifnet *dst, struct ip_fw **rule, int shared) { + INIT_VNET_IPFW(dst->if_vnet); struct ether_header *eh; struct ether_header save_eh; struct mbuf *m; @@ -712,6 +714,7 @@ KASSERT(ifp != NULL, ("%s: NULL interface pointer", __func__)); #if defined(INET) || defined(INET6) + INIT_VNET_NET(ifp->if_vnet); /* * Allow dummynet and/or ipfw to claim the frame. * Do not do this for PROMISC frames in case we are re-entered. ==== //depot/projects/vimage-commit3/src/sys/net/if_faith.c#2 (text+ko) ==== @@ -325,6 +325,7 @@ faithprefix(in6) struct in6_addr *in6; { + INIT_VNET_INET6(curvnet); struct rtentry *rt; struct sockaddr_in6 sin6; int ret; ==== //depot/projects/vimage-commit3/src/sys/net/if_gif.c#2 (text+ko) ==== @@ -155,6 +155,7 @@ int unit; caddr_t params; { + INIT_VNET_GIF(curvnet); struct gif_softc *sc; sc = malloc(sizeof(struct gif_softc), M_GIF, M_WAITOK | M_ZERO); @@ -365,6 +366,7 @@ struct sockaddr *dst; struct rtentry *rt; /* added in net2 */ { + INIT_VNET_GIF(ifp->if_vnet); struct gif_softc *sc = ifp->if_softc; struct m_tag *mtag; int error = 0; @@ -855,6 +857,7 @@ struct sockaddr *src; struct sockaddr *dst; { + INIT_VNET_GIF(ifp->if_vnet); struct gif_softc *sc = ifp->if_softc; struct gif_softc *sc2; struct sockaddr *osrc, *odst, *sa; ==== //depot/projects/vimage-commit3/src/sys/net/if_gre.c#2 (text+ko) ==== @@ -242,12 +242,15 @@ gre_output(struct ifnet *ifp, struct mbuf *m, struct sockaddr *dst, struct rtentry *rt) { +#ifdef INET6 + INIT_VNET_INET(ifp->if_vnet); +#endif int error = 0; struct gre_softc *sc = ifp->if_softc; struct greip *gh; struct ip *ip; - u_short ip_id = 0; - uint8_t ip_tos = 0; + u_short gre_ip_id = 0; + uint8_t gre_ip_tos = 0; u_int16_t etype = 0; struct mobile_h mob_h; u_int32_t af; @@ -364,13 +367,13 @@ switch (dst->sa_family) { case AF_INET: ip = mtod(m, struct ip *); - ip_tos = ip->ip_tos; - ip_id = ip->ip_id; + gre_ip_tos = ip->ip_tos; + gre_ip_id = ip->ip_id; etype = ETHERTYPE_IP; break; #ifdef INET6 case AF_INET6: - ip_id = ip_newid(); + gre_ip_id = ip_newid(); etype = ETHERTYPE_IPV6; break; #endif @@ -415,8 +418,8 @@ ((struct ip*)gh)->ip_v = IPPROTO_IPV4; ((struct ip*)gh)->ip_hl = (sizeof(struct ip)) >> 2; ((struct ip*)gh)->ip_ttl = GRE_TTL; - ((struct ip*)gh)->ip_tos = ip_tos; - ((struct ip*)gh)->ip_id = ip_id; + ((struct ip*)gh)->ip_tos = gre_ip_tos; + ((struct ip*)gh)->ip_id = gre_ip_id; gh->gi_len = m->m_pkthdr.len; } ==== //depot/projects/vimage-commit3/src/sys/net/if_loop.c#2 (text+ko) ==== @@ -129,6 +129,7 @@ static int lo_clone_create(struct if_clone *ifc, int unit, caddr_t params) { + INIT_VNET_NET(curvnet); struct ifnet *ifp; struct lo_softc *sc; @@ -233,6 +234,7 @@ int if_simloop(struct ifnet *ifp, struct mbuf *m, int af, int hlen) { + INIT_VNET_NET(ifp->if_vnet); int isr; M_ASSERTPKTHDR(m); ==== //depot/projects/vimage-commit3/src/sys/net/if_mib.c#2 (text+ko) ==== @@ -73,6 +73,7 @@ static int sysctl_ifdata(SYSCTL_HANDLER_ARGS) /* XXX bad syntax! */ { + INIT_VNET_NET(curvnet); int *name = (int *)arg1; int error; u_int namelen = arg2; ==== //depot/projects/vimage-commit3/src/sys/net/if_stf.c#2 (text+ko) ==== @@ -366,6 +366,7 @@ stf_getsrcifa6(ifp) struct ifnet *ifp; { + INIT_VNET_INET(ifp->if_vnet); struct ifaddr *ia; struct in_ifaddr *ia4; struct sockaddr_in6 *sin6; @@ -561,6 +562,7 @@ struct in_addr *in; struct ifnet *inifp; /* incoming interface */ { + INIT_VNET_INET(curvnet); struct in_ifaddr *ia4; /* ==== //depot/projects/vimage-commit3/src/sys/net/if_vlan.c#2 (text+ko) ==== @@ -574,6 +574,7 @@ static struct ifnet * vlan_clone_match_ethertag(struct if_clone *ifc, const char *name, int *tag) { + INIT_VNET_NET(curvnet); const char *cp; struct ifnet *ifp; int t = 0; ==== //depot/projects/vimage-commit3/src/sys/net/raw_cb.c#3 (text+ko) ==== @@ -70,6 +70,7 @@ register struct socket *so; int proto; { + INIT_VNET_NET(so->so_vnet); register struct rawcb *rp = sotorawcb(so); int error; ==== //depot/projects/vimage-commit3/src/sys/net/raw_usrreq.c#3 (text+ko) ==== @@ -58,6 +58,7 @@ void raw_init() { + INIT_VNET_NET(curvnet); LIST_INIT(&V_rawcb_list); } @@ -77,6 +78,7 @@ register struct sockproto *proto; struct sockaddr *src, *dst; { + INIT_VNET_NET(curvnet); register struct rawcb *rp; register struct mbuf *m = m0; struct socket *last; ==== //depot/projects/vimage-commit3/src/sys/net/route.c#2 (text+ko) ==== @@ -263,6 +263,7 @@ u_int fibnum) { struct radix_node_head *rnh; + INIT_VNET_NET(curvnet); struct rtentry *rt; struct radix_node *rn; struct rtentry *newrt; @@ -367,6 +368,7 @@ void rtfree(struct rtentry *rt) { + INIT_VNET_NET(curvnet); struct radix_node_head *rnh; KASSERT(rt != NULL,("%s: NULL rt", __func__)); @@ -467,6 +469,7 @@ struct sockaddr *src, u_int fibnum) { + INIT_VNET_NET(curvnet); struct rtentry *rt, *rt0 = NULL; int error = 0; short *stat = NULL; @@ -773,6 +776,7 @@ int rtexpunge(struct rtentry *rt) { + INIT_VNET_NET(curvnet); struct radix_node *rn; struct radix_node_head *rnh; struct ifaddr *ifa; @@ -864,6 +868,7 @@ rtrequest1_fib(int req, struct rt_addrinfo *info, struct rtentry **ret_nrt, u_int fibnum) { + INIT_VNET_NET(curvnet); int error = 0; register struct rtentry *rt; register struct radix_node *rn; @@ -1294,6 +1299,7 @@ int rt_setgate(struct rtentry *rt, struct sockaddr *dst, struct sockaddr *gate) { + INIT_VNET_NET(curvnet); /* XXX dst may be overwritten, can we move this to below */ struct radix_node_head *rnh = V_rt_tables[rt->rt_fibnum][dst->sa_family]; int dlen = SA_SIZE(dst), glen = SA_SIZE(gate); @@ -1435,6 +1441,7 @@ static inline int rtinit1(struct ifaddr *ifa, int cmd, int flags, int fibnum) { + INIT_VNET_NET(curvnet); struct sockaddr *dst; struct sockaddr *netmask; struct rtentry *rt = NULL; ==== //depot/projects/vimage-commit3/src/sys/net/rtsock.c#2 (text+ko) ==== @@ -318,6 +318,7 @@ route_output(struct mbuf *m, struct socket *so) { #define sa_equal(a1, a2) (bcmp((a1), (a2), (a1)->sa_len) == 0) + INIT_VNET_NET(so->so_vnet); struct rt_msghdr *rtm = NULL; struct rtentry *rt = NULL; struct radix_node_head *rnh; @@ -1079,6 +1080,7 @@ static void rt_dispatch(struct mbuf *m, const struct sockaddr *sa) { + INIT_VNET_NET(curvnet); struct m_tag *tag; /* @@ -1142,6 +1144,7 @@ static int sysctl_iflist(int af, struct walkarg *w) { + INIT_VNET_NET(curvnet); struct ifnet *ifp; struct ifaddr *ifa; struct rt_addrinfo info; @@ -1202,6 +1205,7 @@ int sysctl_ifmalist(int af, struct walkarg *w) { + INIT_VNET_NET(curvnet); struct ifnet *ifp; struct ifmultiaddr *ifma; struct rt_addrinfo info; @@ -1251,6 +1255,7 @@ static int sysctl_rtsock(SYSCTL_HANDLER_ARGS) { + INIT_VNET_NET(curvnet); int *name = (int *)arg1; u_int namelen = arg2; struct radix_node_head *rnh; ==== //depot/projects/vimage-commit3/src/sys/net80211/ieee80211.c#2 (text+ko) ==== @@ -217,6 +217,7 @@ void ieee80211_ifattach(struct ieee80211com *ic) { + INIT_VNET_NET(curvnet); struct ifnet *ifp = ic->ic_ifp; struct sockaddr_dl *sdl; struct ifaddr *ifa; ==== //depot/projects/vimage-commit3/src/sys/netgraph/ng_base.c#2 (text+ko) ==== @@ -614,6 +614,7 @@ int ng_make_node_common(struct ng_type *type, node_p *nodepp) { + INIT_VNET_NETGRAPH(curvnet); node_p node; /* Require the node type to have been already installed */ @@ -648,7 +649,7 @@ mtx_lock(&ng_idhash_mtx); for (;;) { /* wrap protection, even if silly */ node_p node2 = NULL; - node->nd_ID = V_nextID++; /* 137/second for 1 year before wrap */ + node->nd_ID = V_nextID++; /* 137/sec for 1 year before wrap */ /* Is there a problem with the new number? */ NG_IDHASH_FIND(node->nd_ID, node2); /* already taken? */ @@ -795,6 +796,7 @@ static node_p ng_ID2noderef(ng_ID_t ID) { + INIT_VNET_NETGRAPH(curvnet); node_p node; mtx_lock(&ng_idhash_mtx); NG_IDHASH_FIND(ID, node); @@ -820,6 +822,7 @@ int ng_name_node(node_p node, const char *name) { + INIT_VNET_NETGRAPH(curvnet); int i, hash; node_p node2; @@ -870,6 +873,7 @@ node_p ng_name2noderef(node_p here, const char *name) { + INIT_VNET_NETGRAPH(curvnet); node_p node; ng_ID_t temp; int hash; @@ -2418,6 +2422,7 @@ static int ng_generic_msg(node_p here, item_p item, hook_p lasthook) { + INIT_VNET_NETGRAPH(curvnet); int error = 0; struct ng_mesg *msg; struct ng_mesg *resp = NULL; ==== //depot/projects/vimage-commit3/src/sys/netgraph/ng_eiface.c#2 (text+ko) ==== @@ -335,6 +335,7 @@ static int ng_eiface_constructor(node_p node) { + INIT_VNET_NETGRAPH(curvnet); struct ifnet *ifp; priv_p priv; u_char eaddr[6] = {0,0,0,0,0,0}; @@ -547,11 +548,14 @@ static int ng_eiface_rmnode(node_p node) { + INIT_VNET_NETGRAPH(curvnet); const priv_p priv = NG_NODE_PRIVATE(node); struct ifnet *const ifp = priv->ifp; + CURVNET_SET_QUIET(ifp->if_vnet); ether_ifdetach(ifp); if_free(ifp); + CURVNET_RESTORE(); free_unr(V_ng_eiface_unit, priv->unit); FREE(priv, M_NETGRAPH); NG_NODE_SET_PRIVATE(node, NULL); ==== //depot/projects/vimage-commit3/src/sys/netgraph/ng_iface.c#2 (text+ko) ==== @@ -507,6 +507,7 @@ static int ng_iface_constructor(node_p node) { + INIT_VNET_NETGRAPH(curvnet); struct ifnet *ifp; priv_p priv; @@ -767,11 +768,14 @@ static int ng_iface_shutdown(node_p node) { + INIT_VNET_NETGRAPH(curvnet); const priv_p priv = NG_NODE_PRIVATE(node); + CURVNET_SET_QUIET(priv->ifp->if_vnet); bpfdetach(priv->ifp); if_detach(priv->ifp); if_free(priv->ifp); + CURVNET_RESTORE(); priv->ifp = NULL; free_unr(V_ng_iface_unit, priv->unit); FREE(priv, M_NETGRAPH_IFACE); ==== //depot/projects/vimage-commit3/src/sys/netinet/if_ether.c#2 (text+ko) ==== @@ -150,6 +150,8 @@ static void arp_rtrequest(int req, struct rtentry *rt, struct rt_addrinfo *info) { + INIT_VNET_NET(curvnet); + INIT_VNET_INET(curvnet); struct sockaddr *gate; struct llinfo_arp *la; static struct sockaddr_dl null_sdl = {sizeof(null_sdl), AF_LINK}; @@ -361,6 +363,7 @@ arpresolve(struct ifnet *ifp, struct rtentry *rt0, struct mbuf *m, struct sockaddr *dst, u_char *desten) { + INIT_VNET_INET(ifp->if_vnet); struct llinfo_arp *la = NULL; struct rtentry *rt = NULL; struct sockaddr_dl *sdl; @@ -604,7 +607,8 @@ sin.sin_len = sizeof(struct sockaddr_in); sin.sin_family = AF_INET; sin.sin_addr.s_addr = 0; - + INIT_VNET_INET(ifp->if_vnet); + if (ifp->if_bridge) bridged = 1; ==== //depot/projects/vimage-commit3/src/sys/netinet/igmp.c#2 (text+ko) ==== @@ -146,6 +146,7 @@ static struct router_info * find_rti(struct ifnet *ifp) { + INIT_VNET_INET(ifp->if_vnet); struct router_info *rti; mtx_assert(&igmp_mtx, MA_OWNED); @@ -184,6 +185,7 @@ struct in_multistep step; struct router_info *rti; int timer; /** timer value in the igmp query header **/ + INIT_VNET_INET(ifp->if_vnet); ++V_igmpstat.igps_rcv_total; @@ -446,6 +448,7 @@ IGMP_PRINTF("[igmp.c,_slowtimo] -- > entering \n"); mtx_lock(&igmp_mtx); + INIT_VNET_INET(vnet_iter); SLIST_FOREACH(rti, &V_router_info_head, rti_list) { if (rti->rti_type == IGMP_V1_ROUTER) { rti->rti_time++; @@ -460,6 +463,8 @@ static void igmp_sendpkt(struct in_multi *inm, int type, unsigned long addr) { + INIT_VNET_NET(curvnet); + INIT_VNET_INET(curvnet); struct mbuf *m; struct igmp *igmp; struct ip *ip; ==== //depot/projects/vimage-commit3/src/sys/netinet/in.c#2 (text+ko) ==== @@ -87,6 +87,7 @@ int in_localaddr(struct in_addr in) { + INIT_VNET_INET(curvnet); register u_long i = ntohl(in.s_addr); register struct in_ifaddr *ia; @@ -109,6 +110,7 @@ int in_localip(struct in_addr in) { + INIT_VNET_INET(curvnet); struct in_ifaddr *ia; LIST_FOREACH(ia, INADDR_HASH(in.s_addr), ia_hash) { @@ -201,6 +203,7 @@ in_control(struct socket *so, u_long cmd, caddr_t data, struct ifnet *ifp, struct thread *td) { + INIT_VNET_INET(curvnet); /* so and ifp can be 0 ! */ register struct ifreq *ifr = (struct ifreq *)data; register struct in_ifaddr *ia = 0, *iap; register struct ifaddr *ifa; @@ -709,6 +712,7 @@ in_ifinit(struct ifnet *ifp, struct in_ifaddr *ia, struct sockaddr_in *sin, int scrub) { + INIT_VNET_INET(ifp->if_vnet); register u_long i = ntohl(sin->sin_addr.s_addr); struct sockaddr_in oldaddr; int s = splimp(), flags = RTF_UP, error = 0; @@ -803,6 +807,7 @@ static int in_addprefix(struct in_ifaddr *target, int flags) { + INIT_VNET_INET(curvnet); struct in_ifaddr *ia; struct in_addr prefix, mask, p, m; int error; @@ -863,6 +868,7 @@ static int in_scrubprefix(struct in_ifaddr *target) { + INIT_VNET_INET(curvnet); struct in_ifaddr *ia; struct in_addr prefix, mask, p; int error; @@ -969,6 +975,8 @@ static void in_purgemaddrs(struct ifnet *ifp) { + INIT_VNET_INET(ifp->if_vnet); + struct in_multi *inm; struct in_multi *oinm; @@ -991,6 +999,7 @@ void in_ifdetach(struct ifnet *ifp) { + INIT_VNET_INET(ifp->if_vnet); in_pcbpurgeif0(&V_ripcbinfo, ifp); in_pcbpurgeif0(&V_udbinfo, ifp); ==== //depot/projects/vimage-commit3/src/sys/netinet/in_gif.c#2 (text+ko) ==== @@ -94,6 +94,7 @@ int in_gif_output(struct ifnet *ifp, int family, struct mbuf *m) { + INIT_VNET_GIF(ifp->if_vnet); struct gif_softc *sc = ifp->if_softc; struct sockaddr_in *dst = (struct sockaddr_in *)&sc->gif_ro.ro_dst; struct sockaddr_in *sin_src = (struct sockaddr_in *)sc->gif_psrc; @@ -243,6 +244,7 @@ void in_gif_input(struct mbuf *m, int off) { + INIT_VNET_INET(curvnet); struct ifnet *gifp = NULL; struct gif_softc *sc; struct ip *ip; @@ -337,6 +339,7 @@ static int gif_validate4(const struct ip *ip, struct gif_softc *sc, struct ifnet *ifp) { + INIT_VNET_INET(curvnet); struct sockaddr_in *src, *dst; struct in_ifaddr *ia4; ==== //depot/projects/vimage-commit3/src/sys/netinet/in_mcast.c#2 (text+ko) ==== >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200806290121.m5T1Llqj051095>