From owner-p4-projects@FreeBSD.ORG Sun Sep 2 12:48:22 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2413316A419; Sun, 2 Sep 2007 12:48:22 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A296F16A417 for ; Sun, 2 Sep 2007 12:48:21 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 9B8C513C46B for ; Sun, 2 Sep 2007 12:48:21 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l82CmLI4002849 for ; Sun, 2 Sep 2007 12:48:21 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l82CmLRP002846 for perforce@freebsd.org; Sun, 2 Sep 2007 12:48:21 GMT (envelope-from anchie@FreeBSD.org) Date: Sun, 2 Sep 2007 12:48:21 GMT Message-Id: <200709021248.l82CmLRP002846@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 125967 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Sep 2007 12:48:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=125967 Change 125967 by anchie@anchie_malimis on 2007/09/02 12:47:25 Virtualization of netinet6 integer variables. Affected files ... .. //depot/projects/vimage/src/sys/net/if_faith.c#2 edit .. //depot/projects/vimage/src/sys/netinet/in_pcb.c#14 edit .. //depot/projects/vimage/src/sys/netinet/tcp_input.c#21 edit .. //depot/projects/vimage/src/sys/netinet6/frag6.c#9 edit .. //depot/projects/vimage/src/sys/netinet6/icmp6.c#13 edit .. //depot/projects/vimage/src/sys/netinet6/in6.c#11 edit .. //depot/projects/vimage/src/sys/netinet6/in6_proto.c#11 edit .. //depot/projects/vimage/src/sys/netinet6/in6_src.c#12 edit .. //depot/projects/vimage/src/sys/netinet6/ip6_forward.c#9 edit .. //depot/projects/vimage/src/sys/netinet6/ip6_input.c#20 edit .. //depot/projects/vimage/src/sys/netinet6/ip6_mroute.c#8 edit .. //depot/projects/vimage/src/sys/netinet6/ip6_output.c#10 edit .. //depot/projects/vimage/src/sys/netinet6/ip6_var.h#7 edit .. //depot/projects/vimage/src/sys/netinet6/nd6.c#17 edit .. //depot/projects/vimage/src/sys/netinet6/nd6_nbr.c#9 edit .. //depot/projects/vimage/src/sys/netinet6/nd6_rtr.c#7 edit .. //depot/projects/vimage/src/sys/netinet6/sctp6_usrreq.c#17 edit .. //depot/projects/vimage/src/sys/netinet6/vinet6.h#10 edit .. //depot/projects/vimage/src/sys/netipsec/ipsec_input.c#9 edit Differences ... ==== //depot/projects/vimage/src/sys/net/if_faith.c#2 (text+ko) ==== @@ -41,6 +41,7 @@ */ #include "opt_inet.h" #include "opt_inet6.h" +#include "opt_vimage.h" #include #include @@ -54,6 +55,7 @@ #include #include #include +#include #include #include @@ -76,6 +78,7 @@ #include #include #include +#include #endif #define FAITHNAME "faith" @@ -323,11 +326,12 @@ faithprefix(in6) struct in6_addr *in6; { + INIT_VNET_INET6(curvnet); struct rtentry *rt; struct sockaddr_in6 sin6; int ret; - if (ip6_keepfaith == 0) + if (V_ip6_keepfaith == 0) return 0; bzero(&sin6, sizeof(sin6)); ==== //depot/projects/vimage/src/sys/netinet/in_pcb.c#14 (text+ko) ==== @@ -75,6 +75,7 @@ #ifdef INET6 #include #include +#include #endif /* INET6 */ @@ -194,6 +195,7 @@ int in_pcballoc(struct socket *so, struct inpcbinfo *pcbinfo) { + INIT_VNET_INET6(curvnet); struct inpcb *inp; int error; @@ -222,7 +224,7 @@ #ifdef INET6 if (INP_SOCKAF(so) == AF_INET6) { inp->inp_vflag |= INP_IPV6PROTO; - if (ip6_v6only) + if (V_ip6_v6only) inp->inp_flags |= IN6P_IPV6_V6ONLY; } #endif @@ -230,7 +232,7 @@ pcbinfo->ipi_count++; so->so_pcb = (caddr_t)inp; #ifdef INET6 - if (ip6_auto_flowlabel) + if (V_ip6_auto_flowlabel) inp->inp_flags |= IN6P_AUTOFLOWLABEL; #endif INP_LOCK(inp); ==== //depot/projects/vimage/src/sys/netinet/tcp_input.c#21 (text+ko) ==== @@ -762,7 +762,7 @@ * handling - worse, they are not exactly the same. * I believe 5.5.4 is the best one, so we follow 5.5.4. */ - if (isipv6 && !ip6_use_deprecated) { + if (isipv6 && !V_ip6_use_deprecated) { struct in6_ifaddr *ia6; if ((ia6 = ip6_getdstifaddr(m)) && ==== //depot/projects/vimage/src/sys/netinet6/frag6.c#9 (text+ko) ==== @@ -95,9 +95,10 @@ static void frag6_change(void *tag) { + INIT_VNET_INET6(curvnet); - ip6_maxfragpackets = nmbclusters / 4; - ip6_maxfrags = nmbclusters / 4; + V_ip6_maxfragpackets = nmbclusters / 4; + V_ip6_maxfrags = nmbclusters / 4; } void @@ -111,8 +112,8 @@ if (!IS_DEFAULT_VNET(curvnet)) return; #endif - ip6_maxfragpackets = nmbclusters / 4; - ip6_maxfrags = nmbclusters / 4; + V_ip6_maxfragpackets = nmbclusters / 4; + V_ip6_maxfrags = nmbclusters / 4; EVENTHANDLER_REGISTER(nmbclusters_change, frag6_change, NULL, EVENTHANDLER_PRI_ANY); @@ -227,9 +228,9 @@ * If maxfrag is 0, never accept fragments. * If maxfrag is -1, accept all fragments without limitation. */ - if (ip6_maxfrags < 0) + if (V_ip6_maxfrags < 0) ; - else if (V_frag6_nfrags >= (u_int)ip6_maxfrags) + else if (V_frag6_nfrags >= (u_int)V_ip6_maxfrags) goto dropfrag; for (q6 = V_ip6q.ip6q_next; q6 != &V_ip6q; q6 = q6->ip6q_next) @@ -251,9 +252,9 @@ * If maxfragpackets is -1, accept all fragments without * limitation. */ - if (ip6_maxfragpackets < 0) + if (V_ip6_maxfragpackets < 0) ; - else if (V_frag6_nfragpackets >= (u_int)ip6_maxfragpackets) + else if (V_frag6_nfragpackets >= (u_int)V_ip6_maxfragpackets) goto dropfrag; V_frag6_nfragpackets++; q6 = (struct ip6q *)malloc(sizeof(struct ip6q), M_FTABLE, @@ -718,7 +719,7 @@ * (due to the limit being lowered), drain off * enough to get down to the new limit. */ - while (V_frag6_nfragpackets > (u_int)ip6_maxfragpackets && + while (V_frag6_nfragpackets > (u_int)V_ip6_maxfragpackets && V_ip6q.ip6q_prev) { V_ip6stat.ip6s_fragoverflow++; /* XXX in6_ifstat_inc(ifp, ifs6_reass_fail) */ ==== //depot/projects/vimage/src/sys/netinet6/icmp6.c#13 (text+ko) ==== @@ -111,12 +111,10 @@ extern struct domain inet6domain; -#ifndef VIMAGE struct icmp6stat icmp6stat; extern struct inpcbinfo ripcbinfo; extern struct inpcbhead ripcb; -#endif extern int icmp6errppslim; static int icmp6errpps_count = 0; static struct timeval icmp6errppslim_last; @@ -140,6 +138,7 @@ void icmp6_init(void) { + icmp6errpps_count = 0; mld6_init(); } @@ -2037,6 +2036,7 @@ void icmp6_reflect(struct mbuf *m, size_t off) { + INIT_VNET_INET6(curvnet); struct ip6_hdr *ip6; struct icmp6_hdr *icmp6; struct in6_ifaddr *ia; @@ -2169,7 +2169,7 @@ /* XXX: This may not be the outgoing interface */ ip6->ip6_hlim = ND_IFINFO(m->m_pkthdr.rcvif)->chlim; } else - ip6->ip6_hlim = ip6_defhlim; + ip6->ip6_hlim = V_ip6_defhlim; icmp6->icmp6_cksum = 0; icmp6->icmp6_cksum = in6_cksum(m, IPPROTO_ICMPV6, @@ -2243,7 +2243,7 @@ return; /* XXX if we are router, we don't update route by icmp6 redirect */ - if (ip6_forwarding) + if (V_ip6_forwarding) goto freeit; if (!icmp6_rediraccept) goto freeit; @@ -2440,7 +2440,7 @@ icmp6_errcount(&V_icmp6stat.icp6s_outerrhist, ND_REDIRECT, 0); /* if we are not router, we don't send icmp6 redirect */ - if (!ip6_forwarding) + if (!V_ip6_forwarding) goto fail; /* sanity check */ ==== //depot/projects/vimage/src/sys/netinet6/in6.c#11 (text+ko) ==== @@ -2050,6 +2050,7 @@ struct in6_ifaddr * in6_ifawithifp(struct ifnet *ifp, struct in6_addr *dst) { + INIT_VNET_INET6(curvnet); int dst_scope = in6_addrscope(dst), blen = -1, tlen; struct ifaddr *ifa; struct in6_ifaddr *besta = 0; @@ -2073,7 +2074,7 @@ if (((struct in6_ifaddr *)ifa)->ia6_flags & IN6_IFF_DETACHED) continue; if (((struct in6_ifaddr *)ifa)->ia6_flags & IN6_IFF_DEPRECATED) { - if (ip6_use_deprecated) + if (V_ip6_use_deprecated) dep[0] = (struct in6_ifaddr *)ifa; continue; } @@ -2107,7 +2108,7 @@ if (((struct in6_ifaddr *)ifa)->ia6_flags & IN6_IFF_DETACHED) continue; if (((struct in6_ifaddr *)ifa)->ia6_flags & IN6_IFF_DEPRECATED) { - if (ip6_use_deprecated) + if (V_ip6_use_deprecated) dep[1] = (struct in6_ifaddr *)ifa; continue; } ==== //depot/projects/vimage/src/sys/netinet6/in6_proto.c#11 (text+ko) ==== @@ -83,6 +83,7 @@ #include #include #include +#include #include #include @@ -348,6 +349,12 @@ extern int in6_detachhead(void **, int); #endif +static void +ip6_test_init(void) +{ + printf("---> ip6_test_init() \n"); +} + struct domain inet6domain = { .dom_family = AF_INET6, .dom_name = "internet6", @@ -361,7 +368,10 @@ .dom_rtoffset = offsetof(struct sockaddr_in6, sin6_addr) << 3, .dom_maxrtkey = sizeof(struct sockaddr_in6), .dom_ifattach = in6_domifattach, - .dom_ifdetach = in6_domifdetach + .dom_ifdetach = in6_domifdetach, +#ifdef VIMAGE + .dom_init = ip6_test_init +#endif }; DOMAIN_SET(inet6); @@ -369,6 +379,7 @@ /* * Internet configuration info */ +#ifndef VIMAGE #ifndef IPV6FORWARDING #ifdef GATEWAY6 #define IPV6FORWARDING 1 /* forward IP6 packets not for us */ @@ -404,6 +415,7 @@ #ifdef IPSTEALTH int ip6stealth = 0; #endif +#endif /* !VIMAGE */ /* icmp6 */ /* @@ -492,38 +504,38 @@ return (error); } -SYSCTL_INT(_net_inet6_ip6, IPV6CTL_FORWARDING, - forwarding, CTLFLAG_RW, &ip6_forwarding, 0, ""); -SYSCTL_INT(_net_inet6_ip6, IPV6CTL_SENDREDIRECTS, - redirect, CTLFLAG_RW, &ip6_sendredirects, 0, ""); -SYSCTL_INT(_net_inet6_ip6, IPV6CTL_DEFHLIM, - hlim, CTLFLAG_RW, &ip6_defhlim, 0, ""); +SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_FORWARDING, + forwarding, CTLFLAG_RW, ip6_forwarding, 0, ""); +SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_SENDREDIRECTS, + redirect, CTLFLAG_RW, ip6_sendredirects, 0, ""); +SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_DEFHLIM, + hlim, CTLFLAG_RW, ip6_defhlim, 0, ""); SYSCTL_V_STRUCT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_STATS, stats, CTLFLAG_RD, ip6stat, ip6stat, ""); -SYSCTL_INT(_net_inet6_ip6, IPV6CTL_MAXFRAGPACKETS, - maxfragpackets, CTLFLAG_RW, &ip6_maxfragpackets, 0, ""); -SYSCTL_INT(_net_inet6_ip6, IPV6CTL_ACCEPT_RTADV, - accept_rtadv, CTLFLAG_RW, &ip6_accept_rtadv, 0, ""); -SYSCTL_INT(_net_inet6_ip6, IPV6CTL_KEEPFAITH, - keepfaith, CTLFLAG_RW, &ip6_keepfaith, 0, ""); -SYSCTL_INT(_net_inet6_ip6, IPV6CTL_LOG_INTERVAL, - log_interval, CTLFLAG_RW, &ip6_log_interval, 0, ""); -SYSCTL_INT(_net_inet6_ip6, IPV6CTL_HDRNESTLIMIT, - hdrnestlimit, CTLFLAG_RW, &ip6_hdrnestlimit, 0, ""); -SYSCTL_INT(_net_inet6_ip6, IPV6CTL_DAD_COUNT, - dad_count, CTLFLAG_RW, &ip6_dad_count, 0, ""); -SYSCTL_INT(_net_inet6_ip6, IPV6CTL_AUTO_FLOWLABEL, - auto_flowlabel, CTLFLAG_RW, &ip6_auto_flowlabel, 0, ""); -SYSCTL_INT(_net_inet6_ip6, IPV6CTL_DEFMCASTHLIM, - defmcasthlim, CTLFLAG_RW, &ip6_defmcasthlim, 0, ""); -SYSCTL_INT(_net_inet6_ip6, IPV6CTL_GIF_HLIM, - gifhlim, CTLFLAG_RW, &ip6_gif_hlim, 0, ""); +SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_MAXFRAGPACKETS, + maxfragpackets, CTLFLAG_RW, ip6_maxfragpackets, 0, ""); +SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_ACCEPT_RTADV, + accept_rtadv, CTLFLAG_RW, ip6_accept_rtadv, 0, ""); +SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_KEEPFAITH, + keepfaith, CTLFLAG_RW, ip6_keepfaith, 0, ""); +SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_LOG_INTERVAL, + log_interval, CTLFLAG_RW, ip6_log_interval, 0, ""); +SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_HDRNESTLIMIT, + hdrnestlimit, CTLFLAG_RW, ip6_hdrnestlimit, 0, ""); +SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_DAD_COUNT, + dad_count, CTLFLAG_RW, ip6_dad_count, 0, ""); +SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_AUTO_FLOWLABEL, + auto_flowlabel, CTLFLAG_RW, ip6_auto_flowlabel, 0, ""); +SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_DEFMCASTHLIM, + defmcasthlim, CTLFLAG_RW, ip6_defmcasthlim, 0, ""); +SYSCTL_V_INT(V_NET, vnet_gif, _net_inet6_ip6, IPV6CTL_GIF_HLIM, + gifhlim, CTLFLAG_RW, ip6_gif_hlim, 0, ""); SYSCTL_STRING(_net_inet6_ip6, IPV6CTL_KAME_VERSION, kame_version, CTLFLAG_RD, __KAME_VERSION, 0, ""); -SYSCTL_INT(_net_inet6_ip6, IPV6CTL_USE_DEPRECATED, - use_deprecated, CTLFLAG_RW, &ip6_use_deprecated, 0, ""); -SYSCTL_INT(_net_inet6_ip6, IPV6CTL_RR_PRUNE, - rr_prune, CTLFLAG_RW, &ip6_rr_prune, 0, ""); +SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_USE_DEPRECATED, + use_deprecated, CTLFLAG_RW, ip6_use_deprecated, 0, ""); +SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_RR_PRUNE, + rr_prune, CTLFLAG_RW, ip6_rr_prune, 0, ""); SYSCTL_INT(_net_inet6_ip6, IPV6CTL_USETEMPADDR, use_tempaddr, CTLFLAG_RW, &ip6_use_tempaddr, 0, ""); SYSCTL_OID(_net_inet6_ip6, IPV6CTL_TEMPPLTIME, temppltime, @@ -532,8 +544,8 @@ SYSCTL_OID(_net_inet6_ip6, IPV6CTL_TEMPVLTIME, tempvltime, CTLTYPE_INT|CTLFLAG_RW, &ip6_temp_valid_lifetime, 0, sysctl_ip6_tempvltime, "I", ""); -SYSCTL_INT(_net_inet6_ip6, IPV6CTL_V6ONLY, - v6only, CTLFLAG_RW, &ip6_v6only, 0, ""); +SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_V6ONLY, + v6only, CTLFLAG_RW, ip6_v6only, 0, ""); #ifndef VIMAGE TUNABLE_INT("net.inet6.ip6.auto_linklocal", &ip6_auto_linklocal); #endif @@ -545,13 +557,13 @@ prefer_tempaddr, CTLFLAG_RW, &ip6_prefer_tempaddr, 0, ""); SYSCTL_INT(_net_inet6_ip6, IPV6CTL_USE_DEFAULTZONE, use_defaultzone, CTLFLAG_RW, &ip6_use_defzone, 0,""); -SYSCTL_INT(_net_inet6_ip6, IPV6CTL_MAXFRAGS, - maxfrags, CTLFLAG_RW, &ip6_maxfrags, 0, ""); -SYSCTL_INT(_net_inet6_ip6, IPV6CTL_MCAST_PMTU, - mcast_pmtu, CTLFLAG_RW, &ip6_mcast_pmtu, 0, ""); +SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_MAXFRAGS, + maxfrags, CTLFLAG_RW, ip6_maxfrags, 0, ""); +SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_MCAST_PMTU, + mcast_pmtu, CTLFLAG_RW, ip6_mcast_pmtu, 0, ""); #ifdef IPSTEALTH -SYSCTL_INT(_net_inet6_ip6, IPV6CTL_STEALTH, stealth, CTLFLAG_RW, - &ip6stealth, 0, ""); +SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_STEALTH, stealth, CTLFLAG_RW, + ip6stealth, 0, ""); #endif /* net.inet6.icmp6 */ ==== //depot/projects/vimage/src/sys/netinet6/in6_src.c#12 (text+ko) ==== @@ -281,7 +281,7 @@ (IN6_IFF_NOTREADY | IN6_IFF_ANYCAST | IN6_IFF_DETACHED))) { continue; } - if (!ip6_use_deprecated && IFA6_IS_DEPRECATED(ia)) + if (!V_ip6_use_deprecated && IFA6_IS_DEPRECATED(ia)) continue; /* Rule 1: Prefer same address */ @@ -719,6 +719,7 @@ int in6_selecthlim(struct in6pcb *in6p, struct ifnet *ifp) { + INIT_VNET_INET6(curvnet); if (in6p && in6p->in6p_hops >= 0) return (in6p->in6p_hops); @@ -739,9 +740,9 @@ if (lifp) return (ND_IFINFO(lifp)->chlim); } else - return (ip6_defhlim); + return (V_ip6_defhlim); } - return (ip6_defhlim); + return (V_ip6_defhlim); } /* ==== //depot/projects/vimage/src/sys/netinet6/ip6_forward.c#9 (text+ko) ==== @@ -140,8 +140,8 @@ IN6_IS_ADDR_UNSPECIFIED(&ip6->ip6_src)) { V_ip6stat.ip6s_cantforward++; /* XXX in6_ifstat_inc(rt->rt_ifp, ifs6_in_discard) */ - if (ip6_log_time + ip6_log_interval < time_second) { - ip6_log_time = time_second; + if (V_ip6_log_time + V_ip6_log_interval < time_second) { + V_ip6_log_time = time_second; log(LOG_DEBUG, "cannot forward " "from %s to %s nxt %d received on %s\n", @@ -155,7 +155,7 @@ } #ifdef IPSTEALTH - if (!ip6stealth) { + if (!V_ip6stealth) { #endif if (ip6->ip6_hlim <= IPV6_HLIMDEC) { /* XXX in6_ifstat_inc(rt->rt_ifp, ifs6_in_discard) */ @@ -442,8 +442,8 @@ V_ip6stat.ip6s_badscope++; in6_ifstat_inc(rt->rt_ifp, ifs6_in_discard); - if (ip6_log_time + ip6_log_interval < time_second) { - ip6_log_time = time_second; + if (V_ip6_log_time + V_ip6_log_interval < time_second) { + V_ip6_log_time = time_second; log(LOG_DEBUG, "cannot forward " "src %s, dst %s, nxt %d, rcvif %s, outif %s\n", @@ -529,7 +529,7 @@ * Also, don't send redirect if forwarding using a route * modified by a redirect. */ - if (ip6_sendredirects && rt->rt_ifp == m->m_pkthdr.rcvif && !srcrt && + if (V_ip6_sendredirects && rt->rt_ifp == m->m_pkthdr.rcvif && !srcrt && #ifdef IPSEC !ipsecrt && #endif /* IPSEC */ ==== //depot/projects/vimage/src/sys/netinet6/ip6_input.c#20 (text+ko) ==== @@ -88,6 +88,7 @@ #include #include #include +#include #include #include @@ -158,6 +159,20 @@ SYSINIT(inet6, SI_SUB_PROTO_BEGIN, SI_ORDER_FIRST, vnet_inet6_register, 0); #endif /* VIMAGE */ +#ifdef VIMAGE +#ifndef IPV6FORWARDING +#ifdef GATEWAY6 +#define IPV6FORWARDING 1 /* forward IP6 packets not for us */ +#else +#define IPV6FORWARDING 0 /* don't forward IP6 packets not for us */ +#endif /* !GATEWAY6 */ +#endif /* !IPV6FORWARDING */ + +#ifndef IPV6_SENDREDIRECTS +#define IPV6_SENDREDIRECTS 1 +#endif +#endif /* !VIMAGE */ + /* * IP6 initialization: fill in IP6 protocol switch table. * All protocols not implemented in kernel go to raw IP6 protocol handler. @@ -165,10 +180,36 @@ void ip6_init(void) { + printf("---> ip6_init() \n"); INIT_VNET_INET6(curvnet); + INIT_VNET_GIF(curvnet); struct ip6protosw *pr; int i; + V_ip6_forwarding = IPV6FORWARDING; /* act as router? */ + V_ip6_sendredirects = IPV6_SENDREDIRECTS; + V_ip6_defhlim = IPV6_DEFHLIM; + V_ip6_defmcasthlim = IPV6_DEFAULT_MULTICAST_HOPS; + V_ip6_accept_rtadv = 0; /* "IPV6FORWARDING ? 0 : 1" is dangerous */ + V_ip6_maxfragpackets = 0; /* initialized in frag6.c:frag6_init() */ + V_ip6_maxfrags = 0; /* initialized in frag6.c:frag6_init() */ + V_ip6_log_interval = 5; + V_ip6_hdrnestlimit = 15; /* How many header options will we process? */ + V_ip6_dad_count = 1; /* DupAddrDetectionTransmits */ + V_ip6_auto_flowlabel = 1; + V_ip6_gif_hlim = 0; + V_ip6_use_deprecated = 1; /* allow deprecated addr (RFC2462 5.5.4) */ + V_ip6_rr_prune = 5; /* router renumbering prefix + * walk list every 5 sec. */ + V_ip6_mcast_pmtu = 0; /* enable pMTU discovery for multicast? */ + V_ip6_v6only = 1; + + V_ip6_keepfaith = 0; + V_ip6_log_time = (time_t)0L; + #ifdef IPSTEALTH + V_ip6stealth = 0; + #endif + #ifdef IP6_AUTO_LINKLOCAL V_ip6_auto_linklocal = IP6_AUTO_LINKLOCAL; #else @@ -609,7 +650,7 @@ /* * FAITH (Firewall Aided Internet Translator) */ - if (ip6_keepfaith) { + if (V_ip6_keepfaith) { if (V_ip6_forward_rt.ro_rt && V_ip6_forward_rt.ro_rt->rt_ifp && V_ip6_forward_rt.ro_rt->rt_ifp->if_type == IFT_FAITH) { /* XXX do we need more sanity checks? */ @@ -623,7 +664,7 @@ * Now there is no reason to process the packet if it's not our own * and we're not a router. */ - if (!ip6_forwarding) { + if (!V_ip6_forwarding) { V_ip6stat.ip6s_cantforward++; in6_ifstat_inc(m->m_pkthdr.rcvif, ifs6_in_discard); goto bad; @@ -709,7 +750,7 @@ * case we should pass the packet to the multicast routing * daemon. */ - if (rtalert != ~0 && ip6_forwarding) { + if (rtalert != ~0 && V_ip6_forwarding) { switch (rtalert) { case IP6OPT_RTALERT_MLD: ours = 1; @@ -797,7 +838,7 @@ nest = 0; while (nxt != IPPROTO_DONE) { - if (ip6_hdrnestlimit && (++nest > ip6_hdrnestlimit)) { + if (V_ip6_hdrnestlimit && (++nest > V_ip6_hdrnestlimit)) { V_ip6stat.ip6s_toomanyhdr++; goto bad; } @@ -1096,6 +1137,7 @@ void ip6_savecontrol(struct inpcb *in6p, struct mbuf *m, struct mbuf **mp) { + printf("---> tcp6_input() \n"); #define IS2292(x, y) ((in6p->in6p_flags & IN6P_RFC2292) ? (x) : (y)) struct ip6_hdr *ip6 = mtod(m, struct ip6_hdr *); ==== //depot/projects/vimage/src/sys/netinet6/ip6_mroute.c#8 (text+ko) ==== @@ -1039,8 +1039,8 @@ */ if (IN6_IS_ADDR_UNSPECIFIED(&ip6->ip6_src)) { V_ip6stat.ip6s_cantforward++; - if (ip6_log_time + ip6_log_interval < time_second) { - ip6_log_time = time_second; + if (V_ip6_log_time + V_ip6_log_interval < time_second) { + V_ip6_log_time = time_second; log(LOG_DEBUG, "cannot forward " "from %s to %s nxt %d received on %s\n", @@ -1510,6 +1510,7 @@ static void phyint_send(struct ip6_hdr *ip6, struct mif6 *mifp, struct mbuf *m) { + INIT_VNET_INET6(curvnet); struct mbuf *mb_copy; struct ifnet *ifp = mifp->m6_ifp; int error = 0; @@ -1599,7 +1600,7 @@ * various router may notify pMTU in multicast, which can be * a DDoS to a router */ - if (ip6_mcast_pmtu) + if (V_ip6_mcast_pmtu) icmp6_error(mb_copy, ICMP6_PACKET_TOO_BIG, 0, linkmtu); else { #ifdef MRT6DEBUG ==== //depot/projects/vimage/src/sys/netinet6/ip6_output.c#10 (text+ko) ==== @@ -522,7 +522,7 @@ if (im6o != NULL) ip6->ip6_hlim = im6o->im6o_multicast_hlim; else - ip6->ip6_hlim = ip6_defmcasthlim; + ip6->ip6_hlim = V_ip6_defmcasthlim; } #ifdef IPSEC @@ -2414,6 +2414,7 @@ ip6_setmoptions(int optname, struct ip6_moptions **im6op, struct mbuf *m) { INIT_VNET_NET(curvnet); + INIT_VNET_INET6(curvnet); int error = 0; u_int loop, ifindex; struct ipv6_mreq *mreq; @@ -2435,7 +2436,7 @@ return (ENOBUFS); *im6op = im6o; im6o->im6o_multicast_ifp = NULL; - im6o->im6o_multicast_hlim = ip6_defmcasthlim; + im6o->im6o_multicast_hlim = V_ip6_defmcasthlim; im6o->im6o_multicast_loop = IPV6_DEFAULT_MULTICAST_LOOP; LIST_INIT(&im6o->im6o_memberships); } @@ -2477,7 +2478,7 @@ if (optval < -1 || optval >= 256) error = EINVAL; else if (optval == -1) - im6o->im6o_multicast_hlim = ip6_defmcasthlim; + im6o->im6o_multicast_hlim = V_ip6_defmcasthlim; else im6o->im6o_multicast_hlim = optval; break; @@ -2700,7 +2701,7 @@ * If all options have default values, no need to keep the mbuf. */ if (im6o->im6o_multicast_ifp == NULL && - im6o->im6o_multicast_hlim == ip6_defmcasthlim && + im6o->im6o_multicast_hlim == V_ip6_defmcasthlim && im6o->im6o_multicast_loop == IPV6_DEFAULT_MULTICAST_LOOP && im6o->im6o_memberships.lh_first == NULL) { free(*im6op, M_IP6MOPTS); @@ -2716,6 +2717,7 @@ static int ip6_getmoptions(int optname, struct ip6_moptions *im6o, struct mbuf **mp) { + INIT_VNET_INET6(curvnet); u_int *hlim, *loop, *ifindex; *mp = m_get(M_TRYWAIT, MT_HEADER); /* XXX */ @@ -2735,7 +2737,7 @@ hlim = mtod(*mp, u_int *); (*mp)->m_len = sizeof(u_int); if (im6o == NULL) - *hlim = ip6_defmcasthlim; + *hlim = V_ip6_defmcasthlim; else *hlim = im6o->im6o_multicast_hlim; return (0); @@ -2744,7 +2746,7 @@ loop = mtod(*mp, u_int *); (*mp)->m_len = sizeof(u_int); if (im6o == NULL) - *loop = ip6_defmcasthlim; + *loop = V_ip6_defmcasthlim; else *loop = im6o->im6o_multicast_loop; return (0); ==== //depot/projects/vimage/src/sys/netinet6/ip6_var.h#7 (text+ko) ==== @@ -280,24 +280,29 @@ #ifndef VIMAGE extern struct ip6stat ip6stat; /* statistics */ -#endif extern int ip6_defhlim; /* default hop limit */ extern int ip6_defmcasthlim; /* default multicast hop limit */ extern int ip6_forwarding; /* act as router? */ +#endif extern int ip6_forward_srcrt; /* forward src-routed? */ +#ifndef VIMAGE extern int ip6_gif_hlim; /* Hop limit for gif encap packet */ extern int ip6_use_deprecated; /* allow deprecated addr as source */ extern int ip6_rr_prune; /* router renumbering prefix * walk list every 5 sec. */ extern int ip6_mcast_pmtu; /* enable pMTU discovery for multicast? */ extern int ip6_v6only; +#endif extern struct socket *ip6_mrouter; /* multicast routing daemon */ +#ifndef VIMAGE extern int ip6_sendredirects; /* send IP redirects when forwarding? */ extern int ip6_maxfragpackets; /* Maximum packets in reassembly queue */ extern int ip6_maxfrags; /* Maximum fragments in reassembly queue */ +#endif extern int ip6_sourcecheck; /* Verify source interface */ extern int ip6_sourcecheck_interval; /* Interval between log messages */ +#ifndef VIMAGE extern int ip6_accept_rtadv; /* Acts as a host not a router */ extern int ip6_keepfaith; /* Firewall Aided Internet Translator */ extern int ip6_log_interval; @@ -306,6 +311,7 @@ extern int ip6_dad_count; /* DupAddrDetectionTransmits */ extern int ip6_auto_flowlabel; +#endif extern int ip6_auto_linklocal; extern int ip6_anonportmin; /* minimum ephemeral port */ ==== //depot/projects/vimage/src/sys/netinet6/nd6.c#17 (text+ko) ==== @@ -800,7 +800,7 @@ if (V_nd6_defifindex == ifp->if_index) nd6_setdefaultiface(0); - if (!ip6_forwarding && ip6_accept_rtadv) { /* XXX: too restrictive? */ + if (!V_ip6_forwarding && V_ip6_accept_rtadv) { /* XXX: too restrictive? */ /* refresh default router list */ defrouter_select(); } @@ -995,7 +995,7 @@ * XXX: we restrict the condition to hosts, because routers usually do * not have the "default router list". */ - if (!ip6_forwarding && TAILQ_FIRST(&V_nd_defrouter) == NULL && + if (!V_ip6_forwarding && TAILQ_FIRST(&V_nd_defrouter) == NULL && V_nd6_defifindex == ifp->if_index) { return (1); } @@ -1034,6 +1034,7 @@ static struct llinfo_nd6 * nd6_free(struct rtentry *rt, int gc) { + INIT_VNET_INET6(curvnet); struct llinfo_nd6 *ln = (struct llinfo_nd6 *)rt->rt_llinfo, *next; struct in6_addr in6 = ((struct sockaddr_in6 *)rt_key(rt))->sin6_addr; struct nd_defrouter *dr; @@ -1046,7 +1047,7 @@ /* cancel timer */ nd6_llinfo_settimer(ln, -1); - if (!ip6_forwarding) { + if (!V_ip6_forwarding) { int s; s = splnet(); dr = defrouter_lookup(&((struct sockaddr_in6 *)rt_key(rt))->sin6_addr, @@ -1677,6 +1678,7 @@ nd6_cache_lladdr(struct ifnet *ifp, struct in6_addr *from, char *lladdr, int lladdrlen, int type, int code) { + INIT_VNET_INET6(curvnet); struct rtentry *rt = NULL; struct llinfo_nd6 *ln = NULL; int is_newentry; @@ -1900,7 +1902,7 @@ * for those are not autoconfigured hosts, we explicitly avoid such * cases for safety. */ - if (do_update && ln->ln_router && !ip6_forwarding && ip6_accept_rtadv) + if (do_update && ln->ln_router && !V_ip6_forwarding && V_ip6_accept_rtadv) defrouter_select(); return rt; ==== //depot/projects/vimage/src/sys/netinet6/nd6_nbr.c#9 (text+ko) ==== @@ -304,7 +304,7 @@ goto bad; nd6_na_output(ifp, &in6_all, &taddr6, ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) | - (ip6_forwarding ? ND_NA_FLAG_ROUTER : 0), + (V_ip6_forwarding ? ND_NA_FLAG_ROUTER : 0), tlladdr, (struct sockaddr *)proxydl); goto freeit; } @@ -314,7 +314,7 @@ nd6_na_output(ifp, &saddr6, &taddr6, ((anycast || proxy || !tlladdr) ? 0 : ND_NA_FLAG_OVERRIDE) | - (ip6_forwarding ? ND_NA_FLAG_ROUTER : 0) | ND_NA_FLAG_SOLICITED, + (V_ip6_forwarding ? ND_NA_FLAG_ROUTER : 0) | ND_NA_FLAG_SOLICITED, tlladdr, (struct sockaddr *)proxydl); freeit: m_freem(m); @@ -802,7 +802,7 @@ dr = defrouter_lookup(in6, ifp); if (dr) defrtrlist_del(dr); - else if (!ip6_forwarding) { + else if (!V_ip6_forwarding) { /* * Even if the neighbor is not in the default * router list, the neighbor may be used @@ -1132,7 +1132,7 @@ ia->ia6_flags &= ~IN6_IFF_TENTATIVE; return; } - if (!ip6_dad_count) { + if (!V_ip6_dad_count) { ia->ia6_flags &= ~IN6_IFF_TENTATIVE; return; } @@ -1172,7 +1172,7 @@ */ dp->dad_ifa = ifa; IFAREF(ifa); /* just for safety */ - dp->dad_count = ip6_dad_count; + dp->dad_count = V_ip6_dad_count; dp->dad_ns_icount = dp->dad_na_icount = 0; dp->dad_ns_ocount = dp->dad_ns_tcount = 0; if (delay == 0) { ==== //depot/projects/vimage/src/sys/netinet6/nd6_rtr.c#7 (text+ko) ==== @@ -133,7 +133,7 @@ char ip6bufs[INET6_ADDRSTRLEN], ip6bufd[INET6_ADDRSTRLEN]; /* If I'm not a router, ignore it. */ - if (ip6_accept_rtadv != 0 || ip6_forwarding != 1) + if (V_ip6_accept_rtadv != 0 || V_ip6_forwarding != 1) goto freeit; /* Sanity checks */ @@ -223,7 +223,7 @@ * the system-wide variable allows the acceptance, and * per-interface variable allows RAs on the receiving interface. */ - if (ip6_accept_rtadv == 0) + if (V_ip6_accept_rtadv == 0) goto freeit; if (!(ndi->flags & ND6_IFF_ACCEPT_RTADV)) goto freeit; @@ -561,7 +561,7 @@ * Flush all the routing table entries that use the router * as a next hop. */ - if (!ip6_forwarding && ip6_accept_rtadv) /* XXX: better condition? */ + if (!V_ip6_forwarding && V_ip6_accept_rtadv) /* XXX: better condition? */ rt6_flush(&dr->rtaddr, dr->ifp); if (dr->installed) { @@ -627,10 +627,10 @@ * if the node is not an autoconfigured host, we explicitly exclude * such cases here for safety. */ - if (ip6_forwarding || !ip6_accept_rtadv) { + if (V_ip6_forwarding || !V_ip6_accept_rtadv) { nd6log((LOG_WARNING, "defrouter_select: called unexpectedly (forwarding=%d, " - "accept_rtadv=%d)\n", ip6_forwarding, ip6_accept_rtadv)); + "accept_rtadv=%d)\n", V_ip6_forwarding, V_ip6_accept_rtadv)); splx(s); return; } ==== //depot/projects/vimage/src/sys/netinet6/sctp6_usrreq.c#17 (text+ko) ==== @@ -31,14 +31,17 @@ #include __FBSDID("$FreeBSD: src/sys/netinet6/sctp6_usrreq.c,v 1.38 2007/08/27 05:19:48 rrs Exp $"); +#include "opt_vimage.h" #include #include +#include #include #include #include #if defined(INET6) #include +#include #endif #include #include @@ -664,6 +667,7 @@ sctp6_send(struct socket *so, int flags, struct mbuf *m, struct sockaddr *addr, struct mbuf *control, struct thread *p) { + INIT_VNET_INET6(curvnet); struct sctp_inpcb *inp; struct inpcb *in_inp; struct in6pcb *inp6; @@ -720,7 +724,7 @@ } } if (IN6_IS_ADDR_V4MAPPED(&sin6->sin6_addr)) { - if (!ip6_v6only) { + if (!V_ip6_v6only) { struct sockaddr_in sin; /* convert v4-mapped into v4 addr and send */ @@ -776,6 +780,7 @@ static int sctp6_connect(struct socket *so, struct sockaddr *addr, struct thread *p) { + INIT_VNET_INET6(curvnet); uint32_t vrf_id; int error = 0; struct sctp_inpcb *inp; @@ -851,7 +856,7 @@ } } if (IN6_IS_ADDR_V4MAPPED(&sin6->sin6_addr)) { - if (!ip6_v6only) { + if (!V_ip6_v6only) { /* convert v4-mapped into v4 addr */ in6_sin6_2_sin((struct sockaddr_in *)&ss, sin6); addr = (struct sockaddr *)&ss; ==== //depot/projects/vimage/src/sys/netinet6/vinet6.h#10 (text+ko) ==== @@ -90,6 +90,29 @@ TAILQ_HEAD(, dadq) _dadq; int _dad_init; + + //int _icmp6errppslim; + //int _icmp6errpps_count; + //int _icmp6_nodeinfo; + + int _ip6_forwarding; + int _ip6_sendredirects; + int _ip6_defhlim; + int _ip6_defmcasthlim; + int _ip6_accept_rtadv; + int _ip6_maxfragpackets; + int _ip6_maxfrags; + int _ip6_log_interval; + int _ip6_hdrnestlimit; + int _ip6_dad_count; + int _ip6_auto_flowlabel; + int _ip6_use_deprecated; + int _ip6_rr_prune; + int _ip6_mcast_pmtu; + int _ip6_v6only; + int _ip6_keepfaith; + int _ip6stealth; + time_t _ip6_log_time; }; #endif @@ -134,4 +157,27 @@ #define V_dadq VNET_INET6(dadq) #define V_dad_init VNET_INET6(dad_init) +//#define V_icmp6errppslim VNET_INET6(icmp6errppslim) +//#define V_icmp6errpps_count VNET_INET6(icmp6errpps_count) +//#define V_icmp6_nodeinfo VNET_INET6(icmp6_nodeinfo) + +#define V_ip6_forwarding VNET_INET6(ip6_forwarding) +#define V_ip6_sendredirects VNET_INET6(ip6_sendredirects) +#define V_ip6_defhlim VNET_INET6(ip6_defhlim) +#define V_ip6_defmcasthlim VNET_INET6(ip6_defmcasthlim) +#define V_ip6_accept_rtadv VNET_INET6(ip6_accept_rtadv) +#define V_ip6_maxfragpackets VNET_INET6(ip6_maxfragpackets) +#define V_ip6_maxfrags VNET_INET6(ip6_maxfrags) +#define V_ip6_log_interval VNET_INET6(ip6_log_interval) +#define V_ip6_hdrnestlimit VNET_INET6(ip6_hdrnestlimit) >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sun Sep 2 17:01:56 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A557E16A419; Sun, 2 Sep 2007 17:01:56 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 575E216A417 for ; Sun, 2 Sep 2007 17:01:56 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 6131613C469 for ; Sun, 2 Sep 2007 17:01:56 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l82H1uVC033226 for ; Sun, 2 Sep 2007 17:01:56 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l82H1uXT033223 for perforce@freebsd.org; Sun, 2 Sep 2007 17:01:56 GMT (envelope-from rdivacky@FreeBSD.org) Date: Sun, 2 Sep 2007 17:01:56 GMT Message-Id: <200709021701.l82H1uXT033223@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 125976 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Sep 2007 17:01:57 -0000 http://perforce.freebsd.org/chv.cgi?CH=125976 Change 125976 by rdivacky@rdivacky_witten on 2007/09/02 17:00:56 Implement F_SETSIG. This is for sockets only now. The LINUX_F_SETSIG will be moved to linux_file.h once this is created with *at patch import. This enables user-mode linux to mount rootfs. Tested by: "Yuriy Tsibizov" Affected files ... .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linux/linux_file.c#2 edit .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/kern/kern_descrip.c#3 edit .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/kern/kern_sig.c#2 edit .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/sys/sigio.h#2 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_fixes/sys/compat/linux/linux_file.c#2 (text+ko) ==== @@ -47,6 +47,7 @@ #include #include #include +#include #include #include #include @@ -1131,8 +1132,29 @@ struct file *fp; long arg; int error, result; + struct socket *so; switch (args->cmd) { +#define LINUX_F_SETSIG 10 + case LINUX_F_SETSIG: + error = fget(td, args->fd, &fp); + if (error) + return (error); + /* XXX: should be extended for non-socket files too */ + if (fp->f_type == DTYPE_SOCKET) { + so = (struct socket *)fp->f_data; + if (so->so_sigio == NULL) { + error = fsetown(td->td_proc->p_pid, &so->so_sigio); + if (error) { + fdrop(fp, td); + return (error); + } + } + so->so_sigio->sig = args->arg; + } + error = EINVAL; + fdrop(fp, td); + return (error); case LINUX_F_DUPFD: return (kern_fcntl(td, args->fd, F_DUPFD, args->arg)); ==== //depot/projects/soc2007/rdivacky/linux_fixes/sys/kern/kern_descrip.c#3 (text+ko) ==== @@ -891,6 +891,7 @@ sigio->sio_pgid = pgid; sigio->sio_ucred = crhold(curthread->td_ucred); sigio->sio_myref = sigiop; + sigio->sig = 0; sx_slock(&proctree_lock); if (pgid > 0) { ==== //depot/projects/soc2007/rdivacky/linux_fixes/sys/kern/kern_sig.c#2 (text+ko) ==== @@ -3187,6 +3187,9 @@ SIGIO_UNLOCK(); return; } + if (sigio->sig != 0) + sig = sigio->sig; + if (sigio->sio_pgid > 0) { PROC_LOCK(sigio->sio_proc); if (CANSIGIO(sigio->sio_ucred, sigio->sio_proc->p_ucred)) ==== //depot/projects/soc2007/rdivacky/linux_fixes/sys/sys/sigio.h#2 (text+ko) ==== @@ -53,6 +53,7 @@ * the reference to this structure */ struct ucred *sio_ucred; /* (c) current credentials */ pid_t sio_pgid; /* (c) pgid for signals */ + int sig; /* (pg) signal to be sent */ }; #define sio_proc sio_u.siu_proc #define sio_pgrp sio_u.siu_pgrp From owner-p4-projects@FreeBSD.ORG Sun Sep 2 17:13:12 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B4C0C16A474; Sun, 2 Sep 2007 17:13:12 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6BB5A16A46D for ; Sun, 2 Sep 2007 17:13:12 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 757F513C4A5 for ; Sun, 2 Sep 2007 17:13:12 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l82HDCSm035235 for ; Sun, 2 Sep 2007 17:13:12 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l82HDBQf035229 for perforce@freebsd.org; Sun, 2 Sep 2007 17:13:11 GMT (envelope-from rdivacky@FreeBSD.org) Date: Sun, 2 Sep 2007 17:13:11 GMT Message-Id: <200709021713.l82HDBQf035229@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 125977 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Sep 2007 17:13:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=125977 Change 125977 by rdivacky@rdivacky_witten on 2007/09/02 17:12:58 Implement "read_default_ldt" for linux_modify_ldt(). This just copies out nulled descriptor. This helps user-mode linux. Tested by: "Yuriy Tsibizov" Affected files ... .. //depot/projects/soc2007/rdivacky/linux_fixes/sys/i386/linux/linux_machdep.c#2 edit Differences ... ==== //depot/projects/soc2007/rdivacky/linux_fixes/sys/i386/linux/linux_machdep.c#2 (text+ko) ==== @@ -873,6 +873,8 @@ struct i386_ldt_args ldt; struct l_descriptor ld; union descriptor desc; + struct l_desc_struct null_desc[5]; + int size; if (uap->ptr == NULL) return (EINVAL); @@ -885,6 +887,15 @@ error = i386_get_ldt(td, &ldt); td->td_retval[0] *= sizeof(union descriptor); break; + case 0x02: /* read_default_ldt = 0 */ + size = 5*sizeof(struct l_desc_struct); + + bzero(null_desc, size); + if (size > uap->bytecount) + size = uap->bytecount; + td->td_retval[0] = size; + error = copyout(null_desc, uap->ptr, size); + break; case 0x01: /* write_ldt */ case 0x11: /* write_ldt */ if (uap->bytecount != sizeof(ld)) From owner-p4-projects@FreeBSD.ORG Sun Sep 2 19:21:55 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6FA4C16A420; Sun, 2 Sep 2007 19:21:55 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2794F16A41A for ; Sun, 2 Sep 2007 19:21:55 +0000 (UTC) (envelope-from ivoras@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 320FC13C428 for ; Sun, 2 Sep 2007 19:21:55 +0000 (UTC) (envelope-from ivoras@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l82JLtC8044730 for ; Sun, 2 Sep 2007 19:21:55 GMT (envelope-from ivoras@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l82JLsi9044720 for perforce@freebsd.org; Sun, 2 Sep 2007 19:21:54 GMT (envelope-from ivoras@FreeBSD.org) Date: Sun, 2 Sep 2007 19:21:54 GMT Message-Id: <200709021921.l82JLsi9044720@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to ivoras@FreeBSD.org using -f From: Ivan Voras To: Perforce Change Reviews Cc: Subject: PERFORCE change 125979 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Sep 2007 19:21:55 -0000 http://perforce.freebsd.org/chv.cgi?CH=125979 Change 125979 by ivoras@ivoras_finstall on 2007/09/02 19:21:08 Sync to the source as published in the "alpha" / technology preview LiveCD image. - implement post-install configuration of timezone, x.org - make makeimage.py more generic (separate finstall-specific parts into "-f" switch Affected files ... .. //depot/projects/soc2007/ivoras_finstall/README.txt#4 edit .. //depot/projects/soc2007/ivoras_finstall/installer/basewin.py#7 edit .. //depot/projects/soc2007/ivoras_finstall/installer/finstall.py#16 edit .. //depot/projects/soc2007/ivoras_finstall/makeimage/makeimage.py#12 edit .. //depot/projects/soc2007/ivoras_finstall/pybackend/systoolengine.py#13 edit Differences ... ==== //depot/projects/soc2007/ivoras_finstall/README.txt#4 (text+ko) ==== @@ -1,1 +1,9 @@ This is a starting entry for `finstall` project. More info to come. + +The project is made of three subprojects: + + - installer - PyGTK installer + - pybackend - installer / configuration backend written in python + - makeimage - Python script for LiveCD ISO image creation + +See http://wiki.freebsd.org/finstall for more information. ==== //depot/projects/soc2007/ivoras_finstall/installer/basewin.py#7 (text+ko) ==== @@ -109,7 +109,5 @@ m = re.match(r"(\d+)\.(\d+)\.(\d+)\.(\d+)", addr) if m == None: return False - if 0 <= int(m.group(1)) <= 255 and 0 <= int(m.group(2)) <= 255 and 0 <= int(m.group(3)) <= 255 and 0 <= int(m.group(4)) <= 255: - return True - return False + return 0 <= int(m.group(1)) <= 255 and 0 <= int(m.group(2)) <= 255 and 0 <= int(m.group(3)) <= 255 and 0 <= int(m.group(4)) <= 255 ==== //depot/projects/soc2007/ivoras_finstall/installer/finstall.py#16 (text+ko) ==== @@ -894,6 +894,8 @@ def nfinish_on_load(self): self._load_label(self["label2"], "nfinish.txt") + if "new_parts" in self.trackdata and len(self.trackdata["new_parts"]) > 0: + self.trackdata["postinstall_job"] = self.server.StartPostInstallJob(self.trackdata["new_parts"], True) return True ==== //depot/projects/soc2007/ivoras_finstall/makeimage/makeimage.py#12 (text+ko) ==== @@ -38,7 +38,7 @@ raise MakeImageException("This utility requires mkisofs(8) (install ports/sysutils/cdrtools)") def usage(exit=True): - print "usage: %s -d WORKDIR [-i ISOFILE] [-k KERNEL] [-p PKGLISTFILE] [-s SRCDIR] [-x BUNDLEDIR] [-b] [-c] " % sys.argv[0] + print "usage: %s -d WORKDIR [-i ISOFILE] [-k KERNEL] [-p PKGLISTFILE] [-s SRCDIR] [-x BUNDLEDIR] [-b] [-c] [-f]" % sys.argv[0] print print "Description:" print " -d WORKDIR Base work directory to hold intermediate and final files" @@ -58,6 +58,8 @@ print " and ISO image build. If specified only once, packages" print " will get built and installed, if specified twice," print " packages will be skipped." + print " -f The image is to be created with special support for" + print " the finstall project (not a generic LiveCD)" if exit: sys.exit(1) else: @@ -70,6 +72,7 @@ DoBuild = False DoMakeRoot = True # Create / install livecd tree DoMakePkgs = True +DoFinstallImage = False LABEL = "FreeBSD7" # ISO9660 Volume label BUNDLEDIR = "bundles" BUNDLEFILE = "bundle-spec" @@ -107,6 +110,8 @@ ISO = a elif o == "-x": BUNDLEDIR = a + elif o == "-f": + DoFinstallImage = True elif o == "-h": usage() @@ -177,11 +182,14 @@ execute("make installkernel KERNCONF=%s DESTDIR=%s" % (KERNEL, DESTDIR)) execute("make distribution DESTDIR=%s" % DESTDIR) execute("rm %s/boot/kernel/*.symbols" % DESTDIR) - os.chdir(DESTDIR) - f = file("maptree.txt", "w") - write_maptree(".", f) + if not os.path.exists("%s/install" % DESTDIR): + os.mkdir("%s/install" % DESTDIR) + f = file("%s/install/base.maptree" % DESTDIR, "w") + write_maptree(DESTDIR, f) f.close() execute("mtree -c > base.mtree") + if not os.path.exists("%s/dist" % DESTDIR): + os.mkdir("%s/dist" % DESTDIR) os.chdir(STARTDIR) else: if not os.path.exists(DESTDIR) or not os.path.exists("%s/COPYRIGHT" % DESTDIR): @@ -198,6 +206,7 @@ # Install packages into the liveCD tree, using chroot printmsg("Bundling packages") master_pkglist = [] + pkgflags = {} f = file(PKGLISTFILE, "r") for line in f.readlines(): line = line.strip() @@ -205,10 +214,17 @@ continue if line[0] == "#": continue - fullname = getpkgfullname(line) + if line.find(";") != -1: + pf = line.split(";") + fullname = getpkgfullname(pf[0]) + flags = pf[1:] + else: + fullname = getpkgfullname(line) + flags = [] if fullname == None: printmsg("Fatal error: cannot find package %s" % line) sys.exit(1) + pkgflags[fullname] = flags master_pkglist.append(fullname) dest_pkgs = {} for pkg in master_pkglist: @@ -228,7 +244,10 @@ f.write("pkg_delete -a\n") for pkg in master_pkglist: f.write("echo --- Installing %s\n" % pkg) - f.write("/usr/sbin/pkg_add %s\n" % dest_pkgs[pkg]) + if 'yes' in pkgflags[pkg]: # the package has post-install script that needs to be yes'ed + f.write("/usr/bin/yes yes | pkg_add %s\n" % dest_pkgs[pkg]) + else: + f.write("/usr/sbin/pkg_add %s\n" % dest_pkgs[pkg]) f.close() for pkg in dest_pkgs.keys(): if pkg == None: @@ -238,6 +257,14 @@ for pkg in dest_pkgs: os.unlink(dest_pkgs[pkg]) os.unlink("pkginst.sh") + if not os.path.exists("%s/install" % DESTDIR): + os.mkdir("%s/install" % DESTDIR) + f = file("%s/install/vardbpkg.maptree" % DESTDIR, "w") + write_maptree("%s/var/db/pkg" % DESTDIR, f) + f.close() + f = file("%s/install/usrlocal.maptree" % DESTDIR, "w") + write_maptree("%s/usr/local" % DESTDIR, f) + f.close() os.chdir(STARTDIR) @@ -296,30 +323,33 @@ else: printmsg("WARNING: Not bundling any config files") -### finstall-specific part ### -# Everything done until now has been for a generic LiveCD. Now, do some magic -# (configuration mostly) for finstall. + +if DoFinstallImage: + ### finstall-specific part ### + # Everything done until now has been for a generic LiveCD. Now, do some magic + # (configuration mostly) for finstall. -# Create an alternative root user named "install" and make it run startx when -# logged in. -install_found = False -f = file("%s/etc/passwd" % DESTDIR, "r") -for line in f.readlines(): - if line.startswith("install:"): - install_found = True -f.close() -if not install_found: - f = file("%s/tmp/userinst.sh" % DESTDIR, "w") - f.write("pw useradd -n install -o -u 0 -d /install -m -s /bin/tcsh -w none -c Installer") + # Create an alternative root user named "install" and make it run startx when + # logged in. + install_found = False + f = file("%s/etc/passwd" % DESTDIR, "r") + for line in f.readlines(): + if line.startswith("install:"): + install_found = True f.close() - execute("chroot %s /bin/sh /tmp/userinst.sh" % DESTDIR) - os.unlink("%s/tmp/userinst.sh" % DESTDIR) + if not install_found: + f = file("%s/tmp/userinst.sh" % DESTDIR, "w") + f.write("pw useradd -n install -o -u 0 -d /install -m -s /bin/tcsh -w none -c Installer") + f.close() + execute("chroot %s /bin/sh /tmp/userinst.sh" % DESTDIR) + os.unlink("%s/tmp/userinst.sh" % DESTDIR) -skel_data = file("%s/usr/share/skel/dot.login" % DESTDIR, "r").read() -f = file("%s/install/.login" % DESTDIR, "w") -f.write(skel_data) -f.write("startx\n") -f.close() + skel_data = file("%s/usr/share/skel/dot.login" % DESTDIR, "r").read() + f = file("%s/install/.login" % DESTDIR, "w") + f.write(skel_data) + f.write("/usr/local/bin/python /install/prelogin.py\n") + f.write("startx\n") + f.close() # finish usr image ==== //depot/projects/soc2007/ivoras_finstall/pybackend/systoolengine.py#13 (text+ko) ==== @@ -298,7 +298,8 @@ self.result = str(e) if self.error == None: # create fstab - f = file("%s/etc/fstab" % install_root, "w+") + logging.info("Generating %s/etc/fstab" % install_root) + f = file("%s/etc/fstab" % install_root, "w") f.write("# Generated by finstall on %s\n" % time.strftime("%c")) f.write("# Device\tMountpoint\tFStype\tOptions\tDump\tPass\n") for part in self.part_spec: @@ -307,6 +308,8 @@ if line != None: f.write("%s\n" % line) f.close() + else: + logging.info("Skipping fstab generation because of "+self.result) self.finished = True @@ -367,6 +370,12 @@ def run(self): self.systool.SetConf("moused_enable", "YES", "Enable system mouse") # by default + if os.path.exists("/etc/localtime"): + shutil.copyfile("/etc/localtime", "%s/etc/localtime" % self.systool.root_dest) + if os.path.exists("/etc/X11/xorg.conf"): + if not os.path.exists("%s/etc/X11" % self.systool.root_dist): + os.mkdir("%s/etc/X11" % self.systool.root_dist) + shutil.copyfile("/etc/X11/xorg.conf", "%s/etc/X11/xorg.conf" % self.systool.root_dist) code, result = self.UmountPartitions(self.part_spec, self.INSTALL_ROOT, force) if code != 0: self.error = code @@ -963,15 +972,3 @@ return result - - - - - - - - - - - - From owner-p4-projects@FreeBSD.ORG Mon Sep 3 16:08:20 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4D63416A418; Mon, 3 Sep 2007 16:08:20 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DED4616A41A for ; Mon, 3 Sep 2007 16:08:19 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CCA6713C474 for ; Mon, 3 Sep 2007 16:08:19 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l83G8Jki093161 for ; Mon, 3 Sep 2007 16:08:19 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l83G8JNL093158 for perforce@freebsd.org; Mon, 3 Sep 2007 16:08:19 GMT (envelope-from anchie@FreeBSD.org) Date: Mon, 3 Sep 2007 16:08:19 GMT Message-Id: <200709031608.l83G8JNL093158@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 126004 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Sep 2007 16:08:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=126004 Change 126004 by anchie@anchie_malimis on 2007/09/03 16:07:56 Virtualization of netinet6 integer variables (#2). Affected files ... .. //depot/projects/vimage/src/sys/netinet6/icmp6.c#14 edit .. //depot/projects/vimage/src/sys/netinet6/in6.c#12 edit .. //depot/projects/vimage/src/sys/netinet6/in6_ifattach.c#12 edit .. //depot/projects/vimage/src/sys/netinet6/in6_proto.c#12 edit .. //depot/projects/vimage/src/sys/netinet6/in6_src.c#13 edit .. //depot/projects/vimage/src/sys/netinet6/ip6_input.c#21 edit .. //depot/projects/vimage/src/sys/netinet6/ip6_mroute.c#9 edit .. //depot/projects/vimage/src/sys/netinet6/ip6_var.h#8 edit .. //depot/projects/vimage/src/sys/netinet6/nd6.c#18 edit .. //depot/projects/vimage/src/sys/netinet6/nd6.h#4 edit .. //depot/projects/vimage/src/sys/netinet6/nd6_nbr.c#10 edit .. //depot/projects/vimage/src/sys/netinet6/nd6_rtr.c#8 edit .. //depot/projects/vimage/src/sys/netinet6/vinet6.h#11 edit Differences ... ==== //depot/projects/vimage/src/sys/netinet6/icmp6.c#14 (text+ko) ==== @@ -115,10 +115,14 @@ extern struct inpcbinfo ripcbinfo; extern struct inpcbhead ripcb; +#ifndef VIMAGE extern int icmp6errppslim; static int icmp6errpps_count = 0; +#endif /* !VIMAGE */ static struct timeval icmp6errppslim_last; +#ifdef VIMAGE extern int icmp6_nodeinfo; +#endif /* !VIMAGE */ static void icmp6_errcount __P((struct icmp6errstat *, int, int)); static int icmp6_rip6_input __P((struct mbuf **, int)); @@ -138,7 +142,9 @@ void icmp6_init(void) { - icmp6errpps_count = 0; + INIT_VNET_INET6(curvnet); + V_icmp6errpps_count = 0; + V_icmp6errpps_count = 0; mld6_init(); } @@ -640,7 +646,7 @@ { enum { WRU, FQDN } mode; - if (!icmp6_nodeinfo) + if (!V_icmp6_nodeinfo) break; if (icmp6len == sizeof(struct icmp6_hdr) + 4) @@ -669,7 +675,7 @@ * XXX: this combination of flags is pointless, * but should we keep this for compatibility? */ - if ((icmp6_nodeinfo & 5) != 5) + if ((V_icmp6_nodeinfo & 5) != 5) break; if (code != 0) @@ -1157,6 +1163,7 @@ static struct mbuf * ni6_input(struct mbuf *m, int off) { + INIT_VNET_INET6(curvnet); /* XXX this bellow is WRONG - MARKO */ INIT_VPROCG(curthread->td_ucred->cr_vimage->v_procg); struct icmp6_nodeinfo *ni6, *nni6; @@ -1197,7 +1204,7 @@ * link-local (note that site-local unicast was deprecated and * ULA is defined as global scope-wise) */ - if ((icmp6_nodeinfo & ICMP6_NODEINFO_GLOBALOK) == 0 && + if ((V_icmp6_nodeinfo & ICMP6_NODEINFO_GLOBALOK) == 0 && !IN6_IS_ADDR_LOOPBACK(&ip6->ip6_src) && !IN6_IS_ADDR_LINKLOCAL(&ip6->ip6_src)) goto bad; @@ -1219,7 +1226,7 @@ goto bad; /* XXX impossible */ if ((ia6->ia6_flags & IN6_IFF_TEMPORARY) && - !(icmp6_nodeinfo & ICMP6_NODEINFO_TMPADDROK)) { + !(V_icmp6_nodeinfo & ICMP6_NODEINFO_TMPADDROK)) { nd6log((LOG_DEBUG, "ni6_input: ignore node info to " "a temporary address in %s:%d", __FILE__, __LINE__)); @@ -1334,12 +1341,12 @@ /* refuse based on configuration. XXX ICMP6_NI_REFUSED? */ switch (qtype) { case NI_QTYPE_FQDN: - if ((icmp6_nodeinfo & ICMP6_NODEINFO_FQDNOK) == 0) + if ((V_icmp6_nodeinfo & ICMP6_NODEINFO_FQDNOK) == 0) goto bad; break; case NI_QTYPE_NODEADDR: case NI_QTYPE_IPV4ADDR: - if ((icmp6_nodeinfo & ICMP6_NODEINFO_NODEADDROK) == 0) + if ((V_icmp6_nodeinfo & ICMP6_NODEINFO_NODEADDROK) == 0) goto bad; break; } @@ -1641,6 +1648,7 @@ struct in6_addr *subj) { INIT_VNET_NET(curvnet); + INIT_VNET_INET6(curvnet); struct ifnet *ifp; struct in6_ifaddr *ifa6; struct ifaddr *ifa; @@ -1710,7 +1718,7 @@ (niflags & NI_NODEADDR_FLAG_ANYCAST) == 0) continue; /* we need only unicast addresses */ if ((ifa6->ia6_flags & IN6_IFF_TEMPORARY) != 0 && - (icmp6_nodeinfo & ICMP6_NODEINFO_TMPADDROK) == 0) { + (V_icmp6_nodeinfo & ICMP6_NODEINFO_TMPADDROK) == 0) { continue; } addrsofif++; /* count the address */ @@ -1733,6 +1741,7 @@ struct ifnet *ifp0, int resid) { INIT_VNET_NET(curvnet); + INIT_VNET_INET6(curvnet); struct ifnet *ifp = ifp0 ? ifp0 : TAILQ_FIRST(&V_ifnet); struct in6_ifaddr *ifa6; struct ifaddr *ifa; @@ -1797,7 +1806,7 @@ (niflags & NI_NODEADDR_FLAG_ANYCAST) == 0) continue; if ((ifa6->ia6_flags & IN6_IFF_TEMPORARY) != 0 && - (icmp6_nodeinfo & ICMP6_NODEINFO_TMPADDROK) == 0) { + (V_icmp6_nodeinfo & ICMP6_NODEINFO_TMPADDROK) == 0) { continue; } @@ -2245,7 +2254,7 @@ /* XXX if we are router, we don't update route by icmp6 redirect */ if (V_ip6_forwarding) goto freeit; - if (!icmp6_rediraccept) + if (!V_icmp6_rediraccept) goto freeit; #ifndef PULLDOWN_TEST @@ -2791,13 +2800,14 @@ icmp6_ratelimit(const struct in6_addr *dst, const int type, const int code) { + INIT_VNET_INET6(curvnet); int ret; ret = 0; /* okay to send */ /* PPS limit */ - if (!ppsratecheck(&icmp6errppslim_last, &icmp6errpps_count, - icmp6errppslim)) { + if (!ppsratecheck(&icmp6errppslim_last, &V_icmp6errpps_count, + V_icmp6errppslim)) { /* The packet is subject to rate limit */ ret++; } ==== //depot/projects/vimage/src/sys/netinet6/in6.c#12 (text+ko) ==== @@ -324,6 +324,7 @@ in6_control(struct socket *so, u_long cmd, caddr_t data, struct ifnet *ifp, struct thread *td) { + INIT_VNET_INET6(curvnet); struct in6_ifreq *ifr = (struct in6_ifreq *)data; struct in6_ifaddr *ia = NULL; struct in6_aliasreq *ifra = (struct in6_aliasreq *)data; @@ -736,7 +737,7 @@ * (when required). */ if ((ia->ia6_flags & IN6_IFF_AUTOCONF) && - ip6_use_tempaddr && pr->ndpr_refcnt == 1) { + V_ip6_use_tempaddr && pr->ndpr_refcnt == 1) { int e; if ((e = in6_tmpifadd(ia, 1, 0)) != 0) { log(LOG_NOTICE, "in6_control: failed " ==== //depot/projects/vimage/src/sys/netinet6/in6_ifattach.c#12 (text+ko) ==== @@ -875,8 +875,8 @@ struct ifnet *ifp; callout_reset(&V_in6_tmpaddrtimer_ch, - (ip6_temp_preferred_lifetime - ip6_desync_factor - - ip6_temp_regen_advance) * hz, in6_tmpaddrtimer, arg); + (V_ip6_temp_preferred_lifetime - V_ip6_desync_factor - + V_ip6_temp_regen_advance) * hz, in6_tmpaddrtimer, arg); bzero(nullbuf, sizeof(nullbuf)); for (ifp = TAILQ_FIRST(&V_ifnet); ifp; ==== //depot/projects/vimage/src/sys/netinet6/in6_proto.c#12 (text+ko) ==== @@ -423,6 +423,7 @@ * XXX: what if we don't define INET? Should we define pmtu6_expire * or so? (jinmei@kame.net 19990310) */ +#ifndef VIMAGE int pmtu_expire = 60*10; int pmtu_probe = 60*2; @@ -447,6 +448,7 @@ int udp6_sendspace = 9216; /* really max datagram size */ int udp6_recvspace = 40 * (1024 + sizeof(struct sockaddr_in6)); /* 40 1K datagrams */ +#endif /* !VIMAGE */ /* * sysctl related items. @@ -468,37 +470,47 @@ /* net.inet6.ip6 */ static int +#ifdef VIMAGE +sysctl_ip6_temppltime(SYSCTL_HANDLER_V_ARGS) +#else sysctl_ip6_temppltime(SYSCTL_HANDLER_ARGS) +#endif { + INIT_VNET_INET6(curvnet); int error = 0; int old; error = SYSCTL_OUT(req, arg1, sizeof(int)); if (error || !req->newptr) return (error); - old = ip6_temp_preferred_lifetime; + old = V_ip6_temp_preferred_lifetime; error = SYSCTL_IN(req, arg1, sizeof(int)); - if (ip6_temp_preferred_lifetime < - ip6_desync_factor + ip6_temp_regen_advance) { - ip6_temp_preferred_lifetime = old; + if (V_ip6_temp_preferred_lifetime < + V_ip6_desync_factor + V_ip6_temp_regen_advance) { + V_ip6_temp_preferred_lifetime = old; return (EINVAL); } return (error); } static int +#ifdef VIMAGE +sysctl_ip6_tempvltime(SYSCTL_HANDLER_V_ARGS) +#else sysctl_ip6_tempvltime(SYSCTL_HANDLER_ARGS) +#endif { + INIT_VNET_INET6(curvnet); int error = 0; int old; error = SYSCTL_OUT(req, arg1, sizeof(int)); if (error || !req->newptr) return (error); - old = ip6_temp_valid_lifetime; + old = V_ip6_temp_valid_lifetime; error = SYSCTL_IN(req, arg1, sizeof(int)); - if (ip6_temp_valid_lifetime < ip6_temp_preferred_lifetime) { - ip6_temp_preferred_lifetime = old; + if (V_ip6_temp_valid_lifetime < V_ip6_temp_preferred_lifetime) { + V_ip6_temp_preferred_lifetime = old; return (EINVAL); } return (error); @@ -536,14 +548,14 @@ use_deprecated, CTLFLAG_RW, ip6_use_deprecated, 0, ""); SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_RR_PRUNE, rr_prune, CTLFLAG_RW, ip6_rr_prune, 0, ""); -SYSCTL_INT(_net_inet6_ip6, IPV6CTL_USETEMPADDR, - use_tempaddr, CTLFLAG_RW, &ip6_use_tempaddr, 0, ""); -SYSCTL_OID(_net_inet6_ip6, IPV6CTL_TEMPPLTIME, temppltime, - CTLTYPE_INT|CTLFLAG_RW, &ip6_temp_preferred_lifetime, 0, - sysctl_ip6_temppltime, "I", ""); -SYSCTL_OID(_net_inet6_ip6, IPV6CTL_TEMPVLTIME, tempvltime, - CTLTYPE_INT|CTLFLAG_RW, &ip6_temp_valid_lifetime, 0, - sysctl_ip6_tempvltime, "I", ""); +SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_USETEMPADDR, + use_tempaddr, CTLFLAG_RW, ip6_use_tempaddr, 0, ""); +SYSCTL_V_OID(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_TEMPPLTIME, temppltime, + CTLTYPE_INT|CTLFLAG_RW, ip6_temp_preferred_lifetime, 0, + sysctl_ip6_temppltime, "I", ""); +SYSCTL_V_OID(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_TEMPVLTIME, tempvltime, + CTLTYPE_INT|CTLFLAG_RW, ip6_temp_valid_lifetime, 0, + sysctl_ip6_tempvltime, "I", ""); SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_V6ONLY, v6only, CTLFLAG_RW, ip6_v6only, 0, ""); #ifndef VIMAGE @@ -553,8 +565,8 @@ auto_linklocal, CTLFLAG_RW, ip6_auto_linklocal, 0, ""); SYSCTL_V_STRUCT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_RIP6STATS, rip6stats, CTLFLAG_RD, rip6stat, rip6stat, ""); -SYSCTL_INT(_net_inet6_ip6, IPV6CTL_PREFER_TEMPADDR, - prefer_tempaddr, CTLFLAG_RW, &ip6_prefer_tempaddr, 0, ""); +SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_PREFER_TEMPADDR, + prefer_tempaddr, CTLFLAG_RW, ip6_prefer_tempaddr, 0, ""); SYSCTL_INT(_net_inet6_ip6, IPV6CTL_USE_DEFAULTZONE, use_defaultzone, CTLFLAG_RW, &ip6_use_defzone, 0,""); SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_MAXFRAGS, @@ -563,31 +575,31 @@ mcast_pmtu, CTLFLAG_RW, ip6_mcast_pmtu, 0, ""); #ifdef IPSTEALTH SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_STEALTH, stealth, CTLFLAG_RW, - ip6stealth, 0, ""); +ip6stealth, 0, ""); #endif /* net.inet6.icmp6 */ -SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_REDIRACCEPT, - rediraccept, CTLFLAG_RW, &icmp6_rediraccept, 0, ""); -SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_REDIRTIMEOUT, - redirtimeout, CTLFLAG_RW, &icmp6_redirtimeout, 0, ""); +SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_icmp6, ICMPV6CTL_REDIRACCEPT, + rediraccept, CTLFLAG_RW, icmp6_rediraccept, 0, ""); +SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_icmp6, ICMPV6CTL_REDIRTIMEOUT, + redirtimeout, CTLFLAG_RW, icmp6_redirtimeout, 0, ""); SYSCTL_V_STRUCT(V_NET, vnet_inet6, _net_inet6_icmp6, ICMPV6CTL_STATS, stats, CTLFLAG_RD, icmp6stat, icmp6stat, ""); -SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_PRUNE, - nd6_prune, CTLFLAG_RW, &nd6_prune, 0, ""); -SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_DELAY, - nd6_delay, CTLFLAG_RW, &nd6_delay, 0, ""); -SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_UMAXTRIES, - nd6_umaxtries, CTLFLAG_RW, &nd6_umaxtries, 0, ""); -SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_MMAXTRIES, - nd6_mmaxtries, CTLFLAG_RW, &nd6_mmaxtries, 0, ""); -SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_USELOOPBACK, - nd6_useloopback, CTLFLAG_RW, &nd6_useloopback, 0, ""); -SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_NODEINFO, - nodeinfo, CTLFLAG_RW, &icmp6_nodeinfo, 0, ""); -SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_ERRPPSLIMIT, - errppslimit, CTLFLAG_RW, &icmp6errppslim, 0, ""); -SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_MAXNUDHINT, - nd6_maxnudhint, CTLFLAG_RW, &nd6_maxnudhint, 0, ""); +SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_icmp6, ICMPV6CTL_ND6_PRUNE, + nd6_prune, CTLFLAG_RW, nd6_prune, 0, ""); +SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_icmp6, ICMPV6CTL_ND6_DELAY, + nd6_delay, CTLFLAG_RW, nd6_delay, 0, ""); +SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_icmp6, ICMPV6CTL_ND6_UMAXTRIES, + nd6_umaxtries, CTLFLAG_RW, nd6_umaxtries, 0, ""); +SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_icmp6, ICMPV6CTL_ND6_MMAXTRIES, + nd6_mmaxtries, CTLFLAG_RW, nd6_mmaxtries, 0, ""); +SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_icmp6, ICMPV6CTL_ND6_USELOOPBACK, + nd6_useloopback, CTLFLAG_RW, nd6_useloopback, 0, ""); +SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_icmp6, ICMPV6CTL_NODEINFO, + nodeinfo, CTLFLAG_RW, icmp6_nodeinfo, 0, ""); +SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_icmp6, ICMPV6CTL_ERRPPSLIMIT, + errppslimit, CTLFLAG_RW, icmp6errppslim, 0, ""); +SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_icmp6, ICMPV6CTL_ND6_MAXNUDHINT, + nd6_maxnudhint, CTLFLAG_RW, nd6_maxnudhint, 0, ""); SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_DEBUG, nd6_debug, CTLFLAG_RW, &nd6_debug, 0, ""); ==== //depot/projects/vimage/src/sys/netinet6/in6_src.c#13 (text+ko) ==== @@ -117,9 +117,9 @@ #define ADDR_LABEL_NOTAPP (-1) #ifndef VIMAGE struct in6_addrpolicy defaultaddrpolicy; -#endif int ip6_prefer_tempaddr = 0; +#endif static int selectroute __P((struct sockaddr_in6 *, struct ip6_pktopts *, struct ip6_moptions *, struct route_in6 *, struct ifnet **, @@ -352,7 +352,7 @@ */ if (opts == NULL || opts->ip6po_prefer_tempaddr == IP6PO_TEMPADDR_SYSTEM) { - prefer_tempaddr = ip6_prefer_tempaddr; + prefer_tempaddr = V_ip6_prefer_tempaddr; } else if (opts->ip6po_prefer_tempaddr == IP6PO_TEMPADDR_NOTPREFER) { prefer_tempaddr = 0; ==== //depot/projects/vimage/src/sys/netinet6/ip6_input.c#21 (text+ko) ==== @@ -120,18 +120,18 @@ u_char ip6_protox[IPPROTO_MAX]; static struct ifqueue ip6intrq; +#ifndef VIMAGE static int ip6qmaxlen = IFQ_MAXLEN; -#ifndef VIMAGE struct in6_ifaddr *in6_ifaddr; extern struct callout in6_tmpaddrtimer_ch; -#endif int ip6_forward_srcrt; /* XXX */ int ip6_sourcecheck; /* XXX */ int ip6_sourcecheck_interval; /* XXX */ int ip6_ours_check_algorithm; +#endif /* !VIMAGE */ struct pfil_head inet6_pfil_hook; @@ -171,6 +171,8 @@ #ifndef IPV6_SENDREDIRECTS #define IPV6_SENDREDIRECTS 1 #endif +#define RIPV6SNDQ 8192 +#define RIPV6RCVQ 8192 #endif /* !VIMAGE */ /* @@ -206,10 +208,37 @@ V_ip6_keepfaith = 0; V_ip6_log_time = (time_t)0L; - #ifdef IPSTEALTH +#ifdef IPSTEALTH V_ip6stealth = 0; - #endif - +#endif + + V_pmtu_expire = 60*10; + V_pmtu_probe = 60*2; + + V_rip6_sendspace = RIPV6SNDQ; + V_rip6_recvspace = RIPV6RCVQ; + + /* ICMPV6 parameters */ + V_icmp6_rediraccept = 1; /* accept and process redirects */ + V_icmp6_redirtimeout = 10 * 60; /* 10 minutes */ + V_icmp6errppslim = 100; /* 100pps */ + /* control how to respond to NI queries */ + V_icmp6_nodeinfo = (ICMP6_NODEINFO_FQDNOK|ICMP6_NODEINFO_NODEADDROK); + + /* UDP on IP6 parameters */ + V_udp6_sendspace = 9216; /* really max datagram size */ + V_udp6_recvspace = 40 * (1024 + sizeof(struct sockaddr_in6)); + /* 40 1K datagrams */ + + V_ip6_prefer_tempaddr = 0; + + V_ip6qmaxlen = IFQ_MAXLEN; + V_ip6_forward_srcrt = 0; /* XXX */ + V_ip6_sourcecheck = 0; /* XXX */ + V_ip6_sourcecheck_interval = 0; /* XXX */ + + V_ip6_ours_check_algorithm = 0; + #ifdef IP6_AUTO_LINKLOCAL V_ip6_auto_linklocal = IP6_AUTO_LINKLOCAL; #else @@ -258,10 +287,10 @@ printf("%s: WARNING: unable to register pfil hook, " "error %d\n", __func__, i); - ip6intrq.ifq_maxlen = ip6qmaxlen; + ip6intrq.ifq_maxlen = V_ip6qmaxlen; mtx_init(&ip6intrq.ifq_mtx, "ip6_inq", NULL, MTX_DEF); netisr_register(NETISR_IPV6, ip6_input, &ip6intrq, 0); - ip6_desync_factor = arc4random() % MAX_TEMP_DESYNC_FACTOR; + V_ip6_desync_factor = arc4random() % MAX_TEMP_DESYNC_FACTOR; } #ifdef VIMAGE @@ -287,8 +316,8 @@ /* timer for regeneranation of temporary addresses randomize ID */ callout_init(&V_in6_tmpaddrtimer_ch, 0); callout_reset(&V_in6_tmpaddrtimer_ch, - (ip6_temp_preferred_lifetime - ip6_desync_factor - - ip6_temp_regen_advance) * hz, + (V_ip6_temp_preferred_lifetime - V_ip6_desync_factor - + V_ip6_temp_regen_advance) * hz, in6_tmpaddrtimer, curvnet); } ==== //depot/projects/vimage/src/sys/netinet6/ip6_mroute.c#9 (text+ko) ==== @@ -151,7 +151,9 @@ .pr_usrreqs = &rip6_usrreqs }; +#ifndef VIMAGE static int ip6_mrouter_ver = 0; +#endif /* !VIMAGE */ SYSCTL_DECL(_net_inet6); SYSCTL_DECL(_net_inet6_ip6); @@ -179,7 +181,9 @@ "Multicast Interfaces (struct mif[MAXMIFS], netinet6/ip6_mroute.h)"); #ifdef MRT6DEBUG +#ifndef VIMAGE static u_int mrt6debug = 0; /* debug level */ +#endif /* !VIMAGE */ #define DEBUG_MFC 0x02 #define DEBUG_FORWARD 0x04 #define DEBUG_EXPIRE 0x08 @@ -224,7 +228,9 @@ &pim6stat, pim6stat, "PIM Statistics (struct pim6stat, netinet6/pim_var.h)"); +#ifndef VIMAGE static int pim6; +#endif /* * Hash function for a source, group entry @@ -378,6 +384,7 @@ int X_ip6_mrouter_get(struct socket *so, struct sockopt *sopt) { + INIT_VNET_INET6(curvnet); int error = 0; if (so != ip6_mrouter) @@ -385,7 +392,7 @@ switch (sopt->sopt_name) { case MRT6_PIM: - error = sooptcopyout(sopt, &pim6, sizeof(pim6)); + error = sooptcopyout(sopt, &V_pim6, sizeof(V_pim6)); break; } return (error); @@ -454,10 +461,11 @@ static int set_pim6(int *i) { + INIT_VNET_INET6(curvnet); if ((*i != 1) && (*i != 0)) return (EINVAL); - pim6 = *i; + V_pim6 = *i; return (0); } @@ -468,6 +476,11 @@ static int ip6_mrouter_init(struct socket *so, int v, int cmd) { + INIT_VNET_INET6(curvnet); + + V_ip6_mrouter_ver = 0; + V_mrt6debug = 0; + #ifdef MRT6DEBUG if (mrt6debug) log(LOG_DEBUG, @@ -486,19 +499,19 @@ return (EADDRINUSE); ip6_mrouter = so; - ip6_mrouter_ver = cmd; + V_ip6_mrouter_ver = cmd; bzero((caddr_t)mf6ctable, sizeof(mf6ctable)); bzero((caddr_t)n6expire, sizeof(n6expire)); - pim6 = 0;/* used for stubbing out/in pim stuff */ + V_pim6 = 0;/* used for stubbing out/in pim stuff */ callout_init(&expire_upcalls_ch, 0); callout_reset(&expire_upcalls_ch, EXPIRE_TIMEOUT, expire_upcalls, NULL); #ifdef MRT6DEBUG - if (mrt6debug) + if (V_mrt6debug) log(LOG_DEBUG, "ip6_mrouter_init\n"); #endif @@ -511,6 +524,7 @@ int X_ip6_mrouter_done(void) { + INIT_VNET_INET6(curvnet); mifi_t mifi; int i; struct mf6c *rt; @@ -545,7 +559,7 @@ bzero((caddr_t)mif6table, sizeof(mif6table)); nummifs = 0; - pim6 = 0; /* used to stub out/in pim specific code */ + V_pim6 = 0; /* used to stub out/in pim specific code */ callout_stop(&expire_upcalls_ch); @@ -583,12 +597,12 @@ } ip6_mrouter = NULL; - ip6_mrouter_ver = 0; + V_ip6_mrouter_ver = 0; splx(s); #ifdef MRT6DEBUG - if (mrt6debug) + if (V_mrt6debug) log(LOG_DEBUG, "ip6_mrouter_done\n"); #endif @@ -665,7 +679,7 @@ nummifs = mifcp->mif6c_mifi + 1; #ifdef MRT6DEBUG - if (mrt6debug) + if (V_mrt6debug) log(LOG_DEBUG, "add_mif #%d, phyint %s\n", mifcp->mif6c_mifi, @@ -722,7 +736,7 @@ splx(s); #ifdef MRT6DEBUG - if (mrt6debug) + if (V_mrt6debug) log(LOG_DEBUG, "del_m6if %d, nummifs %d\n", *mifip, nummifs); #endif @@ -735,6 +749,7 @@ static int add_m6fc(struct mf6cctl *mfccp) { + INIT_VNET_INET6(curvnet); struct mf6c *rt; u_long hash; struct rtdetq *rte; @@ -748,7 +763,7 @@ /* If an entry already exists, just update the fields */ if (rt) { #ifdef MRT6DEBUG - if (mrt6debug & DEBUG_MFC) { + if (V_mrt6debug & DEBUG_MFC) { log(LOG_DEBUG, "add_m6fc no upcall h %d o %s g %s p %x\n", ip6_sprintf(ip6bufo, &mfccp->mf6cc_origin.sin6_addr), @@ -788,7 +803,7 @@ mfccp->mf6cc_parent, rt->mf6c_stall); #ifdef MRT6DEBUG - if (mrt6debug & DEBUG_MFC) + if (V_mrt6debug & DEBUG_MFC) log(LOG_DEBUG, "add_m6fc o %s g %s p %x dbg %x\n", ip6_sprintf(ip6bufo, @@ -830,7 +845,7 @@ */ if (nstl == 0) { #ifdef MRT6DEBUG - if (mrt6debug & DEBUG_MFC) + if (V_mrt6debug & DEBUG_MFC) log(LOG_DEBUG, "add_mfc no upcall h %d o %s g %s p %x\n", hash, @@ -922,6 +937,7 @@ static int del_m6fc(struct mf6cctl *mfccp) { + INIT_VNET_INET6(curvnet); struct sockaddr_in6 origin; struct sockaddr_in6 mcastgrp; struct mf6c *rt; @@ -934,7 +950,7 @@ hash = MF6CHASH(origin.sin6_addr, mcastgrp.sin6_addr); #ifdef MRT6DEBUG - if (mrt6debug & DEBUG_MFC) { + if (V_mrt6debug & DEBUG_MFC) { char ip6bufo[INET6_ADDRSTRLEN], ip6bufg[INET6_ADDRSTRLEN]; log(LOG_DEBUG,"del_m6fc orig %s mcastgrp %s\n", ip6_sprintf(ip6bufo, &origin.sin6_addr), @@ -1014,7 +1030,7 @@ char ip6bufs[INET6_ADDRSTRLEN], ip6bufd[INET6_ADDRSTRLEN]; #ifdef MRT6DEBUG - if (mrt6debug & DEBUG_FORWARD) + if (V_mrt6debug & DEBUG_FORWARD) log(LOG_DEBUG, "ip6_mforward: src %s, dst %s, ifindex %d\n", ip6_sprintf(ip6bufs, &ip6->ip6_src), ip6_sprintf(ip6bufd, &ip6->ip6_dst), @@ -1081,7 +1097,7 @@ mrt6stat.mrt6s_no_route++; #ifdef MRT6DEBUG - if (mrt6debug & (DEBUG_FORWARD | DEBUG_MFC)) + if (V_mrt6debug & (DEBUG_FORWARD | DEBUG_MFC)) log(LOG_DEBUG, "ip6_mforward: no rte s %s g %s\n", ip6_sprintf(ip6bufs, &ip6->ip6_src), ip6_sprintf(ip6bufd, &ip6->ip6_dst)); @@ -1160,7 +1176,7 @@ #ifdef MRT6_OINIT oim = NULL; #endif - switch (ip6_mrouter_ver) { + switch (V_ip6_mrouter_ver) { #ifdef MRT6_OINIT case MRT6_OINIT: oim = mtod(mm, struct omrt6msg *); @@ -1182,7 +1198,7 @@ } #ifdef MRT6DEBUG - if (mrt6debug & DEBUG_FORWARD) + if (V_mrt6debug & DEBUG_FORWARD) log(LOG_DEBUG, "getting the iif info in the kernel\n"); #endif @@ -1192,7 +1208,7 @@ mifp++, mifi++) ; - switch (ip6_mrouter_ver) { + switch (V_ip6_mrouter_ver) { #ifdef MRT6_OINIT case MRT6_OINIT: oim->im6_mif = mifi; @@ -1271,6 +1287,7 @@ static void expire_upcalls(void *unused) { + INIT_VNET_INET6(curvnet); struct rtdetq *rte; struct mf6c *mfc, **nptr; int i; @@ -1292,7 +1309,7 @@ mfc->mf6c_expire != 0 && --mfc->mf6c_expire == 0) { #ifdef MRT6DEBUG - if (mrt6debug & DEBUG_EXPIRE) { + if (V_mrt6debug & DEBUG_EXPIRE) { char ip6bufo[INET6_ADDRSTRLEN]; char ip6bufg[INET6_ADDRSTRLEN]; log(LOG_DEBUG, "expire_upcalls: expiring (%s %s)\n", @@ -1361,7 +1378,7 @@ if ((mifi >= nummifs) || (mif6table[mifi].m6_ifp != ifp)) { /* came in the wrong interface */ #ifdef MRT6DEBUG - if (mrt6debug & DEBUG_FORWARD) + if (V_mrt6debug & DEBUG_FORWARD) log(LOG_DEBUG, "wrong if: ifid %d mifi %d mififid %x\n", ifp->if_index, mifi, @@ -1376,7 +1393,7 @@ */ /* have to make sure this is a valid mif */ if (mifi < nummifs && mif6table[mifi].m6_ifp) - if (pim6 && (m->m_flags & M_LOOP) == 0) { + if (V_pim6 && (m->m_flags & M_LOOP) == 0) { /* * Check the M_LOOP flag to avoid an * unnecessary PIM assert. @@ -1403,7 +1420,7 @@ oim = NULL; #endif im = NULL; - switch (ip6_mrouter_ver) { + switch (V_ip6_mrouter_ver) { #ifdef MRT6_OINIT case MRT6_OINIT: oim = mtod(mm, struct omrt6msg *); @@ -1427,7 +1444,7 @@ mifp++, iif++) ; - switch (ip6_mrouter_ver) { + switch (V_ip6_mrouter_ver) { #ifdef MRT6_OINIT case MRT6_OINIT: oim->im6_mif = iif; @@ -1444,7 +1461,7 @@ if (socket_send(ip6_mrouter, mm, &sin6) < 0) { #ifdef MRT6DEBUG - if (mrt6debug) + if (V_mrt6debug) log(LOG_WARNING, "mdq, ip6_mrouter socket queue full\n"); #endif ++mrt6stat.mrt6s_upq_sockfull; @@ -1554,7 +1571,7 @@ IPV6_FORWARDING, &im6o, NULL, NULL); #ifdef MRT6DEBUG - if (mrt6debug & DEBUG_XMIT) + if (V_mrt6debug & DEBUG_XMIT) log(LOG_DEBUG, "phyint_send on mif %d err %d\n", mifp - mif6table, error); #endif @@ -1590,7 +1607,7 @@ error = (*ifp->if_output)(ifp, mb_copy, (struct sockaddr *)&ro.ro_dst, NULL); #ifdef MRT6DEBUG - if (mrt6debug & DEBUG_XMIT) + if (V_mrt6debug & DEBUG_XMIT) log(LOG_DEBUG, "phyint_send on mif %d err %d\n", mifp - mif6table, error); #endif @@ -1604,7 +1621,7 @@ icmp6_error(mb_copy, ICMP6_PACKET_TOO_BIG, 0, linkmtu); else { #ifdef MRT6DEBUG - if (mrt6debug & DEBUG_XMIT) { + if (V_mrt6debug & DEBUG_XMIT) { char ip6bufs[INET6_ADDRSTRLEN]; char ip6bufd[INET6_ADDRSTRLEN]; log(LOG_DEBUG, @@ -1626,13 +1643,14 @@ static int register_send(struct ip6_hdr *ip6, struct mif6 *mif, struct mbuf *m) { + INIT_VNET_INET6(curvnet); struct mbuf *mm; int i, len = m->m_pkthdr.len; static struct sockaddr_in6 sin6 = { sizeof(sin6), AF_INET6 }; struct mrt6msg *im6; #ifdef MRT6DEBUG - if (mrt6debug) { + if (V_mrt6debug) { char ip6bufs[INET6_ADDRSTRLEN], ip6bufd[INET6_ADDRSTRLEN]; log(LOG_DEBUG, "** IPv6 register_send **\n src %s dst %s\n", ip6_sprintf(ip6bufs, &ip6->ip6_src), @@ -1678,7 +1696,7 @@ if (socket_send(ip6_mrouter, mm, &sin6) < 0) { #ifdef MRT6DEBUG - if (mrt6debug) + if (V_mrt6debug) log(LOG_WARNING, "register_send: ip6_mrouter socket queue full\n"); #endif @@ -1717,7 +1735,7 @@ if (pimlen < PIM_MINLEN) { ++pim6stat.pim6s_rcv_tooshort; #ifdef MRT6DEBUG - if (mrt6debug & DEBUG_PIM) + if (V_mrt6debug & DEBUG_PIM) log(LOG_DEBUG,"pim6_input: PIM packet too short\n"); #endif m_freem(m); @@ -1770,7 +1788,7 @@ if (in6_cksum(m, IPPROTO_PIM, off, cksumlen)) { ++pim6stat.pim6s_rcv_badsum; #ifdef MRT6DEBUG - if (mrt6debug & DEBUG_PIM) + if (V_mrt6debug & DEBUG_PIM) log(LOG_DEBUG, "pim6_input: invalid checksum\n"); #endif @@ -1812,7 +1830,7 @@ if ((reg_mif_num >= nummifs) || (reg_mif_num == (mifi_t) -1)) { #ifdef MRT6DEBUG - if (mrt6debug & DEBUG_PIM) + if (V_mrt6debug & DEBUG_PIM) log(LOG_DEBUG, "pim6_input: register mif not set: %d\n", reg_mif_num); @@ -1844,7 +1862,7 @@ eip6 = (struct ip6_hdr *) (reghdr + 1); #ifdef MRT6DEBUG - if (mrt6debug & DEBUG_PIM) + if (V_mrt6debug & DEBUG_PIM) log(LOG_DEBUG, "pim6_input[register], eip6: %s -> %s, " "eip6 plen %d\n", @@ -1869,7 +1887,7 @@ if (!IN6_IS_ADDR_MULTICAST(&eip6->ip6_dst)) { ++pim6stat.pim6s_rcv_badregisters; #ifdef MRT6DEBUG - if (mrt6debug & DEBUG_PIM) + if (V_mrt6debug & DEBUG_PIM) log(LOG_DEBUG, "pim6_input: inner packet of register " "is not multicast %s\n", @@ -1898,7 +1916,7 @@ */ m_adj(m, off + PIM_MINLEN); #ifdef MRT6DEBUG - if (mrt6debug & DEBUG_PIM) { + if (V_mrt6debug & DEBUG_PIM) { log(LOG_DEBUG, "pim6_input: forwarding decapsulated register: " "src %s, dst %s, mif %d\n", ==== //depot/projects/vimage/src/sys/netinet6/ip6_var.h#8 (text+ko) ==== @@ -283,9 +283,7 @@ extern int ip6_defhlim; /* default hop limit */ extern int ip6_defmcasthlim; /* default multicast hop limit */ extern int ip6_forwarding; /* act as router? */ -#endif extern int ip6_forward_srcrt; /* forward src-routed? */ -#ifndef VIMAGE extern int ip6_gif_hlim; /* Hop limit for gif encap packet */ extern int ip6_use_deprecated; /* allow deprecated addr as source */ extern int ip6_rr_prune; /* router renumbering prefix @@ -299,10 +297,8 @@ extern int ip6_sendredirects; /* send IP redirects when forwarding? */ extern int ip6_maxfragpackets; /* Maximum packets in reassembly queue */ extern int ip6_maxfrags; /* Maximum fragments in reassembly queue */ -#endif extern int ip6_sourcecheck; /* Verify source interface */ extern int ip6_sourcecheck_interval; /* Interval between log messages */ -#ifndef VIMAGE extern int ip6_accept_rtadv; /* Acts as a host not a router */ extern int ip6_keepfaith; /* Firewall Aided Internet Translator */ extern int ip6_log_interval; @@ -320,8 +316,10 @@ extern int ip6_lowportmax; /* maximum reserved port */ extern int ip6_use_tempaddr; /* whether to use temporary addresses. */ +#ifndef VIMAGE extern int ip6_prefer_tempaddr; /* whether to prefer temporary addresses in the source address selection */ +#endif extern int ip6_use_defzone; /* whether to use the default scope zone when unspecified */ ==== //depot/projects/vimage/src/sys/netinet6/nd6.c#18 (text+ko) ==== @@ -81,6 +81,7 @@ #define SDL(s) ((struct sockaddr_dl *)s) /* timer values */ +#ifndef VIMAGE int nd6_prune = 1; /* walk list every 1 seconds */ int nd6_delay = 5; /* delay first probe time 5 second */ int nd6_umaxtries = 3; /* maximum unicast query */ @@ -93,6 +94,7 @@ int nd6_maxnudhint = 0; /* max # of subsequent upper layer hints */ int nd6_maxqueuelen = 1; /* max # of packets cached in unresolved ND entries */ +#endif /* !VIMAGE */ #ifdef ND6_DEBUG int nd6_debug = 1; @@ -107,9 +109,9 @@ struct llinfo_nd6 llinfo_nd6; struct nd_drhead nd_defrouter; struct nd_prhead nd_prefix; -#endif int nd6_recalc_reachtm_interval = ND6_RECALC_REACHTM_INTERVAL; +#endif /* !VIMAGE */ static struct sockaddr_in6 all1_sa; static int nd6_is_new_addr_neighbor __P((struct sockaddr_in6 *, @@ -133,6 +135,36 @@ INIT_VNET_INET6(curvnet); int i; + V_nd6_prune = 1; /* walk list every 1 seconds */ + V_nd6_delay = 5; /* delay first probe time 5 second */ + V_nd6_umaxtries = 3; /* maximum unicast query */ + V_nd6_mmaxtries = 3; /* maximum multicast query */ + V_nd6_useloopback = 1; /* use loopback interface for local traffic */ + V_nd6_gctimer = (60 * 60 * 24); /* 1 day: garbage collection timer */ + + /* preventing too many loops in ND option parsing */ + V_nd6_maxndopt = 10; /* max # of ND options allowed */ + + V_nd6_maxnudhint = 0; /* max # of subsequent upper layer hints */ + V_nd6_maxqueuelen = 1; /* max # of packets cached in unresolved ND entries */ + V_nd6_recalc_reachtm_interval = ND6_RECALC_REACHTM_INTERVAL; + + V_dad_ignore_ns = 0; /* ignore NS in DAD - specwise incorrect*/ + V_dad_maxtry = 15; /* max # of *tries* to transmit DAD packet */ + + V_ip6_use_tempaddr = 0; + + V_ip6_desync_factor = 0; + V_ip6_temp_preferred_lifetime = DEF_TEMP_PREFERRED_LIFETIME; + V_ip6_temp_valid_lifetime = DEF_TEMP_VALID_LIFETIME; + /* + * shorter lifetimes for debugging purposes. + V_ip6_temp_preferred_lifetime = 800; + V_ip6_temp_valid_lifetime = 1800; + */ + + V_ip6_temp_regen_advance = TEMPADDR_REGEN_ADVANCE; + V_llinfo_nd6.ln_next = V_llinfo_nd6.ln_prev = &V_llinfo_nd6; LIST_INIT(&V_nd_prefix); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Mon Sep 3 21:43:08 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4AC3716A418; Mon, 3 Sep 2007 21:43:08 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2076E16A41A for ; Mon, 3 Sep 2007 21:43:08 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 1510813C459 for ; Mon, 3 Sep 2007 21:43:08 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l83Lh7gc039458 for ; Mon, 3 Sep 2007 21:43:07 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l83Lh7mO039455 for perforce@freebsd.org; Mon, 3 Sep 2007 21:43:07 GMT (envelope-from cnst@FreeBSD.org) Date: Mon, 3 Sep 2007 21:43:07 GMT Message-Id: <200709032143.l83Lh7mO039455@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 126021 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Sep 2007 21:43:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=126021 Change 126021 by cnst@dale on 2007/09/03 21:42:37 integrate man4 makefile, connecting zyd.4 Affected files ... .. //depot/projects/soc2007/cnst-sensors/share.man.man4/Makefile#4 integrate Differences ... ==== //depot/projects/soc2007/cnst-sensors/share.man.man4/Makefile#4 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/18/93 -# $FreeBSD: src/share/man/man4/Makefile,v 1.392 2007/08/23 20:05:09 des Exp $ +# $FreeBSD: src/share/man/man4/Makefile,v 1.393 2007/09/02 07:09:25 imp Exp $ MAN= aac.4 \ acpi.4 \ @@ -416,7 +416,8 @@ xe.4 \ xl.4 \ xpt.4 \ - zero.4 + zero.4 \ + zyd.4 MLINKS= agp.4 agpgart.4 MLINKS+=altq.4 ALTQ.4 From owner-p4-projects@FreeBSD.ORG Mon Sep 3 21:47:14 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7ABED16A418; Mon, 3 Sep 2007 21:47:14 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3685116A41B for ; Mon, 3 Sep 2007 21:47:14 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 29A0013C442 for ; Mon, 3 Sep 2007 21:47:14 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l83LlELp039625 for ; Mon, 3 Sep 2007 21:47:14 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l83LlDKc039622 for perforce@freebsd.org; Mon, 3 Sep 2007 21:47:13 GMT (envelope-from cnst@FreeBSD.org) Date: Mon, 3 Sep 2007 21:47:13 GMT Message-Id: <200709032147.l83LlDKc039622@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 126022 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Sep 2007 21:47:14 -0000 http://perforce.freebsd.org/chv.cgi?CH=126022 Change 126022 by cnst@dale on 2007/09/03 21:46:21 integrate my patch from CVS, which fixes a 12-year-old bug in kern_sensors.c For details, see: http://lists.freebsd.org/pipermail/cvs-src/2007-September/081597.html http://lists.freebsd.org/pipermail/cvs-src/2007-September/081603.html Affected files ... .. //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sysctl.c#10 integrate Differences ... ==== //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sysctl.c#10 (text+ko) ==== @@ -36,7 +36,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_sysctl.c,v 1.176 2007/06/12 00:11:59 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_sysctl.c,v 1.177 2007/09/02 09:59:33 rwatson Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -1377,7 +1377,7 @@ } if (new != NULL) { - if (!useracc(new, req.newlen, VM_PROT_READ)) + if (!useracc(new, newlen, VM_PROT_READ)) return (EFAULT); req.newlen = newlen; req.newptr = new; From owner-p4-projects@FreeBSD.ORG Mon Sep 3 23:24:20 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 81B7516A41A; Mon, 3 Sep 2007 23:24:20 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 48A6D16A418 for ; Mon, 3 Sep 2007 23:24:20 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3E09313C494 for ; Mon, 3 Sep 2007 23:24:20 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l83NOKa4047503 for ; Mon, 3 Sep 2007 23:24:20 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l83NOKYB047500 for perforce@freebsd.org; Mon, 3 Sep 2007 23:24:20 GMT (envelope-from cnst@FreeBSD.org) Date: Mon, 3 Sep 2007 23:24:20 GMT Message-Id: <200709032324.l83NOKYB047500@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 126025 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 03 Sep 2007 23:24:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=126025 Change 126025 by cnst@dale on 2007/09/03 23:23:34 remove noops and put the Giant lock instead. The Giant lock is used by the sysctl logic with every sysctl call, so its use in these attach/detach sensor device driver functions is similar (if not better) in nature to the spl usage on OpenBSD. thanks to rwarson and astrodog for some Giant chat on irc :) (although we had a general discussion not specifically related to this code, so reasonable comments are welcome :) Affected files ... .. //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#9 edit Differences ... ==== //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#9 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $P4: //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#8 $ */ +/* $P4: //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#9 $ */ /* $FreeBSD$ */ /* $OpenBSD: kern_sensors.c,v 1.19 2007/06/04 18:42:05 deraadt Exp $ */ /* $OpenBSD: kern_sysctl.c,v 1.154 2007/06/01 17:29:10 beck Exp $ */ @@ -31,6 +31,8 @@ #include #include #include +#include +#include #include #include @@ -60,9 +62,8 @@ sensordev_install(struct ksensordev *sensdev) { struct ksensordev *v, *nv; - int s; - s = splhigh(); + mtx_lock(&Giant); if (sensordev_count == 0) { sensdev->num = 0; SLIST_INSERT_HEAD(&sensordev_list, sensdev, list); @@ -75,7 +76,7 @@ SLIST_INSERT_AFTER(v, sensdev, list); } sensordev_count++; - splx(s); + mtx_unlock(&Giant); } void @@ -83,9 +84,9 @@ { struct ksensor *v, *nv; struct ksensors_head *sh; - int s, i; + int i; - s = splhigh(); + mtx_lock(&Giant); sh = &sensdev->sensors_list; if (sensdev->sensors_count == 0) { for (i = 0; i < SENSOR_MAX_TYPES; i++) @@ -111,27 +112,24 @@ if (sensdev->maxnumt[sens->type] == sens->numt) sensdev->maxnumt[sens->type]++; sensdev->sensors_count++; - splx(s); + mtx_unlock(&Giant); } void sensordev_deinstall(struct ksensordev *sensdev) { - int s; - - s = splhigh(); + mtx_lock(&Giant); sensordev_count--; SLIST_REMOVE(&sensordev_list, sensdev, ksensordev, list); - splx(s); + mtx_unlock(&Giant); } void sensor_detach(struct ksensordev *sensdev, struct ksensor *sens) { struct ksensors_head *sh; - int s; - s = splhigh(); + mtx_lock(&Giant); sh = &sensdev->sensors_list; sensdev->sensors_count--; SLIST_REMOVE(sh, sens, ksensor, list); @@ -140,7 +138,7 @@ */ if (sens->numt == sensdev->maxnumt[sens->type] - 1) sensdev->maxnumt[sens->type]--; - splx(s); + mtx_unlock(&Giant); } struct ksensordev * From owner-p4-projects@FreeBSD.ORG Tue Sep 4 07:25:46 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D66A116A41B; Tue, 4 Sep 2007 07:25:45 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 78B8416A468 for ; Tue, 4 Sep 2007 07:25:45 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 636A913C46C for ; Tue, 4 Sep 2007 07:25:45 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l847PjmL001738 for ; Tue, 4 Sep 2007 07:25:45 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l847PjB7001735 for perforce@freebsd.org; Tue, 4 Sep 2007 07:25:45 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Tue, 4 Sep 2007 07:25:45 GMT Message-Id: <200709040725.l847PjB7001735@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 126031 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Sep 2007 07:25:46 -0000 http://perforce.freebsd.org/chv.cgi?CH=126031 Change 126031 by zhouzhouyi@zhouzhouyi_mactest on 2007/09/04 07:25:22 Add mmap test cases Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/Makefile#10 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/mmaptest.c#1 add .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/semtest.c#3 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/misc.sh#20 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/mmap/00.t#1 add Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/Makefile#10 (text+ko) ==== @@ -7,7 +7,7 @@ #CFLAGS+=-DHAS_STAT64 all: macproc mactest mdconfigopenrdonly fifo_io pipe_io macping shmtest \ - semtest msgtest + semtest msgtest mmaptest macproc: macproc.c gcc -Wall ${CFLAGS} macproc.c -o macproc -lutil @@ -29,9 +29,10 @@ gcc ${CFLAGS} -o semtest semtest.c macconf.c mactestparser.tab.c msgtest: msgtest.c macconf.c mactestparser.tab.c gcc ${CFLAGS} -o msgtest msgtest.c macconf.c mactestparser.tab.c +mmaptest: mmaptest.c macconf.c mactestparser.tab.c + gcc ${CFLAGS} -o mmaptest mmaptest.c macconf.c mactestparser.tab.c - clean: rm -f macproc rm -f mactest @@ -41,4 +42,5 @@ rm -f macping rm -f shmtest rm -f semtest - rm -f msgtest+ rm -f msgtest + rm -f mmaptest ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/semtest.c#3 (text+ko) ==== @@ -413,6 +413,7 @@ if (semctl(sender_semid, 0, IPC_RMID) == -1) warn("semctl IPC_RMID"); close(logfd); + machookmatch(macconf_file, getpid()); } } ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/misc.sh#20 (text+ko) ==== @@ -24,6 +24,7 @@ shmtest="${maindir}/shmtest" semtest="${maindir}/semtest" msgtest="${maindir}/msgtest" +mmaptest="${maindir}/mmaptest" . ${maindir}/tests/conf From owner-p4-projects@FreeBSD.ORG Tue Sep 4 07:42:07 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4F3B816A421; Tue, 4 Sep 2007 07:42:07 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 20AC816A469 for ; Tue, 4 Sep 2007 07:42:07 +0000 (UTC) (envelope-from delphij@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 08DC413C457 for ; Tue, 4 Sep 2007 07:42:07 +0000 (UTC) (envelope-from delphij@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l847g6Bk002669 for ; Tue, 4 Sep 2007 07:42:06 GMT (envelope-from delphij@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l847g5sd002666 for perforce@freebsd.org; Tue, 4 Sep 2007 07:42:05 GMT (envelope-from delphij@freebsd.org) Date: Tue, 4 Sep 2007 07:42:05 GMT Message-Id: <200709040742.l847g5sd002666@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to delphij@freebsd.org using -f From: Xin LI To: Perforce Change Reviews Cc: Subject: PERFORCE change 126032 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Sep 2007 07:42:07 -0000 http://perforce.freebsd.org/chv.cgi?CH=126032 Change 126032 by delphij@delphij_odin on 2007/09/04 07:41:19 IFC Affected files ... .. //depot/projects/delphij_fork/ObsoleteFiles.inc#9 integrate .. //depot/projects/delphij_fork/etc/rc.d/lockd#3 integrate .. //depot/projects/delphij_fork/lib/libutil/Makefile#2 integrate .. //depot/projects/delphij_fork/lib/libutil/expand_number.3#1 branch .. //depot/projects/delphij_fork/lib/libutil/expand_number.c#1 branch .. //depot/projects/delphij_fork/lib/libutil/libutil.h#2 integrate .. //depot/projects/delphij_fork/release/doc/en_US.ISO8859-1/hardware/article.sgml#4 integrate .. //depot/projects/delphij_fork/release/doc/share/misc/dev.archlist.txt#3 integrate .. //depot/projects/delphij_fork/sbin/geom/class/eli/geli.8#2 integrate .. //depot/projects/delphij_fork/share/man/man4/Makefile#5 integrate .. //depot/projects/delphij_fork/share/man/man4/zyd.4#1 branch .. //depot/projects/delphij_fork/share/man/man9/suser.9#2 integrate .. //depot/projects/delphij_fork/sys/contrib/opensolaris/uts/common/fs/zfs/arc.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/acpica/acpi_cpu.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/iwi/if_iwi.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/ixgbe/ixgbe.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/ixgbe/ixgbe.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/ixgbe/ixgbe_82598.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/ixgbe/ixgbe_api.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/ixgbe/ixgbe_api.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/ixgbe/ixgbe_common.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/ixgbe/ixgbe_common.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/ixgbe/ixgbe_osdep.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/ixgbe/ixgbe_phy.c#2 integrate .. //depot/projects/delphij_fork/sys/dev/ixgbe/ixgbe_phy.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/ixgbe/ixgbe_type.h#2 integrate .. //depot/projects/delphij_fork/sys/dev/usb/if_zyd.c#1 branch .. //depot/projects/delphij_fork/sys/dev/usb/if_zydfw.h#1 branch .. //depot/projects/delphij_fork/sys/dev/usb/if_zydreg.h#1 branch .. //depot/projects/delphij_fork/sys/dev/usb/usbdevs#6 integrate .. //depot/projects/delphij_fork/sys/fs/msdosfs/direntry.h#2 integrate .. //depot/projects/delphij_fork/sys/fs/msdosfs/msdosfs_conv.c#3 integrate .. //depot/projects/delphij_fork/sys/fs/msdosfs/msdosfs_lookup.c#3 integrate .. //depot/projects/delphij_fork/sys/fs/msdosfs/msdosfs_vnops.c#5 integrate .. //depot/projects/delphij_fork/sys/geom/eli/g_eli.h#2 integrate .. //depot/projects/delphij_fork/sys/geom/eli/g_eli_crypto.c#2 integrate .. //depot/projects/delphij_fork/sys/i386/isa/isa.c#2 integrate .. //depot/projects/delphij_fork/sys/kern/kern_acct.c#2 integrate .. //depot/projects/delphij_fork/sys/kern/kern_ktrace.c#2 integrate .. //depot/projects/delphij_fork/sys/kern/kern_sysctl.c#2 integrate .. //depot/projects/delphij_fork/sys/kern/kern_timeout.c#2 integrate .. //depot/projects/delphij_fork/sys/modules/ixgbe/Makefile#1 branch .. //depot/projects/delphij_fork/sys/modules/zyd/Makefile#1 branch .. //depot/projects/delphij_fork/sys/net/if_lagg.c#4 integrate .. //depot/projects/delphij_fork/sys/netinet/ip_fw2.c#5 integrate .. //depot/projects/delphij_fork/tools/regression/geom_eli/init-a.t#2 integrate .. //depot/projects/delphij_fork/tools/regression/geom_eli/init.t#2 integrate .. //depot/projects/delphij_fork/tools/regression/geom_eli/integrity-copy.t#2 integrate .. //depot/projects/delphij_fork/tools/regression/geom_eli/integrity-data.t#2 integrate .. //depot/projects/delphij_fork/tools/regression/geom_eli/integrity-hmac.t#2 integrate .. //depot/projects/delphij_fork/tools/regression/geom_eli/onetime-a.t#2 integrate .. //depot/projects/delphij_fork/tools/regression/geom_eli/onetime.t#2 integrate .. //depot/projects/delphij_fork/usr.bin/top/top.local.1#2 integrate Differences ... ==== //depot/projects/delphij_fork/ObsoleteFiles.inc#9 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.109 2007/08/07 23:48:30 marcel Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.110 2007/08/31 19:41:27 yar Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -797,6 +797,10 @@ OLD_FILES+=usr/share/man/man1/omshell.1.gz OLD_FILES+=usr/share/man/man5/dhcp-eval.5.gz # 200504XX: ipf tools moved from /usr to / +OLD_FILES+=rescue/ipfs +OLD_FILES+=rescue/ipfstat +OLD_FILES+=rescue/ipmon +OLD_FILES+=rescue/ipnat OLD_FILES+=usr/sbin/ipftest OLD_FILES+=usr/sbin/ipresend OLD_FILES+=usr/sbin/ipsend @@ -828,6 +832,7 @@ OLD_FILES+=usr/libexec/getNAME # 200411XX: gvinum replaces vinum OLD_FILES+=bin/vinum +OLD_FILES+=rescue/vinum OLD_FILES+=sbin/vinum OLD_FILES+=usr/share/man/man8/vinum.8.gz # 200411XX: libxpg4 removal ==== //depot/projects/delphij_fork/etc/rc.d/lockd#3 (text+ko) ==== @@ -2,11 +2,11 @@ # # $NetBSD: nfslocking,v 1.6 2002/03/24 15:52:41 lukem Exp $ # FreeBSD History: src/etc/rc.d/nfslocking,v 1.11 2004/10/07 13:55:26 mtm -# $FreeBSD: src/etc/rc.d/lockd,v 1.17 2007/08/18 04:08:53 mtm Exp $ +# $FreeBSD: src/etc/rc.d/lockd,v 1.18 2007/09/03 02:02:31 mtm Exp $ # # PROVIDE: lockd -# REQUIRE: nfsserver nfsclient nfsd rpcbind +# REQUIRE: nfsserver nfsclient nfsd rpcbind statd # BEFORE: DAEMON # KEYWORD: nojail ==== //depot/projects/delphij_fork/lib/libutil/Makefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/4/93 -# $FreeBSD: src/lib/libutil/Makefile,v 1.65 2007/05/21 02:49:07 deischen Exp $ +# $FreeBSD: src/lib/libutil/Makefile,v 1.66 2007/09/01 06:19:11 pjd Exp $ SHLIBDIR?= /lib @@ -8,8 +8,8 @@ LIB= util SHLIB_MAJOR= 7 -SRCS= _secure_path.c auth.c flopen.c fparseln.c humanize_number.c \ - kld.c login.c login_auth.c login_cap.c login_class.c \ +SRCS= _secure_path.c auth.c expand_number.c flopen.c fparseln.c \ + humanize_number.c kld.c login.c login_auth.c login_cap.c login_class.c \ login_crypt.c login_ok.c login_times.c login_tty.c logout.c \ logwtmp.c pidfile.c property.c pty.c pw_util.c realhostname.c \ stub.c trimdomain.c uucplock.c @@ -27,7 +27,7 @@ login_cap.3 login_class.3 login_times.3 login_ok.3 \ _secure_path.3 uucplock.3 property.3 auth.3 realhostname.3 \ realhostname_sa.3 trimdomain.3 fparseln.3 humanize_number.3 \ - pidfile.3 flopen.3 + pidfile.3 flopen.3 expand_number.3 MAN+= login.conf.5 auth.conf.5 MLINKS+= kld.3 kld_isloaded.3 kld.3 kld_load.3 MLINKS+= property.3 properties_read.3 property.3 properties_free.3 ==== //depot/projects/delphij_fork/lib/libutil/libutil.h#2 (text+ko) ==== @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libutil/libutil.h,v 1.44 2007/05/10 15:01:42 des Exp $ + * $FreeBSD: src/lib/libutil/libutil.h,v 1.45 2007/09/01 06:19:11 pjd Exp $ */ #ifndef _LIBUTIL_H_ @@ -82,6 +82,7 @@ struct termios *_termp, struct winsize *_winp); int humanize_number(char *_buf, size_t _len, int64_t _number, const char *_suffix, int _scale, int _flags); +int expand_number(char *_buf, int64_t *_num); const char *uu_lockerr(int _uu_lockresult); int uu_lock(const char *_ttyname); int uu_unlock(const char *_ttyname); ==== //depot/projects/delphij_fork/release/doc/en_US.ISO8859-1/hardware/article.sgml#4 (text+ko) ==== @@ -18,7 +18,7 @@ The &os; Documentation Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/article.sgml,v 1.318 2007/08/18 16:40:37 bmah Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/article.sgml,v 1.320 2007/09/02 09:15:08 brueffer Exp $ 2000 @@ -742,8 +742,17 @@ Wireless Network Interfaces - [&arch.i386;] NCR / AT&T / Lucent Technologies WaveLan T1-speed - ISA/radio LAN cards (&man.wl.4; driver) + [&arch.amd64;, &arch.i386;, &arch.pc98;] Cisco/Aironet 802.11b wireless adapters (&man.an.4; driver) + + + &hwlist.ath; + + &hwlist.awi; + + &hwlist.cnw; + + [&arch.i386;, &arch.pc98;] Raytheon Raylink 2.4GHz wireless adapters (&man.ray.4; driver) + [&arch.amd64;, &arch.i386;, &arch.pc98;] Lucent Technologies WaveLAN/IEEE 802.11b wireless network @@ -752,17 +761,11 @@ Spectrum24 chipsets (&man.wi.4; driver) - [&arch.amd64;, &arch.i386;, &arch.pc98;] Cisco/Aironet 802.11b wireless adapters (&man.an.4; driver) - + [&arch.i386;] NCR / AT&T / Lucent Technologies WaveLan T1-speed + ISA/radio LAN cards (&man.wl.4; driver) - [&arch.i386;, &arch.pc98;] Raytheon Raylink 2.4GHz wireless adapters (&man.ray.4; driver) - - - &hwlist.awi; + &hwlist.zyd; - &hwlist.cnw; - - &hwlist.ath; ==== //depot/projects/delphij_fork/release/doc/share/misc/dev.archlist.txt#3 (text+ko) ==== @@ -23,7 +23,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/release/doc/share/misc/dev.archlist.txt,v 1.96 2007/08/15 04:46:04 bmah Exp $ +# $FreeBSD: src/release/doc/share/misc/dev.archlist.txt,v 1.97 2007/09/02 09:11:10 brueffer Exp $ # # @@ -172,3 +172,4 @@ vx i386,pc98,ia64,amd64 wb i386,pc98,amd64 xe i386,amd64 +zyd i386,amd64 ==== //depot/projects/delphij_fork/sbin/geom/class/eli/geli.8#2 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/sbin/geom/class/eli/geli.8,v 1.21 2007/03/05 12:39:49 pjd Exp $ +.\" $FreeBSD: src/sbin/geom/class/eli/geli.8,v 1.22 2007/09/01 06:33:01 pjd Exp $ .\" .Dd September 16, 2006 .Dt GELI 8 @@ -146,7 +146,8 @@ .It Supports many cryptographic algorithms (currently .Nm AES , -.Nm Blowfish +.Nm Blowfish , +.Nm Camellia and .Nm 3DES ) . .It @@ -227,7 +228,8 @@ Encryption algorithm to use. Currently supported algorithms are: .Nm AES , -.Nm Blowfish +.Nm Blowfish , +.Nm Camellia and .Nm 3DES . The default is @@ -260,7 +262,9 @@ 128 for .Nm AES , 128 for -.Nm Blowfish +.Nm Blowfish , +128 for +.Nm Camellia and 192 for .Nm 3DES . .It Fl s Ar sectorsize @@ -652,5 +656,9 @@ .Nm utility appeared in .Fx 6.0 . +Support for +.Nm Camellia +block cipher is implemented by Yoshisato Yanagisawa in +.Fx 7.0 . .Sh AUTHORS .An Pawel Jakub Dawidek Aq pjd@FreeBSD.org ==== //depot/projects/delphij_fork/share/man/man4/Makefile#5 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/18/93 -# $FreeBSD: src/share/man/man4/Makefile,v 1.392 2007/08/23 20:05:09 des Exp $ +# $FreeBSD: src/share/man/man4/Makefile,v 1.393 2007/09/02 07:09:25 imp Exp $ MAN= aac.4 \ acpi.4 \ @@ -415,7 +415,8 @@ xe.4 \ xl.4 \ xpt.4 \ - zero.4 + zero.4 \ + zyd.4 MLINKS= agp.4 agpgart.4 MLINKS+=altq.4 ALTQ.4 ==== //depot/projects/delphij_fork/share/man/man9/suser.9#2 (text+ko) ==== @@ -27,9 +27,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/suser.9,v 1.33 2007/06/26 23:12:05 rwatson Exp $ +.\" $FreeBSD: src/share/man/man9/suser.9,v 1.34 2007/08/30 15:03:21 danger Exp $ .\" -.Dd November 6, 2006 +.Dd August 30, 2007 .Dt SUSER 9 .Os .Sh NAME @@ -37,8 +37,7 @@ .Nm suser_cred .Nd check if credentials have superuser privileges .Sh SYNOPSIS -.In sys/param.h -.In sys/systm.h +.In sys/priv.h .Ft int .Fn suser "struct thread *td" .Ft int ==== //depot/projects/delphij_fork/sys/contrib/opensolaris/uts/common/fs/zfs/arc.c#2 (text+ko) ==== @@ -155,9 +155,9 @@ TUNABLE_ULONG("vfs.zfs.arc_max", &zfs_arc_max); TUNABLE_ULONG("vfs.zfs.arc_min", &zfs_arc_min); SYSCTL_DECL(_vfs_zfs); -SYSCTL_ULONG(_vfs_zfs, OID_AUTO, arc_max, CTLFLAG_RD, &zfs_arc_max, 0, +SYSCTL_ULONG(_vfs_zfs, OID_AUTO, arc_max, CTLFLAG_RDTUN, &zfs_arc_max, 0, "Maximum ARC size"); -SYSCTL_ULONG(_vfs_zfs, OID_AUTO, arc_min, CTLFLAG_RD, &zfs_arc_min, 0, +SYSCTL_ULONG(_vfs_zfs, OID_AUTO, arc_min, CTLFLAG_RDTUN, &zfs_arc_min, 0, "Minimum ARC size"); /* ==== //depot/projects/delphij_fork/sys/dev/acpica/acpi_cpu.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_cpu.c,v 1.66 2007/06/03 00:40:56 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_cpu.c,v 1.67 2007/08/30 21:18:42 njl Exp $"); #include "opt_acpi.h" #include @@ -257,7 +257,7 @@ acpi_cpu_attach(device_t dev) { ACPI_BUFFER buf; - ACPI_OBJECT arg, *obj; + ACPI_OBJECT arg[4], *obj; ACPI_OBJECT_LIST arglist; struct pcpu *pcpu_data; struct acpi_cpu_softc *sc; @@ -268,6 +268,11 @@ driver_t **drivers; uint32_t cap_set[3]; + /* UUID needed by _OSC evaluation */ + static uint8_t cpu_oscuuid[16] = { 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, + 0xBE, 0x47, 0x9E, 0xBD, 0xD8, 0x70, + 0x58, 0x71, 0x39, 0x53 }; + ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); sc = device_get_softc(dev); @@ -334,19 +339,39 @@ /* * CPU capabilities are specified as a buffer of 32-bit integers: * revision, count, and one or more capabilities. The revision of - * "1" is not specified anywhere but seems to match Linux. We should - * also support _OSC here. + * "1" is not specified anywhere but seems to match Linux. */ if (sc->cpu_features) { - arglist.Pointer = &arg; + arglist.Pointer = arg; arglist.Count = 1; - arg.Type = ACPI_TYPE_BUFFER; - arg.Buffer.Length = sizeof(cap_set); - arg.Buffer.Pointer = (uint8_t *)cap_set; + arg[0].Type = ACPI_TYPE_BUFFER; + arg[0].Buffer.Length = sizeof(cap_set); + arg[0].Buffer.Pointer = (uint8_t *)cap_set; cap_set[0] = 1; /* revision */ cap_set[1] = 1; /* number of capabilities integers */ cap_set[2] = sc->cpu_features; AcpiEvaluateObject(sc->cpu_handle, "_PDC", &arglist, NULL); + + /* + * On some systems we need to evaluate _OSC so that the ASL + * loads the _PSS and/or _PDC methods at runtime. + * + * TODO: evaluate failure of _OSC. + */ + arglist.Pointer = arg; + arglist.Count = 4; + arg[0].Type = ACPI_TYPE_BUFFER; + arg[0].Buffer.Length = sizeof(cpu_oscuuid); + arg[0].Buffer.Pointer = cpu_oscuuid; /* UUID */ + arg[1].Type = ACPI_TYPE_INTEGER; + arg[1].Integer.Value = 1; /* revision */ + arg[2].Type = ACPI_TYPE_INTEGER; + arg[2].Integer.Value = 1; /* count */ + arg[3].Type = ACPI_TYPE_BUFFER; + arg[3].Buffer.Length = sizeof(cap_set); /* Capabilities buffer */ + arg[3].Buffer.Pointer = (uint8_t *)cap_set; + cap_set[0] = 0; + AcpiEvaluateObject(sc->cpu_handle, "_OSC", &arglist, NULL); } /* Probe for Cx state support. */ ==== //depot/projects/delphij_fork/sys/dev/iwi/if_iwi.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/iwi/if_iwi.c,v 1.55 2007/06/25 20:56:33 thompsa Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/iwi/if_iwi.c,v 1.56 2007/08/29 21:52:03 thompsa Exp $"); /*- * Intel(R) PRO/Wireless 2200BG/2225BG/2915ABG driver @@ -957,7 +957,6 @@ struct iwi_softc *sc = ifp->if_softc; int error = 0; - IWI_LOCK_ASSERT(sc); DPRINTF(("%s: %s -> %s flags 0x%x\n", __func__, ieee80211_state_name[ic->ic_state], ieee80211_state_name[nstate], sc->flags)); ==== //depot/projects/delphij_fork/sys/dev/ixgbe/ixgbe.c#2 (text+ko) ==== @@ -30,7 +30,7 @@ POSSIBILITY OF SUCH DAMAGE. ***************************************************************************/ -/* $FreeBSD: src/sys/dev/ixgbe/ixgbe.c,v 1.3 2007/07/12 19:04:11 jfv Exp $ */ +/* $FreeBSD: src/sys/dev/ixgbe/ixgbe.c,v 1.4 2007/09/04 02:31:34 jfv Exp $ */ #ifdef HAVE_KERNEL_OPTION_HEADERS #include "opt_device_polling.h" @@ -46,7 +46,7 @@ /********************************************************************* * Driver version *********************************************************************/ -char ixgbe_driver_version[] = "1.1.3"; +char ixgbe_driver_version[] = "1.2.6"; /********************************************************************* * PCI Device ID Table @@ -60,10 +60,9 @@ static ixgbe_vendor_info_t ixgbe_vendor_info_array[] = { - {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598, 0, 0, 0}, {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598AF_DUAL_PORT, 0, 0, 0}, {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598AF_SINGLE_PORT, 0, 0, 0}, - {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598AT_DUAL_PORT, 0, 0, 0}, + {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598EB_CX4, 0, 0, 0}, /* required last entry */ {0, 0, 0, 0, 0} }; @@ -100,8 +99,9 @@ static void ixgbe_setup_interface(device_t, struct adapter *); static int ixgbe_allocate_queues(struct adapter *); static int ixgbe_allocate_msix_resources(struct adapter *); +#if __FreeBSD_version >= 700000 static int ixgbe_setup_msix(struct adapter *); - +#endif static int ixgbe_allocate_transmit_buffers(struct tx_ring *); static int ixgbe_setup_transmit_structures(struct adapter *); static void ixgbe_setup_transmit_ring(struct tx_ring *); @@ -119,7 +119,7 @@ static void ixgbe_enable_intr(struct adapter *); static void ixgbe_disable_intr(struct adapter *); static void ixgbe_update_stats_counters(struct adapter *); -static boolean_t ixgbe_txeof(struct tx_ring *); +static bool ixgbe_txeof(struct tx_ring *); static int ixgbe_rxeof(struct rx_ring *, int); static void ixgbe_rx_checksum(struct adapter *, uint32_t, struct mbuf *); static void ixgbe_set_promisc(struct adapter *); @@ -133,6 +133,7 @@ static int ixgbe_encap(struct adapter *, struct mbuf **); static int ixgbe_sysctl_stats(SYSCTL_HANDLER_ARGS); static int ixgbe_sysctl_debug(SYSCTL_HANDLER_ARGS); +static int ixgbe_set_flowcntl(SYSCTL_HANDLER_ARGS); static int ixgbe_dma_malloc(struct adapter *, bus_size_t, struct ixgbe_dma_alloc *, int); static void ixgbe_dma_free(struct adapter *, struct ixgbe_dma_alloc *); @@ -143,14 +144,23 @@ static void ixgbe_set_ivar(struct adapter *, u16, u8); static void ixgbe_configure_ivars(struct adapter *); -/* Legacy Interrupt handler */ -static void ixgbe_intr(void *); +/* Legacy Fast Interrupt routine and handlers */ +#if __FreeBSD_version >= 700000 +static int ixgbe_fast_irq(void *); +/* The MSI/X Interrupt handlers */ +static void ixgbe_msix_tx(void *); +static void ixgbe_msix_rx(void *); +static void ixgbe_msix_link(void *); +#else +static void ixgbe_fast_irq(void *); +#endif -/* The MSI/X Interrupt handlers */ -static void ixgbe_txint(void *); -static void ixgbe_rxint(void *); -static void ixgbe_linkint(void *); +static void ixgbe_rxtx(void *context, int pending); +static void ixgbe_link(void *context, int pending); +#ifndef NO_82598_A0_SUPPORT +static void desc_flip(void *); +#endif /********************************************************************* * FreeBSD Device Interface Entry Points @@ -175,26 +185,40 @@ MODULE_DEPEND(ixgbe, pci, 1, 1, 1); MODULE_DEPEND(ixgbe, ether, 1, 1, 1); +/* +** TUNEABLE PARAMETERS: +*/ + /* How many packets rxeof tries to clean at a time */ static int ixgbe_rx_process_limit = 100; TUNABLE_INT("hw.ixgbe.rx_process_limit", &ixgbe_rx_process_limit); -/* - * Should the driver do MSI/X and RSS/MQ? - * - default to MSI/X and RSS enabled - */ -static int ixgbe_disable_msix = 0; -TUNABLE_INT("hw.ixgbe.disable_msix", &ixgbe_disable_msix); +/* Flow control setting, default to full */ +static int ixgbe_flow_control = 3; +TUNABLE_INT("hw.ixgbe.flow_control", &ixgbe_flow_control); + +/* Number of TX Queues, note multi tx is not working */ +static int ixgbe_tx_queues = 1; +TUNABLE_INT("hw.ixgbe.tx_queues", &ixgbe_tx_queues); + +/* Number of RX Queues */ +static int ixgbe_rx_queues = 8; +TUNABLE_INT("hw.ixgbe.rx_queues", &ixgbe_rx_queues); + +/* Number of Other Queues, this is used for link interrupts */ +static int ixgbe_other_queues = 1; +TUNABLE_INT("hw.ixgbe.other_queues", &ixgbe_other_queues); + +/* Number of TX descriptors per ring */ +static int ixgbe_txd = DEFAULT_TXD; +TUNABLE_INT("hw.ixgbe.txd", &ixgbe_txd); + +/* Number of RX descriptors per ring */ +static int ixgbe_rxd = DEFAULT_RXD; +TUNABLE_INT("hw.ixgbe.rxd", &ixgbe_rxd); -/* -** Flow control tuneable: -** 0 - off -** 1 - rx pause -** 2 - tx pause -** 3 - full -*/ -static int ixgbe_flow_control = 0; -TUNABLE_INT("hw.ixgbe.flow_control", &ixgbe_flow_control); +/* Total number of Interfaces - need for config sanity check */ +static int ixgbe_total_ports; /********************************************************************* * Device identification routine @@ -239,6 +263,15 @@ sprintf(adapter_name, "%s, Version - %s", ixgbe_strings[ent->index], ixgbe_driver_version); + switch (pci_device_id) { + case IXGBE_DEV_ID_82598AF_DUAL_PORT : + ixgbe_total_ports += 2; + break; + case IXGBE_DEV_ID_82598AF_SINGLE_PORT : + ixgbe_total_ports += 1; + default: + break; + } device_set_desc_copy(dev, adapter_name); return (0); } @@ -264,13 +297,17 @@ struct adapter *adapter; int error = 0; uint32_t ctrl_ext; + char name_string[16]; INIT_DEBUGOUT("ixgbe_attach: begin"); /* Allocate, clear, and link in our adapter structure */ adapter = device_get_softc(dev); adapter->dev = adapter->osdep.dev = dev; - IXGBE_LOCK_INIT(adapter, device_get_nameunit(dev)); + /* General Lock Init*/ + snprintf(name_string, sizeof(name_string), "%s:core", + device_get_nameunit(dev)); + mtx_init(&adapter->core_mtx, name_string, NULL, MTX_DEF); /* SYSCTL APIs */ SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), @@ -283,25 +320,17 @@ OID_AUTO, "debug", CTLTYPE_INT | CTLFLAG_RW, adapter, 0, ixgbe_sysctl_debug, "I", "Debug Info"); - SYSCTL_ADD_INT(device_get_sysctl_ctx(dev), + SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), - OID_AUTO, "flow control", CTLFLAG_RW, - &ixgbe_flow_control, 0, "Flow Control"); + OID_AUTO, "flow_control", CTLTYPE_INT | CTLFLAG_RW, + adapter, 0, ixgbe_set_flowcntl, "I", "Flow Control"); /* Set up the timer callout */ - callout_init_mtx(&adapter->timer, &adapter->mtx, 0); + callout_init_mtx(&adapter->timer, &adapter->core_mtx, 0); /* Determine hardware revision */ ixgbe_identify_hardware(adapter); - /* - ** Descriptors: (configurable by user), note these are - ** constant for all rings, I saw no reason to vary - ** them, but perhaps someone later would. - */ - adapter->num_tx_desc = DEFAULT_TXD; - adapter->num_rx_desc = DEFAULT_RXD; - /* Indicate to RX setup to use Jumbo Clusters */ adapter->bigbufs = TRUE; @@ -312,17 +341,50 @@ goto err_out; } + /* Do descriptor calc and sanity checks */ + if (((ixgbe_txd * sizeof(union ixgbe_adv_tx_desc)) % DBA_ALIGN) != 0 || + ixgbe_txd < MIN_TXD || ixgbe_txd > MAX_TXD) { + device_printf(dev, "TXD config issue, using default!\n"); + adapter->num_tx_desc = DEFAULT_TXD; + } else + adapter->num_tx_desc = ixgbe_txd; + + /* + ** With many RX rings it is easy to exceed the + ** system mbuf allocation. Tuning nmbclusters + ** can alleviate this. + */ + if ((adapter->num_rx_queues > 1) && (nmbclusters > 0 )){ + int s; + /* Calculate the total RX mbuf needs */ + s = (ixgbe_rxd * adapter->num_rx_queues) * ixgbe_total_ports; + if (s > nmbclusters) { + device_printf(dev, "RX Descriptors exceed " + "system mbuf max, using default instead!\n"); + ixgbe_rxd = DEFAULT_RXD; + } + } + + if (((ixgbe_rxd * sizeof(union ixgbe_adv_rx_desc)) % DBA_ALIGN) != 0 || + ixgbe_rxd < MIN_TXD || ixgbe_rxd > MAX_TXD) { + device_printf(dev, "RXD config issue, using default!\n"); + adapter->num_rx_desc = DEFAULT_RXD; + } else + adapter->num_rx_desc = ixgbe_rxd; + /* Allocate our TX/RX Queues */ if (ixgbe_allocate_queues(adapter)) { error = ENOMEM; goto err_out; } +#if __FreeBSD_version >= 700000 if (adapter->msix) { error = ixgbe_setup_msix(adapter); if (error) goto err_out; } +#endif /* Initialize the shared code */ if (ixgbe_init_shared_code(&adapter->hw)) { @@ -382,14 +444,25 @@ INIT_DEBUGOUT("ixgbe_detach: begin"); /* Make sure VLANS are not using driver */ +#if __FreeBSD_version >= 700000 if (adapter->ifp->if_vlantrunk != NULL) { +#else + if (adapter->ifp->if_nvlans != 0) { +#endif device_printf(dev,"Vlan in use, detach first\n"); return (EBUSY); } - IXGBE_LOCK(adapter); + mtx_lock(&adapter->core_mtx); ixgbe_stop(adapter); - IXGBE_UNLOCK(adapter); + mtx_unlock(&adapter->core_mtx); + + if (adapter->tq != NULL) { + taskqueue_drain(adapter->tq, &adapter->rxtx_task); + taskqueue_drain(taskqueue_fast, &adapter->link_task); + taskqueue_free(adapter->tq); + adapter->tq = NULL; + } /* let hardware know driver is unloading */ ctrl_ext = IXGBE_READ_REG(&adapter->hw, IXGBE_CTRL_EXT); @@ -405,7 +478,7 @@ ixgbe_free_transmit_structures(adapter); ixgbe_free_receive_structures(adapter); - IXGBE_LOCK_DESTROY(adapter); + mtx_destroy(&adapter->core_mtx); return (0); } @@ -419,9 +492,9 @@ ixgbe_shutdown(device_t dev) { struct adapter *adapter = device_get_softc(dev); - IXGBE_LOCK(adapter); + mtx_lock(&adapter->core_mtx); ixgbe_stop(adapter); - IXGBE_UNLOCK(adapter); + mtx_unlock(&adapter->core_mtx); return (0); } @@ -442,7 +515,7 @@ struct mbuf *m_head; struct adapter *adapter = ifp->if_softc; - IXGBE_LOCK_ASSERT(adapter); + mtx_assert(&adapter->tx_mtx, MA_OWNED); if ((ifp->if_drv_flags & (IFF_DRV_RUNNING|IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING) @@ -464,7 +537,7 @@ break; } /* Send a copy of the frame to the BPF listener */ - BPF_MTAP(ifp, m_head); + ETHER_BPF_MTAP(ifp, m_head); /* Set timeout in case hardware has problems transmitting */ adapter->watchdog_timer = IXGBE_TX_TIMEOUT; @@ -478,10 +551,10 @@ { struct adapter *adapter = ifp->if_softc; - IXGBE_LOCK(adapter); + mtx_lock(&adapter->tx_mtx); if (ifp->if_drv_flags & IFF_DRV_RUNNING) ixgbe_start_locked(ifp); - IXGBE_UNLOCK(adapter); + mtx_unlock(&adapter->tx_mtx); return; } @@ -508,9 +581,9 @@ if (ifa->ifa_addr->sa_family == AF_INET) { ifp->if_flags |= IFF_UP; if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) { - IXGBE_LOCK(adapter); + mtx_lock(&adapter->core_mtx); ixgbe_init_locked(adapter); - IXGBE_UNLOCK(adapter); + mtx_unlock(&adapter->core_mtx); } arp_ifinit(ifp, ifa); } else @@ -521,17 +594,17 @@ if (ifr->ifr_mtu > IXGBE_MAX_FRAME_SIZE - ETHER_HDR_LEN) { error = EINVAL; } else { - IXGBE_LOCK(adapter); + mtx_lock(&adapter->core_mtx); ifp->if_mtu = ifr->ifr_mtu; adapter->max_frame_size = ifp->if_mtu + ETHER_HDR_LEN + ETHER_CRC_LEN; ixgbe_init_locked(adapter); - IXGBE_UNLOCK(adapter); + mtx_unlock(&adapter->core_mtx); } break; case SIOCSIFFLAGS: IOCTL_DEBUGOUT("ioctl: SIOCSIFFLAGS (Set Interface Flags)"); - IXGBE_LOCK(adapter); + mtx_lock(&adapter->core_mtx); if (ifp->if_flags & IFF_UP) { if ((ifp->if_drv_flags & IFF_DRV_RUNNING)) { if ((ifp->if_flags ^ adapter->if_flags) & @@ -545,17 +618,17 @@ if (ifp->if_drv_flags & IFF_DRV_RUNNING) ixgbe_stop(adapter); adapter->if_flags = ifp->if_flags; - IXGBE_UNLOCK(adapter); + mtx_unlock(&adapter->core_mtx); break; case SIOCADDMULTI: case SIOCDELMULTI: IOCTL_DEBUGOUT("ioctl: SIOC(ADD|DEL)MULTI"); if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - IXGBE_LOCK(adapter); + mtx_lock(&adapter->core_mtx); ixgbe_disable_intr(adapter); ixgbe_set_multi(adapter); ixgbe_enable_intr(adapter); - IXGBE_UNLOCK(adapter); + mtx_unlock(&adapter->core_mtx); } break; case SIOCSIFMEDIA: @@ -575,7 +648,9 @@ ifp->if_capenable ^= IFCAP_VLAN_HWTAGGING; if (ifp->if_drv_flags & IFF_DRV_RUNNING) ixgbe_init(adapter); +#if __FreeBSD_version >= 700000 VLAN_CAPABILITIES(ifp); +#endif break; } default: @@ -598,7 +673,7 @@ ixgbe_watchdog(struct adapter *adapter) { - IXGBE_LOCK_ASSERT(adapter); + mtx_assert(&adapter->core_mtx, MA_OWNED); /* * The timer is set to 5 every time ixgbe_start() queues a packet. @@ -651,13 +726,15 @@ INIT_DEBUGOUT("ixgbe_init: begin"); - IXGBE_LOCK_ASSERT(adapter); + mtx_assert(&adapter->core_mtx, MA_OWNED); ixgbe_stop(adapter); /* Get the latest mac address, User can use a LAA */ bcopy(IF_LLADDR(adapter->ifp), adapter->hw.mac.addr, IXGBE_ETH_LENGTH_OF_ADDRESS); + ixgbe_set_rar(&adapter->hw, 0, adapter->hw.mac.addr, 0, 1); + adapter->hw.addr_ctrl.rar_used_count = 1; /* Initialize the hardware */ if (ixgbe_hardware_init(adapter)) { @@ -756,60 +833,91 @@ { struct adapter *adapter = arg; - IXGBE_LOCK(adapter); + mtx_lock(&adapter->core_mtx); ixgbe_init_locked(adapter); - IXGBE_UNLOCK(adapter); + mtx_unlock(&adapter->core_mtx); return; } +static void +ixgbe_link(void *context, int pending) +{ + struct adapter *adapter = context; + struct ifnet *ifp = adapter->ifp; + + mtx_lock(&adapter->core_mtx); + if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) { + mtx_unlock(&adapter->core_mtx); + return; + } + + callout_stop(&adapter->timer); + ixgbe_update_link_status(adapter); + callout_reset(&adapter->timer, hz, ixgbe_local_timer, adapter); + mtx_unlock(&adapter->core_mtx); +} + +/* +** MSI and Legacy Deferred Handler +** - note this runs without the general lock +*/ +static void +ixgbe_rxtx(void *context, int pending) +{ + struct adapter *adapter = context; + struct ifnet *ifp = adapter->ifp; + /* For legacy there is only one of each */ + struct rx_ring *rxr = adapter->rx_rings; + struct tx_ring *txr = adapter->tx_rings; + + if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (ixgbe_rxeof(rxr, adapter->rx_process_limit) != 0) + taskqueue_enqueue(adapter->tq, &adapter->rxtx_task); + mtx_lock(&adapter->tx_mtx); + ixgbe_txeof(txr); + + if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + ixgbe_start_locked(ifp); + mtx_unlock(&adapter->tx_mtx); + } + + ixgbe_enable_intr(adapter); +} + + /********************************************************************* * * Legacy Interrupt Service routine * **********************************************************************/ +#if __FreeBSD_version >= 700000 +static int +#else static void -ixgbe_intr(void *arg) +#endif +ixgbe_fast_irq(void *arg) { - u32 loop_cnt = MAX_INTR; u32 reg_eicr; struct adapter *adapter = arg; - struct ifnet *ifp = adapter->ifp; - struct rx_ring *rxr = adapter->rx_rings; - struct tx_ring *txr = adapter->tx_rings; - IXGBE_LOCK(adapter); + reg_eicr = IXGBE_READ_REG(&adapter->hw, IXGBE_EICR); + if (reg_eicr == 0) + return FILTER_STRAY; - reg_eicr = IXGBE_READ_REG(&adapter->hw, IXGBE_EICR); - if (reg_eicr == 0) { - IXGBE_UNLOCK(adapter); - return; - } + ixgbe_disable_intr(adapter); + taskqueue_enqueue(adapter->tq, &adapter->rxtx_task); /* Link status change */ - if (reg_eicr & IXGBE_EICR_LSC) { - callout_stop(&adapter->timer); - ixgbe_update_link_status(adapter); - callout_reset(&adapter->timer, hz, - ixgbe_local_timer, adapter); - } + if (reg_eicr & IXGBE_EICR_LSC) + taskqueue_enqueue(taskqueue_fast, &adapter->link_task); - while ((--loop_cnt > 0) && - (ifp->if_drv_flags & IFF_DRV_RUNNING)) { - ixgbe_rxeof(rxr, adapter->rx_process_limit); - ixgbe_txeof(txr); - } - - if (ifp->if_drv_flags & IFF_DRV_RUNNING && - ifp->if_snd.ifq_head != NULL) - ixgbe_start_locked(ifp); - - IXGBE_UNLOCK(adapter); - return; + return FILTER_HANDLED; } +#if __FreeBSD_version >= 700000 /********************************************************************* * * MSI TX Interrupt Service routine @@ -817,14 +925,14 @@ **********************************************************************/ void -ixgbe_txint(void *arg) >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Sep 4 07:55:26 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F0F6C16A420; Tue, 4 Sep 2007 07:55:25 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 97A8C16A419 for ; Tue, 4 Sep 2007 07:55:25 +0000 (UTC) (envelope-from delphij@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8278D13C428 for ; Tue, 4 Sep 2007 07:55:25 +0000 (UTC) (envelope-from delphij@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l847tPW5003377 for ; Tue, 4 Sep 2007 07:55:25 GMT (envelope-from delphij@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l847tPbn003371 for perforce@freebsd.org; Tue, 4 Sep 2007 07:55:25 GMT (envelope-from delphij@freebsd.org) Date: Tue, 4 Sep 2007 07:55:25 GMT Message-Id: <200709040755.l847tPbn003371@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to delphij@freebsd.org using -f From: Xin LI To: Perforce Change Reviews Cc: Subject: PERFORCE change 126033 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Sep 2007 07:55:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=126033 Change 126033 by delphij@delphij_odin on 2007/09/04 07:54:39 Use bde@'s proposed changes. Affected files ... .. //depot/projects/delphij_fork/sys/fs/msdosfs/msdosfs_vfsops.c#10 edit Differences ... ==== //depot/projects/delphij_fork/sys/fs/msdosfs/msdosfs_vfsops.c#10 (text+ko) ==== @@ -275,8 +275,8 @@ return (error); /* - * Now the volume is clean. We have to mark it so - * when the device is still r/w. + * Now the volume is clean. Mark it so while the + * device is still rw. */ error = markvoldirty(pmp, 0); if (error) { @@ -284,7 +284,7 @@ return (error); } - /* Downgrade the device from rw to ro. */ + /* Downgrade the device from rw to ro. */ DROP_GIANT(); g_topology_lock(); error = g_access(pmp->pm_cp, 0, -1, 0); @@ -299,9 +299,8 @@ * Backing out after an error was painful in the * above. Now we are committed to succeeding. */ - pmp->pm_fmod = 0; + pmp->pm_fmod = 0; pmp->pm_flags |= MSDOSFSMNT_RONLY; - MNT_ILOCK(mp); mp->mnt_flag |= MNT_RDONLY; MNT_IUNLOCK(mp); @@ -329,22 +328,22 @@ PICKUP_GIANT(); if (error) return (error); - } - /* - * XXX: pm_fmod is only used to implement a panic - * if we forget to set it here. - */ - pmp->pm_fmod = 1; - pmp->pm_flags &= ~MSDOSFSMNT_RONLY; - MNT_ILOCK(mp); - mp->mnt_flag &= ~MNT_RDONLY; - MNT_IUNLOCK(mp); + /* + * XXX: pm_fmod is only used to implement a panic + * if we forget to set it here. + */ + pmp->pm_fmod = 1; + pmp->pm_flags &= ~MSDOSFSMNT_RONLY; + MNT_ILOCK(mp); + mp->mnt_flag &= ~MNT_RDONLY; + MNT_IUNLOCK(mp); - /* Now that the volume is modifiable, mark it dirty. */ - error = markvoldirty(pmp, 1); - if (error) - return (error); + /* Now that the volume is modifiable, mark it dirty. */ + error = markvoldirty(pmp, 1); + if (error) + return (error); + } } /* * Not an update, or updating the name: look up the name @@ -735,7 +734,7 @@ pmp->pm_flags |= MSDOSFSMNT_RONLY; else { if ((error = markvoldirty(pmp, 1)) != 0) { - (void)markvoldirty(pmp, 0); + (void)markvoldirty(pmp, 0); goto error_exit; } pmp->pm_fmod = 1; @@ -787,15 +786,13 @@ if (error) return error; pmp = VFSTOMSDOSFS(mp); - if ((pmp->pm_flags & MSDOSFSMNT_RONLY) == 0) { error = markvoldirty(pmp, 0); if (error) { (void)markvoldirty(pmp, 1); return (error); } - } - + } if (pmp->pm_flags & MSDOSFSMNT_KICONV && msdosfs_iconv) { if (pmp->pm_w2u) msdosfs_iconv->close(pmp->pm_w2u); @@ -806,6 +803,7 @@ if (pmp->pm_u2d) msdosfs_iconv->close(pmp->pm_u2d); } + #ifdef MSDOSFS_DEBUG { struct vnode *vp = pmp->pm_devvp; @@ -830,9 +828,8 @@ PICKUP_GIANT(); vrele(pmp->pm_devvp); free(pmp->pm_inusemap, M_MSDOSFSFAT); - if (pmp->pm_flags & MSDOSFS_LARGEFS) { + if (pmp->pm_flags & MSDOSFS_LARGEFS) msdosfs_fileno_free(mp); - } free(pmp, M_MSDOSFSMNT); mp->mnt_data = (qaddr_t)0; MNT_ILOCK(mp); From owner-p4-projects@FreeBSD.ORG Tue Sep 4 10:21:36 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4DBD716A41A; Tue, 4 Sep 2007 10:21:36 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2150316A418; Tue, 4 Sep 2007 10:21:36 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe12.swip.net [212.247.155.97]) by mx1.freebsd.org (Postfix) with ESMTP id 89B5013C469; Tue, 4 Sep 2007 10:21:35 +0000 (UTC) (envelope-from hselasky@c2i.net) X-Cloudmark-Score: 0.000000 [] Received: from [194.248.135.20] (account mc467741@c2i.net HELO laptop.lan) by mailfe12.swip.net (CommuniGate Pro SMTP 5.1.10) with ESMTPA id 429140094; Tue, 04 Sep 2007 11:21:32 +0200 From: Hans Petter Selasky To: Xin LI Date: Tue, 4 Sep 2007 11:21:45 +0200 User-Agent: KMail/1.9.7 References: <200709040755.l847tPbn003371@repoman.freebsd.org> In-Reply-To: <200709040755.l847tPbn003371@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200709041121.45990.hselasky@c2i.net> Cc: Perforce Change Reviews Subject: Re: PERFORCE change 126033 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Sep 2007 10:21:36 -0000 Hi, In my opinion you should keep braces around single line if's . if (xxx) { yyy; } This will reduce the chance of error next time you add a statement to an if. --HPS From owner-p4-projects@FreeBSD.ORG Tue Sep 4 11:24:27 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8D43D16A41A; Tue, 4 Sep 2007 11:24:27 +0000 (UTC) Delivered-To: perforce@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 627EE16A418 for ; Tue, 4 Sep 2007 11:24:27 +0000 (UTC) (envelope-from delphij@delphij.net) Received: from tarsier.geekcn.org (tarsier.geekcn.org [210.51.165.229]) by mx1.freebsd.org (Postfix) with ESMTP id 14A7513C45E for ; Tue, 4 Sep 2007 11:24:26 +0000 (UTC) (envelope-from delphij@delphij.net) Received: from localhost (tarsier.geekcn.org [210.51.165.229]) by tarsier.geekcn.org (Postfix) with ESMTP id ABC08EB459A; Tue, 4 Sep 2007 19:05:09 +0800 (CST) X-Virus-Scanned: amavisd-new at geekcn.org Received: from tarsier.geekcn.org ([210.51.165.229]) by localhost (mail.geekcn.org [210.51.165.229]) (amavisd-new, port 10024) with ESMTP id HMEdkjfhYz43; Tue, 4 Sep 2007 19:04:39 +0800 (CST) Received: from LI-Xins-MacBook.local (sina152-194.staff.sina.com.cn [61.135.152.194]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by tarsier.geekcn.org (Postfix) with ESMTP id 35621EB4592; Tue, 4 Sep 2007 19:04:07 +0800 (CST) DomainKey-Signature: a=rsa-sha1; s=default; d=delphij.net; c=nofws; q=dns; h=message-id:date:from:reply-to:organization:user-agent: mime-version:to:cc:subject:references:in-reply-to: x-enigmail-version:openpgp:content-type; b=vjc1nOqA9DydQxLmr1MK7Ry0miNwlM9WECRthVqUJcDCFKo7vAZ2/qs5Zm47P6cvI oWzZvjB54En+VqTHcy9Og== Message-ID: <46DD3B97.1020205@delphij.net> Date: Tue, 04 Sep 2007 19:03:51 +0800 From: LI Xin Organization: The FreeBSD Project User-Agent: Thunderbird 2.0.0.6 (Macintosh/20070728) MIME-Version: 1.0 To: Hans Petter Selasky References: <200709040755.l847tPbn003371@repoman.freebsd.org> <200709041121.45990.hselasky@c2i.net> In-Reply-To: <200709041121.45990.hselasky@c2i.net> X-Enigmail-Version: 0.95.3 OpenPGP: url=http://www.delphij.net/delphij.asc Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="------------enig7CBE5F8D6D5880C3862BF559" Cc: freebsd-hackers , Perforce Change Reviews , Xin LI Subject: Re: PERFORCE change 126033 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: d@delphij.net List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Sep 2007 11:24:27 -0000 This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig7CBE5F8D6D5880C3862BF559 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hi, Hans, Hans Petter Selasky wrote: > Hi, >=20 > In my opinion you should keep braces around single line if's . >=20 > if (xxx) { > yyy; > } >=20 > This will reduce the chance of error next time you add a statement to a= n if. I think I have some different understanding. My opinion is that with excessive use of these { and }'s the code could be sometimes confusing to human reader, especially if there are a lot of consecutive single line if's that can not be easily converted to case (e.g. in case we wanted to test bit masks, etc). Also to quote style(9): %%%%%%%%%%%%%%%%% No braces (`{' and `}') are used for control statements with zero or only a single statement unless that statement is more than a single line in which case they are permitted. Forever loops are done with for's, not while's. %%%%%%%%%%%%%%%%% Because msdosfs is considered as our own code (e.g. we don't want to sync it with a foreign vendor who has different style guidelines), I think it would be more appropriate to obey style(9)'s rules. Cheers, --=20 Xin LI http://www.delphij.net/ FreeBSD - The Power to Serve! --------------enig7CBE5F8D6D5880C3862BF559 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFG3TuXOfuToMruuMARCvlbAJ9NPZr+Jbq/KoczUPGog+jyTwtlCQCfYD5y TclNtgRdzWFkUwqn0UYpgi8= =9PP6 -----END PGP SIGNATURE----- --------------enig7CBE5F8D6D5880C3862BF559-- From owner-p4-projects@FreeBSD.ORG Tue Sep 4 12:34:35 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 885D516A420; Tue, 4 Sep 2007 12:34:35 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 617A916A41A for ; Tue, 4 Sep 2007 12:34:35 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 379BD13C45B for ; Tue, 4 Sep 2007 12:34:35 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l84CYZtJ035017 for ; Tue, 4 Sep 2007 12:34:35 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l84CYZFi035014 for perforce@freebsd.org; Tue, 4 Sep 2007 12:34:35 GMT (envelope-from anchie@FreeBSD.org) Date: Tue, 4 Sep 2007 12:34:35 GMT Message-Id: <200709041234.l84CYZFi035014@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 126044 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Sep 2007 12:34:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=126044 Change 126044 by anchie@anchie_malimis on 2007/09/04 12:33:56 Added the macro function call to resolve the offset of the argument in the structure sysctl_v_oid. argument Affected files ... .. //depot/projects/vimage/src/sys/netinet6/in6_proto.c#13 edit Differences ... ==== //depot/projects/vimage/src/sys/netinet6/in6_proto.c#13 (text+ko) ==== @@ -477,6 +477,7 @@ #endif { INIT_VNET_INET6(curvnet); + SYSCTL_RESOLVE_V_ARG1(); int error = 0; int old; @@ -501,6 +502,7 @@ #endif { INIT_VNET_INET6(curvnet); + SYSCTL_RESOLVE_V_ARG1(); int error = 0; int old; From owner-p4-projects@FreeBSD.ORG Tue Sep 4 19:12:48 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 1899E16A469; Tue, 4 Sep 2007 19:12:48 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C738716A41A for ; Tue, 4 Sep 2007 19:12:47 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B5BF113C46A for ; Tue, 4 Sep 2007 19:12:47 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l84JClYj098694 for ; Tue, 4 Sep 2007 19:12:47 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l84JCkIc098691 for perforce@freebsd.org; Tue, 4 Sep 2007 19:12:46 GMT (envelope-from kmacy@freebsd.org) Date: Tue, 4 Sep 2007 19:12:46 GMT Message-Id: <200709041912.l84JCkIc098691@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126065 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Sep 2007 19:12:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=126065 Change 126065 by kmacy@kmacy_home:opentoe on 2007/09/04 19:12:40 IFC #126063 Affected files ... .. //depot/projects/opentoe/ObsoleteFiles.inc#14 integrate .. //depot/projects/opentoe/contrib/less/main.c#6 integrate .. //depot/projects/opentoe/etc/rc.d/lockd#3 integrate .. //depot/projects/opentoe/lib/libutil/Makefile#3 integrate .. //depot/projects/opentoe/lib/libutil/expand_number.3#1 branch .. //depot/projects/opentoe/lib/libutil/expand_number.c#1 branch .. //depot/projects/opentoe/lib/libutil/libutil.h#3 integrate .. //depot/projects/opentoe/release/doc/en_US.ISO8859-1/hardware/article.sgml#6 integrate .. //depot/projects/opentoe/release/doc/share/misc/dev.archlist.txt#5 integrate .. //depot/projects/opentoe/sbin/geom/class/eli/geli.8#2 integrate .. //depot/projects/opentoe/share/man/man4/Makefile#11 integrate .. //depot/projects/opentoe/share/man/man4/zyd.4#1 branch .. //depot/projects/opentoe/share/man/man9/suser.9#3 integrate .. //depot/projects/opentoe/sys/arm/xscale/i80321/i80321.c#2 integrate .. //depot/projects/opentoe/sys/contrib/opensolaris/uts/common/fs/zfs/arc.c#3 integrate .. //depot/projects/opentoe/sys/dev/acpica/acpi_cpu.c#4 integrate .. //depot/projects/opentoe/sys/dev/iwi/if_iwi.c#5 integrate .. //depot/projects/opentoe/sys/dev/ixgbe/ixgbe.c#2 integrate .. //depot/projects/opentoe/sys/dev/ixgbe/ixgbe.h#2 integrate .. //depot/projects/opentoe/sys/dev/ixgbe/ixgbe_82598.c#2 integrate .. //depot/projects/opentoe/sys/dev/ixgbe/ixgbe_api.c#2 integrate .. //depot/projects/opentoe/sys/dev/ixgbe/ixgbe_api.h#2 integrate .. //depot/projects/opentoe/sys/dev/ixgbe/ixgbe_common.c#2 integrate .. //depot/projects/opentoe/sys/dev/ixgbe/ixgbe_common.h#2 integrate .. //depot/projects/opentoe/sys/dev/ixgbe/ixgbe_osdep.h#2 integrate .. //depot/projects/opentoe/sys/dev/ixgbe/ixgbe_phy.c#2 integrate .. //depot/projects/opentoe/sys/dev/ixgbe/ixgbe_phy.h#2 integrate .. //depot/projects/opentoe/sys/dev/ixgbe/ixgbe_type.h#2 integrate .. //depot/projects/opentoe/sys/dev/usb/if_zyd.c#1 branch .. //depot/projects/opentoe/sys/dev/usb/if_zydfw.h#1 branch .. //depot/projects/opentoe/sys/dev/usb/if_zydreg.h#1 branch .. //depot/projects/opentoe/sys/dev/usb/usbdevs#13 integrate .. //depot/projects/opentoe/sys/fs/msdosfs/direntry.h#2 integrate .. //depot/projects/opentoe/sys/fs/msdosfs/msdosfs_conv.c#3 integrate .. //depot/projects/opentoe/sys/fs/msdosfs/msdosfs_lookup.c#3 integrate .. //depot/projects/opentoe/sys/fs/msdosfs/msdosfs_vnops.c#4 integrate .. //depot/projects/opentoe/sys/geom/eli/g_eli.h#2 integrate .. //depot/projects/opentoe/sys/geom/eli/g_eli_crypto.c#3 integrate .. //depot/projects/opentoe/sys/i386/isa/isa.c#2 integrate .. //depot/projects/opentoe/sys/kern/kern_acct.c#5 integrate .. //depot/projects/opentoe/sys/kern/kern_ktrace.c#4 integrate .. //depot/projects/opentoe/sys/kern/kern_sysctl.c#3 integrate .. //depot/projects/opentoe/sys/kern/kern_timeout.c#4 integrate .. //depot/projects/opentoe/sys/modules/ixgbe/Makefile#1 branch .. //depot/projects/opentoe/sys/modules/zyd/Makefile#1 branch .. //depot/projects/opentoe/sys/net/if_lagg.c#6 integrate .. //depot/projects/opentoe/tools/regression/geom_eli/init-a.t#2 integrate .. //depot/projects/opentoe/tools/regression/geom_eli/init.t#2 integrate .. //depot/projects/opentoe/tools/regression/geom_eli/integrity-copy.t#2 integrate .. //depot/projects/opentoe/tools/regression/geom_eli/integrity-data.t#2 integrate .. //depot/projects/opentoe/tools/regression/geom_eli/integrity-hmac.t#2 integrate .. //depot/projects/opentoe/tools/regression/geom_eli/onetime-a.t#2 integrate .. //depot/projects/opentoe/tools/regression/geom_eli/onetime.t#2 integrate .. //depot/projects/opentoe/usr.bin/top/top.local.1#2 integrate Differences ... ==== //depot/projects/opentoe/ObsoleteFiles.inc#14 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.109 2007/08/07 23:48:30 marcel Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.110 2007/08/31 19:41:27 yar Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -797,6 +797,10 @@ OLD_FILES+=usr/share/man/man1/omshell.1.gz OLD_FILES+=usr/share/man/man5/dhcp-eval.5.gz # 200504XX: ipf tools moved from /usr to / +OLD_FILES+=rescue/ipfs +OLD_FILES+=rescue/ipfstat +OLD_FILES+=rescue/ipmon +OLD_FILES+=rescue/ipnat OLD_FILES+=usr/sbin/ipftest OLD_FILES+=usr/sbin/ipresend OLD_FILES+=usr/sbin/ipsend @@ -828,6 +832,7 @@ OLD_FILES+=usr/libexec/getNAME # 200411XX: gvinum replaces vinum OLD_FILES+=bin/vinum +OLD_FILES+=rescue/vinum OLD_FILES+=sbin/vinum OLD_FILES+=usr/share/man/man8/vinum.8.gz # 200411XX: libxpg4 removal ==== //depot/projects/opentoe/contrib/less/main.c#6 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/less/main.c,v 1.11 2007/08/13 16:15:26 delphij Exp $ */ +/* $FreeBSD: src/contrib/less/main.c,v 1.12 2007/09/04 13:54:09 delphij Exp $ */ /* * Copyright (C) 1984-2007 Mark Nudelman * @@ -244,7 +244,7 @@ quit(QUIT_OK); } - if (missing_cap && !know_dumb) + if (missing_cap && !know_dumb && !less_is_more) error("WARNING: terminal is not fully functional", NULL_PARG); init_mark(); open_getchr(); ==== //depot/projects/opentoe/etc/rc.d/lockd#3 (text+ko) ==== @@ -2,11 +2,11 @@ # # $NetBSD: nfslocking,v 1.6 2002/03/24 15:52:41 lukem Exp $ # FreeBSD History: src/etc/rc.d/nfslocking,v 1.11 2004/10/07 13:55:26 mtm -# $FreeBSD: src/etc/rc.d/lockd,v 1.17 2007/08/18 04:08:53 mtm Exp $ +# $FreeBSD: src/etc/rc.d/lockd,v 1.18 2007/09/03 02:02:31 mtm Exp $ # # PROVIDE: lockd -# REQUIRE: nfsserver nfsclient nfsd rpcbind +# REQUIRE: nfsserver nfsclient nfsd rpcbind statd # BEFORE: DAEMON # KEYWORD: nojail ==== //depot/projects/opentoe/lib/libutil/Makefile#3 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/4/93 -# $FreeBSD: src/lib/libutil/Makefile,v 1.65 2007/05/21 02:49:07 deischen Exp $ +# $FreeBSD: src/lib/libutil/Makefile,v 1.66 2007/09/01 06:19:11 pjd Exp $ SHLIBDIR?= /lib @@ -8,8 +8,8 @@ LIB= util SHLIB_MAJOR= 7 -SRCS= _secure_path.c auth.c flopen.c fparseln.c humanize_number.c \ - kld.c login.c login_auth.c login_cap.c login_class.c \ +SRCS= _secure_path.c auth.c expand_number.c flopen.c fparseln.c \ + humanize_number.c kld.c login.c login_auth.c login_cap.c login_class.c \ login_crypt.c login_ok.c login_times.c login_tty.c logout.c \ logwtmp.c pidfile.c property.c pty.c pw_util.c realhostname.c \ stub.c trimdomain.c uucplock.c @@ -27,7 +27,7 @@ login_cap.3 login_class.3 login_times.3 login_ok.3 \ _secure_path.3 uucplock.3 property.3 auth.3 realhostname.3 \ realhostname_sa.3 trimdomain.3 fparseln.3 humanize_number.3 \ - pidfile.3 flopen.3 + pidfile.3 flopen.3 expand_number.3 MAN+= login.conf.5 auth.conf.5 MLINKS+= kld.3 kld_isloaded.3 kld.3 kld_load.3 MLINKS+= property.3 properties_read.3 property.3 properties_free.3 ==== //depot/projects/opentoe/lib/libutil/libutil.h#3 (text+ko) ==== @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libutil/libutil.h,v 1.44 2007/05/10 15:01:42 des Exp $ + * $FreeBSD: src/lib/libutil/libutil.h,v 1.45 2007/09/01 06:19:11 pjd Exp $ */ #ifndef _LIBUTIL_H_ @@ -82,6 +82,7 @@ struct termios *_termp, struct winsize *_winp); int humanize_number(char *_buf, size_t _len, int64_t _number, const char *_suffix, int _scale, int _flags); +int expand_number(char *_buf, int64_t *_num); const char *uu_lockerr(int _uu_lockresult); int uu_lock(const char *_ttyname); int uu_unlock(const char *_ttyname); ==== //depot/projects/opentoe/release/doc/en_US.ISO8859-1/hardware/article.sgml#6 (text+ko) ==== @@ -18,7 +18,7 @@ The &os; Documentation Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/article.sgml,v 1.318 2007/08/18 16:40:37 bmah Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/article.sgml,v 1.320 2007/09/02 09:15:08 brueffer Exp $ 2000 @@ -742,8 +742,17 @@ Wireless Network Interfaces - [&arch.i386;] NCR / AT&T / Lucent Technologies WaveLan T1-speed - ISA/radio LAN cards (&man.wl.4; driver) + [&arch.amd64;, &arch.i386;, &arch.pc98;] Cisco/Aironet 802.11b wireless adapters (&man.an.4; driver) + + + &hwlist.ath; + + &hwlist.awi; + + &hwlist.cnw; + + [&arch.i386;, &arch.pc98;] Raytheon Raylink 2.4GHz wireless adapters (&man.ray.4; driver) + [&arch.amd64;, &arch.i386;, &arch.pc98;] Lucent Technologies WaveLAN/IEEE 802.11b wireless network @@ -752,17 +761,11 @@ Spectrum24 chipsets (&man.wi.4; driver) - [&arch.amd64;, &arch.i386;, &arch.pc98;] Cisco/Aironet 802.11b wireless adapters (&man.an.4; driver) - + [&arch.i386;] NCR / AT&T / Lucent Technologies WaveLan T1-speed + ISA/radio LAN cards (&man.wl.4; driver) - [&arch.i386;, &arch.pc98;] Raytheon Raylink 2.4GHz wireless adapters (&man.ray.4; driver) - - - &hwlist.awi; + &hwlist.zyd; - &hwlist.cnw; - - &hwlist.ath; ==== //depot/projects/opentoe/release/doc/share/misc/dev.archlist.txt#5 (text+ko) ==== @@ -23,7 +23,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/release/doc/share/misc/dev.archlist.txt,v 1.96 2007/08/15 04:46:04 bmah Exp $ +# $FreeBSD: src/release/doc/share/misc/dev.archlist.txt,v 1.97 2007/09/02 09:11:10 brueffer Exp $ # # @@ -172,3 +172,4 @@ vx i386,pc98,ia64,amd64 wb i386,pc98,amd64 xe i386,amd64 +zyd i386,amd64 ==== //depot/projects/opentoe/sbin/geom/class/eli/geli.8#2 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/sbin/geom/class/eli/geli.8,v 1.21 2007/03/05 12:39:49 pjd Exp $ +.\" $FreeBSD: src/sbin/geom/class/eli/geli.8,v 1.22 2007/09/01 06:33:01 pjd Exp $ .\" .Dd September 16, 2006 .Dt GELI 8 @@ -146,7 +146,8 @@ .It Supports many cryptographic algorithms (currently .Nm AES , -.Nm Blowfish +.Nm Blowfish , +.Nm Camellia and .Nm 3DES ) . .It @@ -227,7 +228,8 @@ Encryption algorithm to use. Currently supported algorithms are: .Nm AES , -.Nm Blowfish +.Nm Blowfish , +.Nm Camellia and .Nm 3DES . The default is @@ -260,7 +262,9 @@ 128 for .Nm AES , 128 for -.Nm Blowfish +.Nm Blowfish , +128 for +.Nm Camellia and 192 for .Nm 3DES . .It Fl s Ar sectorsize @@ -652,5 +656,9 @@ .Nm utility appeared in .Fx 6.0 . +Support for +.Nm Camellia +block cipher is implemented by Yoshisato Yanagisawa in +.Fx 7.0 . .Sh AUTHORS .An Pawel Jakub Dawidek Aq pjd@FreeBSD.org ==== //depot/projects/opentoe/share/man/man4/Makefile#11 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/18/93 -# $FreeBSD: src/share/man/man4/Makefile,v 1.392 2007/08/23 20:05:09 des Exp $ +# $FreeBSD: src/share/man/man4/Makefile,v 1.393 2007/09/02 07:09:25 imp Exp $ MAN= aac.4 \ acpi.4 \ @@ -415,7 +415,8 @@ xe.4 \ xl.4 \ xpt.4 \ - zero.4 + zero.4 \ + zyd.4 MLINKS= agp.4 agpgart.4 MLINKS+=altq.4 ALTQ.4 ==== //depot/projects/opentoe/share/man/man9/suser.9#3 (text+ko) ==== @@ -27,9 +27,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/suser.9,v 1.33 2007/06/26 23:12:05 rwatson Exp $ +.\" $FreeBSD: src/share/man/man9/suser.9,v 1.34 2007/08/30 15:03:21 danger Exp $ .\" -.Dd November 6, 2006 +.Dd August 30, 2007 .Dt SUSER 9 .Os .Sh NAME @@ -37,8 +37,7 @@ .Nm suser_cred .Nd check if credentials have superuser privileges .Sh SYNOPSIS -.In sys/param.h -.In sys/systm.h +.In sys/priv.h .Ft int .Fn suser "struct thread *td" .Ft int ==== //depot/projects/opentoe/sys/arm/xscale/i80321/i80321.c#2 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/i80321.c,v 1.6 2006/07/25 01:08:41 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/i80321.c,v 1.7 2007/09/04 18:45:27 cognet Exp $"); #include #include @@ -213,8 +213,6 @@ PCIM_CMD_SERRESPEN; bus_space_write_4(sc->sc_st, sc->sc_atu_sh, PCIR_COMMAND, preg); - preg = bus_space_read_4(sc->sc_st, sc->sc_atu_sh, - PCIR_COMMAND); } /* Initialize the bus space tags. */ i80321_io_bs_init(&sc->sc_pci_iot, sc); ==== //depot/projects/opentoe/sys/contrib/opensolaris/uts/common/fs/zfs/arc.c#3 (text+ko) ==== @@ -155,9 +155,9 @@ TUNABLE_ULONG("vfs.zfs.arc_max", &zfs_arc_max); TUNABLE_ULONG("vfs.zfs.arc_min", &zfs_arc_min); SYSCTL_DECL(_vfs_zfs); -SYSCTL_ULONG(_vfs_zfs, OID_AUTO, arc_max, CTLFLAG_RD, &zfs_arc_max, 0, +SYSCTL_ULONG(_vfs_zfs, OID_AUTO, arc_max, CTLFLAG_RDTUN, &zfs_arc_max, 0, "Maximum ARC size"); -SYSCTL_ULONG(_vfs_zfs, OID_AUTO, arc_min, CTLFLAG_RD, &zfs_arc_min, 0, +SYSCTL_ULONG(_vfs_zfs, OID_AUTO, arc_min, CTLFLAG_RDTUN, &zfs_arc_min, 0, "Minimum ARC size"); /* ==== //depot/projects/opentoe/sys/dev/acpica/acpi_cpu.c#4 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_cpu.c,v 1.66 2007/06/03 00:40:56 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_cpu.c,v 1.67 2007/08/30 21:18:42 njl Exp $"); #include "opt_acpi.h" #include @@ -257,7 +257,7 @@ acpi_cpu_attach(device_t dev) { ACPI_BUFFER buf; - ACPI_OBJECT arg, *obj; + ACPI_OBJECT arg[4], *obj; ACPI_OBJECT_LIST arglist; struct pcpu *pcpu_data; struct acpi_cpu_softc *sc; @@ -268,6 +268,11 @@ driver_t **drivers; uint32_t cap_set[3]; + /* UUID needed by _OSC evaluation */ + static uint8_t cpu_oscuuid[16] = { 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, + 0xBE, 0x47, 0x9E, 0xBD, 0xD8, 0x70, + 0x58, 0x71, 0x39, 0x53 }; + ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); sc = device_get_softc(dev); @@ -334,19 +339,39 @@ /* * CPU capabilities are specified as a buffer of 32-bit integers: * revision, count, and one or more capabilities. The revision of - * "1" is not specified anywhere but seems to match Linux. We should - * also support _OSC here. + * "1" is not specified anywhere but seems to match Linux. */ if (sc->cpu_features) { - arglist.Pointer = &arg; + arglist.Pointer = arg; arglist.Count = 1; - arg.Type = ACPI_TYPE_BUFFER; - arg.Buffer.Length = sizeof(cap_set); - arg.Buffer.Pointer = (uint8_t *)cap_set; + arg[0].Type = ACPI_TYPE_BUFFER; + arg[0].Buffer.Length = sizeof(cap_set); + arg[0].Buffer.Pointer = (uint8_t *)cap_set; cap_set[0] = 1; /* revision */ cap_set[1] = 1; /* number of capabilities integers */ cap_set[2] = sc->cpu_features; AcpiEvaluateObject(sc->cpu_handle, "_PDC", &arglist, NULL); + + /* + * On some systems we need to evaluate _OSC so that the ASL + * loads the _PSS and/or _PDC methods at runtime. + * + * TODO: evaluate failure of _OSC. + */ + arglist.Pointer = arg; + arglist.Count = 4; + arg[0].Type = ACPI_TYPE_BUFFER; + arg[0].Buffer.Length = sizeof(cpu_oscuuid); + arg[0].Buffer.Pointer = cpu_oscuuid; /* UUID */ + arg[1].Type = ACPI_TYPE_INTEGER; + arg[1].Integer.Value = 1; /* revision */ + arg[2].Type = ACPI_TYPE_INTEGER; + arg[2].Integer.Value = 1; /* count */ + arg[3].Type = ACPI_TYPE_BUFFER; + arg[3].Buffer.Length = sizeof(cap_set); /* Capabilities buffer */ + arg[3].Buffer.Pointer = (uint8_t *)cap_set; + cap_set[0] = 0; + AcpiEvaluateObject(sc->cpu_handle, "_OSC", &arglist, NULL); } /* Probe for Cx state support. */ ==== //depot/projects/opentoe/sys/dev/iwi/if_iwi.c#5 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/iwi/if_iwi.c,v 1.55 2007/06/25 20:56:33 thompsa Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/iwi/if_iwi.c,v 1.56 2007/08/29 21:52:03 thompsa Exp $"); /*- * Intel(R) PRO/Wireless 2200BG/2225BG/2915ABG driver @@ -957,7 +957,6 @@ struct iwi_softc *sc = ifp->if_softc; int error = 0; - IWI_LOCK_ASSERT(sc); DPRINTF(("%s: %s -> %s flags 0x%x\n", __func__, ieee80211_state_name[ic->ic_state], ieee80211_state_name[nstate], sc->flags)); ==== //depot/projects/opentoe/sys/dev/ixgbe/ixgbe.c#2 (text+ko) ==== @@ -30,7 +30,7 @@ POSSIBILITY OF SUCH DAMAGE. ***************************************************************************/ -/* $FreeBSD: src/sys/dev/ixgbe/ixgbe.c,v 1.3 2007/07/12 19:04:11 jfv Exp $ */ +/* $FreeBSD: src/sys/dev/ixgbe/ixgbe.c,v 1.4 2007/09/04 02:31:34 jfv Exp $ */ #ifdef HAVE_KERNEL_OPTION_HEADERS #include "opt_device_polling.h" @@ -46,7 +46,7 @@ /********************************************************************* * Driver version *********************************************************************/ -char ixgbe_driver_version[] = "1.1.3"; +char ixgbe_driver_version[] = "1.2.6"; /********************************************************************* * PCI Device ID Table @@ -60,10 +60,9 @@ static ixgbe_vendor_info_t ixgbe_vendor_info_array[] = { - {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598, 0, 0, 0}, {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598AF_DUAL_PORT, 0, 0, 0}, {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598AF_SINGLE_PORT, 0, 0, 0}, - {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598AT_DUAL_PORT, 0, 0, 0}, + {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598EB_CX4, 0, 0, 0}, /* required last entry */ {0, 0, 0, 0, 0} }; @@ -100,8 +99,9 @@ static void ixgbe_setup_interface(device_t, struct adapter *); static int ixgbe_allocate_queues(struct adapter *); static int ixgbe_allocate_msix_resources(struct adapter *); +#if __FreeBSD_version >= 700000 static int ixgbe_setup_msix(struct adapter *); - +#endif static int ixgbe_allocate_transmit_buffers(struct tx_ring *); static int ixgbe_setup_transmit_structures(struct adapter *); static void ixgbe_setup_transmit_ring(struct tx_ring *); @@ -119,7 +119,7 @@ static void ixgbe_enable_intr(struct adapter *); static void ixgbe_disable_intr(struct adapter *); static void ixgbe_update_stats_counters(struct adapter *); -static boolean_t ixgbe_txeof(struct tx_ring *); +static bool ixgbe_txeof(struct tx_ring *); static int ixgbe_rxeof(struct rx_ring *, int); static void ixgbe_rx_checksum(struct adapter *, uint32_t, struct mbuf *); static void ixgbe_set_promisc(struct adapter *); @@ -133,6 +133,7 @@ static int ixgbe_encap(struct adapter *, struct mbuf **); static int ixgbe_sysctl_stats(SYSCTL_HANDLER_ARGS); static int ixgbe_sysctl_debug(SYSCTL_HANDLER_ARGS); +static int ixgbe_set_flowcntl(SYSCTL_HANDLER_ARGS); static int ixgbe_dma_malloc(struct adapter *, bus_size_t, struct ixgbe_dma_alloc *, int); static void ixgbe_dma_free(struct adapter *, struct ixgbe_dma_alloc *); @@ -143,14 +144,23 @@ static void ixgbe_set_ivar(struct adapter *, u16, u8); static void ixgbe_configure_ivars(struct adapter *); -/* Legacy Interrupt handler */ -static void ixgbe_intr(void *); +/* Legacy Fast Interrupt routine and handlers */ +#if __FreeBSD_version >= 700000 +static int ixgbe_fast_irq(void *); +/* The MSI/X Interrupt handlers */ +static void ixgbe_msix_tx(void *); +static void ixgbe_msix_rx(void *); +static void ixgbe_msix_link(void *); +#else +static void ixgbe_fast_irq(void *); +#endif -/* The MSI/X Interrupt handlers */ -static void ixgbe_txint(void *); -static void ixgbe_rxint(void *); -static void ixgbe_linkint(void *); +static void ixgbe_rxtx(void *context, int pending); +static void ixgbe_link(void *context, int pending); +#ifndef NO_82598_A0_SUPPORT +static void desc_flip(void *); +#endif /********************************************************************* * FreeBSD Device Interface Entry Points @@ -175,26 +185,40 @@ MODULE_DEPEND(ixgbe, pci, 1, 1, 1); MODULE_DEPEND(ixgbe, ether, 1, 1, 1); +/* +** TUNEABLE PARAMETERS: +*/ + /* How many packets rxeof tries to clean at a time */ static int ixgbe_rx_process_limit = 100; TUNABLE_INT("hw.ixgbe.rx_process_limit", &ixgbe_rx_process_limit); -/* - * Should the driver do MSI/X and RSS/MQ? - * - default to MSI/X and RSS enabled - */ -static int ixgbe_disable_msix = 0; -TUNABLE_INT("hw.ixgbe.disable_msix", &ixgbe_disable_msix); +/* Flow control setting, default to full */ +static int ixgbe_flow_control = 3; +TUNABLE_INT("hw.ixgbe.flow_control", &ixgbe_flow_control); + +/* Number of TX Queues, note multi tx is not working */ +static int ixgbe_tx_queues = 1; +TUNABLE_INT("hw.ixgbe.tx_queues", &ixgbe_tx_queues); + +/* Number of RX Queues */ +static int ixgbe_rx_queues = 8; +TUNABLE_INT("hw.ixgbe.rx_queues", &ixgbe_rx_queues); + +/* Number of Other Queues, this is used for link interrupts */ +static int ixgbe_other_queues = 1; +TUNABLE_INT("hw.ixgbe.other_queues", &ixgbe_other_queues); + +/* Number of TX descriptors per ring */ +static int ixgbe_txd = DEFAULT_TXD; +TUNABLE_INT("hw.ixgbe.txd", &ixgbe_txd); + +/* Number of RX descriptors per ring */ +static int ixgbe_rxd = DEFAULT_RXD; +TUNABLE_INT("hw.ixgbe.rxd", &ixgbe_rxd); -/* -** Flow control tuneable: -** 0 - off -** 1 - rx pause -** 2 - tx pause -** 3 - full -*/ -static int ixgbe_flow_control = 0; -TUNABLE_INT("hw.ixgbe.flow_control", &ixgbe_flow_control); +/* Total number of Interfaces - need for config sanity check */ +static int ixgbe_total_ports; /********************************************************************* * Device identification routine @@ -239,6 +263,15 @@ sprintf(adapter_name, "%s, Version - %s", ixgbe_strings[ent->index], ixgbe_driver_version); + switch (pci_device_id) { + case IXGBE_DEV_ID_82598AF_DUAL_PORT : + ixgbe_total_ports += 2; + break; + case IXGBE_DEV_ID_82598AF_SINGLE_PORT : + ixgbe_total_ports += 1; + default: + break; + } device_set_desc_copy(dev, adapter_name); return (0); } @@ -264,13 +297,17 @@ struct adapter *adapter; int error = 0; uint32_t ctrl_ext; + char name_string[16]; INIT_DEBUGOUT("ixgbe_attach: begin"); /* Allocate, clear, and link in our adapter structure */ adapter = device_get_softc(dev); adapter->dev = adapter->osdep.dev = dev; - IXGBE_LOCK_INIT(adapter, device_get_nameunit(dev)); + /* General Lock Init*/ + snprintf(name_string, sizeof(name_string), "%s:core", + device_get_nameunit(dev)); + mtx_init(&adapter->core_mtx, name_string, NULL, MTX_DEF); /* SYSCTL APIs */ SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), @@ -283,25 +320,17 @@ OID_AUTO, "debug", CTLTYPE_INT | CTLFLAG_RW, adapter, 0, ixgbe_sysctl_debug, "I", "Debug Info"); - SYSCTL_ADD_INT(device_get_sysctl_ctx(dev), + SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), - OID_AUTO, "flow control", CTLFLAG_RW, - &ixgbe_flow_control, 0, "Flow Control"); + OID_AUTO, "flow_control", CTLTYPE_INT | CTLFLAG_RW, + adapter, 0, ixgbe_set_flowcntl, "I", "Flow Control"); /* Set up the timer callout */ - callout_init_mtx(&adapter->timer, &adapter->mtx, 0); + callout_init_mtx(&adapter->timer, &adapter->core_mtx, 0); /* Determine hardware revision */ ixgbe_identify_hardware(adapter); - /* - ** Descriptors: (configurable by user), note these are - ** constant for all rings, I saw no reason to vary - ** them, but perhaps someone later would. - */ - adapter->num_tx_desc = DEFAULT_TXD; - adapter->num_rx_desc = DEFAULT_RXD; - /* Indicate to RX setup to use Jumbo Clusters */ adapter->bigbufs = TRUE; @@ -312,17 +341,50 @@ goto err_out; } + /* Do descriptor calc and sanity checks */ + if (((ixgbe_txd * sizeof(union ixgbe_adv_tx_desc)) % DBA_ALIGN) != 0 || + ixgbe_txd < MIN_TXD || ixgbe_txd > MAX_TXD) { + device_printf(dev, "TXD config issue, using default!\n"); + adapter->num_tx_desc = DEFAULT_TXD; + } else + adapter->num_tx_desc = ixgbe_txd; + + /* + ** With many RX rings it is easy to exceed the + ** system mbuf allocation. Tuning nmbclusters + ** can alleviate this. + */ + if ((adapter->num_rx_queues > 1) && (nmbclusters > 0 )){ + int s; + /* Calculate the total RX mbuf needs */ + s = (ixgbe_rxd * adapter->num_rx_queues) * ixgbe_total_ports; + if (s > nmbclusters) { + device_printf(dev, "RX Descriptors exceed " + "system mbuf max, using default instead!\n"); + ixgbe_rxd = DEFAULT_RXD; + } + } + + if (((ixgbe_rxd * sizeof(union ixgbe_adv_rx_desc)) % DBA_ALIGN) != 0 || + ixgbe_rxd < MIN_TXD || ixgbe_rxd > MAX_TXD) { + device_printf(dev, "RXD config issue, using default!\n"); + adapter->num_rx_desc = DEFAULT_RXD; + } else + adapter->num_rx_desc = ixgbe_rxd; + /* Allocate our TX/RX Queues */ if (ixgbe_allocate_queues(adapter)) { error = ENOMEM; goto err_out; } +#if __FreeBSD_version >= 700000 if (adapter->msix) { error = ixgbe_setup_msix(adapter); if (error) goto err_out; } +#endif /* Initialize the shared code */ if (ixgbe_init_shared_code(&adapter->hw)) { @@ -382,14 +444,25 @@ INIT_DEBUGOUT("ixgbe_detach: begin"); /* Make sure VLANS are not using driver */ +#if __FreeBSD_version >= 700000 if (adapter->ifp->if_vlantrunk != NULL) { +#else + if (adapter->ifp->if_nvlans != 0) { +#endif device_printf(dev,"Vlan in use, detach first\n"); return (EBUSY); } - IXGBE_LOCK(adapter); + mtx_lock(&adapter->core_mtx); ixgbe_stop(adapter); - IXGBE_UNLOCK(adapter); + mtx_unlock(&adapter->core_mtx); + + if (adapter->tq != NULL) { + taskqueue_drain(adapter->tq, &adapter->rxtx_task); + taskqueue_drain(taskqueue_fast, &adapter->link_task); + taskqueue_free(adapter->tq); + adapter->tq = NULL; + } /* let hardware know driver is unloading */ ctrl_ext = IXGBE_READ_REG(&adapter->hw, IXGBE_CTRL_EXT); @@ -405,7 +478,7 @@ ixgbe_free_transmit_structures(adapter); ixgbe_free_receive_structures(adapter); - IXGBE_LOCK_DESTROY(adapter); + mtx_destroy(&adapter->core_mtx); return (0); } @@ -419,9 +492,9 @@ ixgbe_shutdown(device_t dev) { struct adapter *adapter = device_get_softc(dev); - IXGBE_LOCK(adapter); + mtx_lock(&adapter->core_mtx); ixgbe_stop(adapter); - IXGBE_UNLOCK(adapter); + mtx_unlock(&adapter->core_mtx); return (0); } @@ -442,7 +515,7 @@ struct mbuf *m_head; struct adapter *adapter = ifp->if_softc; - IXGBE_LOCK_ASSERT(adapter); + mtx_assert(&adapter->tx_mtx, MA_OWNED); if ((ifp->if_drv_flags & (IFF_DRV_RUNNING|IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING) @@ -464,7 +537,7 @@ break; } /* Send a copy of the frame to the BPF listener */ - BPF_MTAP(ifp, m_head); + ETHER_BPF_MTAP(ifp, m_head); /* Set timeout in case hardware has problems transmitting */ adapter->watchdog_timer = IXGBE_TX_TIMEOUT; @@ -478,10 +551,10 @@ { struct adapter *adapter = ifp->if_softc; - IXGBE_LOCK(adapter); + mtx_lock(&adapter->tx_mtx); if (ifp->if_drv_flags & IFF_DRV_RUNNING) ixgbe_start_locked(ifp); - IXGBE_UNLOCK(adapter); + mtx_unlock(&adapter->tx_mtx); return; } @@ -508,9 +581,9 @@ if (ifa->ifa_addr->sa_family == AF_INET) { ifp->if_flags |= IFF_UP; if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) { - IXGBE_LOCK(adapter); + mtx_lock(&adapter->core_mtx); ixgbe_init_locked(adapter); - IXGBE_UNLOCK(adapter); + mtx_unlock(&adapter->core_mtx); } arp_ifinit(ifp, ifa); } else @@ -521,17 +594,17 @@ if (ifr->ifr_mtu > IXGBE_MAX_FRAME_SIZE - ETHER_HDR_LEN) { error = EINVAL; } else { - IXGBE_LOCK(adapter); + mtx_lock(&adapter->core_mtx); ifp->if_mtu = ifr->ifr_mtu; adapter->max_frame_size = ifp->if_mtu + ETHER_HDR_LEN + ETHER_CRC_LEN; ixgbe_init_locked(adapter); - IXGBE_UNLOCK(adapter); + mtx_unlock(&adapter->core_mtx); } break; case SIOCSIFFLAGS: IOCTL_DEBUGOUT("ioctl: SIOCSIFFLAGS (Set Interface Flags)"); - IXGBE_LOCK(adapter); + mtx_lock(&adapter->core_mtx); if (ifp->if_flags & IFF_UP) { if ((ifp->if_drv_flags & IFF_DRV_RUNNING)) { if ((ifp->if_flags ^ adapter->if_flags) & @@ -545,17 +618,17 @@ if (ifp->if_drv_flags & IFF_DRV_RUNNING) ixgbe_stop(adapter); adapter->if_flags = ifp->if_flags; - IXGBE_UNLOCK(adapter); + mtx_unlock(&adapter->core_mtx); break; case SIOCADDMULTI: case SIOCDELMULTI: IOCTL_DEBUGOUT("ioctl: SIOC(ADD|DEL)MULTI"); if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - IXGBE_LOCK(adapter); + mtx_lock(&adapter->core_mtx); ixgbe_disable_intr(adapter); ixgbe_set_multi(adapter); ixgbe_enable_intr(adapter); - IXGBE_UNLOCK(adapter); + mtx_unlock(&adapter->core_mtx); } break; case SIOCSIFMEDIA: @@ -575,7 +648,9 @@ ifp->if_capenable ^= IFCAP_VLAN_HWTAGGING; if (ifp->if_drv_flags & IFF_DRV_RUNNING) ixgbe_init(adapter); +#if __FreeBSD_version >= 700000 VLAN_CAPABILITIES(ifp); +#endif break; } default: @@ -598,7 +673,7 @@ ixgbe_watchdog(struct adapter *adapter) { - IXGBE_LOCK_ASSERT(adapter); + mtx_assert(&adapter->core_mtx, MA_OWNED); /* * The timer is set to 5 every time ixgbe_start() queues a packet. @@ -651,13 +726,15 @@ INIT_DEBUGOUT("ixgbe_init: begin"); - IXGBE_LOCK_ASSERT(adapter); + mtx_assert(&adapter->core_mtx, MA_OWNED); ixgbe_stop(adapter); /* Get the latest mac address, User can use a LAA */ bcopy(IF_LLADDR(adapter->ifp), adapter->hw.mac.addr, IXGBE_ETH_LENGTH_OF_ADDRESS); + ixgbe_set_rar(&adapter->hw, 0, adapter->hw.mac.addr, 0, 1); + adapter->hw.addr_ctrl.rar_used_count = 1; /* Initialize the hardware */ if (ixgbe_hardware_init(adapter)) { @@ -756,60 +833,91 @@ { struct adapter *adapter = arg; - IXGBE_LOCK(adapter); + mtx_lock(&adapter->core_mtx); ixgbe_init_locked(adapter); - IXGBE_UNLOCK(adapter); + mtx_unlock(&adapter->core_mtx); return; } +static void +ixgbe_link(void *context, int pending) +{ + struct adapter *adapter = context; + struct ifnet *ifp = adapter->ifp; + + mtx_lock(&adapter->core_mtx); + if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) { + mtx_unlock(&adapter->core_mtx); + return; + } + + callout_stop(&adapter->timer); + ixgbe_update_link_status(adapter); + callout_reset(&adapter->timer, hz, ixgbe_local_timer, adapter); + mtx_unlock(&adapter->core_mtx); +} + +/* +** MSI and Legacy Deferred Handler +** - note this runs without the general lock +*/ +static void +ixgbe_rxtx(void *context, int pending) +{ + struct adapter *adapter = context; + struct ifnet *ifp = adapter->ifp; + /* For legacy there is only one of each */ + struct rx_ring *rxr = adapter->rx_rings; + struct tx_ring *txr = adapter->tx_rings; + + if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (ixgbe_rxeof(rxr, adapter->rx_process_limit) != 0) + taskqueue_enqueue(adapter->tq, &adapter->rxtx_task); + mtx_lock(&adapter->tx_mtx); + ixgbe_txeof(txr); + + if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + ixgbe_start_locked(ifp); + mtx_unlock(&adapter->tx_mtx); + } + + ixgbe_enable_intr(adapter); +} + + /********************************************************************* * * Legacy Interrupt Service routine * **********************************************************************/ +#if __FreeBSD_version >= 700000 +static int +#else static void -ixgbe_intr(void *arg) +#endif +ixgbe_fast_irq(void *arg) { - u32 loop_cnt = MAX_INTR; u32 reg_eicr; struct adapter *adapter = arg; - struct ifnet *ifp = adapter->ifp; - struct rx_ring *rxr = adapter->rx_rings; - struct tx_ring *txr = adapter->tx_rings; - IXGBE_LOCK(adapter); + reg_eicr = IXGBE_READ_REG(&adapter->hw, IXGBE_EICR); + if (reg_eicr == 0) + return FILTER_STRAY; - reg_eicr = IXGBE_READ_REG(&adapter->hw, IXGBE_EICR); - if (reg_eicr == 0) { - IXGBE_UNLOCK(adapter); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Sep 4 19:13:51 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 8C3D716A420; Tue, 4 Sep 2007 19:13:51 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 68AC416A417 for ; Tue, 4 Sep 2007 19:13:51 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 56EA213C465 for ; Tue, 4 Sep 2007 19:13:51 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l84JDpAS098733 for ; Tue, 4 Sep 2007 19:13:51 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l84JDnsl098730 for perforce@freebsd.org; Tue, 4 Sep 2007 19:13:49 GMT (envelope-from kmacy@freebsd.org) Date: Tue, 4 Sep 2007 19:13:49 GMT Message-Id: <200709041913.l84JDnsl098730@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126066 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Sep 2007 19:13:51 -0000 http://perforce.freebsd.org/chv.cgi?CH=126066 Change 126066 by kmacy@kmacy_home:ethng on 2007/09/04 19:13:27 IFC #126063 Affected files ... .. //depot/projects/ethng/src/ObsoleteFiles.inc#3 integrate .. //depot/projects/ethng/src/contrib/less/main.c#3 integrate .. //depot/projects/ethng/src/etc/rc.d/lockd#3 integrate .. //depot/projects/ethng/src/lib/libutil/Makefile#2 integrate .. //depot/projects/ethng/src/lib/libutil/expand_number.3#1 branch .. //depot/projects/ethng/src/lib/libutil/expand_number.c#1 branch .. //depot/projects/ethng/src/lib/libutil/libutil.h#2 integrate .. //depot/projects/ethng/src/release/doc/en_US.ISO8859-1/hardware/article.sgml#3 integrate .. //depot/projects/ethng/src/release/doc/share/misc/dev.archlist.txt#3 integrate .. //depot/projects/ethng/src/sbin/geom/class/eli/geli.8#2 integrate .. //depot/projects/ethng/src/sbin/ipfw/ipfw2.c#2 integrate .. //depot/projects/ethng/src/share/man/man4/Makefile#3 integrate .. //depot/projects/ethng/src/share/man/man4/zyd.4#1 branch .. //depot/projects/ethng/src/share/man/man5/src.conf.5#2 integrate .. //depot/projects/ethng/src/share/man/man9/suser.9#2 integrate .. //depot/projects/ethng/src/sys/amd64/linux32/linux32_proto.h#2 integrate .. //depot/projects/ethng/src/sys/amd64/linux32/linux32_syscall.h#2 integrate .. //depot/projects/ethng/src/sys/amd64/linux32/linux32_sysent.c#2 integrate .. //depot/projects/ethng/src/sys/amd64/linux32/syscalls.master#2 integrate .. //depot/projects/ethng/src/sys/arm/xscale/i80321/i80321.c#2 integrate .. //depot/projects/ethng/src/sys/compat/freebsd32/freebsd32_misc.c#2 integrate .. //depot/projects/ethng/src/sys/compat/linux/linux_misc.c#2 integrate .. //depot/projects/ethng/src/sys/contrib/opensolaris/uts/common/fs/zfs/arc.c#2 integrate .. //depot/projects/ethng/src/sys/dev/acpica/acpi_cpu.c#2 integrate .. //depot/projects/ethng/src/sys/dev/isp/isp_freebsd.h#2 integrate .. //depot/projects/ethng/src/sys/dev/iwi/if_iwi.c#2 integrate .. //depot/projects/ethng/src/sys/dev/ixgbe/ixgbe.c#2 integrate .. //depot/projects/ethng/src/sys/dev/ixgbe/ixgbe.h#2 integrate .. //depot/projects/ethng/src/sys/dev/ixgbe/ixgbe_82598.c#2 integrate .. //depot/projects/ethng/src/sys/dev/ixgbe/ixgbe_api.c#2 integrate .. //depot/projects/ethng/src/sys/dev/ixgbe/ixgbe_api.h#2 integrate .. //depot/projects/ethng/src/sys/dev/ixgbe/ixgbe_common.c#2 integrate .. //depot/projects/ethng/src/sys/dev/ixgbe/ixgbe_common.h#2 integrate .. //depot/projects/ethng/src/sys/dev/ixgbe/ixgbe_osdep.h#2 integrate .. //depot/projects/ethng/src/sys/dev/ixgbe/ixgbe_phy.c#2 integrate .. //depot/projects/ethng/src/sys/dev/ixgbe/ixgbe_phy.h#2 integrate .. //depot/projects/ethng/src/sys/dev/ixgbe/ixgbe_type.h#2 integrate .. //depot/projects/ethng/src/sys/dev/mfi/mfi.c#3 integrate .. //depot/projects/ethng/src/sys/dev/mfi/mfi_pci.c#3 integrate .. //depot/projects/ethng/src/sys/dev/mfi/mfireg.h#3 integrate .. //depot/projects/ethng/src/sys/dev/mfi/mfivar.h#3 integrate .. //depot/projects/ethng/src/sys/dev/usb/if_zyd.c#1 branch .. //depot/projects/ethng/src/sys/dev/usb/if_zydfw.h#1 branch .. //depot/projects/ethng/src/sys/dev/usb/if_zydreg.h#1 branch .. //depot/projects/ethng/src/sys/dev/usb/usbdevs#2 integrate .. //depot/projects/ethng/src/sys/fs/msdosfs/direntry.h#2 integrate .. //depot/projects/ethng/src/sys/fs/msdosfs/msdosfs_conv.c#3 integrate .. //depot/projects/ethng/src/sys/fs/msdosfs/msdosfs_lookup.c#3 integrate .. //depot/projects/ethng/src/sys/fs/msdosfs/msdosfs_vnops.c#3 integrate .. //depot/projects/ethng/src/sys/geom/eli/g_eli.h#2 integrate .. //depot/projects/ethng/src/sys/geom/eli/g_eli_crypto.c#2 integrate .. //depot/projects/ethng/src/sys/i386/isa/isa.c#2 integrate .. //depot/projects/ethng/src/sys/i386/linux/linux_proto.h#2 integrate .. //depot/projects/ethng/src/sys/i386/linux/linux_syscall.h#2 integrate .. //depot/projects/ethng/src/sys/i386/linux/linux_sysent.c#2 integrate .. //depot/projects/ethng/src/sys/i386/linux/syscalls.master#2 integrate .. //depot/projects/ethng/src/sys/kern/kern_acct.c#2 integrate .. //depot/projects/ethng/src/sys/kern/kern_ktrace.c#2 integrate .. //depot/projects/ethng/src/sys/kern/kern_sysctl.c#2 integrate .. //depot/projects/ethng/src/sys/kern/kern_timeout.c#2 integrate .. //depot/projects/ethng/src/sys/kern/uipc_syscalls.c#2 integrate .. //depot/projects/ethng/src/sys/kern/vfs_syscalls.c#2 integrate .. //depot/projects/ethng/src/sys/modules/ixgbe/Makefile#1 branch .. //depot/projects/ethng/src/sys/modules/zyd/Makefile#1 branch .. //depot/projects/ethng/src/sys/net/if_lagg.c#2 integrate .. //depot/projects/ethng/src/sys/net80211/ieee80211_freebsd.c#2 integrate .. //depot/projects/ethng/src/sys/net80211/ieee80211_regdomain.c#2 integrate .. //depot/projects/ethng/src/sys/netinet/ip_fw2.c#2 integrate .. //depot/projects/ethng/src/sys/netinet/sctp.h#3 integrate .. //depot/projects/ethng/src/sys/netinet/sctp_asconf.c#4 integrate .. //depot/projects/ethng/src/sys/netinet/sctp_asconf.h#2 integrate .. //depot/projects/ethng/src/sys/netinet/sctp_auth.c#3 integrate .. //depot/projects/ethng/src/sys/netinet/sctp_constants.h#3 integrate .. //depot/projects/ethng/src/sys/netinet/sctp_indata.c#3 integrate .. //depot/projects/ethng/src/sys/netinet/sctp_input.c#4 integrate .. //depot/projects/ethng/src/sys/netinet/sctp_output.c#4 integrate .. //depot/projects/ethng/src/sys/netinet/sctp_output.h#2 integrate .. //depot/projects/ethng/src/sys/netinet/sctp_pcb.c#4 integrate .. //depot/projects/ethng/src/sys/netinet/sctp_pcb.h#3 integrate .. //depot/projects/ethng/src/sys/netinet/sctp_peeloff.c#3 integrate .. //depot/projects/ethng/src/sys/netinet/sctp_structs.h#3 integrate .. //depot/projects/ethng/src/sys/netinet/sctp_sysctl.c#3 integrate .. //depot/projects/ethng/src/sys/netinet/sctp_sysctl.h#3 integrate .. //depot/projects/ethng/src/sys/netinet/sctp_uio.h#2 integrate .. //depot/projects/ethng/src/sys/netinet/sctp_usrreq.c#4 integrate .. //depot/projects/ethng/src/sys/netinet/sctp_var.h#3 integrate .. //depot/projects/ethng/src/sys/netinet/sctputil.c#4 integrate .. //depot/projects/ethng/src/sys/netinet6/sctp6_usrreq.c#3 integrate .. //depot/projects/ethng/src/sys/sys/mount.h#2 integrate .. //depot/projects/ethng/src/tools/build/options/WITHOUT_ZONEINFO#1 branch .. //depot/projects/ethng/src/tools/regression/geom_eli/init-a.t#2 integrate .. //depot/projects/ethng/src/tools/regression/geom_eli/init.t#2 integrate .. //depot/projects/ethng/src/tools/regression/geom_eli/integrity-copy.t#2 integrate .. //depot/projects/ethng/src/tools/regression/geom_eli/integrity-data.t#2 integrate .. //depot/projects/ethng/src/tools/regression/geom_eli/integrity-hmac.t#2 integrate .. //depot/projects/ethng/src/tools/regression/geom_eli/onetime-a.t#2 integrate .. //depot/projects/ethng/src/tools/regression/geom_eli/onetime.t#2 integrate .. //depot/projects/ethng/src/usr.bin/top/top.local.1#2 integrate .. //depot/projects/ethng/src/usr.sbin/kbdmap/kbdmap.c#2 integrate Differences ... ==== //depot/projects/ethng/src/ObsoleteFiles.inc#3 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.109 2007/08/07 23:48:30 marcel Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.110 2007/08/31 19:41:27 yar Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -797,6 +797,10 @@ OLD_FILES+=usr/share/man/man1/omshell.1.gz OLD_FILES+=usr/share/man/man5/dhcp-eval.5.gz # 200504XX: ipf tools moved from /usr to / +OLD_FILES+=rescue/ipfs +OLD_FILES+=rescue/ipfstat +OLD_FILES+=rescue/ipmon +OLD_FILES+=rescue/ipnat OLD_FILES+=usr/sbin/ipftest OLD_FILES+=usr/sbin/ipresend OLD_FILES+=usr/sbin/ipsend @@ -828,6 +832,7 @@ OLD_FILES+=usr/libexec/getNAME # 200411XX: gvinum replaces vinum OLD_FILES+=bin/vinum +OLD_FILES+=rescue/vinum OLD_FILES+=sbin/vinum OLD_FILES+=usr/share/man/man8/vinum.8.gz # 200411XX: libxpg4 removal ==== //depot/projects/ethng/src/contrib/less/main.c#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/less/main.c,v 1.11 2007/08/13 16:15:26 delphij Exp $ */ +/* $FreeBSD: src/contrib/less/main.c,v 1.12 2007/09/04 13:54:09 delphij Exp $ */ /* * Copyright (C) 1984-2007 Mark Nudelman * @@ -244,7 +244,7 @@ quit(QUIT_OK); } - if (missing_cap && !know_dumb) + if (missing_cap && !know_dumb && !less_is_more) error("WARNING: terminal is not fully functional", NULL_PARG); init_mark(); open_getchr(); ==== //depot/projects/ethng/src/etc/rc.d/lockd#3 (text+ko) ==== @@ -2,11 +2,11 @@ # # $NetBSD: nfslocking,v 1.6 2002/03/24 15:52:41 lukem Exp $ # FreeBSD History: src/etc/rc.d/nfslocking,v 1.11 2004/10/07 13:55:26 mtm -# $FreeBSD: src/etc/rc.d/lockd,v 1.17 2007/08/18 04:08:53 mtm Exp $ +# $FreeBSD: src/etc/rc.d/lockd,v 1.18 2007/09/03 02:02:31 mtm Exp $ # # PROVIDE: lockd -# REQUIRE: nfsserver nfsclient nfsd rpcbind +# REQUIRE: nfsserver nfsclient nfsd rpcbind statd # BEFORE: DAEMON # KEYWORD: nojail ==== //depot/projects/ethng/src/lib/libutil/Makefile#2 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/4/93 -# $FreeBSD: src/lib/libutil/Makefile,v 1.65 2007/05/21 02:49:07 deischen Exp $ +# $FreeBSD: src/lib/libutil/Makefile,v 1.66 2007/09/01 06:19:11 pjd Exp $ SHLIBDIR?= /lib @@ -8,8 +8,8 @@ LIB= util SHLIB_MAJOR= 7 -SRCS= _secure_path.c auth.c flopen.c fparseln.c humanize_number.c \ - kld.c login.c login_auth.c login_cap.c login_class.c \ +SRCS= _secure_path.c auth.c expand_number.c flopen.c fparseln.c \ + humanize_number.c kld.c login.c login_auth.c login_cap.c login_class.c \ login_crypt.c login_ok.c login_times.c login_tty.c logout.c \ logwtmp.c pidfile.c property.c pty.c pw_util.c realhostname.c \ stub.c trimdomain.c uucplock.c @@ -27,7 +27,7 @@ login_cap.3 login_class.3 login_times.3 login_ok.3 \ _secure_path.3 uucplock.3 property.3 auth.3 realhostname.3 \ realhostname_sa.3 trimdomain.3 fparseln.3 humanize_number.3 \ - pidfile.3 flopen.3 + pidfile.3 flopen.3 expand_number.3 MAN+= login.conf.5 auth.conf.5 MLINKS+= kld.3 kld_isloaded.3 kld.3 kld_load.3 MLINKS+= property.3 properties_read.3 property.3 properties_free.3 ==== //depot/projects/ethng/src/lib/libutil/libutil.h#2 (text+ko) ==== @@ -33,7 +33,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libutil/libutil.h,v 1.44 2007/05/10 15:01:42 des Exp $ + * $FreeBSD: src/lib/libutil/libutil.h,v 1.45 2007/09/01 06:19:11 pjd Exp $ */ #ifndef _LIBUTIL_H_ @@ -82,6 +82,7 @@ struct termios *_termp, struct winsize *_winp); int humanize_number(char *_buf, size_t _len, int64_t _number, const char *_suffix, int _scale, int _flags); +int expand_number(char *_buf, int64_t *_num); const char *uu_lockerr(int _uu_lockresult); int uu_lock(const char *_ttyname); int uu_unlock(const char *_ttyname); ==== //depot/projects/ethng/src/release/doc/en_US.ISO8859-1/hardware/article.sgml#3 (text+ko) ==== @@ -18,7 +18,7 @@ The &os; Documentation Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/article.sgml,v 1.318 2007/08/18 16:40:37 bmah Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/hardware/article.sgml,v 1.320 2007/09/02 09:15:08 brueffer Exp $ 2000 @@ -742,8 +742,17 @@ Wireless Network Interfaces - [&arch.i386;] NCR / AT&T / Lucent Technologies WaveLan T1-speed - ISA/radio LAN cards (&man.wl.4; driver) + [&arch.amd64;, &arch.i386;, &arch.pc98;] Cisco/Aironet 802.11b wireless adapters (&man.an.4; driver) + + + &hwlist.ath; + + &hwlist.awi; + + &hwlist.cnw; + + [&arch.i386;, &arch.pc98;] Raytheon Raylink 2.4GHz wireless adapters (&man.ray.4; driver) + [&arch.amd64;, &arch.i386;, &arch.pc98;] Lucent Technologies WaveLAN/IEEE 802.11b wireless network @@ -752,17 +761,11 @@ Spectrum24 chipsets (&man.wi.4; driver) - [&arch.amd64;, &arch.i386;, &arch.pc98;] Cisco/Aironet 802.11b wireless adapters (&man.an.4; driver) - + [&arch.i386;] NCR / AT&T / Lucent Technologies WaveLan T1-speed + ISA/radio LAN cards (&man.wl.4; driver) - [&arch.i386;, &arch.pc98;] Raytheon Raylink 2.4GHz wireless adapters (&man.ray.4; driver) - - - &hwlist.awi; + &hwlist.zyd; - &hwlist.cnw; - - &hwlist.ath; ==== //depot/projects/ethng/src/release/doc/share/misc/dev.archlist.txt#3 (text+ko) ==== @@ -23,7 +23,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/release/doc/share/misc/dev.archlist.txt,v 1.96 2007/08/15 04:46:04 bmah Exp $ +# $FreeBSD: src/release/doc/share/misc/dev.archlist.txt,v 1.97 2007/09/02 09:11:10 brueffer Exp $ # # @@ -172,3 +172,4 @@ vx i386,pc98,ia64,amd64 wb i386,pc98,amd64 xe i386,amd64 +zyd i386,amd64 ==== //depot/projects/ethng/src/sbin/geom/class/eli/geli.8#2 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/sbin/geom/class/eli/geli.8,v 1.21 2007/03/05 12:39:49 pjd Exp $ +.\" $FreeBSD: src/sbin/geom/class/eli/geli.8,v 1.22 2007/09/01 06:33:01 pjd Exp $ .\" .Dd September 16, 2006 .Dt GELI 8 @@ -146,7 +146,8 @@ .It Supports many cryptographic algorithms (currently .Nm AES , -.Nm Blowfish +.Nm Blowfish , +.Nm Camellia and .Nm 3DES ) . .It @@ -227,7 +228,8 @@ Encryption algorithm to use. Currently supported algorithms are: .Nm AES , -.Nm Blowfish +.Nm Blowfish , +.Nm Camellia and .Nm 3DES . The default is @@ -260,7 +262,9 @@ 128 for .Nm AES , 128 for -.Nm Blowfish +.Nm Blowfish , +128 for +.Nm Camellia and 192 for .Nm 3DES . .It Fl s Ar sectorsize @@ -652,5 +656,9 @@ .Nm utility appeared in .Fx 6.0 . +Support for +.Nm Camellia +block cipher is implemented by Yoshisato Yanagisawa in +.Fx 7.0 . .Sh AUTHORS .An Pawel Jakub Dawidek Aq pjd@FreeBSD.org ==== //depot/projects/ethng/src/sbin/ipfw/ipfw2.c#2 (text+ko) ==== @@ -17,7 +17,7 @@ * * NEW command line interface for IP firewall facility * - * $FreeBSD: src/sbin/ipfw/ipfw2.c,v 1.106 2007/06/18 17:52:37 maxim Exp $ + * $FreeBSD: src/sbin/ipfw/ipfw2.c,v 1.107 2007/08/26 18:38:31 maxim Exp $ */ #include @@ -2575,7 +2575,7 @@ for (n = 0, d = dynrules; n < ndyn; n++, d++) { if (use_set) { /* skip rules from another set */ - bcopy(&d->rule + sizeof(uint16_t), + bcopy((char *)&d->rule + sizeof(uint16_t), &set, sizeof(uint8_t)); if (set != use_set - 1) continue; @@ -2603,7 +2603,7 @@ printf("## Dynamic rules (%d):\n", ndyn); for (n = 0, d = dynrules; n < ndyn; n++, d++) { if (use_set) { - bcopy(&d->rule + sizeof(uint16_t), + bcopy((char *)&d->rule + sizeof(uint16_t), &set, sizeof(uint8_t)); if (set != use_set - 1) continue; @@ -2660,7 +2660,7 @@ if (rulenum > rnum) break; if (use_set) { - bcopy(&d->rule + sizeof(uint16_t), + bcopy((char *)&d->rule + sizeof(uint16_t), &set, sizeof(uint8_t)); if (set != use_set - 1) continue; ==== //depot/projects/ethng/src/share/man/man4/Makefile#3 (text+ko) ==== @@ -1,5 +1,5 @@ # @(#)Makefile 8.1 (Berkeley) 6/18/93 -# $FreeBSD: src/share/man/man4/Makefile,v 1.392 2007/08/23 20:05:09 des Exp $ +# $FreeBSD: src/share/man/man4/Makefile,v 1.393 2007/09/02 07:09:25 imp Exp $ MAN= aac.4 \ acpi.4 \ @@ -415,7 +415,8 @@ xe.4 \ xl.4 \ xpt.4 \ - zero.4 + zero.4 \ + zyd.4 MLINKS= agp.4 agpgart.4 MLINKS+=altq.4 ALTQ.4 ==== //depot/projects/ethng/src/share/man/man5/src.conf.5#2 (text) ==== @@ -1,7 +1,7 @@ .\" DO NOT EDIT-- this file is automatically generated. .\" from FreeBSD: src/tools/build/options/makeman,v 1.6 2006/09/11 13:39:44 ru Exp -.\" $FreeBSD: src/share/man/man5/src.conf.5,v 1.13 2007/07/19 17:02:24 bz Exp $ -.Dd July 19, 2007 +.\" $FreeBSD: src/share/man/man5/src.conf.5,v 1.15 2007/08/27 20:22:59 remko Exp $ +.Dd August 27, 2007 .Dt SRC.CONF 5 .Os .Sh NAME @@ -564,6 +564,9 @@ .It Va WITHOUT_ZFS .\" from FreeBSD: src/tools/build/options/WITHOUT_ZFS,v 1.1 2007/04/06 02:13:30 pjd Exp Set to not build ZFS file system. +.It Va WITHOUT_ZONEINFO +.\" from FreeBSD: src/tools/build/options/WITHOUT_ZONEINFO,v 1.1 2007/08/27 20:01:08 remko Exp +Set to not build the timezone database .El .Sh FILES .Bl -tag -compact ==== //depot/projects/ethng/src/share/man/man9/suser.9#2 (text+ko) ==== @@ -27,9 +27,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man9/suser.9,v 1.33 2007/06/26 23:12:05 rwatson Exp $ +.\" $FreeBSD: src/share/man/man9/suser.9,v 1.34 2007/08/30 15:03:21 danger Exp $ .\" -.Dd November 6, 2006 +.Dd August 30, 2007 .Dt SUSER 9 .Os .Sh NAME @@ -37,8 +37,7 @@ .Nm suser_cred .Nd check if credentials have superuser privileges .Sh SYNOPSIS -.In sys/param.h -.In sys/systm.h +.In sys/priv.h .Ft int .Fn suser "struct thread *td" .Ft int ==== //depot/projects/ethng/src/sys/amd64/linux32/linux32_proto.h#2 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.31 2007/03/30 00:08:21 jkim Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.28 2007/03/30 00:06:21 jkim Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.32 2007/08/28 12:36:23 kib Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.29 2007/08/28 12:26:34 kib Exp */ #ifndef _LINUX_SYSPROTO_H_ @@ -734,6 +734,11 @@ char uaddr2_l_[PADL_(void *)]; void * uaddr2; char uaddr2_r_[PADR_(void *)]; char val3_l_[PADL_(int)]; int val3; char val3_r_[PADR_(int)]; }; +struct linux_sched_getaffinity_args { + char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)]; + char len_l_[PADL_(l_uint)]; l_uint len; char len_r_[PADR_(l_uint)]; + char user_mask_ptr_l_[PADL_(l_ulong *)]; l_ulong * user_mask_ptr; char user_mask_ptr_r_[PADR_(l_ulong *)]; +}; struct linux_set_thread_area_args { char desc_l_[PADL_(struct l_user_desc *)]; struct l_user_desc * desc; char desc_r_[PADR_(struct l_user_desc *)]; }; @@ -1099,6 +1104,7 @@ int linux_fremovexattr(struct thread *, struct linux_fremovexattr_args *); int linux_tkill(struct thread *, struct linux_tkill_args *); int linux_sys_futex(struct thread *, struct linux_sys_futex_args *); +int linux_sched_getaffinity(struct thread *, struct linux_sched_getaffinity_args *); int linux_set_thread_area(struct thread *, struct linux_set_thread_area_args *); int linux_fadvise64(struct thread *, struct linux_fadvise64_args *); int linux_exit_group(struct thread *, struct linux_exit_group_args *); @@ -1172,6 +1178,13 @@ #endif /* COMPAT_FREEBSD4 */ + +#ifdef COMPAT_FREEBSD6 + +#define nosys linux_nosys + +#endif /* COMPAT_FREEBSD6 */ + #define LINUX_SYS_AUE_linux_fork AUE_FORK #define LINUX_SYS_AUE_linux_open AUE_OPEN_RWTC #define LINUX_SYS_AUE_linux_waitpid AUE_WAIT4 @@ -1346,6 +1359,7 @@ #define LINUX_SYS_AUE_linux_fremovexattr AUE_NULL #define LINUX_SYS_AUE_linux_tkill AUE_NULL #define LINUX_SYS_AUE_linux_sys_futex AUE_NULL +#define LINUX_SYS_AUE_linux_sched_getaffinity AUE_NULL #define LINUX_SYS_AUE_linux_set_thread_area AUE_NULL #define LINUX_SYS_AUE_linux_fadvise64 AUE_NULL #define LINUX_SYS_AUE_linux_exit_group AUE_EXIT ==== //depot/projects/ethng/src/sys/amd64/linux32/linux32_syscall.h#2 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.31 2007/03/30 00:08:21 jkim Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.28 2007/03/30 00:06:21 jkim Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.32 2007/08/28 12:36:23 kib Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.29 2007/08/28 12:26:34 kib Exp */ #define LINUX_SYS_exit 1 @@ -222,6 +222,7 @@ #define LINUX_SYS_linux_fremovexattr 237 #define LINUX_SYS_linux_tkill 238 #define LINUX_SYS_linux_sys_futex 240 +#define LINUX_SYS_linux_sched_getaffinity 242 #define LINUX_SYS_linux_set_thread_area 243 #define LINUX_SYS_linux_fadvise64 250 #define LINUX_SYS_linux_exit_group 252 ==== //depot/projects/ethng/src/sys/amd64/linux32/linux32_sysent.c#2 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.31 2007/03/30 00:08:21 jkim Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.28 2007/03/30 00:06:21 jkim Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.32 2007/08/28 12:36:23 kib Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.29 2007/08/28 12:26:34 kib Exp */ #include @@ -262,7 +262,7 @@ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 239 = linux_sendfile64 */ { AS(linux_sys_futex_args), (sy_call_t *)linux_sys_futex, AUE_NULL, NULL, 0, 0 }, /* 240 = linux_sys_futex */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 241 = linux_sched_setaffinity */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 242 = linux_sched_getaffinity */ + { AS(linux_sched_getaffinity_args), (sy_call_t *)linux_sched_getaffinity, AUE_NULL, NULL, 0, 0 }, /* 242 = linux_sched_getaffinity */ { AS(linux_set_thread_area_args), (sy_call_t *)linux_set_thread_area, AUE_NULL, NULL, 0, 0 }, /* 243 = linux_set_thread_area */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 244 = linux_get_thread_area */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 245 = linux_io_setup */ ==== //depot/projects/ethng/src/sys/amd64/linux32/syscalls.master#2 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.28 2007/03/30 00:06:21 jkim Exp $ + $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.29 2007/08/28 12:26:34 kib Exp $ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; System call name/number master file (or rather, slave, from LINUX). @@ -408,7 +408,8 @@ 240 AUE_NULL STD { int linux_sys_futex(void *uaddr, int op, int val, \ struct l_timespec *timeout, void *uaddr2, int val3); } 241 AUE_NULL UNIMPL linux_sched_setaffinity -242 AUE_NULL UNIMPL linux_sched_getaffinity +242 AUE_NULL STD { int linux_sched_getaffinity(l_pid_t pid, l_uint len, \ + l_ulong *user_mask_ptr); } 243 AUE_NULL STD { int linux_set_thread_area(struct l_user_desc *desc); } 244 AUE_NULL UNIMPL linux_get_thread_area 245 AUE_NULL UNIMPL linux_io_setup ==== //depot/projects/ethng/src/sys/arm/xscale/i80321/i80321.c#2 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/i80321.c,v 1.6 2006/07/25 01:08:41 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/i80321.c,v 1.7 2007/09/04 18:45:27 cognet Exp $"); #include #include @@ -213,8 +213,6 @@ PCIM_CMD_SERRESPEN; bus_space_write_4(sc->sc_st, sc->sc_atu_sh, PCIR_COMMAND, preg); - preg = bus_space_read_4(sc->sc_st, sc->sc_atu_sh, - PCIR_COMMAND); } /* Initialize the bus space tags. */ i80321_io_bs_init(&sc->sc_pci_iot, sc); ==== //depot/projects/ethng/src/sys/compat/freebsd32/freebsd32_misc.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.66 2007/07/04 23:04:41 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.67 2007/08/28 20:28:11 jhb Exp $"); #include "opt_compat.h" @@ -135,28 +135,28 @@ static void copy_statfs(struct statfs *in, struct statfs32 *out) { - + + statfs_scale_blocks(in, INT32_MAX); bzero(out, sizeof(*out)); CP(*in, *out, f_bsize); - CP(*in, *out, f_iosize); + out->f_iosize = MIN(in->f_iosize, INT32_MAX); CP(*in, *out, f_blocks); CP(*in, *out, f_bfree); CP(*in, *out, f_bavail); - CP(*in, *out, f_files); - CP(*in, *out, f_ffree); + out->f_files = MIN(in->f_files, INT32_MAX); + out->f_ffree = MIN(in->f_ffree, INT32_MAX); CP(*in, *out, f_fsid); CP(*in, *out, f_owner); CP(*in, *out, f_type); CP(*in, *out, f_flags); - CP(*in, *out, f_flags); - CP(*in, *out, f_syncwrites); - CP(*in, *out, f_asyncwrites); + out->f_syncwrites = MIN(in->f_syncwrites, INT32_MAX); + out->f_asyncwrites = MIN(in->f_asyncwrites, INT32_MAX); strlcpy(out->f_fstypename, in->f_fstypename, MFSNAMELEN); strlcpy(out->f_mntonname, in->f_mntonname, min(MNAMELEN, FREEBSD4_MNAMELEN)); - CP(*in, *out, f_syncreads); - CP(*in, *out, f_asyncreads); + out->f_syncreads = MIN(in->f_syncreads, INT32_MAX); + out->f_asyncreads = MIN(in->f_asyncreads, INT32_MAX); strlcpy(out->f_mntfromname, in->f_mntfromname, min(MNAMELEN, FREEBSD4_MNAMELEN)); } ==== //depot/projects/ethng/src/sys/compat/linux/linux_misc.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.213 2007/06/12 00:11:57 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.214 2007/08/28 12:26:35 kib Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -1713,3 +1713,24 @@ return (error); } + +/* + * XXX: fake one.. waiting for real implementation of affinity mask. + */ +int +linux_sched_getaffinity(struct thread *td, + struct linux_sched_getaffinity_args *args) +{ + int error; + cpumask_t i = ~0; + + if (args->len < sizeof(cpumask_t)) + return (EINVAL); + + error = copyout(&i, args->user_mask_ptr, sizeof(cpumask_t)); + if (error) + return (EFAULT); + + td->td_retval[0] = sizeof(cpumask_t); + return (0); +} ==== //depot/projects/ethng/src/sys/contrib/opensolaris/uts/common/fs/zfs/arc.c#2 (text+ko) ==== @@ -155,9 +155,9 @@ TUNABLE_ULONG("vfs.zfs.arc_max", &zfs_arc_max); TUNABLE_ULONG("vfs.zfs.arc_min", &zfs_arc_min); SYSCTL_DECL(_vfs_zfs); -SYSCTL_ULONG(_vfs_zfs, OID_AUTO, arc_max, CTLFLAG_RD, &zfs_arc_max, 0, +SYSCTL_ULONG(_vfs_zfs, OID_AUTO, arc_max, CTLFLAG_RDTUN, &zfs_arc_max, 0, "Maximum ARC size"); -SYSCTL_ULONG(_vfs_zfs, OID_AUTO, arc_min, CTLFLAG_RD, &zfs_arc_min, 0, +SYSCTL_ULONG(_vfs_zfs, OID_AUTO, arc_min, CTLFLAG_RDTUN, &zfs_arc_min, 0, "Minimum ARC size"); /* ==== //depot/projects/ethng/src/sys/dev/acpica/acpi_cpu.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_cpu.c,v 1.66 2007/06/03 00:40:56 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_cpu.c,v 1.67 2007/08/30 21:18:42 njl Exp $"); #include "opt_acpi.h" #include @@ -257,7 +257,7 @@ acpi_cpu_attach(device_t dev) { ACPI_BUFFER buf; - ACPI_OBJECT arg, *obj; + ACPI_OBJECT arg[4], *obj; ACPI_OBJECT_LIST arglist; struct pcpu *pcpu_data; struct acpi_cpu_softc *sc; @@ -268,6 +268,11 @@ driver_t **drivers; uint32_t cap_set[3]; + /* UUID needed by _OSC evaluation */ + static uint8_t cpu_oscuuid[16] = { 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, + 0xBE, 0x47, 0x9E, 0xBD, 0xD8, 0x70, + 0x58, 0x71, 0x39, 0x53 }; + ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); sc = device_get_softc(dev); @@ -334,19 +339,39 @@ /* * CPU capabilities are specified as a buffer of 32-bit integers: * revision, count, and one or more capabilities. The revision of - * "1" is not specified anywhere but seems to match Linux. We should - * also support _OSC here. + * "1" is not specified anywhere but seems to match Linux. */ if (sc->cpu_features) { - arglist.Pointer = &arg; + arglist.Pointer = arg; arglist.Count = 1; - arg.Type = ACPI_TYPE_BUFFER; - arg.Buffer.Length = sizeof(cap_set); - arg.Buffer.Pointer = (uint8_t *)cap_set; + arg[0].Type = ACPI_TYPE_BUFFER; + arg[0].Buffer.Length = sizeof(cap_set); + arg[0].Buffer.Pointer = (uint8_t *)cap_set; cap_set[0] = 1; /* revision */ cap_set[1] = 1; /* number of capabilities integers */ cap_set[2] = sc->cpu_features; AcpiEvaluateObject(sc->cpu_handle, "_PDC", &arglist, NULL); + + /* + * On some systems we need to evaluate _OSC so that the ASL + * loads the _PSS and/or _PDC methods at runtime. + * + * TODO: evaluate failure of _OSC. + */ + arglist.Pointer = arg; + arglist.Count = 4; + arg[0].Type = ACPI_TYPE_BUFFER; + arg[0].Buffer.Length = sizeof(cpu_oscuuid); + arg[0].Buffer.Pointer = cpu_oscuuid; /* UUID */ + arg[1].Type = ACPI_TYPE_INTEGER; + arg[1].Integer.Value = 1; /* revision */ + arg[2].Type = ACPI_TYPE_INTEGER; + arg[2].Integer.Value = 1; /* count */ + arg[3].Type = ACPI_TYPE_BUFFER; + arg[3].Buffer.Length = sizeof(cap_set); /* Capabilities buffer */ + arg[3].Buffer.Pointer = (uint8_t *)cap_set; + cap_set[0] = 0; + AcpiEvaluateObject(sc->cpu_handle, "_OSC", &arglist, NULL); } /* Probe for Cx state support. */ ==== //depot/projects/ethng/src/sys/dev/isp/isp_freebsd.h#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/isp/isp_freebsd.h,v 1.106 2007/07/02 20:08:20 mjacob Exp $ */ +/* $FreeBSD: src/sys/dev/isp/isp_freebsd.h,v 1.107 2007/08/28 00:09:12 jkim Exp $ */ /*- * Qlogic ISP SCSI Host Adapter FreeBSD Wrapper Definitions * @@ -184,8 +184,8 @@ const struct firmware * fw; union { struct { - char wwnn[17]; - char wwpn[17]; + char wwnn[19]; + char wwpn[19]; } fc; } sysctl_info; #endif ==== //depot/projects/ethng/src/sys/dev/iwi/if_iwi.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/iwi/if_iwi.c,v 1.55 2007/06/25 20:56:33 thompsa Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/iwi/if_iwi.c,v 1.56 2007/08/29 21:52:03 thompsa Exp $"); /*- * Intel(R) PRO/Wireless 2200BG/2225BG/2915ABG driver @@ -957,7 +957,6 @@ struct iwi_softc *sc = ifp->if_softc; int error = 0; - IWI_LOCK_ASSERT(sc); DPRINTF(("%s: %s -> %s flags 0x%x\n", __func__, ieee80211_state_name[ic->ic_state], ieee80211_state_name[nstate], sc->flags)); ==== //depot/projects/ethng/src/sys/dev/ixgbe/ixgbe.c#2 (text+ko) ==== @@ -30,7 +30,7 @@ POSSIBILITY OF SUCH DAMAGE. ***************************************************************************/ -/* $FreeBSD: src/sys/dev/ixgbe/ixgbe.c,v 1.3 2007/07/12 19:04:11 jfv Exp $ */ +/* $FreeBSD: src/sys/dev/ixgbe/ixgbe.c,v 1.4 2007/09/04 02:31:34 jfv Exp $ */ #ifdef HAVE_KERNEL_OPTION_HEADERS #include "opt_device_polling.h" @@ -46,7 +46,7 @@ /********************************************************************* * Driver version *********************************************************************/ -char ixgbe_driver_version[] = "1.1.3"; +char ixgbe_driver_version[] = "1.2.6"; /********************************************************************* * PCI Device ID Table @@ -60,10 +60,9 @@ static ixgbe_vendor_info_t ixgbe_vendor_info_array[] = { - {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598, 0, 0, 0}, {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598AF_DUAL_PORT, 0, 0, 0}, {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598AF_SINGLE_PORT, 0, 0, 0}, - {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598AT_DUAL_PORT, 0, 0, 0}, + {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598EB_CX4, 0, 0, 0}, /* required last entry */ {0, 0, 0, 0, 0} }; @@ -100,8 +99,9 @@ static void ixgbe_setup_interface(device_t, struct adapter *); static int ixgbe_allocate_queues(struct adapter *); static int ixgbe_allocate_msix_resources(struct adapter *); +#if __FreeBSD_version >= 700000 static int ixgbe_setup_msix(struct adapter *); - +#endif static int ixgbe_allocate_transmit_buffers(struct tx_ring *); static int ixgbe_setup_transmit_structures(struct adapter *); static void ixgbe_setup_transmit_ring(struct tx_ring *); @@ -119,7 +119,7 @@ static void ixgbe_enable_intr(struct adapter *); static void ixgbe_disable_intr(struct adapter *); static void ixgbe_update_stats_counters(struct adapter *); -static boolean_t ixgbe_txeof(struct tx_ring *); +static bool ixgbe_txeof(struct tx_ring *); static int ixgbe_rxeof(struct rx_ring *, int); static void ixgbe_rx_checksum(struct adapter *, uint32_t, struct mbuf *); static void ixgbe_set_promisc(struct adapter *); @@ -133,6 +133,7 @@ static int ixgbe_encap(struct adapter *, struct mbuf **); static int ixgbe_sysctl_stats(SYSCTL_HANDLER_ARGS); static int ixgbe_sysctl_debug(SYSCTL_HANDLER_ARGS); +static int ixgbe_set_flowcntl(SYSCTL_HANDLER_ARGS); static int ixgbe_dma_malloc(struct adapter *, bus_size_t, struct ixgbe_dma_alloc *, int); static void ixgbe_dma_free(struct adapter *, struct ixgbe_dma_alloc *); @@ -143,14 +144,23 @@ static void ixgbe_set_ivar(struct adapter *, u16, u8); static void ixgbe_configure_ivars(struct adapter *); -/* Legacy Interrupt handler */ -static void ixgbe_intr(void *); +/* Legacy Fast Interrupt routine and handlers */ +#if __FreeBSD_version >= 700000 +static int ixgbe_fast_irq(void *); +/* The MSI/X Interrupt handlers */ +static void ixgbe_msix_tx(void *); +static void ixgbe_msix_rx(void *); +static void ixgbe_msix_link(void *); +#else +static void ixgbe_fast_irq(void *); +#endif -/* The MSI/X Interrupt handlers */ -static void ixgbe_txint(void *); -static void ixgbe_rxint(void *); -static void ixgbe_linkint(void *); +static void ixgbe_rxtx(void *context, int pending); +static void ixgbe_link(void *context, int pending); +#ifndef NO_82598_A0_SUPPORT +static void desc_flip(void *); +#endif /********************************************************************* * FreeBSD Device Interface Entry Points @@ -175,26 +185,40 @@ MODULE_DEPEND(ixgbe, pci, 1, 1, 1); MODULE_DEPEND(ixgbe, ether, 1, 1, 1); +/* +** TUNEABLE PARAMETERS: +*/ + /* How many packets rxeof tries to clean at a time */ static int ixgbe_rx_process_limit = 100; TUNABLE_INT("hw.ixgbe.rx_process_limit", &ixgbe_rx_process_limit); -/* - * Should the driver do MSI/X and RSS/MQ? - * - default to MSI/X and RSS enabled - */ -static int ixgbe_disable_msix = 0; -TUNABLE_INT("hw.ixgbe.disable_msix", &ixgbe_disable_msix); +/* Flow control setting, default to full */ +static int ixgbe_flow_control = 3; +TUNABLE_INT("hw.ixgbe.flow_control", &ixgbe_flow_control); + +/* Number of TX Queues, note multi tx is not working */ +static int ixgbe_tx_queues = 1; +TUNABLE_INT("hw.ixgbe.tx_queues", &ixgbe_tx_queues); + +/* Number of RX Queues */ +static int ixgbe_rx_queues = 8; +TUNABLE_INT("hw.ixgbe.rx_queues", &ixgbe_rx_queues); + +/* Number of Other Queues, this is used for link interrupts */ +static int ixgbe_other_queues = 1; +TUNABLE_INT("hw.ixgbe.other_queues", &ixgbe_other_queues); + +/* Number of TX descriptors per ring */ +static int ixgbe_txd = DEFAULT_TXD; +TUNABLE_INT("hw.ixgbe.txd", &ixgbe_txd); + +/* Number of RX descriptors per ring */ +static int ixgbe_rxd = DEFAULT_RXD; +TUNABLE_INT("hw.ixgbe.rxd", &ixgbe_rxd); -/* -** Flow control tuneable: -** 0 - off -** 1 - rx pause -** 2 - tx pause -** 3 - full -*/ -static int ixgbe_flow_control = 0; -TUNABLE_INT("hw.ixgbe.flow_control", &ixgbe_flow_control); +/* Total number of Interfaces - need for config sanity check */ +static int ixgbe_total_ports; /********************************************************************* * Device identification routine @@ -239,6 +263,15 @@ sprintf(adapter_name, "%s, Version - %s", ixgbe_strings[ent->index], ixgbe_driver_version); + switch (pci_device_id) { + case IXGBE_DEV_ID_82598AF_DUAL_PORT : + ixgbe_total_ports += 2; + break; + case IXGBE_DEV_ID_82598AF_SINGLE_PORT : + ixgbe_total_ports += 1; + default: + break; + } device_set_desc_copy(dev, adapter_name); return (0); } @@ -264,13 +297,17 @@ struct adapter *adapter; int error = 0; uint32_t ctrl_ext; + char name_string[16]; INIT_DEBUGOUT("ixgbe_attach: begin"); /* Allocate, clear, and link in our adapter structure */ adapter = device_get_softc(dev); adapter->dev = adapter->osdep.dev = dev; - IXGBE_LOCK_INIT(adapter, device_get_nameunit(dev)); + /* General Lock Init*/ + snprintf(name_string, sizeof(name_string), "%s:core", + device_get_nameunit(dev)); + mtx_init(&adapter->core_mtx, name_string, NULL, MTX_DEF); /* SYSCTL APIs */ SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), @@ -283,25 +320,17 @@ OID_AUTO, "debug", CTLTYPE_INT | CTLFLAG_RW, adapter, 0, ixgbe_sysctl_debug, "I", "Debug Info"); - SYSCTL_ADD_INT(device_get_sysctl_ctx(dev), >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Tue Sep 4 22:13:59 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4972616A41A; Tue, 4 Sep 2007 22:13:59 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0539716A417 for ; Tue, 4 Sep 2007 22:13:59 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id EA76213C46E for ; Tue, 4 Sep 2007 22:13:58 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l84MDwVp029199 for ; Tue, 4 Sep 2007 22:13:58 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l84MDw2L029196 for perforce@freebsd.org; Tue, 4 Sep 2007 22:13:58 GMT (envelope-from cnst@FreeBSD.org) Date: Tue, 4 Sep 2007 22:13:58 GMT Message-Id: <200709042213.l84MDw2L029196@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 126078 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Sep 2007 22:13:59 -0000 http://perforce.freebsd.org/chv.cgi?CH=126078 Change 126078 by cnst@dale on 2007/09/04 22:13:29 make the hw.sensors handler use FreeBSD's standard SYSCTL_OUT() macro, instead of bringing sysctl_rdstruct() from OpenBSD. This also fixes a bug where previously FreeBSD's kern_sysctl.c would assume that we returned a structure of size 0, because we didn't increment req->oldidx when we did our own copyout() call. Because of the above req->oldidx bug, some kern_sysctl.c logic would always set oldlenp to 0, so we had to modify OpenBSD's systat(1) and sensorsd(8) to always reinitialise oldlenp. Since now it's no longer necessary, let's revert to original OpenBSD's sysctl usage in systat(1) and sensorsd(8). I.e. now you can simply bring sensorsd(8) directly from OpenBSD, and it's going to work here -- no modification is required! :) Affected files ... .. //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#10 edit .. //depot/projects/soc2007/cnst-sensors/usr.bin.systat/sensors.c#3 edit .. //depot/projects/soc2007/cnst-sensors/usr.sbin.sensorsd/sensorsd.c#5 edit Differences ... ==== //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#10 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $P4: //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#9 $ */ +/* $P4: //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#10 $ */ /* $FreeBSD$ */ /* $OpenBSD: kern_sensors.c,v 1.19 2007/06/04 18:42:05 deraadt Exp $ */ /* $OpenBSD: kern_sysctl.c,v 1.154 2007/06/01 17:29:10 beck Exp $ */ @@ -266,47 +266,29 @@ /* * sysctl glue code */ -int sysctl_rdstruct(void *, size_t *, void *, const void *, int); -int sysctl_sensors(int *, u_int, void *, size_t *, void *, size_t); int sysctl_sensors_handler(SYSCTL_HANDLER_ARGS); SYSCTL_NODE(_hw, HW_SENSORS, sensors, CTLFLAG_RD, sysctl_sensors_handler, "Hardware Sensors"); -/* - * Validate parameters and get old parameters - * for a structure oriented sysctl function. - */ int -sysctl_rdstruct(void *oldp, size_t *oldlenp, void *newp, const void *sp, - int len) +sysctl_sensors_handler(SYSCTL_HANDLER_ARGS) { - int error = 0; - - if (oldp && *oldlenp < len) - return (ENOMEM); - if (newp) - return (EPERM); - *oldlenp = len; - if (oldp) - error = copyout(sp, oldp, len); - return (error); -} - -int -sysctl_sensors(int *name, u_int namelen, void *oldp, size_t *oldlenp, - void *newp, size_t newlen) -{ + int *name = arg1; + u_int namelen = arg2; struct ksensor *ks; struct sensor *us; struct ksensordev *ksd; struct sensordev *usd; - int dev, numt, ret; + int dev, numt, error; enum sensor_type type; if (namelen != 1 && namelen != 3) return (ENOTDIR); + if (req->newptr) + return (EPERM); + dev = name[0]; ksd = sensordev_get(dev); @@ -322,11 +304,10 @@ memcpy(usd->maxnumt, ksd->maxnumt, sizeof(usd->maxnumt)); usd->sensors_count = ksd->sensors_count; - ret = sysctl_rdstruct(oldp, oldlenp, newp, usd, - sizeof(struct sensordev)); + error = SYSCTL_OUT(req, usd, sizeof(struct sensordev)); free(usd, M_TEMP); - return (ret); + return (error); } type = name[1]; @@ -347,18 +328,8 @@ us->numt = ks->numt; us->flags = ks->flags; - ret = sysctl_rdstruct(oldp, oldlenp, newp, us, - sizeof(struct sensor)); + error = SYSCTL_OUT(req, us, sizeof(struct sensor)); + free(us, M_TEMP); - return (ret); -} - -int -sysctl_sensors_handler(SYSCTL_HANDLER_ARGS) -{ - int rv; - - rv = sysctl_sensors(arg1, arg2, req->oldptr, &req->oldlen, - req->newptr, req->newlen); - return (rv); + return (error); } ==== //depot/projects/soc2007/cnst-sensors/usr.bin.systat/sensors.c#3 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $P4: //depot/projects/soc2007/cnst-sensors/usr.bin.systat/sensors.c#2 $ */ +/* $P4: //depot/projects/soc2007/cnst-sensors/usr.bin.systat/sensors.c#3 $ */ /* $FreeBSD$ */ /* $OpenBSD: sensors.c,v 1.11 2007/03/23 14:48:22 ckuethe Exp $ */ @@ -78,6 +78,8 @@ mib[0] = CTL_HW; mib[1] = HW_SENSORS; + slen = sizeof(struct sensor); + sdlen = sizeof(struct sensordev); row = 1; sensor_cnt = 0; @@ -87,7 +89,6 @@ for (dev = 0; dev < MAXSENSORDEVICES; dev++) { mib[2] = dev; - sdlen = sizeof(struct sensordev); if (sysctl(mib, 3, &sensordev, &sdlen, NULL, 0) == -1) { if (errno != ENOENT) warn("sysctl"); @@ -97,7 +98,6 @@ mib[3] = type; for (numt = 0; numt < sensordev.maxnumt[type]; numt++) { mib[4] = numt; - slen = sizeof(struct sensor); if (sysctl(mib, 5, &sensor, &slen, NULL, 0) == -1) { if (errno != ENOENT) ==== //depot/projects/soc2007/cnst-sensors/usr.sbin.sensorsd/sensorsd.c#5 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $P4: //depot/projects/soc2007/cnst-sensors/usr.sbin.sensorsd/sensorsd.c#4 $ */ +/* $P4: //depot/projects/soc2007/cnst-sensors/usr.sbin.sensorsd/sensorsd.c#5 $ */ /* $FreeBSD$ */ /* $OpenBSD: sensorsd.c,v 1.34 2007/08/14 17:10:02 cnst Exp $ */ @@ -110,7 +110,7 @@ { struct sensordev sensordev; struct sdlim_t *sdlim; - size_t sdlen; + size_t sdlen = sizeof(sensordev); time_t next_report, last_report = 0, next_check; int mib[3], dev; int sleeptime, sensor_cnt = 0, ch; @@ -130,7 +130,6 @@ for (dev = 0; dev < MAXSENSORDEVICES; dev++) { mib[2] = dev; - sdlen = sizeof(sensordev); if (sysctl(mib, 3, &sensordev, &sdlen, NULL, 0) == -1) { if (errno != ENOENT) warn("sysctl"); @@ -191,7 +190,7 @@ struct sensor sensor; struct sdlim_t *sdlim; struct limits_t *limit; - size_t slen; + size_t slen = sizeof(sensor); int mib[5], numt; enum sensor_type type; @@ -210,7 +209,6 @@ mib[3] = type; for (numt = 0; numt < snsrdev->maxnumt[type]; numt++) { mib[4] = numt; - slen = sizeof(sensor); if (sysctl(mib, 5, &sensor, &slen, NULL, 0) == -1) { if (errno != ENOENT) warn("sysctl"); @@ -249,6 +247,7 @@ mib[0] = CTL_HW; mib[1] = HW_SENSORS; mib[2] = sdlim->dev; + len = sizeof(sensor); TAILQ_FOREACH(limit, &sdlim->limits, entries) { if ((limit->flags & SENSORSD_L_ISTATUS) && @@ -257,7 +256,6 @@ mib[3] = limit->type; mib[4] = limit->numt; - len = sizeof(sensor); if (sysctl(mib, 5, &sensor, &len, NULL, 0) == -1) err(1, "sysctl"); From owner-p4-projects@FreeBSD.ORG Tue Sep 4 23:40:52 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9A4D816A46B; Tue, 4 Sep 2007 23:40:52 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6573516A468 for ; Tue, 4 Sep 2007 23:40:52 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 560E713C469 for ; Tue, 4 Sep 2007 23:40:52 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l84Neqtp040252 for ; Tue, 4 Sep 2007 23:40:52 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l84NepnW040245 for perforce@freebsd.org; Tue, 4 Sep 2007 23:40:51 GMT (envelope-from anchie@FreeBSD.org) Date: Tue, 4 Sep 2007 23:40:51 GMT Message-Id: <200709042340.l84NepnW040245@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 126081 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Sep 2007 23:40:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=126081 Change 126081 by anchie@anchie_malimis on 2007/09/04 23:39:51 Added domain init function for inet6domain. Affected files ... .. //depot/projects/vimage/src/sys/netinet/tcp_subr.c#28 edit .. //depot/projects/vimage/src/sys/netinet6/icmp6.c#15 edit .. //depot/projects/vimage/src/sys/netinet6/in6_ifattach.c#13 edit .. //depot/projects/vimage/src/sys/netinet6/in6_pcb.c#13 edit .. //depot/projects/vimage/src/sys/netinet6/in6_proto.c#14 edit .. //depot/projects/vimage/src/sys/netinet6/ip6_input.c#22 edit .. //depot/projects/vimage/src/sys/netinet6/ip6_output.c#11 edit .. //depot/projects/vimage/src/sys/netinet6/nd6.c#19 edit .. //depot/projects/vimage/src/sys/netinet6/nd6.h#5 edit .. //depot/projects/vimage/src/sys/netinet6/nd6_rtr.c#9 edit .. //depot/projects/vimage/src/sys/netinet6/raw_ip6.c#14 edit .. //depot/projects/vimage/src/sys/netinet6/scope6.c#11 edit .. //depot/projects/vimage/src/sys/netinet6/udp6_usrreq.c#17 edit .. //depot/projects/vimage/src/sys/netinet6/vinet6.h#12 edit Differences ... ==== //depot/projects/vimage/src/sys/netinet/tcp_subr.c#28 (text+ko) ==== @@ -95,6 +95,7 @@ #include #endif #include +#include #ifdef IPSEC #include @@ -1148,6 +1149,7 @@ tcp6_getcred(SYSCTL_HANDLER_ARGS) { INIT_VNET_INET(curvnet); + INIT_VNET_INET6(curvnet); struct xucred xuc; struct sockaddr_in6 addrs[2]; struct inpcb *inp; @@ -1159,8 +1161,8 @@ error = SYSCTL_IN(req, addrs, sizeof(addrs)); if (error) return (error); - if ((error = sa6_embedscope(&addrs[0], ip6_use_defzone)) != 0 || - (error = sa6_embedscope(&addrs[1], ip6_use_defzone)) != 0) { + if ((error = sa6_embedscope(&addrs[0], V_ip6_use_defzone)) != 0 || + (error = sa6_embedscope(&addrs[1], V_ip6_use_defzone)) != 0) { return (error); } if (IN6_IS_ADDR_V4MAPPED(&addrs[0].sin6_addr)) { @@ -2062,6 +2064,7 @@ sysctl_drop(SYSCTL_HANDLER_ARGS) { INIT_VNET_INET(curvnet); + INIT_VNET_INET6(curvnet); /* addrs[0] is a foreign socket, addrs[1] is a local one. */ struct sockaddr_storage addrs[2]; struct inpcb *inp; @@ -2108,10 +2111,10 @@ lin = (struct sockaddr_in *)&addrs[1]; break; } - error = sa6_embedscope(fin6, ip6_use_defzone); + error = sa6_embedscope(fin6, V_ip6_use_defzone); if (error) return (error); - error = sa6_embedscope(lin6, ip6_use_defzone); + error = sa6_embedscope(lin6, V_ip6_use_defzone); if (error) return (error); break; ==== //depot/projects/vimage/src/sys/netinet6/icmp6.c#15 (text+ko) ==== @@ -120,7 +120,7 @@ static int icmp6errpps_count = 0; #endif /* !VIMAGE */ static struct timeval icmp6errppslim_last; -#ifdef VIMAGE +#ifndef VIMAGE extern int icmp6_nodeinfo; #endif /* !VIMAGE */ ==== //depot/projects/vimage/src/sys/netinet6/in6_ifattach.c#13 (text+ko) ==== @@ -136,6 +136,7 @@ static int generate_tmp_ifid(u_int8_t *seed0, const u_int8_t *seed1, u_int8_t *ret) { + INIT_VNET_INET6(curvnet); MD5_CTX ctxt; u_int8_t seed[16], digest[16], nullbuf[8]; u_int32_t val32; @@ -356,6 +357,7 @@ struct in6_addr *in6) { INIT_VNET_NET(ifp0->if_vnet); + INIT_VNET_INET6(ifp0->if_vnet); struct ifnet *ifp; /* first, try to get it from the interface itself */ @@ -419,6 +421,7 @@ static int in6_ifattach_linklocal(struct ifnet *ifp, struct ifnet *altifp) { + INIT_VNET_INET6(curvnet); struct in6_ifaddr *ia; struct in6_aliasreq ifra; struct nd_prefixctl pr0; @@ -535,6 +538,7 @@ static int in6_ifattach_loopback(struct ifnet *ifp) { + INIT_VNET_INET6(curvnet); struct in6_aliasreq ifra; int error; ==== //depot/projects/vimage/src/sys/netinet6/in6_pcb.c#13 (text+ko) ==== @@ -146,7 +146,7 @@ if (nam->sa_family != AF_INET6) return (EAFNOSUPPORT); - if ((error = sa6_embedscope(sin6, ip6_use_defzone)) != 0) + if ((error = sa6_embedscope(sin6, V_ip6_use_defzone)) != 0) return(error); lport = sin6->sin6_port; @@ -302,9 +302,9 @@ if (sin6->sin6_port == 0) return (EADDRNOTAVAIL); - if (sin6->sin6_scope_id == 0 && !ip6_use_defzone) + if (sin6->sin6_scope_id == 0 && !V_ip6_use_defzone) scope_ambiguous = 1; - if ((error = sa6_embedscope(sin6, ip6_use_defzone)) != 0) + if ((error = sa6_embedscope(sin6, V_ip6_use_defzone)) != 0) return(error); if (V_in6_ifaddr) { ==== //depot/projects/vimage/src/sys/netinet6/in6_proto.c#14 (text+ko) ==== @@ -349,37 +349,9 @@ extern int in6_detachhead(void **, int); #endif -static void -ip6_test_init(void) -{ - printf("---> ip6_test_init() \n"); -} - -struct domain inet6domain = { - .dom_family = AF_INET6, - .dom_name = "internet6", - .dom_protosw = (struct protosw *)inet6sw, - .dom_protoswNPROTOSW = (struct protosw *) - &inet6sw[sizeof(inet6sw)/sizeof(inet6sw[0])], - .dom_rtattach = in6_inithead, -#ifdef VIMAGE - .dom_rtdetach = in6_detachhead, -#endif - .dom_rtoffset = offsetof(struct sockaddr_in6, sin6_addr) << 3, - .dom_maxrtkey = sizeof(struct sockaddr_in6), - .dom_ifattach = in6_domifattach, - .dom_ifdetach = in6_domifdetach, -#ifdef VIMAGE - .dom_init = ip6_test_init -#endif -}; - -DOMAIN_SET(inet6); - /* * Internet configuration info */ -#ifndef VIMAGE #ifndef IPV6FORWARDING #ifdef GATEWAY6 #define IPV6FORWARDING 1 /* forward IP6 packets not for us */ @@ -392,6 +364,7 @@ #define IPV6_SENDREDIRECTS 1 #endif +#ifndef VIMAGE int ip6_forwarding = IPV6FORWARDING; /* act as router? */ int ip6_sendredirects = IPV6_SENDREDIRECTS; int ip6_defhlim = IPV6_DEFHLIM; @@ -426,6 +399,7 @@ #ifndef VIMAGE int pmtu_expire = 60*10; int pmtu_probe = 60*2; +#endif /* raw IP6 parameters */ /* @@ -434,6 +408,7 @@ #define RIPV6SNDQ 8192 #define RIPV6RCVQ 8192 +#ifndef VIMAGE u_long rip6_sendspace = RIPV6SNDQ; u_long rip6_recvspace = RIPV6RCVQ; @@ -447,7 +422,6 @@ /* UDP on IP6 parameters */ int udp6_sendspace = 9216; /* really max datagram size */ int udp6_recvspace = 40 * (1024 + sizeof(struct sockaddr_in6)); - /* 40 1K datagrams */ #endif /* !VIMAGE */ /* @@ -477,7 +451,9 @@ #endif { INIT_VNET_INET6(curvnet); +#ifdef VIMAGE SYSCTL_RESOLVE_V_ARG1(); +#endif int error = 0; int old; @@ -502,7 +478,9 @@ #endif { INIT_VNET_INET6(curvnet); +#ifdef VIMAGE SYSCTL_RESOLVE_V_ARG1(); +#endif int error = 0; int old; @@ -552,12 +530,21 @@ rr_prune, CTLFLAG_RW, ip6_rr_prune, 0, ""); SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_USETEMPADDR, use_tempaddr, CTLFLAG_RW, ip6_use_tempaddr, 0, ""); +#ifdef VIMAGE SYSCTL_V_OID(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_TEMPPLTIME, temppltime, CTLTYPE_INT|CTLFLAG_RW, ip6_temp_preferred_lifetime, 0, sysctl_ip6_temppltime, "I", ""); SYSCTL_V_OID(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_TEMPVLTIME, tempvltime, CTLTYPE_INT|CTLFLAG_RW, ip6_temp_valid_lifetime, 0, sysctl_ip6_tempvltime, "I", ""); +#else +SYSCTL_OID(_net_inet6_ip6, IPV6CTL_TEMPPLTIME, temppltime, + CTLTYPE_INT|CTLFLAG_RW, &ip6_temp_preferred_lifetime, 0, + sysctl_ip6_temppltime, "I", ""); +SYSCTL_OID(_net_inet6_ip6, IPV6CTL_TEMPVLTIME, tempvltime, + CTLTYPE_INT|CTLFLAG_RW, &ip6_temp_valid_lifetime, 0, + sysctl_ip6_tempvltime, "I", ""); +#endif SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_V6ONLY, v6only, CTLFLAG_RW, ip6_v6only, 0, ""); #ifndef VIMAGE @@ -569,8 +556,8 @@ rip6stats, CTLFLAG_RD, rip6stat, rip6stat, ""); SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_PREFER_TEMPADDR, prefer_tempaddr, CTLFLAG_RW, ip6_prefer_tempaddr, 0, ""); -SYSCTL_INT(_net_inet6_ip6, IPV6CTL_USE_DEFAULTZONE, - use_defaultzone, CTLFLAG_RW, &ip6_use_defzone, 0,""); +SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_USE_DEFAULTZONE, + use_defaultzone, CTLFLAG_RW, ip6_use_defzone, 0,""); SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_MAXFRAGS, maxfrags, CTLFLAG_RW, ip6_maxfrags, 0, ""); SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_MCAST_PMTU, @@ -603,5 +590,79 @@ errppslimit, CTLFLAG_RW, icmp6errppslim, 0, ""); SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_icmp6, ICMPV6CTL_ND6_MAXNUDHINT, nd6_maxnudhint, CTLFLAG_RW, nd6_maxnudhint, 0, ""); -SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_DEBUG, - nd6_debug, CTLFLAG_RW, &nd6_debug, 0, ""); +SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_icmp6, ICMPV6CTL_ND6_DEBUG, + nd6_debug, CTLFLAG_RW, nd6_debug, 0, ""); + +#ifdef VIMAGE +static void +ip6_test_init(void) +{ + INIT_VNET_INET6(curvnet); + INIT_VNET_GIF(curvnet); + + printf("---> ip6_test_init() \n"); + V_ip6_forwarding = IPV6FORWARDING; /* act as router? */ + V_ip6_sendredirects = IPV6_SENDREDIRECTS; + V_ip6_defhlim = IPV6_DEFHLIM; + V_ip6_defmcasthlim = IPV6_DEFAULT_MULTICAST_HOPS; + V_ip6_accept_rtadv = 0; /* "IPV6FORWARDING ? 0 : 1" is dangerous */ + V_ip6_maxfragpackets = 0; /* initialized in frag6.c:frag6_init() */ + V_ip6_maxfrags = 0; /* initialized in frag6.c:frag6_init() */ + V_ip6_log_interval = 5; + V_ip6_hdrnestlimit = 15; /* How many header options will we process? */ + V_ip6_dad_count = 1; /* DupAddrDetectionTransmits */ + V_ip6_auto_flowlabel = 1; + V_ip6_gif_hlim = 0; + V_ip6_use_deprecated = 1; /* allow deprecated addr (RFC2462 5.5.4) */ + V_ip6_rr_prune = 5; /* router renumbering prefix + * walk list every 5 sec. */ + V_ip6_mcast_pmtu = 0; /* enable pMTU discovery for multicast? */ + V_ip6_v6only = 1; + + V_ip6_keepfaith = 0; + V_ip6_log_time = (time_t)0L; +#ifdef IPSTEALTH + V_ip6stealth = 0; +#endif + + V_pmtu_expire = 60*10; + V_pmtu_probe = 60*2; + + V_rip6_sendspace = RIPV6SNDQ; + V_rip6_recvspace = RIPV6RCVQ; + + /* ICMPV6 parameters */ + V_icmp6_rediraccept = 1; /* accept and process redirects */ + V_icmp6_redirtimeout = 10 * 60; /* 10 minutes */ + V_icmp6errppslim = 100; /* 100pps */ + /* control how to respond to NI queries */ + V_icmp6_nodeinfo = (ICMP6_NODEINFO_FQDNOK|ICMP6_NODEINFO_NODEADDROK); + + /* UDP on IP6 parameters */ + V_udp6_sendspace = 9216; /* really max datagram size */ + V_udp6_recvspace = 40 * (1024 + sizeof(struct sockaddr_in6)); + /* 40 1K datagrams */ + +} +#endif + +struct domain inet6domain = { + .dom_family = AF_INET6, + .dom_name = "internet6", + .dom_protosw = (struct protosw *)inet6sw, + .dom_protoswNPROTOSW = (struct protosw *) + &inet6sw[sizeof(inet6sw)/sizeof(inet6sw[0])], + .dom_rtattach = in6_inithead, +#ifdef VIMAGE + .dom_rtdetach = in6_detachhead, +#endif + .dom_rtoffset = offsetof(struct sockaddr_in6, sin6_addr) << 3, + .dom_maxrtkey = sizeof(struct sockaddr_in6), + .dom_ifattach = in6_domifattach, + .dom_ifdetach = in6_domifdetach, +#ifdef VIMAGE + .dom_init = ip6_test_init +#endif +}; + +DOMAIN_SET(inet6); ==== //depot/projects/vimage/src/sys/netinet6/ip6_input.c#22 (text+ko) ==== @@ -159,22 +159,6 @@ SYSINIT(inet6, SI_SUB_PROTO_BEGIN, SI_ORDER_FIRST, vnet_inet6_register, 0); #endif /* VIMAGE */ -#ifdef VIMAGE -#ifndef IPV6FORWARDING -#ifdef GATEWAY6 -#define IPV6FORWARDING 1 /* forward IP6 packets not for us */ -#else -#define IPV6FORWARDING 0 /* don't forward IP6 packets not for us */ -#endif /* !GATEWAY6 */ -#endif /* !IPV6FORWARDING */ - -#ifndef IPV6_SENDREDIRECTS -#define IPV6_SENDREDIRECTS 1 -#endif -#define RIPV6SNDQ 8192 -#define RIPV6RCVQ 8192 -#endif /* !VIMAGE */ - /* * IP6 initialization: fill in IP6 protocol switch table. * All protocols not implemented in kernel go to raw IP6 protocol handler. @@ -184,52 +168,9 @@ { printf("---> ip6_init() \n"); INIT_VNET_INET6(curvnet); - INIT_VNET_GIF(curvnet); struct ip6protosw *pr; int i; - V_ip6_forwarding = IPV6FORWARDING; /* act as router? */ - V_ip6_sendredirects = IPV6_SENDREDIRECTS; - V_ip6_defhlim = IPV6_DEFHLIM; - V_ip6_defmcasthlim = IPV6_DEFAULT_MULTICAST_HOPS; - V_ip6_accept_rtadv = 0; /* "IPV6FORWARDING ? 0 : 1" is dangerous */ - V_ip6_maxfragpackets = 0; /* initialized in frag6.c:frag6_init() */ - V_ip6_maxfrags = 0; /* initialized in frag6.c:frag6_init() */ - V_ip6_log_interval = 5; - V_ip6_hdrnestlimit = 15; /* How many header options will we process? */ - V_ip6_dad_count = 1; /* DupAddrDetectionTransmits */ - V_ip6_auto_flowlabel = 1; - V_ip6_gif_hlim = 0; - V_ip6_use_deprecated = 1; /* allow deprecated addr (RFC2462 5.5.4) */ - V_ip6_rr_prune = 5; /* router renumbering prefix - * walk list every 5 sec. */ - V_ip6_mcast_pmtu = 0; /* enable pMTU discovery for multicast? */ - V_ip6_v6only = 1; - - V_ip6_keepfaith = 0; - V_ip6_log_time = (time_t)0L; -#ifdef IPSTEALTH - V_ip6stealth = 0; -#endif - - V_pmtu_expire = 60*10; - V_pmtu_probe = 60*2; - - V_rip6_sendspace = RIPV6SNDQ; - V_rip6_recvspace = RIPV6RCVQ; - - /* ICMPV6 parameters */ - V_icmp6_rediraccept = 1; /* accept and process redirects */ - V_icmp6_redirtimeout = 10 * 60; /* 10 minutes */ - V_icmp6errppslim = 100; /* 100pps */ - /* control how to respond to NI queries */ - V_icmp6_nodeinfo = (ICMP6_NODEINFO_FQDNOK|ICMP6_NODEINFO_NODEADDROK); - - /* UDP on IP6 parameters */ - V_udp6_sendspace = 9216; /* really max datagram size */ - V_udp6_recvspace = 40 * (1024 + sizeof(struct sockaddr_in6)); - /* 40 1K datagrams */ - V_ip6_prefer_tempaddr = 0; V_ip6qmaxlen = IFQ_MAXLEN; ==== //depot/projects/vimage/src/sys/netinet6/ip6_output.c#11 (text+ko) ==== @@ -455,7 +455,7 @@ sa.sin6_len = sizeof(sa); sa.sin6_addr = addr[0]; if ((error = sa6_embedscope(&sa, - ip6_use_defzone)) != 0) { + V_ip6_use_defzone)) != 0) { goto bad; } ip6->ip6_dst = sa.sin6_addr; @@ -2662,7 +2662,7 @@ sa6_mc.sin6_family = AF_INET6; sa6_mc.sin6_len = sizeof(sa6_mc); sa6_mc.sin6_addr = mreq->ipv6mr_multiaddr; - error = sa6_embedscope(&sa6_mc, ip6_use_defzone); + error = sa6_embedscope(&sa6_mc, V_ip6_use_defzone); if (error != 0) break; mreq->ipv6mr_multiaddr = sa6_mc.sin6_addr; @@ -2848,6 +2848,7 @@ int priv, int sticky, int cmsg, int uproto) { INIT_VNET_NET(curvnet); + INIT_VNET_INET6(curvnet); int minmtupolicy, preftemp; if (!sticky && !cmsg) { @@ -3015,7 +3016,7 @@ IN6_IS_ADDR_MULTICAST(&sa6->sin6_addr)) { return (EINVAL); } - if ((error = sa6_embedscope(sa6, ip6_use_defzone)) + if ((error = sa6_embedscope(sa6, V_ip6_use_defzone)) != 0) { return (error); } ==== //depot/projects/vimage/src/sys/netinet6/nd6.c#19 (text+ko) ==== @@ -94,7 +94,6 @@ int nd6_maxnudhint = 0; /* max # of subsequent upper layer hints */ int nd6_maxqueuelen = 1; /* max # of packets cached in unresolved ND entries */ -#endif /* !VIMAGE */ #ifdef ND6_DEBUG int nd6_debug = 1; @@ -102,7 +101,6 @@ int nd6_debug = 0; #endif -#ifndef VIMAGE /* for debugging? */ static int nd6_inuse, nd6_allocated; @@ -147,6 +145,13 @@ V_nd6_maxnudhint = 0; /* max # of subsequent upper layer hints */ V_nd6_maxqueuelen = 1; /* max # of packets cached in unresolved ND entries */ + +#ifdef ND6_DEBUG + V_nd6_debug = 1; +#else + V_nd6_debug = 0; +#endif + V_nd6_recalc_reachtm_interval = ND6_RECALC_REACHTM_INTERVAL; V_dad_ignore_ns = 0; /* ignore NS in DAD - specwise incorrect*/ @@ -864,6 +869,7 @@ struct rtentry * nd6_lookup(struct in6_addr *addr6, int create, struct ifnet *ifp) { + INIT_VNET_INET6(curvnet); struct rtentry *rt; struct sockaddr_in6 sin6; char ip6buf[INET6_ADDRSTRLEN]; ==== //depot/projects/vimage/src/sys/netinet6/nd6.h#5 (text+ko) ==== @@ -328,6 +328,7 @@ LIST_HEAD(nd_prhead, nd_prefix); /* nd6.c */ +#ifndef VIMAGE extern int nd6_prune; extern int nd6_delay; extern int nd6_umaxtries; @@ -335,14 +336,13 @@ extern int nd6_useloopback; extern int nd6_maxnudhint; extern int nd6_gctimer; -#ifndef VIMAGE extern struct llinfo_nd6 llinfo_nd6; extern struct nd_drhead nd_defrouter; extern struct nd_prhead nd_prefix; +extern int nd6_debug; #endif -extern int nd6_debug; -#define nd6log(x) do { if (nd6_debug) log x; } while (/*CONSTCOND*/ 0) +#define nd6log(x) do { if (V_nd6_debug) log x; } while (/*CONSTCOND*/ 0) #ifndef VIMAGE extern struct callout nd6_timer_ch; @@ -351,13 +351,11 @@ /* nd6_rtr.c */ #ifndef VIMAGE extern int nd6_defifindex; -#endif extern int ip6_desync_factor; /* seconds */ -#ifndef VIMAGE extern u_int32_t ip6_temp_preferred_lifetime; /* seconds */ extern u_int32_t ip6_temp_valid_lifetime; /* seconds */ +extern int ip6_temp_regen_advance; /* seconds */ #endif -extern int ip6_temp_regen_advance; /* seconds */ union nd_opts { struct nd_opt_hdr *nd_opt_array[8]; /* max = target address list */ ==== //depot/projects/vimage/src/sys/netinet6/nd6_rtr.c#9 (text+ko) ==== @@ -933,6 +933,7 @@ void prelist_remove(struct nd_prefix *pr) { + INIT_VNET_INET6(curvnet); struct nd_pfxrouter *pfr, *next; int e, s; char ip6buf[INET6_ADDRSTRLEN]; @@ -1742,6 +1743,7 @@ static struct in6_ifaddr * in6_ifadd(struct nd_prefixctl *pr, int mcast) { + INIT_VNET_INET6(curvnet); struct ifnet *ifp = pr->ndpr_ifp; struct ifaddr *ifa; struct in6_aliasreq ifra; ==== //depot/projects/vimage/src/sys/netinet6/raw_ip6.c#14 (text+ko) ==== @@ -371,9 +371,9 @@ * XXX: we may still need to determine the zone later. */ if (!(so->so_state & SS_ISCONNECTED)) { - if (dstsock->sin6_scope_id == 0 && !ip6_use_defzone) + if (dstsock->sin6_scope_id == 0 && !V_ip6_use_defzone) scope_ambiguous = 1; - if ((error = sa6_embedscope(dstsock, ip6_use_defzone)) != 0) + if ((error = sa6_embedscope(dstsock, V_ip6_use_defzone)) != 0) goto bad; } @@ -654,6 +654,7 @@ { INIT_VNET_NET(so->so_vnet); INIT_VNET_INET(so->so_vnet); + INIT_VNET_INET6(so->so_vnet); struct inpcb *inp = sotoinpcb(so); struct sockaddr_in6 *addr = (struct sockaddr_in6 *)nam; struct ifaddr *ia = NULL; @@ -664,7 +665,7 @@ return EINVAL; if (TAILQ_EMPTY(&V_ifnet) || addr->sin6_family != AF_INET6) return EADDRNOTAVAIL; - if ((error = sa6_embedscope(addr, ip6_use_defzone)) != 0) + if ((error = sa6_embedscope(addr, V_ip6_use_defzone)) != 0) return(error); if (!IN6_IS_ADDR_UNSPECIFIED(&addr->sin6_addr) && @@ -689,6 +690,7 @@ { INIT_VNET_NET(so->so_vnet); INIT_VNET_INET(so->so_vnet); + INIT_VNET_INET6(so->so_vnet); struct inpcb *inp = sotoinpcb(so); struct sockaddr_in6 *addr = (struct sockaddr_in6 *)nam; struct in6_addr *in6a = NULL; @@ -711,9 +713,9 @@ * we'll see if we can determine the outgoing interface. If we * can, determine the zone ID based on the interface below. */ - if (addr->sin6_scope_id == 0 && !ip6_use_defzone) + if (addr->sin6_scope_id == 0 && !V_ip6_use_defzone) scope_ambiguous = 1; - if ((error = sa6_embedscope(addr, ip6_use_defzone)) != 0) + if ((error = sa6_embedscope(addr, V_ip6_use_defzone)) != 0) return(error); INP_INFO_WLOCK(&V_ripcbinfo); ==== //depot/projects/vimage/src/sys/netinet6/scope6.c#11 (text+ko) ==== @@ -51,11 +51,13 @@ #include #include +#ifndef VIMAGE #ifdef ENABLE_DEFAULT_SCOPE int ip6_use_defzone = 1; #else int ip6_use_defzone = 0; #endif +#endif /* !VIMAGE */ /* * The scope6_lock protects the global sid default stored in @@ -79,6 +81,12 @@ { INIT_VNET_INET6(curvnet); +#ifdef ENABLE_DEFAULT_SCOPE + V_ip6_use_defzone = 1; +#else + V_ip6_use_defzone = 0; +#endif + bzero(&V_sid_default, sizeof(V_sid_default)); #ifdef VIMAGE ==== //depot/projects/vimage/src/sys/netinet6/udp6_usrreq.c#17 (text+ko) ==== @@ -437,6 +437,7 @@ udp6_getcred(SYSCTL_HANDLER_ARGS) { INIT_VNET_INET(curvnet); + INIT_VNET_INET6(curvnet); struct xucred xuc; struct sockaddr_in6 addrs[2]; struct inpcb *inp; @@ -453,8 +454,8 @@ error = SYSCTL_IN(req, addrs, sizeof(addrs)); if (error) return (error); - if ((error = sa6_embedscope(&addrs[0], ip6_use_defzone)) != 0 || - (error = sa6_embedscope(&addrs[1], ip6_use_defzone)) != 0) { + if ((error = sa6_embedscope(&addrs[0], V_ip6_use_defzone)) != 0 || + (error = sa6_embedscope(&addrs[1], V_ip6_use_defzone)) != 0) { return (error); } INP_INFO_RLOCK(&V_udbinfo); @@ -494,6 +495,7 @@ struct mbuf *control, struct thread *td) { INIT_VNET_INET(curvnet); + INIT_VNET_INET6(curvnet); u_int32_t ulen = m->m_pkthdr.len; u_int32_t plen = sizeof(struct udphdr) + ulen; struct ip6_hdr *ip6; @@ -532,9 +534,9 @@ * we'll see if we can determine the outgoing interface. If we * can, determine the zone ID based on the interface below. */ - if (sin6->sin6_scope_id == 0 && !ip6_use_defzone) + if (sin6->sin6_scope_id == 0 && !V_ip6_use_defzone) scope_ambiguous = 1; - if ((error = sa6_embedscope(sin6, ip6_use_defzone)) != 0) + if ((error = sa6_embedscope(sin6, V_ip6_use_defzone)) != 0) return (error); } ==== //depot/projects/vimage/src/sys/netinet6/vinet6.h#12 (text+ko) ==== @@ -66,16 +66,16 @@ u_int _in6_maxmtu; int _ip6_auto_linklocal; - struct ip6stat _ip6stat; + struct ip6stat _ip6stat; struct rip6stat _rip6stat; struct icmp6stat _icmp6stat; int _rtq_timeout6; - struct callout _rtq_timer6; - struct callout _rtq_mtutimer; - struct callout _nd6_slowtimo_ch; - struct callout _nd6_timer_ch; - struct callout _in6_tmpaddrtimer_ch; + struct callout _rtq_timer6; + struct callout _rtq_mtutimer; + struct callout _nd6_slowtimo_ch; + struct callout _nd6_timer_ch; + struct callout _in6_tmpaddrtimer_ch; int _nd6_inuse; int _nd6_allocated; @@ -139,6 +139,7 @@ int _nd6_maxndopt; int _nd6_maxnudhint; int _nd6_maxqueuelen; + int _nd6_debug; int _nd6_recalc_reachtm_interval; int _dad_ignore_ns; int _dad_maxtry; @@ -152,6 +153,7 @@ u_int _mrt6debug; int _ip6_temp_regen_advance; + int _ip6_use_defzone; }; #endif @@ -245,6 +247,7 @@ #define V_nd6_maxndopt VNET_INET6(nd6_maxndopt) #define V_nd6_maxnudhint VNET_INET6(nd6_maxnudhint) #define V_nd6_maxqueuelen VNET_INET6(nd6_maxqueuelen) +#define V_nd6_debug VNET_INET6(nd6_debug) #define V_nd6_recalc_reachtm_interval VNET_INET6(nd6_recalc_reachtm_interval) #define V_dad_ignore_ns VNET_INET6(dad_ignore_ns) #define V_dad_maxtry VNET_INET6(dad_maxtry) @@ -258,4 +261,6 @@ #define V_mrt6debug VNET_INET6(mrt6debug) #define V_ip6_temp_regen_advance VNET_INET6(ip6_temp_regen_advance) +#define V_ip6_use_defzone VNET_INET6(ip6_use_defzone) + #endif /* !_NETINET6_VINET6_H_ */ From owner-p4-projects@FreeBSD.ORG Wed Sep 5 03:27:50 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3613616A419; Wed, 5 Sep 2007 03:27:50 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E641F16A418 for ; Wed, 5 Sep 2007 03:27:49 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D79B013C45B for ; Wed, 5 Sep 2007 03:27:49 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l853Rne0069834 for ; Wed, 5 Sep 2007 03:27:49 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l853RnAJ069831 for perforce@freebsd.org; Wed, 5 Sep 2007 03:27:49 GMT (envelope-from cnst@FreeBSD.org) Date: Wed, 5 Sep 2007 03:27:49 GMT Message-Id: <200709050327.l853RnAJ069831@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 126082 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Sep 2007 03:27:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=126082 Change 126082 by cnst@dale on 2007/09/05 03:26:48 factor out some code from sysctl_sensors_handler() into new functions called sysctl_handle_sensordev() and sysctl_handle_sensor(), which are modelled after kern_sysctl.c::sysctl_handle_string(). Affected files ... .. //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#11 edit Differences ... ==== //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#11 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $P4: //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#10 $ */ +/* $P4: //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#11 $ */ /* $FreeBSD$ */ /* $OpenBSD: kern_sensors.c,v 1.19 2007/06/04 18:42:05 deraadt Exp $ */ /* $OpenBSD: kern_sysctl.c,v 1.154 2007/06/01 17:29:10 beck Exp $ */ @@ -266,57 +266,48 @@ /* * sysctl glue code */ +int sysctl_handle_sensordev(SYSCTL_HANDLER_ARGS); +int sysctl_handle_sensor(SYSCTL_HANDLER_ARGS); int sysctl_sensors_handler(SYSCTL_HANDLER_ARGS); SYSCTL_NODE(_hw, HW_SENSORS, sensors, CTLFLAG_RD, sysctl_sensors_handler, "Hardware Sensors"); int -sysctl_sensors_handler(SYSCTL_HANDLER_ARGS) +sysctl_handle_sensordev(SYSCTL_HANDLER_ARGS) { - int *name = arg1; - u_int namelen = arg2; - struct ksensor *ks; - struct sensor *us; - struct ksensordev *ksd; + struct ksensordev *ksd = arg1; struct sensordev *usd; - int dev, numt, error; - enum sensor_type type; - - if (namelen != 1 && namelen != 3) - return (ENOTDIR); + int error; if (req->newptr) return (EPERM); - dev = name[0]; + /* Grab a copy, to clear the kernel pointers */ + usd = malloc(sizeof(*usd), M_TEMP, M_WAITOK); + bzero(usd, sizeof(*usd)); + usd->num = ksd->num; + strlcpy(usd->xname, ksd->xname, sizeof(usd->xname)); + memcpy(usd->maxnumt, ksd->maxnumt, sizeof(usd->maxnumt)); + usd->sensors_count = ksd->sensors_count; - ksd = sensordev_get(dev); - if (ksd == NULL) - return (ENOENT); + error = SYSCTL_OUT(req, usd, sizeof(struct sensordev)); - if (namelen == 1) { - /* Grab a copy, to clear the kernel pointers */ - usd = malloc(sizeof(*usd), M_TEMP, M_WAITOK); - bzero(usd, sizeof(*usd)); - usd->num = ksd->num; - strlcpy(usd->xname, ksd->xname, sizeof(usd->xname)); - memcpy(usd->maxnumt, ksd->maxnumt, sizeof(usd->maxnumt)); - usd->sensors_count = ksd->sensors_count; + free(usd, M_TEMP); + return (error); - error = SYSCTL_OUT(req, usd, sizeof(struct sensordev)); +} - free(usd, M_TEMP); - return (error); - } +int +sysctl_handle_sensor(SYSCTL_HANDLER_ARGS) +{ + struct ksensor *ks = arg1; + struct sensor *us; + int error; - type = name[1]; - numt = name[2]; + if (req->newptr) + return (EPERM); - ks = sensor_find(ksd, type, numt); - if (ks == NULL) - return (ENOENT); - /* Grab a copy, to clear the kernel pointers */ us = malloc(sizeof(*us), M_TEMP, M_WAITOK); bzero(us, sizeof(*us)); @@ -333,3 +324,35 @@ free(us, M_TEMP); return (error); } + +int +sysctl_sensors_handler(SYSCTL_HANDLER_ARGS) +{ + int *name = arg1; + u_int namelen = arg2; + struct ksensor *ks; + struct ksensordev *ksd; + int dev, numt; + enum sensor_type type; + + if (namelen != 1 && namelen != 3) + return (ENOTDIR); + + dev = name[0]; + + ksd = sensordev_get(dev); + if (ksd == NULL) + return (ENOENT); + + if (namelen == 1) + return (sysctl_handle_sensordev(NULL, ksd, 0, req)); + + type = name[1]; + numt = name[2]; + + ks = sensor_find(ksd, type, numt); + if (ks == NULL) + return (ENOENT); + + return (sysctl_handle_sensor(NULL, ks, 0, req)); +} From owner-p4-projects@FreeBSD.ORG Wed Sep 5 03:37:02 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E503D16A41A; Wed, 5 Sep 2007 03:37:01 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B35FF16A417 for ; Wed, 5 Sep 2007 03:37:01 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A487A13C45D for ; Wed, 5 Sep 2007 03:37:01 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l853b1L5070380 for ; Wed, 5 Sep 2007 03:37:01 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l853b1ZN070377 for perforce@freebsd.org; Wed, 5 Sep 2007 03:37:01 GMT (envelope-from cnst@FreeBSD.org) Date: Wed, 5 Sep 2007 03:37:01 GMT Message-Id: <200709050337.l853b1ZN070377@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 126083 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Sep 2007 03:37:02 -0000 http://perforce.freebsd.org/chv.cgi?CH=126083 Change 126083 by cnst@dale on 2007/09/05 03:36:08 tidy up, no md5-change in stripped kern_sensors.o Affected files ... .. //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#12 edit Differences ... ==== //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#12 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $P4: //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#11 $ */ +/* $P4: //depot/projects/soc2007/cnst-sensors/sys.kern/kern_sensors.c#12 $ */ /* $FreeBSD$ */ /* $OpenBSD: kern_sensors.c,v 1.19 2007/06/04 18:42:05 deraadt Exp $ */ /* $OpenBSD: kern_sysctl.c,v 1.154 2007/06/01 17:29:10 beck Exp $ */ @@ -330,8 +330,8 @@ { int *name = arg1; u_int namelen = arg2; + struct ksensordev *ksd; struct ksensor *ks; - struct ksensordev *ksd; int dev, numt; enum sensor_type type; @@ -339,20 +339,14 @@ return (ENOTDIR); dev = name[0]; - - ksd = sensordev_get(dev); - if (ksd == NULL) + if ((ksd = sensordev_get(dev)) == NULL) return (ENOENT); - if (namelen == 1) return (sysctl_handle_sensordev(NULL, ksd, 0, req)); type = name[1]; numt = name[2]; - - ks = sensor_find(ksd, type, numt); - if (ks == NULL) + if ((ks = sensor_find(ksd, type, numt)) == NULL) return (ENOENT); - return (sysctl_handle_sensor(NULL, ks, 0, req)); } From owner-p4-projects@FreeBSD.ORG Wed Sep 5 05:17:36 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3AD0516A41A; Wed, 5 Sep 2007 05:17:36 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0659F16A417; Wed, 5 Sep 2007 05:17:36 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id A194613C47E; Wed, 5 Sep 2007 05:17:35 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.1/8.13.4) with ESMTP id l855FdGh050617; Tue, 4 Sep 2007 23:15:40 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Tue, 04 Sep 2007 23:15:44 -0600 (MDT) Message-Id: <20070904.231544.420517167.imp@bsdimp.com> To: hselasky@c2i.net From: "M. Warner Losh" In-Reply-To: <200709041121.45990.hselasky@c2i.net> References: <200709040755.l847tPbn003371@repoman.freebsd.org> <200709041121.45990.hselasky@c2i.net> X-Mailer: Mew version 5.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.0 (harmony.bsdimp.com [127.0.0.1]); Tue, 04 Sep 2007 23:15:40 -0600 (MDT) Cc: perforce@freebsd.org, delphij@freebsd.org Subject: Re: PERFORCE change 126033 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Sep 2007 05:17:36 -0000 In message: <200709041121.45990.hselasky@c2i.net> Hans Petter Selasky writes: : Hi, : : In my opinion you should keep braces around single line if's . : : if (xxx) { : yyy; : } : : This will reduce the chance of error next time you add a statement to an if. Sadly, or joyfully depending on your viewpoint, style(9) says you must remove them. Since we follow style(9) in this project it is better to be uniform than to get the tiny bit of safety adding them gives. Warner From owner-p4-projects@FreeBSD.ORG Wed Sep 5 16:07:09 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 542CB16A420; Wed, 5 Sep 2007 16:07:09 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1E89D16A419 for ; Wed, 5 Sep 2007 16:07:09 +0000 (UTC) (envelope-from delphij@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0BF0F13C458 for ; Wed, 5 Sep 2007 16:07:09 +0000 (UTC) (envelope-from delphij@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l85G78mp064218 for ; Wed, 5 Sep 2007 16:07:08 GMT (envelope-from delphij@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l85G78dw064215 for perforce@freebsd.org; Wed, 5 Sep 2007 16:07:08 GMT (envelope-from delphij@freebsd.org) Date: Wed, 5 Sep 2007 16:07:08 GMT Message-Id: <200709051607.l85G78dw064215@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to delphij@freebsd.org using -f From: Xin LI To: Perforce Change Reviews Cc: Subject: PERFORCE change 126087 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Sep 2007 16:07:09 -0000 http://perforce.freebsd.org/chv.cgi?CH=126087 Change 126087 by delphij@charlie on 2007/09/05 16:06:55 More inputs from bde@: - Fix a whitespace regression. - Remove a comment which is not correct. Affected files ... .. //depot/projects/delphij_fork/sys/fs/msdosfs/msdosfs_vfsops.c#11 edit Differences ... ==== //depot/projects/delphij_fork/sys/fs/msdosfs/msdosfs_vfsops.c#11 (text+ko) ==== @@ -329,10 +329,6 @@ if (error) return (error); - /* - * XXX: pm_fmod is only used to implement a panic - * if we forget to set it here. - */ pmp->pm_fmod = 1; pmp->pm_flags &= ~MSDOSFSMNT_RONLY; MNT_ILOCK(mp); @@ -342,7 +338,7 @@ /* Now that the volume is modifiable, mark it dirty. */ error = markvoldirty(pmp, 1); if (error) - return (error); + return (error); } } /* From owner-p4-projects@FreeBSD.ORG Wed Sep 5 16:45:01 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 182AE16A419; Wed, 5 Sep 2007 16:45:01 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8AEF816A46E for ; Wed, 5 Sep 2007 16:45:00 +0000 (UTC) (envelope-from delphij@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 76B8713C46C for ; Wed, 5 Sep 2007 16:45:00 +0000 (UTC) (envelope-from delphij@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l85Gj0Jc066412 for ; Wed, 5 Sep 2007 16:45:00 GMT (envelope-from delphij@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l85Gj0J8066409 for perforce@freebsd.org; Wed, 5 Sep 2007 16:45:00 GMT (envelope-from delphij@freebsd.org) Date: Wed, 5 Sep 2007 16:45:00 GMT Message-Id: <200709051645.l85Gj0J8066409@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to delphij@freebsd.org using -f From: Xin LI To: Perforce Change Reviews Cc: Subject: PERFORCE change 126089 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Sep 2007 16:45:01 -0000 http://perforce.freebsd.org/chv.cgi?CH=126089 Change 126089 by delphij@charlie on 2007/09/05 16:44:19 IFC Affected files ... .. //depot/projects/delphij_fork/contrib/less/main.c#4 integrate .. //depot/projects/delphij_fork/lib/libutil/expand_number.3#2 integrate .. //depot/projects/delphij_fork/lib/libutil/expand_number.c#2 integrate .. //depot/projects/delphij_fork/lib/libutil/humanize_number.3#2 integrate .. //depot/projects/delphij_fork/sys/arm/xscale/i80321/i80321.c#2 integrate Differences ... ==== //depot/projects/delphij_fork/contrib/less/main.c#4 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/contrib/less/main.c,v 1.11 2007/08/13 16:15:26 delphij Exp $ */ +/* $FreeBSD: src/contrib/less/main.c,v 1.12 2007/09/04 13:54:09 delphij Exp $ */ /* * Copyright (C) 1984-2007 Mark Nudelman * @@ -244,7 +244,7 @@ quit(QUIT_OK); } - if (missing_cap && !know_dumb) + if (missing_cap && !know_dumb && !less_is_more) error("WARNING: terminal is not fully functional", NULL_PARG); init_mark(); open_getchr(); ==== //depot/projects/delphij_fork/lib/libutil/expand_number.3#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/lib/libutil/expand_number.3,v 1.1 2007/09/01 06:19:11 pjd Exp $ +.\" $FreeBSD: src/lib/libutil/expand_number.3,v 1.2 2007/09/05 14:25:16 pjd Exp $ .\" .Dd April 16, 2007 .Dt EXPAND_NUMBER 3 @@ -77,6 +77,8 @@ .It Bq Er ERANGE Result doesn't fit into 64 bits. .El +.Sh SEE ALSO +.Xr humanize_number 3 .Sh HISTORY The .Fn expand_number ==== //depot/projects/delphij_fork/lib/libutil/expand_number.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libutil/expand_number.c,v 1.1 2007/09/01 06:19:11 pjd Exp $"); +__FBSDID("$FreeBSD: src/lib/libutil/expand_number.c,v 1.2 2007/09/05 14:27:13 pjd Exp $"); #include #include @@ -68,7 +68,22 @@ } s = tolower(*endptr); - for (i = 0; i < unit[i] != '\0'; i++) { + switch (s) { + case 'b': + case 'k': + case 'm': + case 'g': + case 't': + case 'p': + case 'e': + break; + default: + /* Unrecognized unit. */ + errno = EINVAL; + return (-1); + } + + for (i = 0; unit[i] != '\0'; i++) { if (s == unit[i]) break; if ((number < 0 && (number << 10) > number) || @@ -78,11 +93,6 @@ } number <<= 10; } - if (unit[i] == '\0') { - /* Unrecognized unit. */ - errno = EINVAL; - return (-1); - } *num = number; return (0); ==== //depot/projects/delphij_fork/lib/libutil/humanize_number.3#2 (text+ko) ==== @@ -1,5 +1,5 @@ .\" $NetBSD: humanize_number.3,v 1.4 2003/04/16 13:34:37 wiz Exp $ -.\" $FreeBSD: src/lib/libutil/humanize_number.3,v 1.10 2006/09/17 21:27:35 ru Exp $ +.\" $FreeBSD: src/lib/libutil/humanize_number.3,v 1.11 2007/09/05 14:25:16 pjd Exp $ .\" .\" Copyright (c) 1999, 2002 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -146,6 +146,8 @@ If .Dv HN_GETSCALE is specified, the prefix index number will be returned instead. +.Sh SEE ALSO +.Xr expand_number 3 .Sh HISTORY The .Fn humanize_number ==== //depot/projects/delphij_fork/sys/arm/xscale/i80321/i80321.c#2 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/i80321.c,v 1.6 2006/07/25 01:08:41 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/i80321.c,v 1.7 2007/09/04 18:45:27 cognet Exp $"); #include #include @@ -213,8 +213,6 @@ PCIM_CMD_SERRESPEN; bus_space_write_4(sc->sc_st, sc->sc_atu_sh, PCIR_COMMAND, preg); - preg = bus_space_read_4(sc->sc_st, sc->sc_atu_sh, - PCIR_COMMAND); } /* Initialize the bus space tags. */ i80321_io_bs_init(&sc->sc_pci_iot, sc); From owner-p4-projects@FreeBSD.ORG Wed Sep 5 18:05:50 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0104216A41A; Wed, 5 Sep 2007 18:05:50 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B9FCB16A418 for ; Wed, 5 Sep 2007 18:05:49 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A69ED13C48A for ; Wed, 5 Sep 2007 18:05:49 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l85I5nj6084883 for ; Wed, 5 Sep 2007 18:05:49 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l85I5nx1084880 for perforce@freebsd.org; Wed, 5 Sep 2007 18:05:49 GMT (envelope-from kmacy@freebsd.org) Date: Wed, 5 Sep 2007 18:05:49 GMT Message-Id: <200709051805.l85I5nx1084880@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126094 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Sep 2007 18:05:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=126094 Change 126094 by kmacy@kmacy_home:ethng on 2007/09/05 18:05:42 Support hwpmc for newer Intel processors by enabling p6 under 64-bit as well. Note that this does not add support for the newer counters. Affected files ... .. //depot/projects/ethng/src/lib/libpmc/libpmc.c#2 edit .. //depot/projects/ethng/src/sys/amd64/conf/GENERIC#4 edit .. //depot/projects/ethng/src/sys/amd64/include/pmc_mdep.h#2 edit .. //depot/projects/ethng/src/sys/conf/files.amd64#3 edit .. //depot/projects/ethng/src/sys/dev/hwpmc/hwpmc_x86.c#2 edit .. //depot/projects/ethng/src/sys/modules/hwpmc/Makefile#2 edit Differences ... ==== //depot/projects/ethng/src/lib/libpmc/libpmc.c#2 (text+ko) ==== @@ -46,16 +46,14 @@ #if defined(__i386__) static int k7_allocate_pmc(enum pmc_event _pe, char *_ctrspec, struct pmc_op_pmcallocate *_pmc_config); +static int p5_allocate_pmc(enum pmc_event _pe, char *_ctrspec, + struct pmc_op_pmcallocate *_pmc_config); #endif #if defined(__amd64__) || defined(__i386__) static int k8_allocate_pmc(enum pmc_event _pe, char *_ctrspec, struct pmc_op_pmcallocate *_pmc_config); static int p4_allocate_pmc(enum pmc_event _pe, char *_ctrspec, struct pmc_op_pmcallocate *_pmc_config); -#endif -#if defined(__i386__) -static int p5_allocate_pmc(enum pmc_event _pe, char *_ctrspec, - struct pmc_op_pmcallocate *_pmc_config); static int p6_allocate_pmc(enum pmc_event _pe, char *_ctrspec, struct pmc_op_pmcallocate *_pmc_config); #endif @@ -1285,26 +1283,6 @@ return 0; } -#endif - -#if defined(__i386__) - -/* - * Pentium style PMCs - */ - -static struct pmc_event_alias p5_aliases[] = { - EV_ALIAS("cycles", "tsc"), - EV_ALIAS(NULL, NULL) -}; - -static int -p5_allocate_pmc(enum pmc_event pe, char *ctrspec, - struct pmc_op_pmcallocate *pmc_config) -{ - return -1 || pe || ctrspec || pmc_config; /* shut up gcc */ -} - /* * Pentium Pro style PMCs. These PMCs are found in Pentium II, Pentium III, * and Pentium M CPUs. @@ -1634,9 +1612,30 @@ return 0; } + #endif +#if defined(__i386__) + /* + * Pentium style PMCs + */ + +static struct pmc_event_alias p5_aliases[] = { + EV_ALIAS("cycles", "tsc"), + EV_ALIAS(NULL, NULL) +}; + +static int +p5_allocate_pmc(enum pmc_event pe, char *ctrspec, + struct pmc_op_pmcallocate *pmc_config) +{ + return -1 || pe || ctrspec || pmc_config; /* shut up gcc */ +} + +#endif + +/* * API entry points */ @@ -1953,12 +1952,12 @@ case PMC_CPU_INTEL_P6: /* P6 ... Pentium M CPUs have */ case PMC_CPU_INTEL_PII: /* similar PMCs. */ case PMC_CPU_INTEL_PIII: +#endif +#if defined(__amd64__) || defined(__i386__) case PMC_CPU_INTEL_PM: pmc_mdep_event_aliases = p6_aliases; pmc_mdep_allocate_pmc = p6_allocate_pmc; break; -#endif -#if defined(__amd64__) || defined(__i386__) case PMC_CPU_INTEL_PIV: pmc_mdep_event_aliases = p4_aliases; pmc_mdep_allocate_pmc = p4_allocate_pmc; ==== //depot/projects/ethng/src/sys/amd64/conf/GENERIC#4 (text+ko) ==== @@ -23,7 +23,7 @@ # To statically compile in device wiring instead of /boot/device.hints #hints "GENERIC.hints" # Default places to look for devices. -makeoptions MODULES_OVERRIDE="cxgb em if_vlan linux linprocfs netgraph" +makeoptions MODULES_OVERRIDE="cxgb em if_vlan linux linprocfs hwpmc netgraph" makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols @@ -69,10 +69,10 @@ options KDB # Enable kernel debugger support. options DDB # Support DDB. options GDB # Support remote GDB. -options INVARIANTS # Enable calls of extra sanity checking -options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS -options WITNESS # Enable checks to detect deadlocks and cycles -options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed +#options INVARIANTS # Enable calls of extra sanity checking +#options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS +#options WITNESS # Enable checks to detect deadlocks and cycles +#options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed # Make an SMP-capable kernel by default options SMP # Symmetric MultiProcessor Kernel @@ -80,6 +80,9 @@ # CPU frequency control device cpufreq +# Add hooks for PMC +options HWPMC_HOOKS + # Bus support. device acpi device pci @@ -208,5 +211,5 @@ device dcons # Dumb console driver device dcons_crom # Configuration ROM for dcons -#options IFNET_MULTIQUEUE # add support for using multiple tx queues to ifnet options ALT_BREAK_TO_DEBUGGER +#options BIND_ALL ==== //depot/projects/ethng/src/sys/amd64/include/pmc_mdep.h#2 (text+ko) ==== @@ -33,10 +33,13 @@ #include #include +#include + union pmc_md_op_pmcallocate { struct pmc_md_amd_op_pmcallocate pm_amd; struct pmc_md_p4_op_pmcallocate pm_p4; + struct pmc_md_ppro_op_pmcallocate pm_ppro; uint64_t __pad[4]; }; @@ -49,6 +52,8 @@ union pmc_md_pmc { struct pmc_md_amd_pmc pm_amd; struct pmc_md_p4_pmc pm_p4; + struct pmc_md_ppro_pmc pm_ppro; + }; struct pmc; ==== //depot/projects/ethng/src/sys/conf/files.amd64#3 (text+ko) ==== ==== //depot/projects/ethng/src/sys/dev/hwpmc/hwpmc_x86.c#2 (text+ko) ==== @@ -64,7 +64,7 @@ cputype = -1; switch (cpu_id & 0xF00) { -#if defined(__i386__) +#if defined(__i386__) || defined(__amd64__) case 0x500: /* Pentium family processors */ cputype = PMC_CPU_INTEL_P5; break; @@ -82,9 +82,12 @@ case 0x7: case 0x8: case 0xA: case 0xB: cputype = PMC_CPU_INTEL_PIII; break; - case 0x9: case 0xD: case 0xE: + case 0x9: case 0xD: case 0xE: case 0xF: cputype = PMC_CPU_INTEL_PM; break; + default: + printf("cpu_type=0x%x cpu_model=0x%x\n", (cpu_id & 0xF00), + ((cpu_id & 0xF0) >> 4)); } break; #endif @@ -127,7 +130,7 @@ break; #endif -#if defined(__i386__) +#if defined(__i386__) || defined(__amd64__) /* * P6 Family Processors */ @@ -144,7 +147,8 @@ /* * Intel Pentium PMCs. */ - +#endif +#if defined(__i386__) case PMC_CPU_INTEL_P5: error = pmc_initialize_p5(pmc_mdep); break; ==== //depot/projects/ethng/src/sys/modules/hwpmc/Makefile#2 (text+ko) ==== @@ -11,7 +11,7 @@ WARNS?= 2 .if ${MACHINE_ARCH} == "amd64" -SRCS+= hwpmc_amd.c hwpmc_piv.c hwpmc_x86.c +SRCS+= hwpmc_amd.c hwpmc_piv.c hwpmc_ppro.c hwpmc_x86.c SRCS+= device_if.h bus_if.h .endif From owner-p4-projects@FreeBSD.ORG Wed Sep 5 19:01:04 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5CDAF16A41A; Wed, 5 Sep 2007 19:01:04 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E38AD16A417 for ; Wed, 5 Sep 2007 19:01:03 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D006313C48A for ; Wed, 5 Sep 2007 19:01:03 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l85J13u5088223 for ; Wed, 5 Sep 2007 19:01:03 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l85J13Cn088219 for perforce@freebsd.org; Wed, 5 Sep 2007 19:01:03 GMT (envelope-from kmacy@freebsd.org) Date: Wed, 5 Sep 2007 19:01:03 GMT Message-Id: <200709051901.l85J13Cn088219@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126096 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Sep 2007 19:01:04 -0000 http://perforce.freebsd.org/chv.cgi?CH=126096 Change 126096 by kmacy@kmacy:freefall:toestack on 2007/09/05 19:00:42 Initial branch integrate for integrated TOE support. Affected files ... .. //depot/projects/toestack/COPYRIGHT#1 branch .. //depot/projects/toestack/LOCKS#1 branch .. //depot/projects/toestack/MAINTAINERS#1 branch .. //depot/projects/toestack/Makefile#1 branch .. //depot/projects/toestack/Makefile.inc1#1 branch .. //depot/projects/toestack/ObsoleteFiles.inc#1 branch .. //depot/projects/toestack/README#1 branch .. //depot/projects/toestack/UPDATING#1 branch .. //depot/projects/toestack/bin/Makefile#1 branch .. //depot/projects/toestack/bin/Makefile.inc#1 branch .. //depot/projects/toestack/bin/cat/Makefile#1 branch .. //depot/projects/toestack/bin/cat/cat.1#1 branch .. //depot/projects/toestack/bin/cat/cat.c#1 branch .. //depot/projects/toestack/bin/chflags/Makefile#1 branch .. //depot/projects/toestack/bin/chflags/chflags.1#1 branch .. //depot/projects/toestack/bin/chflags/chflags.c#1 branch .. //depot/projects/toestack/bin/chio/Makefile#1 branch .. //depot/projects/toestack/bin/chio/chio.1#1 branch .. //depot/projects/toestack/bin/chio/chio.c#1 branch .. //depot/projects/toestack/bin/chio/defs.h#1 branch .. //depot/projects/toestack/bin/chio/pathnames.h#1 branch .. //depot/projects/toestack/bin/chmod/Makefile#1 branch .. //depot/projects/toestack/bin/chmod/chmod.1#1 branch .. //depot/projects/toestack/bin/chmod/chmod.c#1 branch .. //depot/projects/toestack/bin/cp/Makefile#1 branch .. //depot/projects/toestack/bin/cp/cp.1#1 branch .. //depot/projects/toestack/bin/cp/cp.c#1 branch .. //depot/projects/toestack/bin/cp/extern.h#1 branch .. //depot/projects/toestack/bin/cp/utils.c#1 branch .. //depot/projects/toestack/bin/csh/Makefile#1 branch .. //depot/projects/toestack/bin/csh/USD.doc/csh.1#1 branch .. //depot/projects/toestack/bin/csh/USD.doc/csh.2#1 branch .. //depot/projects/toestack/bin/csh/USD.doc/csh.3#1 branch .. //depot/projects/toestack/bin/csh/USD.doc/csh.4#1 branch .. //depot/projects/toestack/bin/csh/USD.doc/csh.a#1 branch .. //depot/projects/toestack/bin/csh/USD.doc/csh.g#1 branch .. //depot/projects/toestack/bin/csh/USD.doc/tabs#1 branch .. //depot/projects/toestack/bin/csh/config.h#1 branch .. //depot/projects/toestack/bin/csh/config_p.h#1 branch .. //depot/projects/toestack/bin/csh/host.defs#1 branch .. //depot/projects/toestack/bin/csh/iconv.h#1 branch .. //depot/projects/toestack/bin/csh/iconv_stub.c#1 branch .. //depot/projects/toestack/bin/date/Makefile#1 branch .. //depot/projects/toestack/bin/date/date.1#1 branch .. //depot/projects/toestack/bin/date/date.c#1 branch .. //depot/projects/toestack/bin/date/extern.h#1 branch .. //depot/projects/toestack/bin/date/netdate.c#1 branch .. //depot/projects/toestack/bin/date/vary.c#1 branch .. //depot/projects/toestack/bin/date/vary.h#1 branch .. //depot/projects/toestack/bin/dd/Makefile#1 branch .. //depot/projects/toestack/bin/dd/args.c#1 branch .. //depot/projects/toestack/bin/dd/conv.c#1 branch .. //depot/projects/toestack/bin/dd/conv_tab.c#1 branch .. //depot/projects/toestack/bin/dd/dd.1#1 branch .. //depot/projects/toestack/bin/dd/dd.c#1 branch .. //depot/projects/toestack/bin/dd/dd.h#1 branch .. //depot/projects/toestack/bin/dd/extern.h#1 branch .. //depot/projects/toestack/bin/dd/gen.c#1 branch .. //depot/projects/toestack/bin/dd/misc.c#1 branch .. //depot/projects/toestack/bin/dd/position.c#1 branch .. //depot/projects/toestack/bin/dd/ref.ascii#1 branch .. //depot/projects/toestack/bin/dd/ref.ebcdic#1 branch .. //depot/projects/toestack/bin/dd/ref.ibm#1 branch .. //depot/projects/toestack/bin/dd/ref.lcase#1 branch .. //depot/projects/toestack/bin/dd/ref.oldascii#1 branch .. //depot/projects/toestack/bin/dd/ref.oldebcdic#1 branch .. //depot/projects/toestack/bin/dd/ref.oldibm#1 branch .. //depot/projects/toestack/bin/dd/ref.pareven#1 branch .. //depot/projects/toestack/bin/dd/ref.parnone#1 branch .. //depot/projects/toestack/bin/dd/ref.parodd#1 branch .. //depot/projects/toestack/bin/dd/ref.parset#1 branch .. //depot/projects/toestack/bin/dd/ref.swab#1 branch .. //depot/projects/toestack/bin/dd/ref.ucase#1 branch .. //depot/projects/toestack/bin/df/Makefile#1 branch .. //depot/projects/toestack/bin/df/df.1#1 branch .. //depot/projects/toestack/bin/df/df.c#1 branch .. //depot/projects/toestack/bin/domainname/Makefile#1 branch .. //depot/projects/toestack/bin/domainname/domainname.1#1 branch .. //depot/projects/toestack/bin/domainname/domainname.c#1 branch .. //depot/projects/toestack/bin/echo/Makefile#1 branch .. //depot/projects/toestack/bin/echo/echo.1#1 branch .. //depot/projects/toestack/bin/echo/echo.c#1 branch .. //depot/projects/toestack/bin/ed/Makefile#1 branch .. //depot/projects/toestack/bin/ed/POSIX#1 branch .. //depot/projects/toestack/bin/ed/README#1 branch .. //depot/projects/toestack/bin/ed/buf.c#1 branch .. //depot/projects/toestack/bin/ed/cbc.c#1 branch .. //depot/projects/toestack/bin/ed/ed.1#1 branch .. //depot/projects/toestack/bin/ed/ed.h#1 branch .. //depot/projects/toestack/bin/ed/glbl.c#1 branch .. //depot/projects/toestack/bin/ed/io.c#1 branch .. //depot/projects/toestack/bin/ed/main.c#1 branch .. //depot/projects/toestack/bin/ed/re.c#1 branch .. //depot/projects/toestack/bin/ed/sub.c#1 branch .. //depot/projects/toestack/bin/ed/test/=.err#1 branch .. //depot/projects/toestack/bin/ed/test/Makefile#1 branch .. //depot/projects/toestack/bin/ed/test/README#1 branch .. //depot/projects/toestack/bin/ed/test/TODO#1 branch .. //depot/projects/toestack/bin/ed/test/a.d#1 branch .. //depot/projects/toestack/bin/ed/test/a.r#1 branch .. //depot/projects/toestack/bin/ed/test/a.t#1 branch .. //depot/projects/toestack/bin/ed/test/a1.err#1 branch .. //depot/projects/toestack/bin/ed/test/a2.err#1 branch .. //depot/projects/toestack/bin/ed/test/addr.d#1 branch .. //depot/projects/toestack/bin/ed/test/addr.r#1 branch .. //depot/projects/toestack/bin/ed/test/addr.t#1 branch .. //depot/projects/toestack/bin/ed/test/addr1.err#1 branch .. //depot/projects/toestack/bin/ed/test/addr2.err#1 branch .. //depot/projects/toestack/bin/ed/test/ascii.d.uu#1 branch .. //depot/projects/toestack/bin/ed/test/ascii.r.uu#1 branch .. //depot/projects/toestack/bin/ed/test/ascii.t#1 branch .. //depot/projects/toestack/bin/ed/test/bang1.d#1 branch .. //depot/projects/toestack/bin/ed/test/bang1.err#1 branch .. //depot/projects/toestack/bin/ed/test/bang1.r#1 branch .. //depot/projects/toestack/bin/ed/test/bang1.t#1 branch .. //depot/projects/toestack/bin/ed/test/bang2.err#1 branch .. //depot/projects/toestack/bin/ed/test/c.d#1 branch .. //depot/projects/toestack/bin/ed/test/c.r#1 branch .. //depot/projects/toestack/bin/ed/test/c.t#1 branch .. //depot/projects/toestack/bin/ed/test/c1.err#1 branch .. //depot/projects/toestack/bin/ed/test/c2.err#1 branch .. //depot/projects/toestack/bin/ed/test/ckscripts.sh#1 branch .. //depot/projects/toestack/bin/ed/test/d.d#1 branch .. //depot/projects/toestack/bin/ed/test/d.err#1 branch .. //depot/projects/toestack/bin/ed/test/d.r#1 branch .. //depot/projects/toestack/bin/ed/test/d.t#1 branch .. //depot/projects/toestack/bin/ed/test/e1.d#1 branch .. //depot/projects/toestack/bin/ed/test/e1.err#1 branch .. //depot/projects/toestack/bin/ed/test/e1.r#1 branch .. //depot/projects/toestack/bin/ed/test/e1.t#1 branch .. //depot/projects/toestack/bin/ed/test/e2.d#1 branch .. //depot/projects/toestack/bin/ed/test/e2.err#1 branch .. //depot/projects/toestack/bin/ed/test/e2.r#1 branch .. //depot/projects/toestack/bin/ed/test/e2.t#1 branch .. //depot/projects/toestack/bin/ed/test/e3.d#1 branch .. //depot/projects/toestack/bin/ed/test/e3.err#1 branch .. //depot/projects/toestack/bin/ed/test/e3.r#1 branch .. //depot/projects/toestack/bin/ed/test/e3.t#1 branch .. //depot/projects/toestack/bin/ed/test/e4.d#1 branch .. //depot/projects/toestack/bin/ed/test/e4.r#1 branch .. //depot/projects/toestack/bin/ed/test/e4.t#1 branch .. //depot/projects/toestack/bin/ed/test/f1.err#1 branch .. //depot/projects/toestack/bin/ed/test/f2.err#1 branch .. //depot/projects/toestack/bin/ed/test/g1.d#1 branch .. //depot/projects/toestack/bin/ed/test/g1.err#1 branch .. //depot/projects/toestack/bin/ed/test/g1.r#1 branch .. //depot/projects/toestack/bin/ed/test/g1.t#1 branch .. //depot/projects/toestack/bin/ed/test/g2.d#1 branch .. //depot/projects/toestack/bin/ed/test/g2.err#1 branch .. //depot/projects/toestack/bin/ed/test/g2.r#1 branch .. //depot/projects/toestack/bin/ed/test/g2.t#1 branch .. //depot/projects/toestack/bin/ed/test/g3.d#1 branch .. //depot/projects/toestack/bin/ed/test/g3.err#1 branch .. //depot/projects/toestack/bin/ed/test/g3.r#1 branch .. //depot/projects/toestack/bin/ed/test/g3.t#1 branch .. //depot/projects/toestack/bin/ed/test/g4.d#1 branch .. //depot/projects/toestack/bin/ed/test/g4.r#1 branch .. //depot/projects/toestack/bin/ed/test/g4.t#1 branch .. //depot/projects/toestack/bin/ed/test/g5.d#1 branch .. //depot/projects/toestack/bin/ed/test/g5.r#1 branch .. //depot/projects/toestack/bin/ed/test/g5.t#1 branch .. //depot/projects/toestack/bin/ed/test/h.err#1 branch .. //depot/projects/toestack/bin/ed/test/i.d#1 branch .. //depot/projects/toestack/bin/ed/test/i.r#1 branch .. //depot/projects/toestack/bin/ed/test/i.t#1 branch .. //depot/projects/toestack/bin/ed/test/i1.err#1 branch .. //depot/projects/toestack/bin/ed/test/i2.err#1 branch .. //depot/projects/toestack/bin/ed/test/i3.err#1 branch .. //depot/projects/toestack/bin/ed/test/j.d#1 branch .. //depot/projects/toestack/bin/ed/test/j.r#1 branch .. //depot/projects/toestack/bin/ed/test/j.t#1 branch .. //depot/projects/toestack/bin/ed/test/k.d#1 branch .. //depot/projects/toestack/bin/ed/test/k.r#1 branch .. //depot/projects/toestack/bin/ed/test/k.t#1 branch .. //depot/projects/toestack/bin/ed/test/k1.err#1 branch .. //depot/projects/toestack/bin/ed/test/k2.err#1 branch .. //depot/projects/toestack/bin/ed/test/k3.err#1 branch .. //depot/projects/toestack/bin/ed/test/k4.err#1 branch .. //depot/projects/toestack/bin/ed/test/l.d#1 branch .. //depot/projects/toestack/bin/ed/test/l.r#1 branch .. //depot/projects/toestack/bin/ed/test/l.t#1 branch .. //depot/projects/toestack/bin/ed/test/m.d#1 branch .. //depot/projects/toestack/bin/ed/test/m.err#1 branch .. //depot/projects/toestack/bin/ed/test/m.r#1 branch .. //depot/projects/toestack/bin/ed/test/m.t#1 branch .. //depot/projects/toestack/bin/ed/test/mkscripts.sh#1 branch .. //depot/projects/toestack/bin/ed/test/n.d#1 branch .. //depot/projects/toestack/bin/ed/test/n.r#1 branch .. //depot/projects/toestack/bin/ed/test/n.t#1 branch .. //depot/projects/toestack/bin/ed/test/nl.err#1 branch .. //depot/projects/toestack/bin/ed/test/nl1.d#1 branch .. //depot/projects/toestack/bin/ed/test/nl1.r#1 branch .. //depot/projects/toestack/bin/ed/test/nl1.t#1 branch .. //depot/projects/toestack/bin/ed/test/nl2.d#1 branch .. //depot/projects/toestack/bin/ed/test/nl2.r#1 branch .. //depot/projects/toestack/bin/ed/test/nl2.t#1 branch .. //depot/projects/toestack/bin/ed/test/p.d#1 branch .. //depot/projects/toestack/bin/ed/test/p.r#1 branch .. //depot/projects/toestack/bin/ed/test/p.t#1 branch .. //depot/projects/toestack/bin/ed/test/q.d#1 branch .. //depot/projects/toestack/bin/ed/test/q.r#1 branch .. //depot/projects/toestack/bin/ed/test/q.t#1 branch .. //depot/projects/toestack/bin/ed/test/q1.err#1 branch .. //depot/projects/toestack/bin/ed/test/r1.d#1 branch .. //depot/projects/toestack/bin/ed/test/r1.err#1 branch .. //depot/projects/toestack/bin/ed/test/r1.r#1 branch .. //depot/projects/toestack/bin/ed/test/r1.t#1 branch .. //depot/projects/toestack/bin/ed/test/r2.d#1 branch .. //depot/projects/toestack/bin/ed/test/r2.err#1 branch .. //depot/projects/toestack/bin/ed/test/r2.r#1 branch .. //depot/projects/toestack/bin/ed/test/r2.t#1 branch .. //depot/projects/toestack/bin/ed/test/r3.d#1 branch .. //depot/projects/toestack/bin/ed/test/r3.r#1 branch .. //depot/projects/toestack/bin/ed/test/r3.t#1 branch .. //depot/projects/toestack/bin/ed/test/s1.d#1 branch .. //depot/projects/toestack/bin/ed/test/s1.err#1 branch .. //depot/projects/toestack/bin/ed/test/s1.r#1 branch .. //depot/projects/toestack/bin/ed/test/s1.t#1 branch .. //depot/projects/toestack/bin/ed/test/s10.err#1 branch .. //depot/projects/toestack/bin/ed/test/s2.d#1 branch .. //depot/projects/toestack/bin/ed/test/s2.err#1 branch .. //depot/projects/toestack/bin/ed/test/s2.r#1 branch .. //depot/projects/toestack/bin/ed/test/s2.t#1 branch .. //depot/projects/toestack/bin/ed/test/s3.d#1 branch .. //depot/projects/toestack/bin/ed/test/s3.err#1 branch .. //depot/projects/toestack/bin/ed/test/s3.r#1 branch .. //depot/projects/toestack/bin/ed/test/s3.t#1 branch .. //depot/projects/toestack/bin/ed/test/s4.err#1 branch .. //depot/projects/toestack/bin/ed/test/s5.err#1 branch .. //depot/projects/toestack/bin/ed/test/s6.err#1 branch .. //depot/projects/toestack/bin/ed/test/s7.err#1 branch .. //depot/projects/toestack/bin/ed/test/s8.err#1 branch .. //depot/projects/toestack/bin/ed/test/s9.err#1 branch .. //depot/projects/toestack/bin/ed/test/t.d#1 branch .. //depot/projects/toestack/bin/ed/test/t.r#1 branch .. //depot/projects/toestack/bin/ed/test/t1.d#1 branch .. //depot/projects/toestack/bin/ed/test/t1.err#1 branch .. //depot/projects/toestack/bin/ed/test/t1.r#1 branch .. //depot/projects/toestack/bin/ed/test/t1.t#1 branch .. //depot/projects/toestack/bin/ed/test/t2.d#1 branch .. //depot/projects/toestack/bin/ed/test/t2.err#1 branch .. //depot/projects/toestack/bin/ed/test/t2.r#1 branch .. //depot/projects/toestack/bin/ed/test/t2.t#1 branch .. //depot/projects/toestack/bin/ed/test/u.d#1 branch .. //depot/projects/toestack/bin/ed/test/u.err#1 branch .. //depot/projects/toestack/bin/ed/test/u.r#1 branch .. //depot/projects/toestack/bin/ed/test/u.t#1 branch .. //depot/projects/toestack/bin/ed/test/v.d#1 branch .. //depot/projects/toestack/bin/ed/test/v.r#1 branch .. //depot/projects/toestack/bin/ed/test/v.t#1 branch .. //depot/projects/toestack/bin/ed/test/w.d#1 branch .. //depot/projects/toestack/bin/ed/test/w.r#1 branch .. //depot/projects/toestack/bin/ed/test/w.t#1 branch .. //depot/projects/toestack/bin/ed/test/w1.err#1 branch .. //depot/projects/toestack/bin/ed/test/w2.err#1 branch .. //depot/projects/toestack/bin/ed/test/w3.err#1 branch .. //depot/projects/toestack/bin/ed/test/x.err#1 branch .. //depot/projects/toestack/bin/ed/test/z.err#1 branch .. //depot/projects/toestack/bin/ed/undo.c#1 branch .. //depot/projects/toestack/bin/expr/Makefile#1 branch .. //depot/projects/toestack/bin/expr/expr.1#1 branch .. //depot/projects/toestack/bin/expr/expr.y#1 branch .. //depot/projects/toestack/bin/getfacl/Makefile#1 branch .. //depot/projects/toestack/bin/getfacl/getfacl.1#1 branch .. //depot/projects/toestack/bin/getfacl/getfacl.c#1 branch .. //depot/projects/toestack/bin/hostname/Makefile#1 branch .. //depot/projects/toestack/bin/hostname/hostname.1#1 branch .. //depot/projects/toestack/bin/hostname/hostname.c#1 branch .. //depot/projects/toestack/bin/kenv/Makefile#1 branch .. //depot/projects/toestack/bin/kenv/kenv.1#1 branch .. //depot/projects/toestack/bin/kenv/kenv.c#1 branch .. //depot/projects/toestack/bin/kill/Makefile#1 branch .. //depot/projects/toestack/bin/kill/kill.1#1 branch .. //depot/projects/toestack/bin/kill/kill.c#1 branch .. //depot/projects/toestack/bin/ln/Makefile#1 branch .. //depot/projects/toestack/bin/ln/ln.1#1 branch .. //depot/projects/toestack/bin/ln/ln.c#1 branch .. //depot/projects/toestack/bin/ln/symlink.7#1 branch .. //depot/projects/toestack/bin/ls/Makefile#1 branch .. //depot/projects/toestack/bin/ls/cmp.c#1 branch .. //depot/projects/toestack/bin/ls/extern.h#1 branch .. //depot/projects/toestack/bin/ls/ls.1#1 branch .. //depot/projects/toestack/bin/ls/ls.c#1 branch .. //depot/projects/toestack/bin/ls/ls.h#1 branch .. //depot/projects/toestack/bin/ls/print.c#1 branch .. //depot/projects/toestack/bin/ls/util.c#1 branch .. //depot/projects/toestack/bin/mkdir/Makefile#1 branch .. //depot/projects/toestack/bin/mkdir/mkdir.1#1 branch .. //depot/projects/toestack/bin/mkdir/mkdir.c#1 branch .. //depot/projects/toestack/bin/mv/Makefile#1 branch .. //depot/projects/toestack/bin/mv/mv.1#1 branch .. //depot/projects/toestack/bin/mv/mv.c#1 branch .. //depot/projects/toestack/bin/pax/Makefile#1 branch .. //depot/projects/toestack/bin/pax/ar_io.c#1 branch .. //depot/projects/toestack/bin/pax/ar_subs.c#1 branch .. //depot/projects/toestack/bin/pax/buf_subs.c#1 branch .. //depot/projects/toestack/bin/pax/cache.c#1 branch .. //depot/projects/toestack/bin/pax/cache.h#1 branch .. //depot/projects/toestack/bin/pax/cpio.1#1 branch .. //depot/projects/toestack/bin/pax/cpio.c#1 branch .. //depot/projects/toestack/bin/pax/cpio.h#1 branch .. //depot/projects/toestack/bin/pax/extern.h#1 branch .. //depot/projects/toestack/bin/pax/file_subs.c#1 branch .. //depot/projects/toestack/bin/pax/ftree.c#1 branch .. //depot/projects/toestack/bin/pax/ftree.h#1 branch .. //depot/projects/toestack/bin/pax/gen_subs.c#1 branch .. //depot/projects/toestack/bin/pax/getoldopt.c#1 branch .. //depot/projects/toestack/bin/pax/options.c#1 branch .. //depot/projects/toestack/bin/pax/options.h#1 branch .. //depot/projects/toestack/bin/pax/pat_rep.c#1 branch .. //depot/projects/toestack/bin/pax/pat_rep.h#1 branch .. //depot/projects/toestack/bin/pax/pax.1#1 branch .. //depot/projects/toestack/bin/pax/pax.c#1 branch .. //depot/projects/toestack/bin/pax/pax.h#1 branch .. //depot/projects/toestack/bin/pax/sel_subs.c#1 branch .. //depot/projects/toestack/bin/pax/sel_subs.h#1 branch .. //depot/projects/toestack/bin/pax/tables.c#1 branch .. //depot/projects/toestack/bin/pax/tables.h#1 branch .. //depot/projects/toestack/bin/pax/tar.1#1 branch .. //depot/projects/toestack/bin/pax/tar.c#1 branch .. //depot/projects/toestack/bin/pax/tar.h#1 branch .. //depot/projects/toestack/bin/pax/tty_subs.c#1 branch .. //depot/projects/toestack/bin/ps/Makefile#1 branch .. //depot/projects/toestack/bin/ps/extern.h#1 branch .. //depot/projects/toestack/bin/ps/fmt.c#1 branch .. //depot/projects/toestack/bin/ps/keyword.c#1 branch .. //depot/projects/toestack/bin/ps/nlist.c#1 branch .. //depot/projects/toestack/bin/ps/print.c#1 branch .. //depot/projects/toestack/bin/ps/ps.1#1 branch .. //depot/projects/toestack/bin/ps/ps.c#1 branch .. //depot/projects/toestack/bin/ps/ps.h#1 branch .. //depot/projects/toestack/bin/pwd/Makefile#1 branch .. //depot/projects/toestack/bin/pwd/pwd.1#1 branch .. //depot/projects/toestack/bin/pwd/pwd.c#1 branch .. //depot/projects/toestack/bin/rcp/Makefile#1 branch .. //depot/projects/toestack/bin/rcp/extern.h#1 branch .. //depot/projects/toestack/bin/rcp/rcp.1#1 branch .. //depot/projects/toestack/bin/rcp/rcp.c#1 branch .. //depot/projects/toestack/bin/rcp/util.c#1 branch .. //depot/projects/toestack/bin/realpath/Makefile#1 branch .. //depot/projects/toestack/bin/realpath/realpath.1#1 branch .. //depot/projects/toestack/bin/realpath/realpath.c#1 branch .. //depot/projects/toestack/bin/rm/Makefile#1 branch .. //depot/projects/toestack/bin/rm/rm.1#1 branch .. //depot/projects/toestack/bin/rm/rm.c#1 branch .. //depot/projects/toestack/bin/rmail/Makefile#1 branch .. //depot/projects/toestack/bin/rmdir/Makefile#1 branch .. //depot/projects/toestack/bin/rmdir/rmdir.1#1 branch .. //depot/projects/toestack/bin/rmdir/rmdir.c#1 branch .. //depot/projects/toestack/bin/setfacl/Makefile#1 branch .. //depot/projects/toestack/bin/setfacl/file.c#1 branch .. //depot/projects/toestack/bin/setfacl/mask.c#1 branch .. //depot/projects/toestack/bin/setfacl/merge.c#1 branch .. //depot/projects/toestack/bin/setfacl/remove.c#1 branch .. //depot/projects/toestack/bin/setfacl/setfacl.1#1 branch .. //depot/projects/toestack/bin/setfacl/setfacl.c#1 branch .. //depot/projects/toestack/bin/setfacl/setfacl.h#1 branch .. //depot/projects/toestack/bin/setfacl/util.c#1 branch .. //depot/projects/toestack/bin/sh/Makefile#1 branch .. //depot/projects/toestack/bin/sh/TOUR#1 branch .. //depot/projects/toestack/bin/sh/alias.c#1 branch .. //depot/projects/toestack/bin/sh/alias.h#1 branch .. //depot/projects/toestack/bin/sh/arith.h#1 branch .. //depot/projects/toestack/bin/sh/arith.y#1 branch .. //depot/projects/toestack/bin/sh/arith_lex.l#1 branch .. //depot/projects/toestack/bin/sh/bltin/bltin.h#1 branch .. //depot/projects/toestack/bin/sh/bltin/echo.1#1 branch .. //depot/projects/toestack/bin/sh/bltin/echo.c#1 branch .. //depot/projects/toestack/bin/sh/builtins.def#1 branch .. //depot/projects/toestack/bin/sh/cd.c#1 branch .. //depot/projects/toestack/bin/sh/cd.h#1 branch .. //depot/projects/toestack/bin/sh/error.c#1 branch .. //depot/projects/toestack/bin/sh/error.h#1 branch .. //depot/projects/toestack/bin/sh/eval.c#1 branch .. //depot/projects/toestack/bin/sh/eval.h#1 branch .. //depot/projects/toestack/bin/sh/exec.c#1 branch .. //depot/projects/toestack/bin/sh/exec.h#1 branch .. //depot/projects/toestack/bin/sh/expand.c#1 branch .. //depot/projects/toestack/bin/sh/expand.h#1 branch .. //depot/projects/toestack/bin/sh/funcs/cmv#1 branch .. //depot/projects/toestack/bin/sh/funcs/dirs#1 branch .. //depot/projects/toestack/bin/sh/funcs/kill#1 branch .. //depot/projects/toestack/bin/sh/funcs/login#1 branch .. //depot/projects/toestack/bin/sh/funcs/newgrp#1 branch .. //depot/projects/toestack/bin/sh/funcs/popd#1 branch .. //depot/projects/toestack/bin/sh/funcs/pushd#1 branch .. //depot/projects/toestack/bin/sh/funcs/suspend#1 branch .. //depot/projects/toestack/bin/sh/histedit.c#1 branch .. //depot/projects/toestack/bin/sh/init.h#1 branch .. //depot/projects/toestack/bin/sh/input.c#1 branch .. //depot/projects/toestack/bin/sh/input.h#1 branch .. //depot/projects/toestack/bin/sh/jobs.c#1 branch .. //depot/projects/toestack/bin/sh/jobs.h#1 branch .. //depot/projects/toestack/bin/sh/mail.c#1 branch .. //depot/projects/toestack/bin/sh/mail.h#1 branch .. //depot/projects/toestack/bin/sh/main.c#1 branch .. //depot/projects/toestack/bin/sh/main.h#1 branch .. //depot/projects/toestack/bin/sh/memalloc.c#1 branch .. //depot/projects/toestack/bin/sh/memalloc.h#1 branch .. //depot/projects/toestack/bin/sh/miscbltin.c#1 branch .. //depot/projects/toestack/bin/sh/mkbuiltins#1 branch .. //depot/projects/toestack/bin/sh/mkinit.c#1 branch .. //depot/projects/toestack/bin/sh/mknodes.c#1 branch .. //depot/projects/toestack/bin/sh/mksyntax.c#1 branch .. //depot/projects/toestack/bin/sh/mktokens#1 branch .. //depot/projects/toestack/bin/sh/myhistedit.h#1 branch .. //depot/projects/toestack/bin/sh/mystring.c#1 branch .. //depot/projects/toestack/bin/sh/mystring.h#1 branch .. //depot/projects/toestack/bin/sh/nodes.c.pat#1 branch .. //depot/projects/toestack/bin/sh/nodetypes#1 branch .. //depot/projects/toestack/bin/sh/options.c#1 branch .. //depot/projects/toestack/bin/sh/options.h#1 branch .. //depot/projects/toestack/bin/sh/output.c#1 branch .. //depot/projects/toestack/bin/sh/output.h#1 branch .. //depot/projects/toestack/bin/sh/parser.c#1 branch .. //depot/projects/toestack/bin/sh/parser.h#1 branch .. //depot/projects/toestack/bin/sh/redir.c#1 branch .. //depot/projects/toestack/bin/sh/redir.h#1 branch .. //depot/projects/toestack/bin/sh/sh.1#1 branch .. //depot/projects/toestack/bin/sh/shell.h#1 branch .. //depot/projects/toestack/bin/sh/show.c#1 branch .. //depot/projects/toestack/bin/sh/show.h#1 branch .. //depot/projects/toestack/bin/sh/trap.c#1 branch .. //depot/projects/toestack/bin/sh/trap.h#1 branch .. //depot/projects/toestack/bin/sh/var.c#1 branch .. //depot/projects/toestack/bin/sh/var.h#1 branch .. //depot/projects/toestack/bin/sleep/Makefile#1 branch .. //depot/projects/toestack/bin/sleep/sleep.1#1 branch .. //depot/projects/toestack/bin/sleep/sleep.c#1 branch .. //depot/projects/toestack/bin/stty/Makefile#1 branch .. //depot/projects/toestack/bin/stty/cchar.c#1 branch .. //depot/projects/toestack/bin/stty/extern.h#1 branch .. //depot/projects/toestack/bin/stty/gfmt.c#1 branch .. //depot/projects/toestack/bin/stty/key.c#1 branch .. //depot/projects/toestack/bin/stty/modes.c#1 branch .. //depot/projects/toestack/bin/stty/print.c#1 branch .. //depot/projects/toestack/bin/stty/stty.1#1 branch .. //depot/projects/toestack/bin/stty/stty.c#1 branch .. //depot/projects/toestack/bin/stty/stty.h#1 branch .. //depot/projects/toestack/bin/stty/util.c#1 branch .. //depot/projects/toestack/bin/sync/Makefile#1 branch .. //depot/projects/toestack/bin/sync/sync.8#1 branch .. //depot/projects/toestack/bin/sync/sync.c#1 branch .. //depot/projects/toestack/bin/test/Makefile#1 branch .. //depot/projects/toestack/bin/test/TEST.README#1 branch .. //depot/projects/toestack/bin/test/TEST.csh#1 branch .. //depot/projects/toestack/bin/test/TEST.sh#1 branch .. //depot/projects/toestack/bin/test/test.1#1 branch .. //depot/projects/toestack/bin/test/test.c#1 branch .. //depot/projects/toestack/cddl/Makefile#1 branch .. //depot/projects/toestack/cddl/Makefile.inc#1 branch .. //depot/projects/toestack/cddl/lib/Makefile#1 branch .. //depot/projects/toestack/cddl/lib/Makefile.inc#1 branch .. //depot/projects/toestack/cddl/lib/libavl/Makefile#1 branch .. //depot/projects/toestack/cddl/lib/libnvpair/Makefile#1 branch .. //depot/projects/toestack/cddl/lib/libumem/Makefile#1 branch .. //depot/projects/toestack/cddl/lib/libuutil/Makefile#1 branch .. //depot/projects/toestack/cddl/lib/libzfs/Makefile#1 branch .. //depot/projects/toestack/cddl/lib/libzpool/Makefile#1 branch .. //depot/projects/toestack/cddl/sbin/Makefile#1 branch .. //depot/projects/toestack/cddl/sbin/Makefile.inc#1 branch .. //depot/projects/toestack/cddl/sbin/zfs/Makefile#1 branch .. //depot/projects/toestack/cddl/sbin/zpool/Makefile#1 branch .. //depot/projects/toestack/cddl/usr.bin/Makefile#1 branch .. //depot/projects/toestack/cddl/usr.bin/Makefile.inc#1 branch .. //depot/projects/toestack/cddl/usr.bin/ztest/Makefile#1 branch .. //depot/projects/toestack/cddl/usr.sbin/Makefile#1 branch .. //depot/projects/toestack/cddl/usr.sbin/Makefile.inc#1 branch .. //depot/projects/toestack/cddl/usr.sbin/zdb/Makefile#1 branch .. //depot/projects/toestack/compat/opensolaris/include/devid.h#1 branch .. //depot/projects/toestack/compat/opensolaris/include/fsshare.h#1 branch .. //depot/projects/toestack/compat/opensolaris/include/libintl.h#1 branch .. //depot/projects/toestack/compat/opensolaris/include/mnttab.h#1 branch .. //depot/projects/toestack/compat/opensolaris/include/priv.h#1 branch .. //depot/projects/toestack/compat/opensolaris/include/solaris.h#1 branch .. //depot/projects/toestack/compat/opensolaris/include/zone.h#1 branch .. //depot/projects/toestack/compat/opensolaris/lib/libumem/umem.c#1 branch .. //depot/projects/toestack/compat/opensolaris/lib/libumem/umem.h#1 branch .. //depot/projects/toestack/compat/opensolaris/misc/deviceid.c#1 branch .. //depot/projects/toestack/compat/opensolaris/misc/fsshare.c#1 branch .. //depot/projects/toestack/compat/opensolaris/misc/mkdirp.c#1 branch .. //depot/projects/toestack/compat/opensolaris/misc/mnttab.c#1 branch .. //depot/projects/toestack/compat/opensolaris/misc/zmount.c#1 branch .. //depot/projects/toestack/compat/opensolaris/misc/zone.c#1 branch .. //depot/projects/toestack/contrib/amd/AUTHORS#1 branch .. //depot/projects/toestack/contrib/amd/BUGS#1 branch .. //depot/projects/toestack/contrib/amd/COPYING#1 branch .. //depot/projects/toestack/contrib/amd/ChangeLog#1 branch .. //depot/projects/toestack/contrib/amd/FREEBSD-Xlist#1 branch .. //depot/projects/toestack/contrib/amd/FREEBSD-upgrade#1 branch .. //depot/projects/toestack/contrib/amd/INSTALL#1 branch .. //depot/projects/toestack/contrib/amd/MIRRORS.html#1 branch .. //depot/projects/toestack/contrib/amd/MIRRORS.txt#1 branch .. //depot/projects/toestack/contrib/amd/NEWS#1 branch .. //depot/projects/toestack/contrib/amd/README#1 branch .. //depot/projects/toestack/contrib/amd/README.ldap#1 branch .. //depot/projects/toestack/contrib/amd/README.y2k#1 branch .. //depot/projects/toestack/contrib/amd/amd/am_ops.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/amd.8#1 branch .. //depot/projects/toestack/contrib/amd/amd/amd.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/amd.h#1 branch .. //depot/projects/toestack/contrib/amd/amd/amfs_auto.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/amfs_direct.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/amfs_error.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/amfs_host.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/amfs_inherit.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/amfs_link.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/amfs_linkx.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/amfs_nfsl.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/amfs_nfsx.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/amfs_program.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/amfs_root.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/amfs_toplvl.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/amfs_union.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/amq_subr.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/amq_svc.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/autil.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/clock.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/conf.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/conf_parse.y#1 branch .. //depot/projects/toestack/contrib/amd/amd/conf_tok.l#1 branch .. //depot/projects/toestack/contrib/amd/amd/get_args.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/info_file.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/info_hesiod.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/info_ldap.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/info_ndbm.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/info_nis.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/info_nisplus.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/info_passwd.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/info_union.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/map.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/mapc.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/mntfs.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/nfs_prot_svc.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/nfs_start.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/nfs_subr.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/ops_TEMPLATE.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/ops_cachefs.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/ops_cdfs.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/ops_efs.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/ops_lofs.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/ops_mfs.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/ops_nfs.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/ops_nfs3.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/ops_nullfs.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/ops_pcfs.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/ops_tfs.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/ops_tmpfs.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/ops_ufs.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/ops_umapfs.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/ops_unionfs.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/ops_xfs.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/opts.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/restart.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/rpc_fwd.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/sched.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/srvr_amfs_auto.c#1 branch .. //depot/projects/toestack/contrib/amd/amd/srvr_nfs.c#1 branch .. //depot/projects/toestack/contrib/amd/amq/amq.8#1 branch .. //depot/projects/toestack/contrib/amd/amq/amq.c#1 branch .. //depot/projects/toestack/contrib/amd/amq/amq.h#1 branch .. //depot/projects/toestack/contrib/amd/amq/amq_clnt.c#1 branch .. //depot/projects/toestack/contrib/amd/amq/amq_xdr.c#1 branch .. //depot/projects/toestack/contrib/amd/amq/pawd.1#1 branch .. //depot/projects/toestack/contrib/amd/amq/pawd.c#1 branch .. //depot/projects/toestack/contrib/amd/aux_conf.h.in#1 branch .. //depot/projects/toestack/contrib/amd/bootstrap#1 branch .. //depot/projects/toestack/contrib/amd/conf/checkmount/checkmount_bsd44.c#1 branch .. //depot/projects/toestack/contrib/amd/conf/fh_dref/fh_dref_freebsd22.h#1 branch .. //depot/projects/toestack/contrib/amd/conf/mtab/mtab_bsd.c#1 branch .. //depot/projects/toestack/contrib/amd/conf/nfs_prot/nfs_prot_freebsd2.h#1 branch .. //depot/projects/toestack/contrib/amd/conf/nfs_prot/nfs_prot_freebsd3.h#1 branch .. //depot/projects/toestack/contrib/amd/conf/sa_dref/sa_dref_bsd44.h#1 branch .. //depot/projects/toestack/contrib/amd/conf/transp/transp_sockets.c#1 branch .. //depot/projects/toestack/contrib/amd/conf/trap/trap_default.h#1 branch .. //depot/projects/toestack/contrib/amd/conf/umount/umount_bsd44.c#1 branch .. //depot/projects/toestack/contrib/amd/doc/am-utils.texi#1 branch .. //depot/projects/toestack/contrib/amd/doc/texinfo.tex#1 branch .. //depot/projects/toestack/contrib/amd/doc/version.texi#1 branch .. //depot/projects/toestack/contrib/amd/fixmount/fixmount.8#1 branch .. //depot/projects/toestack/contrib/amd/fixmount/fixmount.c#1 branch .. //depot/projects/toestack/contrib/amd/fsinfo/fsi_analyze.c#1 branch .. //depot/projects/toestack/contrib/amd/fsinfo/fsi_data.h#1 branch .. //depot/projects/toestack/contrib/amd/fsinfo/fsi_dict.c#1 branch .. //depot/projects/toestack/contrib/amd/fsinfo/fsi_gram.y#1 branch .. //depot/projects/toestack/contrib/amd/fsinfo/fsi_lex.l#1 branch .. //depot/projects/toestack/contrib/amd/fsinfo/fsi_util.c#1 branch .. //depot/projects/toestack/contrib/amd/fsinfo/fsinfo.8#1 branch .. //depot/projects/toestack/contrib/amd/fsinfo/fsinfo.c#1 branch .. //depot/projects/toestack/contrib/amd/fsinfo/fsinfo.h#1 branch .. //depot/projects/toestack/contrib/amd/fsinfo/wr_atab.c#1 branch .. //depot/projects/toestack/contrib/amd/fsinfo/wr_bparam.c#1 branch .. //depot/projects/toestack/contrib/amd/fsinfo/wr_dumpset.c#1 branch .. //depot/projects/toestack/contrib/amd/fsinfo/wr_exportfs.c#1 branch .. //depot/projects/toestack/contrib/amd/fsinfo/wr_fstab.c#1 branch .. //depot/projects/toestack/contrib/amd/hlfsd/hlfsd.8#1 branch .. //depot/projects/toestack/contrib/amd/hlfsd/hlfsd.c#1 branch .. //depot/projects/toestack/contrib/amd/hlfsd/hlfsd.h#1 branch .. //depot/projects/toestack/contrib/amd/hlfsd/homedir.c#1 branch .. //depot/projects/toestack/contrib/amd/hlfsd/nfs_prot_svc.c#1 branch .. //depot/projects/toestack/contrib/amd/hlfsd/stubs.c#1 branch .. //depot/projects/toestack/contrib/amd/include/am_compat.h#1 branch .. //depot/projects/toestack/contrib/amd/include/am_defs.h#1 branch .. //depot/projects/toestack/contrib/amd/include/am_utils.h#1 branch .. //depot/projects/toestack/contrib/amd/include/am_xdr_func.h#1 branch .. //depot/projects/toestack/contrib/amd/include/amq_defs.h#1 branch .. //depot/projects/toestack/contrib/amd/include/mount_headers1.h#1 branch .. //depot/projects/toestack/contrib/amd/include/mount_headers2.h#1 branch .. //depot/projects/toestack/contrib/amd/ldap-id.ms#1 branch .. //depot/projects/toestack/contrib/amd/ldap-id.txt#1 branch .. //depot/projects/toestack/contrib/amd/libamu/alloca.c#1 branch .. //depot/projects/toestack/contrib/amd/libamu/amu.h#1 branch .. //depot/projects/toestack/contrib/amd/libamu/hasmntopt.c#1 branch .. //depot/projects/toestack/contrib/amd/libamu/misc_rpc.c#1 branch .. //depot/projects/toestack/contrib/amd/libamu/mount_fs.c#1 branch .. //depot/projects/toestack/contrib/amd/libamu/mtab.c#1 branch .. //depot/projects/toestack/contrib/amd/libamu/nfs_prot_xdr.c#1 branch .. //depot/projects/toestack/contrib/amd/libamu/strerror.c#1 branch .. //depot/projects/toestack/contrib/amd/libamu/util.c#1 branch .. //depot/projects/toestack/contrib/amd/libamu/wire.c#1 branch .. //depot/projects/toestack/contrib/amd/libamu/xdr_func.c#1 branch .. //depot/projects/toestack/contrib/amd/libamu/xutil.c#1 branch .. //depot/projects/toestack/contrib/amd/m4/GNUmakefile#1 branch .. //depot/projects/toestack/contrib/amd/m4/amdgrep#1 branch .. //depot/projects/toestack/contrib/amd/m4/amindent#1 branch .. //depot/projects/toestack/contrib/amd/m4/autopat#1 branch .. //depot/projects/toestack/contrib/amd/m4/chop-aclocal.pl#1 branch .. //depot/projects/toestack/contrib/amd/m4/copy-if-newbig#1 branch .. //depot/projects/toestack/contrib/amd/m4/macros/HEADER#1 branch .. //depot/projects/toestack/contrib/amd/m4/macros/TRAILER#1 branch .. //depot/projects/toestack/contrib/amd/m4/mk-aclocal#1 branch .. //depot/projects/toestack/contrib/amd/m4/mkconf#1 branch .. //depot/projects/toestack/contrib/amd/m4/rmtspc#1 branch .. //depot/projects/toestack/contrib/amd/m4/update_build_version#1 branch .. //depot/projects/toestack/contrib/amd/mk-amd-map/mk-amd-map.8#1 branch .. //depot/projects/toestack/contrib/amd/mk-amd-map/mk-amd-map.c#1 branch .. //depot/projects/toestack/contrib/amd/scripts/Makefile.am#1 branch .. //depot/projects/toestack/contrib/amd/scripts/Makefile.in#1 branch .. //depot/projects/toestack/contrib/amd/scripts/am-eject.in#1 branch .. //depot/projects/toestack/contrib/amd/scripts/amd.conf-sample#1 branch .. //depot/projects/toestack/contrib/amd/scripts/amd.conf.5#1 branch .. //depot/projects/toestack/contrib/amd/scripts/amd2ldif.in#1 branch .. //depot/projects/toestack/contrib/amd/scripts/amd2sun.in#1 branch .. //depot/projects/toestack/contrib/amd/scripts/automount2amd.8#1 branch .. //depot/projects/toestack/contrib/amd/scripts/automount2amd.in#1 branch .. //depot/projects/toestack/contrib/amd/scripts/ctl-amd.in#1 branch .. //depot/projects/toestack/contrib/amd/scripts/ctl-hlfsd.in#1 branch .. //depot/projects/toestack/contrib/amd/scripts/expn.1#1 branch .. //depot/projects/toestack/contrib/amd/scripts/expn.in#1 branch .. //depot/projects/toestack/contrib/amd/scripts/fix-amd-map.in#1 branch .. //depot/projects/toestack/contrib/amd/scripts/fixrmtab.in#1 branch .. //depot/projects/toestack/contrib/amd/scripts/redhat-ctl-amd.in#1 branch .. //depot/projects/toestack/contrib/amd/scripts/wait4amd.in#1 branch .. //depot/projects/toestack/contrib/amd/scripts/wait4amd2die.in#1 branch .. //depot/projects/toestack/contrib/amd/tasks#1 branch .. //depot/projects/toestack/contrib/amd/wire-test/wire-test.8#1 branch .. //depot/projects/toestack/contrib/amd/wire-test/wire-test.c#1 branch .. //depot/projects/toestack/contrib/bc/AUTHORS#1 branch .. //depot/projects/toestack/contrib/bc/ChangeLog#1 branch .. //depot/projects/toestack/contrib/bc/Examples/ckbook.b#1 branch .. //depot/projects/toestack/contrib/bc/Examples/pi.b#1 branch .. //depot/projects/toestack/contrib/bc/Examples/primes.b#1 branch .. //depot/projects/toestack/contrib/bc/Examples/twins.b#1 branch .. //depot/projects/toestack/contrib/bc/FAQ#1 branch .. //depot/projects/toestack/contrib/bc/FREEBSD-upgrade#1 branch .. //depot/projects/toestack/contrib/bc/INSTALL#1 branch .. //depot/projects/toestack/contrib/bc/Makefile.am#1 branch .. //depot/projects/toestack/contrib/bc/Makefile.in#1 branch .. //depot/projects/toestack/contrib/bc/NEWS#1 branch .. //depot/projects/toestack/contrib/bc/README#1 branch .. //depot/projects/toestack/contrib/bc/Test/BUG.bc#1 branch .. //depot/projects/toestack/contrib/bc/Test/array.b#1 branch .. //depot/projects/toestack/contrib/bc/Test/arrayp.b#1 branch .. //depot/projects/toestack/contrib/bc/Test/aryprm.b#1 branch .. //depot/projects/toestack/contrib/bc/Test/atan.b#1 branch .. //depot/projects/toestack/contrib/bc/Test/checklib.b#1 branch .. //depot/projects/toestack/contrib/bc/Test/div.b#1 branch .. //depot/projects/toestack/contrib/bc/Test/exp.b#1 branch .. //depot/projects/toestack/contrib/bc/Test/fact.b#1 branch .. //depot/projects/toestack/contrib/bc/Test/jn.b#1 branch .. //depot/projects/toestack/contrib/bc/Test/ln.b#1 branch .. //depot/projects/toestack/contrib/bc/Test/mul.b#1 branch .. //depot/projects/toestack/contrib/bc/Test/raise.b#1 branch .. //depot/projects/toestack/contrib/bc/Test/signum#1 branch .. //depot/projects/toestack/contrib/bc/Test/sine.b#1 branch .. //depot/projects/toestack/contrib/bc/Test/sqrt.b#1 branch .. //depot/projects/toestack/contrib/bc/Test/sqrt1.b#1 branch .. //depot/projects/toestack/contrib/bc/Test/sqrt2.b#1 branch .. //depot/projects/toestack/contrib/bc/Test/testfn.b#1 branch .. //depot/projects/toestack/contrib/bc/Test/timetest#1 branch .. //depot/projects/toestack/contrib/bc/acconfig.h#1 branch .. //depot/projects/toestack/contrib/bc/aclocal.m4#1 branch .. //depot/projects/toestack/contrib/bc/bc/Makefile.am#1 branch .. //depot/projects/toestack/contrib/bc/bc/Makefile.in#1 branch .. //depot/projects/toestack/contrib/bc/bc/bc.y#1 branch .. //depot/projects/toestack/contrib/bc/bc/bcdefs.h#1 branch .. //depot/projects/toestack/contrib/bc/bc/const.h#1 branch .. //depot/projects/toestack/contrib/bc/bc/execute.c#1 branch .. //depot/projects/toestack/contrib/bc/bc/fix-libmath_h#1 branch .. //depot/projects/toestack/contrib/bc/bc/global.c#1 branch .. //depot/projects/toestack/contrib/bc/bc/global.h#1 branch .. //depot/projects/toestack/contrib/bc/bc/libmath.b#1 branch .. //depot/projects/toestack/contrib/bc/bc/libmath.h#1 branch .. //depot/projects/toestack/contrib/bc/bc/load.c#1 branch .. //depot/projects/toestack/contrib/bc/bc/main.c#1 branch .. //depot/projects/toestack/contrib/bc/bc/proto.h#1 branch .. //depot/projects/toestack/contrib/bc/bc/sbc.y#1 branch .. //depot/projects/toestack/contrib/bc/bc/scan.l#1 branch .. //depot/projects/toestack/contrib/bc/bc/storage.c#1 branch .. //depot/projects/toestack/contrib/bc/bc/util.c#1 branch .. //depot/projects/toestack/contrib/bc/config.h.in#1 branch .. //depot/projects/toestack/contrib/bc/configure#1 branch .. //depot/projects/toestack/contrib/bc/configure.in#1 branch .. //depot/projects/toestack/contrib/bc/dc/Makefile.am#1 branch .. //depot/projects/toestack/contrib/bc/dc/Makefile.in#1 branch .. //depot/projects/toestack/contrib/bc/dc/array.c#1 branch .. //depot/projects/toestack/contrib/bc/dc/dc-proto.h#1 branch .. //depot/projects/toestack/contrib/bc/dc/dc-regdef.h#1 branch .. //depot/projects/toestack/contrib/bc/dc/dc.c#1 branch .. //depot/projects/toestack/contrib/bc/dc/dc.h#1 branch .. //depot/projects/toestack/contrib/bc/dc/eval.c#1 branch .. //depot/projects/toestack/contrib/bc/dc/misc.c#1 branch .. //depot/projects/toestack/contrib/bc/dc/numeric.c#1 branch .. //depot/projects/toestack/contrib/bc/dc/stack.c#1 branch .. //depot/projects/toestack/contrib/bc/dc/string.c#1 branch .. //depot/projects/toestack/contrib/bc/doc/Makefile.am#1 branch .. //depot/projects/toestack/contrib/bc/doc/Makefile.in#1 branch .. //depot/projects/toestack/contrib/bc/doc/bc.1#1 branch .. //depot/projects/toestack/contrib/bc/doc/bc.texi#1 branch .. //depot/projects/toestack/contrib/bc/doc/dc.1#1 branch .. //depot/projects/toestack/contrib/bc/doc/dc.texi#1 branch .. //depot/projects/toestack/contrib/bc/h/number.h#1 branch .. //depot/projects/toestack/contrib/bc/install-sh#1 branch .. //depot/projects/toestack/contrib/bc/lib/Makefile.am#1 branch .. //depot/projects/toestack/contrib/bc/lib/Makefile.in#1 branch .. //depot/projects/toestack/contrib/bc/lib/number.c#1 branch .. //depot/projects/toestack/contrib/bc/lib/testmul.c#1 branch .. //depot/projects/toestack/contrib/bc/lib/vfprintf.c#1 branch .. //depot/projects/toestack/contrib/bc/missing#1 branch .. //depot/projects/toestack/contrib/bc/mkinstalldirs#1 branch .. //depot/projects/toestack/contrib/bc/stamp-h.in#1 branch .. //depot/projects/toestack/contrib/bind9/CHANGES#1 branch .. //depot/projects/toestack/contrib/bind9/COPYRIGHT#1 branch .. //depot/projects/toestack/contrib/bind9/FAQ#1 branch .. //depot/projects/toestack/contrib/bind9/FAQ.xml#1 branch .. //depot/projects/toestack/contrib/bind9/FREEBSD-Upgrade#1 branch .. //depot/projects/toestack/contrib/bind9/FREEBSD-Xlist#1 branch .. //depot/projects/toestack/contrib/bind9/Makefile.in#1 branch .. //depot/projects/toestack/contrib/bind9/README#1 branch .. //depot/projects/toestack/contrib/bind9/README.idnkit#1 branch .. //depot/projects/toestack/contrib/bind9/acconfig.h#1 branch .. //depot/projects/toestack/contrib/bind9/bin/Makefile.in#1 branch .. //depot/projects/toestack/contrib/bind9/bin/check/Makefile.in#1 branch .. //depot/projects/toestack/contrib/bind9/bin/check/check-tool.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/check/check-tool.h#1 branch .. //depot/projects/toestack/contrib/bind9/bin/check/named-checkconf.8#1 branch .. //depot/projects/toestack/contrib/bind9/bin/check/named-checkconf.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/check/named-checkconf.docbook#1 branch .. //depot/projects/toestack/contrib/bind9/bin/check/named-checkconf.html#1 branch .. //depot/projects/toestack/contrib/bind9/bin/check/named-checkzone.8#1 branch .. //depot/projects/toestack/contrib/bind9/bin/check/named-checkzone.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/check/named-checkzone.docbook#1 branch .. //depot/projects/toestack/contrib/bind9/bin/check/named-checkzone.html#1 branch .. //depot/projects/toestack/contrib/bind9/bin/dig/Makefile.in#1 branch .. //depot/projects/toestack/contrib/bind9/bin/dig/dig.1#1 branch .. //depot/projects/toestack/contrib/bind9/bin/dig/dig.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/dig/dig.docbook#1 branch .. //depot/projects/toestack/contrib/bind9/bin/dig/dig.html#1 branch .. //depot/projects/toestack/contrib/bind9/bin/dig/dighost.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/dig/host.1#1 branch .. //depot/projects/toestack/contrib/bind9/bin/dig/host.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/dig/host.docbook#1 branch .. //depot/projects/toestack/contrib/bind9/bin/dig/host.html#1 branch .. //depot/projects/toestack/contrib/bind9/bin/dig/include/dig/dig.h#1 branch .. //depot/projects/toestack/contrib/bind9/bin/dig/nslookup.1#1 branch .. //depot/projects/toestack/contrib/bind9/bin/dig/nslookup.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/dig/nslookup.docbook#1 branch .. //depot/projects/toestack/contrib/bind9/bin/dig/nslookup.html#1 branch .. //depot/projects/toestack/contrib/bind9/bin/dnssec/Makefile.in#1 branch .. //depot/projects/toestack/contrib/bind9/bin/dnssec/dnssec-keygen.8#1 branch .. //depot/projects/toestack/contrib/bind9/bin/dnssec/dnssec-keygen.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/dnssec/dnssec-keygen.docbook#1 branch .. //depot/projects/toestack/contrib/bind9/bin/dnssec/dnssec-keygen.html#1 branch .. //depot/projects/toestack/contrib/bind9/bin/dnssec/dnssec-signzone.8#1 branch .. //depot/projects/toestack/contrib/bind9/bin/dnssec/dnssec-signzone.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/dnssec/dnssec-signzone.docbook#1 branch .. //depot/projects/toestack/contrib/bind9/bin/dnssec/dnssec-signzone.html#1 branch .. //depot/projects/toestack/contrib/bind9/bin/dnssec/dnssectool.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/dnssec/dnssectool.h#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/Makefile.in#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/builtin.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/client.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/config.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/control.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/controlconf.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/include/named/builtin.h#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/include/named/client.h#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/include/named/config.h#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/include/named/control.h#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/include/named/globals.h#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/include/named/interfacemgr.h#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/include/named/listenlist.h#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/include/named/log.h#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/include/named/logconf.h#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/include/named/lwaddr.h#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/include/named/lwdclient.h#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/include/named/lwresd.h#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/include/named/lwsearch.h#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/include/named/main.h#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/include/named/notify.h#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/include/named/ns_smf_globals.h#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/include/named/query.h#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/include/named/server.h#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/include/named/sortlist.h#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/include/named/tkeyconf.h#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/include/named/tsigconf.h#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/include/named/types.h#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/include/named/update.h#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/include/named/xfrout.h#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/include/named/zoneconf.h#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/interfacemgr.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/listenlist.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/log.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/logconf.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/lwaddr.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/lwdclient.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/lwderror.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/lwdgabn.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/lwdgnba.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/lwdgrbn.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/lwdnoop.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/lwresd.8#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/lwresd.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/lwresd.docbook#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/lwresd.html#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/lwsearch.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/main.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/named.8#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/named.conf.5#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/named.conf.docbook#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/named.conf.html#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/named.docbook#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/named.html#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/notify.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/query.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/server.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/sortlist.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/tkeyconf.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/tsigconf.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/unix/Makefile.in#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/unix/include/named/os.h#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/unix/os.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/update.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/xfrout.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/named/zoneconf.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/nsupdate/Makefile.in#1 branch .. //depot/projects/toestack/contrib/bind9/bin/nsupdate/nsupdate.8#1 branch .. //depot/projects/toestack/contrib/bind9/bin/nsupdate/nsupdate.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/nsupdate/nsupdate.docbook#1 branch .. //depot/projects/toestack/contrib/bind9/bin/nsupdate/nsupdate.html#1 branch .. //depot/projects/toestack/contrib/bind9/bin/rndc/Makefile.in#1 branch .. //depot/projects/toestack/contrib/bind9/bin/rndc/include/rndc/os.h#1 branch .. //depot/projects/toestack/contrib/bind9/bin/rndc/rndc-confgen.8#1 branch .. //depot/projects/toestack/contrib/bind9/bin/rndc/rndc-confgen.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/rndc/rndc-confgen.docbook#1 branch .. //depot/projects/toestack/contrib/bind9/bin/rndc/rndc-confgen.html#1 branch .. //depot/projects/toestack/contrib/bind9/bin/rndc/rndc.8#1 branch .. //depot/projects/toestack/contrib/bind9/bin/rndc/rndc.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/rndc/rndc.conf#1 branch .. //depot/projects/toestack/contrib/bind9/bin/rndc/rndc.conf.5#1 branch .. //depot/projects/toestack/contrib/bind9/bin/rndc/rndc.conf.docbook#1 branch .. //depot/projects/toestack/contrib/bind9/bin/rndc/rndc.conf.html#1 branch .. //depot/projects/toestack/contrib/bind9/bin/rndc/rndc.docbook#1 branch .. //depot/projects/toestack/contrib/bind9/bin/rndc/rndc.html#1 branch .. //depot/projects/toestack/contrib/bind9/bin/rndc/unix/Makefile.in#1 branch .. //depot/projects/toestack/contrib/bind9/bin/rndc/unix/os.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/rndc/util.c#1 branch .. //depot/projects/toestack/contrib/bind9/bin/rndc/util.h#1 branch .. //depot/projects/toestack/contrib/bind9/config.guess#1 branch .. //depot/projects/toestack/contrib/bind9/config.sub#1 branch .. //depot/projects/toestack/contrib/bind9/config.threads.in#1 branch .. //depot/projects/toestack/contrib/bind9/configure.in#1 branch .. //depot/projects/toestack/contrib/bind9/doc/Makefile.in#1 branch .. //depot/projects/toestack/contrib/bind9/doc/arm/Bv9ARM-book.xml#1 branch .. //depot/projects/toestack/contrib/bind9/doc/arm/Bv9ARM.ch01.html#1 branch .. //depot/projects/toestack/contrib/bind9/doc/arm/Bv9ARM.ch02.html#1 branch .. //depot/projects/toestack/contrib/bind9/doc/arm/Bv9ARM.ch03.html#1 branch .. //depot/projects/toestack/contrib/bind9/doc/arm/Bv9ARM.ch04.html#1 branch .. //depot/projects/toestack/contrib/bind9/doc/arm/Bv9ARM.ch05.html#1 branch .. //depot/projects/toestack/contrib/bind9/doc/arm/Bv9ARM.ch06.html#1 branch .. //depot/projects/toestack/contrib/bind9/doc/arm/Bv9ARM.ch07.html#1 branch .. //depot/projects/toestack/contrib/bind9/doc/arm/Bv9ARM.ch08.html#1 branch .. //depot/projects/toestack/contrib/bind9/doc/arm/Bv9ARM.ch09.html#1 branch .. //depot/projects/toestack/contrib/bind9/doc/arm/Bv9ARM.ch10.html#1 branch .. //depot/projects/toestack/contrib/bind9/doc/arm/Bv9ARM.html#1 branch .. //depot/projects/toestack/contrib/bind9/doc/arm/Bv9ARM.pdf#1 branch .. //depot/projects/toestack/contrib/bind9/doc/arm/Makefile.in#1 branch .. //depot/projects/toestack/contrib/bind9/doc/arm/README-SGML#1 branch .. //depot/projects/toestack/contrib/bind9/doc/arm/isc-logo.eps#1 branch .. //depot/projects/toestack/contrib/bind9/doc/arm/isc-logo.pdf#1 branch .. //depot/projects/toestack/contrib/bind9/doc/arm/man.dig.html#1 branch .. //depot/projects/toestack/contrib/bind9/doc/arm/man.dnssec-keygen.html#1 branch .. //depot/projects/toestack/contrib/bind9/doc/arm/man.dnssec-signzone.html#1 branch .. //depot/projects/toestack/contrib/bind9/doc/arm/man.host.html#1 branch .. //depot/projects/toestack/contrib/bind9/doc/arm/man.named-checkconf.html#1 branch .. //depot/projects/toestack/contrib/bind9/doc/arm/man.named-checkzone.html#1 branch .. //depot/projects/toestack/contrib/bind9/doc/arm/man.named.html#1 branch .. //depot/projects/toestack/contrib/bind9/doc/arm/man.rndc-confgen.html#1 branch .. //depot/projects/toestack/contrib/bind9/doc/arm/man.rndc.conf.html#1 branch .. //depot/projects/toestack/contrib/bind9/doc/arm/man.rndc.html#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-baba-dnsext-acl-reqts-01.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-daigle-napstr-04.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-danisch-dns-rr-smtp-03.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-dnsext-opcode-discover-02.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-durand-dnsop-dynreverse-00.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsext-2929bis-01.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsext-axfr-clarify-05.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsext-dhcid-rr-12.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsext-dns-name-p-s-00.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-2535typecode-change-06.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-bis-updates-01.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-experiments-01.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-online-signing-02.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-opt-in-07.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-rsasha256-00.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsext-dnssec-trans-02.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsext-ds-sha256-05.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsext-ecc-key-07.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsext-interop3597-02.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsext-keyrr-key-signing-flag-12.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsext-mdns-43.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsext-nsec3-04.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsext-nsid-01.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsext-rfc2536bis-dsa-06.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsext-rfc2538bis-04.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsext-rfc2539bis-dhk-06.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsext-signed-nonexistence-requirements-01.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsext-tkey-renewal-mode-05.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsext-trustupdate-threshold-00.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsext-trustupdate-timers-02.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsext-tsig-sha-06.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsext-wcard-clarify-10.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsop-bad-dns-res-05.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsop-dnssec-operational-practices-08.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsop-inaddr-required-07.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsop-ipv6-dns-configuration-06.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsop-ipv6-dns-issues-11.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsop-ipv6-transport-guidelines-01.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsop-key-rollover-requirements-02.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsop-respsize-02.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-dnsop-serverid-06.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-enum-e164-gstn-np-05.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-ipv6-node-requirements-08.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ietf-secsh-dns-05.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-ihren-dnsext-threshold-validation-00.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-kato-dnsop-local-zones-00.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-park-ipv6-extensions-dns-pnp-00.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/draft-schlitt-spf-classic-02.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/draft/update#1 branch .. //depot/projects/toestack/contrib/bind9/doc/misc/Makefile.in#1 branch .. //depot/projects/toestack/contrib/bind9/doc/misc/dnssec#1 branch .. //depot/projects/toestack/contrib/bind9/doc/misc/format-options.pl#1 branch .. //depot/projects/toestack/contrib/bind9/doc/misc/ipv6#1 branch .. //depot/projects/toestack/contrib/bind9/doc/misc/migration#1 branch .. //depot/projects/toestack/contrib/bind9/doc/misc/migration-4to9#1 branch .. //depot/projects/toestack/contrib/bind9/doc/misc/options#1 branch .. //depot/projects/toestack/contrib/bind9/doc/misc/rfc-compliance#1 branch .. //depot/projects/toestack/contrib/bind9/doc/misc/roadmap#1 branch .. //depot/projects/toestack/contrib/bind9/doc/misc/sdb#1 branch .. //depot/projects/toestack/contrib/bind9/doc/rfc/index#1 branch .. //depot/projects/toestack/contrib/bind9/doc/rfc/rfc1032.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/rfc/rfc1033.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/rfc/rfc1034.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/rfc/rfc1035.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/rfc/rfc1101.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/rfc/rfc1122.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/rfc/rfc1123.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/rfc/rfc1183.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/rfc/rfc1348.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/rfc/rfc1535.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/rfc/rfc1536.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/rfc/rfc1537.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/rfc/rfc1591.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/rfc/rfc1611.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/rfc/rfc1612.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/rfc/rfc1706.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/rfc/rfc1712.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/rfc/rfc1750.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/rfc/rfc1876.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/rfc/rfc1886.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/rfc/rfc1982.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/rfc/rfc1995.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/rfc/rfc1996.txt#1 branch .. //depot/projects/toestack/contrib/bind9/doc/rfc/rfc2052.txt#1 branch >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Wed Sep 5 19:59:20 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 57E4C16A468; Wed, 5 Sep 2007 19:59:20 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CD28816A417 for ; Wed, 5 Sep 2007 19:59:19 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BD8BF13C465 for ; Wed, 5 Sep 2007 19:59:19 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l85JxJlB093254 for ; Wed, 5 Sep 2007 19:59:19 GMT (envelope-from cnst@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l85JxJ7n093251 for perforce@freebsd.org; Wed, 5 Sep 2007 19:59:19 GMT (envelope-from cnst@FreeBSD.org) Date: Wed, 5 Sep 2007 19:59:19 GMT Message-Id: <200709051959.l85JxJ7n093251@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to cnst@FreeBSD.org using -f From: "Constantine A. Murenin" To: Perforce Change Reviews Cc: Subject: PERFORCE change 126098 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Sep 2007 19:59:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=126098 Change 126098 by cnst@dale on 2007/09/05 19:58:56 integrate my patch from CVS, adding MLINKS for sysctl.9 Affected files ... .. //depot/projects/soc2007/cnst-sensors/share.man.man9/Makefile#4 integrate Differences ... ==== //depot/projects/soc2007/cnst-sensors/share.man.man9/Makefile#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/man/man9/Makefile,v 1.308 2007/05/19 20:24:32 jhb Exp $ +# $FreeBSD: src/share/man/man9/Makefile,v 1.309 2007/09/05 19:46:23 rwatson Exp $ MAN= accept_filter.9 \ accf_data.9 \ @@ -1080,6 +1080,18 @@ sx.9 sx_xlock.9 \ sx.9 sx_xlocked.9 \ sx.9 sx_xunlock.9 +MLINKS+=sysctl.9 SYSCTL_DECL.9 \ + sysctl.9 SYSCTL_INT.9 \ + sysctl.9 SYSCTL_LONG.9 \ + sysctl.9 SYSCTL_NODE.9 \ + sysctl.9 SYSCTL_OPAQUE.9 \ + sysctl.9 SYSCTL_PROC.9 \ + sysctl.9 SYSCTL_STRING.9 \ + sysctl.9 SYSCTL_STRUCT.9 \ + sysctl.9 SYSCTL_UINT.9 \ + sysctl.9 SYSCTL_ULONG.9 \ + sysctl.9 SYSCTL_XINT.9 \ + sysctl.9 SYSCTL_XLONG.9 MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_INT.9 \ sysctl_add_oid.9 SYSCTL_ADD_LONG.9 \ sysctl_add_oid.9 SYSCTL_ADD_NODE.9 \ From owner-p4-projects@FreeBSD.ORG Wed Sep 5 20:04:28 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 10FC716A419; Wed, 5 Sep 2007 20:04:28 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 870EE16A421 for ; Wed, 5 Sep 2007 20:04:27 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 76B4A13C459 for ; Wed, 5 Sep 2007 20:04:27 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l85K4RLj094843 for ; Wed, 5 Sep 2007 20:04:27 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l85K4Rem094840 for perforce@freebsd.org; Wed, 5 Sep 2007 20:04:27 GMT (envelope-from gabor@freebsd.org) Date: Wed, 5 Sep 2007 20:04:27 GMT Message-Id: <200709052004.l85K4Rem094840@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 126099 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Sep 2007 20:04:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=126099 Change 126099 by gabor@gabor_server on 2007/09/05 20:04:08 Integrate branch for Hungarian Handbook translation. I'll work here with Gabor Pali on the translation. Affected files ... .. //depot/projects/docproj_hu/books/handbook/Makefile#1 branch .. //depot/projects/docproj_hu/books/handbook/advanced-networking/Makefile#1 branch .. //depot/projects/docproj_hu/books/handbook/advanced-networking/chapter.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/appendix.decl#1 branch .. //depot/projects/docproj_hu/books/handbook/audit/Makefile#1 branch .. //depot/projects/docproj_hu/books/handbook/audit/chapter.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/basics/Makefile#1 branch .. //depot/projects/docproj_hu/books/handbook/basics/chapter.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/basics/disk-layout.kil#1 branch .. //depot/projects/docproj_hu/books/handbook/basics/example-dir1.dot#1 branch .. //depot/projects/docproj_hu/books/handbook/basics/example-dir2.dot#1 branch .. //depot/projects/docproj_hu/books/handbook/basics/example-dir3.dot#1 branch .. //depot/projects/docproj_hu/books/handbook/basics/example-dir4.dot#1 branch .. //depot/projects/docproj_hu/books/handbook/basics/example-dir5.dot#1 branch .. //depot/projects/docproj_hu/books/handbook/bibliography/Makefile#1 branch .. //depot/projects/docproj_hu/books/handbook/bibliography/chapter.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/book.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/boot/Makefile#1 branch .. //depot/projects/docproj_hu/books/handbook/boot/chapter.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/chapter.decl#1 branch .. //depot/projects/docproj_hu/books/handbook/chapters.ent#1 branch .. //depot/projects/docproj_hu/books/handbook/colophon.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/config/Makefile#1 branch .. //depot/projects/docproj_hu/books/handbook/config/chapter.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/cutting-edge/Makefile#1 branch .. //depot/projects/docproj_hu/books/handbook/cutting-edge/chapter.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/desktop/Makefile#1 branch .. //depot/projects/docproj_hu/books/handbook/desktop/chapter.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/disks/Makefile#1 branch .. //depot/projects/docproj_hu/books/handbook/disks/chapter.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/eresources/Makefile#1 branch .. //depot/projects/docproj_hu/books/handbook/eresources/chapter.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/firewalls/Makefile#1 branch .. //depot/projects/docproj_hu/books/handbook/firewalls/chapter.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/geom/Makefile#1 branch .. //depot/projects/docproj_hu/books/handbook/geom/chapter.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/install/Makefile#1 branch .. //depot/projects/docproj_hu/books/handbook/install/chapter.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/install/disk-layout.kil#1 branch .. //depot/projects/docproj_hu/books/handbook/install/example-dir1.dot#1 branch .. //depot/projects/docproj_hu/books/handbook/install/example-dir2.dot#1 branch .. //depot/projects/docproj_hu/books/handbook/install/example-dir3.dot#1 branch .. //depot/projects/docproj_hu/books/handbook/install/example-dir4.dot#1 branch .. //depot/projects/docproj_hu/books/handbook/install/example-dir5.dot#1 branch .. //depot/projects/docproj_hu/books/handbook/introduction/Makefile#1 branch .. //depot/projects/docproj_hu/books/handbook/introduction/chapter.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/jails/chapter.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/kernelconfig/Makefile#1 branch .. //depot/projects/docproj_hu/books/handbook/kernelconfig/chapter.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/l10n/Makefile#1 branch .. //depot/projects/docproj_hu/books/handbook/l10n/chapter.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/linuxemu/Makefile#1 branch .. //depot/projects/docproj_hu/books/handbook/linuxemu/chapter.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/mac/Makefile#1 branch .. //depot/projects/docproj_hu/books/handbook/mac/chapter.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/mail/Makefile#1 branch .. //depot/projects/docproj_hu/books/handbook/mail/chapter.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/mirrors/Makefile#1 branch .. //depot/projects/docproj_hu/books/handbook/mirrors/chapter.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/multimedia/Makefile#1 branch .. //depot/projects/docproj_hu/books/handbook/multimedia/chapter.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/network-servers/Makefile#1 branch .. //depot/projects/docproj_hu/books/handbook/network-servers/chapter.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/pgpkeys/Makefile#1 branch .. //depot/projects/docproj_hu/books/handbook/pgpkeys/chapter.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/ports/Makefile#1 branch .. //depot/projects/docproj_hu/books/handbook/ports/chapter.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/ppp-and-slip/Makefile#1 branch .. //depot/projects/docproj_hu/books/handbook/ppp-and-slip/chapter.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/preface/preface.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/printing/Makefile#1 branch .. //depot/projects/docproj_hu/books/handbook/printing/chapter.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/security/Makefile#1 branch .. //depot/projects/docproj_hu/books/handbook/security/chapter.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/serialcomms/Makefile#1 branch .. //depot/projects/docproj_hu/books/handbook/serialcomms/chapter.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/txtfiles.ent#1 branch .. //depot/projects/docproj_hu/books/handbook/users/Makefile#1 branch .. //depot/projects/docproj_hu/books/handbook/users/chapter.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/vinum/Makefile#1 branch .. //depot/projects/docproj_hu/books/handbook/vinum/chapter.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/virtualization/Makefile#1 branch .. //depot/projects/docproj_hu/books/handbook/virtualization/chapter.sgml#1 branch .. //depot/projects/docproj_hu/books/handbook/x11/Makefile#1 branch .. //depot/projects/docproj_hu/books/handbook/x11/chapter.sgml#1 branch .. //depot/projects/docproj_hu/share/sgml/articles.ent#1 branch .. //depot/projects/docproj_hu/share/sgml/catalog#1 branch .. //depot/projects/docproj_hu/share/sgml/freebsd.dsl#1 branch .. //depot/projects/docproj_hu/share/sgml/l10n.ent#1 branch .. //depot/projects/docproj_hu/share/sgml/legalnotice.sgml#1 branch .. //depot/projects/docproj_hu/share/sgml/mailing-lists.ent#1 branch .. //depot/projects/docproj_hu/share/sgml/newsgroups.ent#1 branch .. //depot/projects/docproj_hu/share/sgml/teams.ent#1 branch .. //depot/projects/docproj_hu/share/sgml/trademarks.ent#1 branch .. //depot/projects/docproj_hu/share/sgml/translators.ent#1 branch Differences ... From owner-p4-projects@FreeBSD.ORG Wed Sep 5 20:41:16 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 289D216A41A; Wed, 5 Sep 2007 20:41:16 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D3A8F16A419 for ; Wed, 5 Sep 2007 20:41:15 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id ACEF613C481 for ; Wed, 5 Sep 2007 20:41:15 +0000 (UTC) (envelope-from gabor@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l85KfF8U097076 for ; Wed, 5 Sep 2007 20:41:15 GMT (envelope-from gabor@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l85KfF0j097073 for perforce@freebsd.org; Wed, 5 Sep 2007 20:41:15 GMT (envelope-from gabor@freebsd.org) Date: Wed, 5 Sep 2007 20:41:15 GMT Message-Id: <200709052041.l85KfF0j097073@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gabor@freebsd.org using -f From: Gabor Kovesdan To: Perforce Change Reviews Cc: Subject: PERFORCE change 126102 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Sep 2007 20:41:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=126102 Change 126102 by gabor@gabor_server on 2007/09/05 20:40:23 Add missing bookinfo.ent to Hungarian doc set. Affected files ... .. //depot/projects/docproj_hu/share/sgml/bookinfo.ent#1 add Differences ... From owner-p4-projects@FreeBSD.ORG Wed Sep 5 20:59:41 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 06D0616A41B; Wed, 5 Sep 2007 20:59:41 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CD26D16A417 for ; Wed, 5 Sep 2007 20:59:40 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id B382413C457 for ; Wed, 5 Sep 2007 20:59:40 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l85KxeE0006860 for ; Wed, 5 Sep 2007 20:59:40 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l85Kxe6p006857 for perforce@freebsd.org; Wed, 5 Sep 2007 20:59:40 GMT (envelope-from zec@FreeBSD.org) Date: Wed, 5 Sep 2007 20:59:40 GMT Message-Id: <200709052059.l85Kxe6p006857@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 126104 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Sep 2007 20:59:41 -0000 http://perforce.freebsd.org/chv.cgi?CH=126104 Change 126104 by zec@zec_tpx32 on 2007/09/05 20:58:48 Set / restore vnet context when pipe_dequeue() is invoked via a timer. While here, clean up some obsolete fields in struct hookinfo and a few chode chunks previously used by RED code which is not present in this version of ng_pipe. Affected files ... .. //depot/projects/vimage/src/sys/netgraph/ng_pipe.c#3 edit Differences ... ==== //depot/projects/vimage/src/sys/netgraph/ng_pipe.c#3 (text+ko) ==== @@ -36,6 +36,8 @@ * both directions can be set separately, except for delay. */ +#include "opt_vimage.h" + #include #include #include @@ -43,6 +45,7 @@ #include #include #include +#include #include @@ -77,29 +80,18 @@ u_int32_t packets; /* # of packets in this queue */ }; -#define TABLE_SIZE 20 /* XXX */ /* Per hook info */ struct hookinfo { hook_p hook; + int noqueue; LIST_ENTRY(hookinfo) hook_le; /* all active instances */ TAILQ_HEAD(, ngp_fifo) fifo_head; /* this hooks's FIFO queues */ TAILQ_HEAD(, ngp_hdr) qout_head; /* delay queue head */ - int noqueue; struct timeval qin_utime; - struct timeval q_time; /* used by RED */ - struct timeval ared_interval; struct ng_pipe_hookcfg cfg; struct ng_pipe_hookrun run; struct ng_pipe_hookstat stats; uint64_t *ber_p; /* loss_p(BER,psize) map */ - int64_t avg_octets; - int64_t avg_frames; - u_int64_t target; - int64_t max_p; - u_int64_t k[TABLE_SIZE]; /* used by RED */ -#ifdef XCP - struct xcp_router_state xcps; -#endif }; /* Per node info */ @@ -810,11 +802,6 @@ ngp_f->packets--; } - if (hinfo->run.qin_frames == 0) { - hinfo->q_time.tv_sec = now->tv_sec; - hinfo->q_time.tv_usec = now->tv_usec; - } - /* Calculate the serialization delay */ if (hinfo->cfg.bandwidth) { hinfo->qin_utime.tv_usec += ((uint64_t) m->m_pkthdr.len @@ -909,17 +896,6 @@ static void pipe_scheduler(void) { - static struct timeval old; - struct timeval new; - - microuptime(&new); - if (old.tv_sec > new.tv_sec) - printf ("ng_pipe: dsec=%d\n", old.tv_sec - new.tv_sec); - else if (old.tv_sec == new.tv_sec && old.tv_usec > new.tv_usec) - printf ("ng_pipe: dusec=%ld\n", old.tv_usec - new.tv_usec); - old.tv_sec = new.tv_sec; - old.tv_usec = new.tv_usec; - pipe_poll(); /* Reschedule */ @@ -927,6 +903,11 @@ } +/* + * Traverse the list of all active hooks and attempt to dequeue + * some packets. Hooks with empty queues are not traversed since + * they are not linked into this list. + */ static void pipe_poll(void) { @@ -935,8 +916,11 @@ microuptime(&now); mtx_lock(&ng_pipe_giant); - LIST_FOREACH(hinfo, &hook_head, hook_le) + LIST_FOREACH(hinfo, &hook_head, hook_le) { + CURVNET_SET(NG_HOOK_NODE(hinfo->hook)->nd_vnet); pipe_dequeue(hinfo, &now); + CURVNET_RESTORE(); + } mtx_unlock(&ng_pipe_giant); } @@ -1048,6 +1032,5 @@ break; } - printf("XXX ngp_modevent type = %d error = %d\n", type, error); return (error); } From owner-p4-projects@FreeBSD.ORG Wed Sep 5 21:06:53 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id BBCC416A46E; Wed, 5 Sep 2007 21:06:52 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 710FD16A41B for ; Wed, 5 Sep 2007 21:06:52 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3E20513C4E1 for ; Wed, 5 Sep 2007 21:06:52 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l85L6p44008589 for ; Wed, 5 Sep 2007 21:06:51 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l85L6pBV008586 for perforce@freebsd.org; Wed, 5 Sep 2007 21:06:51 GMT (envelope-from zec@FreeBSD.org) Date: Wed, 5 Sep 2007 21:06:51 GMT Message-Id: <200709052106.l85L6pBV008586@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 126105 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Sep 2007 21:06:53 -0000 http://perforce.freebsd.org/chv.cgi?CH=126105 Change 126105 by zec@zec_tpx32 on 2007/09/05 21:06:10 In addition to marking the packet with M_REMOTE_VNET when crossing a boundary between two vnets, set / restore the vnet context to the vnet the netgraph node is residing in when dequeuing packets in ng_eiface_start2(). Affected files ... .. //depot/projects/vimage/src/sys/netgraph/ng_eiface.c#8 edit Differences ... ==== //depot/projects/vimage/src/sys/netgraph/ng_eiface.c#8 (text+ko) ==== @@ -253,16 +253,18 @@ continue; } -#ifdef VIMAGE - /* Mark up the mbuf if crossing vnet boundary */ - if (ifp->if_vnet != node->nd_vnet) - m->m_flags |= M_REMOTE_VNET; -#endif - /* * Send packet; if hook is not connected, mbuf will get * freed. */ +#ifdef VIMAGE + if (ifp->if_vnet != node->nd_vnet) { + m->m_flags |= M_REMOTE_VNET; + CURVNET_SET_QUIET(node->nd_vnet); + NG_SEND_DATA_ONLY(error, priv->ether, m); + CURVNET_RESTORE(); + } else +#endif NG_SEND_DATA_ONLY(error, priv->ether, m); /* Update stats */ From owner-p4-projects@FreeBSD.ORG Wed Sep 5 21:21:12 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 28DEE16A420; Wed, 5 Sep 2007 21:21:12 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E3AD116A419 for ; Wed, 5 Sep 2007 21:21:11 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D5EB113C467 for ; Wed, 5 Sep 2007 21:21:11 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l85LLBUi009535 for ; Wed, 5 Sep 2007 21:21:11 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l85LLBx2009532 for perforce@freebsd.org; Wed, 5 Sep 2007 21:21:11 GMT (envelope-from zec@FreeBSD.org) Date: Wed, 5 Sep 2007 21:21:11 GMT Message-Id: <200709052121.l85LLBx2009532@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 126107 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Sep 2007 21:21:12 -0000 http://perforce.freebsd.org/chv.cgi?CH=126107 Change 126107 by zec@zec_tpx32 on 2007/09/05 21:20:46 I've been foot-shooting myself several times by calling callout_init() on already active callout handles. This change examines the entire callwheel on callout_init() invocations for such a condition and panics if the handle is already linked in. This replaces a check for attempts at double-linking a callout handle in callout_reset(), which was much more expensive (callout_reset() is called much more frequently than callout_init()) and couldn't directly locate the offending callout_init() line. This extra check could be probably usefull outside of the scope of network stack virtualization changes / code... Affected files ... .. //depot/projects/vimage/src/sys/kern/kern_timeout.c#5 edit Differences ... ==== //depot/projects/vimage/src/sys/kern/kern_timeout.c#5 (text+ko) ==== @@ -37,8 +37,6 @@ #include __FBSDID("$FreeBSD: src/sys/kern/kern_timeout.c,v 1.104 2007/06/26 21:42:01 attilio Exp $"); -#include "opt_vimage.h" - #include #include #include @@ -75,6 +73,9 @@ struct callout_tailq *callwheel; int softticks; /* Like ticks, but for softclock(). */ struct mtx callout_lock; +#ifdef INVARIANTS +static int callwheel_initialized = 0; +#endif static struct callout *nextsoftcheck; /* Next callout to be checked. */ @@ -145,6 +146,9 @@ TAILQ_INIT(&callwheel[i]); } mtx_init(&callout_lock, "callout", NULL, MTX_SPIN | MTX_RECURSE); +#ifdef INVARIANTS + callwheel_initialized = 1; +#endif } /* @@ -479,23 +483,6 @@ c->c_flags |= (CALLOUT_ACTIVE | CALLOUT_PENDING); c->c_func = ftn; c->c_time = ticks + to_ticks; -#if (defined(VIMAGE) && defined(INVARIANTS)) - /* - * MARKO XXX - * - * I'm suspecting that some lockups might have been caused by - * a single callout handle being scheduled multiple times. - * This loop examines the entire callwhell before inserting a - * new handle, and if the handle is already linked in it panics. - */ - int callwheel_iter; - struct callout *c_iter; - for (callwheel_iter = 0; callwheel_iter <= callwheelmask; - callwheel_iter++) - TAILQ_FOREACH(c_iter, &callwheel[callwheel_iter], c_links.tqe) - if (c_iter == c) - panic("finally got you!"); -#endif TAILQ_INSERT_TAIL(&callwheel[c->c_time & callwheelmask], c, c_links.tqe); CTR5(KTR_CALLOUT, "%sscheduled %p func %p arg %p in %d", @@ -621,11 +608,36 @@ return (1); } +#ifdef INVARIANTS +/* + * Examine the entire callwhell before initializing a new handle, + * and panic if the handle was already linked in. + */ +#define CALLWHEEL_CHECK(c) \ + if (callwheel_initialized) { \ + int callwheel_iter; \ + struct callout *c_iter; \ + \ + mtx_lock_spin(&callout_lock); \ + for (callwheel_iter = 0; callwheel_iter <= callwheelmask; \ + callwheel_iter++) \ + TAILQ_FOREACH(c_iter, &callwheel[callwheel_iter], \ + c_links.tqe) \ + if (c_iter == c) \ + panic("%s() for active handle!", \ + __FUNCTION__); \ + mtx_unlock_spin(&callout_lock); \ + } +#else +#define CALLWHEEL_CHECK(c) +#endif /* INVARIANTS */ + void callout_init(c, mpsafe) struct callout *c; int mpsafe; { + CALLWHEEL_CHECK(c); bzero(c, sizeof *c); if (mpsafe) { c->c_mtx = NULL; @@ -642,6 +654,7 @@ struct mtx *mtx; int flags; { + CALLWHEEL_CHECK(c); bzero(c, sizeof *c); c->c_mtx = mtx; KASSERT((flags & ~(CALLOUT_RETURNUNLOCKED|CALLOUT_NETGIANT)) == 0, From owner-p4-projects@FreeBSD.ORG Thu Sep 6 02:58:38 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A3AE116A419; Thu, 6 Sep 2007 02:58:38 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5DA5516A418 for ; Thu, 6 Sep 2007 02:58:38 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4FC2F13C459 for ; Thu, 6 Sep 2007 02:58:38 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l862wc1Y045449 for ; Thu, 6 Sep 2007 02:58:38 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l862wbl5045446 for perforce@freebsd.org; Thu, 6 Sep 2007 02:58:37 GMT (envelope-from kmacy@freebsd.org) Date: Thu, 6 Sep 2007 02:58:37 GMT Message-Id: <200709060258.l862wbl5045446@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126116 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Sep 2007 02:58:38 -0000 http://perforce.freebsd.org/chv.cgi?CH=126116 Change 126116 by kmacy@kmacy_home:ethng on 2007/09/06 02:58:03 define cxgb_tx_common and process_responses fix out of memory condition for non-IFNET_MULTIQ case fix tx queue binding to be correct for the 4-port case Affected files ... .. //depot/projects/ethng/src/sys/dev/cxgb/cxgb_adapter.h#14 edit .. //depot/projects/ethng/src/sys/dev/cxgb/cxgb_main.c#15 edit Differences ... ==== //depot/projects/ethng/src/sys/dev/cxgb/cxgb_adapter.h#14 (text+ko) ==== @@ -590,9 +590,10 @@ struct in6_addr *rip, uint16_t rport, int ipv6); void cxgb_pcpu_shutdown_threads(struct adapter *sc); void cxgb_pcpu_startup_threads(struct adapter *sc); -int cxgb_tx_common(struct ifnet *ifp, struct sge_qset *qs, uint32_t txmax); #endif +int process_responses(adapter_t *adap, struct sge_qset *qs, int budget); +int cxgb_tx_common(struct ifnet *ifp, struct sge_qset *qs, uint32_t txmax); void t3_free_qset(adapter_t *sc, struct sge_qset *q); int cxgb_dequeue_packet(struct ifnet *, struct sge_txq *, struct mbuf **); void cxgb_start(struct ifnet *ifp); ==== //depot/projects/ethng/src/sys/dev/cxgb/cxgb_main.c#15 (text+ko) ==== @@ -1456,7 +1456,7 @@ for (j = 0; j < pi->nqsets; ++j) send_pktsched_cmd(sc, 1, pi->first_qset + j, -1, - -1, i); + -1, pi->tx_chan); } } @@ -1998,11 +1998,11 @@ if (err == ENOMEM) { ifp->if_drv_flags |= IFF_DRV_OACTIVE; IFQ_LOCK(&ifp->if_snd); - IFQ_DRV_PREPEND(&ifp->if_snd, m); + IFQ_DRV_PREPEND(&ifp->if_snd, m_vec[0]); IFQ_UNLOCK(&ifp->if_snd); } } - if (err == 0 && m == NULL) { + if (err == 0 && m_vec[0] == NULL) { err = ENOBUFS; } else if ((err == 0) && (txq->size <= txq->in_use + TX_MAX_DESC) && From owner-p4-projects@FreeBSD.ORG Thu Sep 6 03:01:44 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3822616A421; Thu, 6 Sep 2007 03:01:44 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E327C16A418 for ; Thu, 6 Sep 2007 03:01:43 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id CC32E13C45D for ; Thu, 6 Sep 2007 03:01:43 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l8631hlS045901 for ; Thu, 6 Sep 2007 03:01:43 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l8631g1R045897 for perforce@freebsd.org; Thu, 6 Sep 2007 03:01:42 GMT (envelope-from kmacy@freebsd.org) Date: Thu, 6 Sep 2007 03:01:42 GMT Message-Id: <200709060301.l8631g1R045897@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126117 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Sep 2007 03:01:44 -0000 http://perforce.freebsd.org/chv.cgi?CH=126117 Change 126117 by kmacy@kmacy_home:ethng on 2007/09/06 03:00:58 IFC 126115 Affected files ... .. //depot/projects/ethng/src/lib/libc/net/getaddrinfo.c#2 integrate .. //depot/projects/ethng/src/lib/libutil/expand_number.3#2 integrate .. //depot/projects/ethng/src/lib/libutil/expand_number.c#2 integrate .. //depot/projects/ethng/src/lib/libutil/humanize_number.3#2 integrate .. //depot/projects/ethng/src/share/man/man9/Makefile#2 integrate .. //depot/projects/ethng/src/sys/amd64/conf/MULTIQ#1 add .. //depot/projects/ethng/src/sys/dev/ath/if_ath.c#2 integrate .. //depot/projects/ethng/src/sys/dev/awi/awi.c#2 integrate .. //depot/projects/ethng/src/sys/dev/cxgb/common/cxgb_t3_cpl.h#3 edit .. //depot/projects/ethng/src/sys/dev/ipw/if_ipw.c#2 integrate .. //depot/projects/ethng/src/sys/dev/iwi/if_iwi.c#3 integrate .. //depot/projects/ethng/src/sys/dev/ral/rt2560.c#2 integrate .. //depot/projects/ethng/src/sys/dev/ral/rt2661.c#2 integrate .. //depot/projects/ethng/src/sys/dev/ray/if_ray.c#2 integrate .. //depot/projects/ethng/src/sys/dev/usb/if_rum.c#2 integrate .. //depot/projects/ethng/src/sys/dev/usb/if_ural.c#2 integrate .. //depot/projects/ethng/src/sys/dev/usb/if_zyd.c#2 integrate .. //depot/projects/ethng/src/sys/dev/wi/if_wi.c#3 integrate .. //depot/projects/ethng/src/sys/kern/init_main.c#2 edit .. //depot/projects/ethng/src/sys/modules/cxgb/Makefile#5 edit .. //depot/projects/ethng/src/sys/net80211/_ieee80211.h#2 integrate .. //depot/projects/ethng/src/sys/net80211/ieee80211.h#2 integrate .. //depot/projects/ethng/src/sys/net80211/ieee80211_freebsd.h#2 integrate .. //depot/projects/ethng/src/sys/net80211/ieee80211_ht.c#2 integrate .. //depot/projects/ethng/src/sys/net80211/ieee80211_input.c#2 integrate .. //depot/projects/ethng/src/sys/net80211/ieee80211_ioctl.c#2 integrate .. //depot/projects/ethng/src/sys/net80211/ieee80211_ioctl.h#2 integrate .. //depot/projects/ethng/src/sys/net80211/ieee80211_node.c#2 integrate .. //depot/projects/ethng/src/sys/net80211/ieee80211_proto.c#2 integrate .. //depot/projects/ethng/src/sys/net80211/ieee80211_proto.h#2 integrate .. //depot/projects/ethng/src/sys/net80211/ieee80211_var.h#2 integrate .. //depot/projects/ethng/src/sys/netinet/in_pcb.c#3 edit .. //depot/projects/ethng/src/sys/sys/kernel.h#2 edit Differences ... ==== //depot/projects/ethng/src/lib/libc/net/getaddrinfo.c#2 (text+ko) ==== @@ -54,7 +54,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/net/getaddrinfo.c,v 1.85 2006/07/23 15:31:03 ume Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/getaddrinfo.c,v 1.86 2007/09/05 18:08:14 jinmei Exp $"); #include "namespace.h" #include @@ -575,11 +575,28 @@ * If the returned entry is for an active connection, * and the given name is not numeric, reorder the * list, so that the application would try the list - * in the most efficient order. + * in the most efficient order. Since the head entry + * of the original list may contain ai_canonname and + * that entry may be moved elsewhere in the new list, + * we keep the pointer and will restore it in the new + * head entry. (Note that RFC3493 requires the head + * entry store it when requested by the caller). */ if (hints == NULL || !(hints->ai_flags & AI_PASSIVE)) { - if (!numeric) + if (!numeric) { + char *canonname; + + canonname = + sentinel.ai_next->ai_canonname; + sentinel.ai_next->ai_canonname = NULL; (void)reorder(&sentinel); + if (sentinel.ai_next->ai_canonname == + NULL) { + sentinel.ai_next->ai_canonname + = canonname; + } else if (canonname != NULL) + free(canonname); + } } *res = sentinel.ai_next; return SUCCESS; ==== //depot/projects/ethng/src/lib/libutil/expand_number.3#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/lib/libutil/expand_number.3,v 1.1 2007/09/01 06:19:11 pjd Exp $ +.\" $FreeBSD: src/lib/libutil/expand_number.3,v 1.2 2007/09/05 14:25:16 pjd Exp $ .\" .Dd April 16, 2007 .Dt EXPAND_NUMBER 3 @@ -77,6 +77,8 @@ .It Bq Er ERANGE Result doesn't fit into 64 bits. .El +.Sh SEE ALSO +.Xr humanize_number 3 .Sh HISTORY The .Fn expand_number ==== //depot/projects/ethng/src/lib/libutil/expand_number.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libutil/expand_number.c,v 1.1 2007/09/01 06:19:11 pjd Exp $"); +__FBSDID("$FreeBSD: src/lib/libutil/expand_number.c,v 1.2 2007/09/05 14:27:13 pjd Exp $"); #include #include @@ -68,7 +68,22 @@ } s = tolower(*endptr); - for (i = 0; i < unit[i] != '\0'; i++) { + switch (s) { + case 'b': + case 'k': + case 'm': + case 'g': + case 't': + case 'p': + case 'e': + break; + default: + /* Unrecognized unit. */ + errno = EINVAL; + return (-1); + } + + for (i = 0; unit[i] != '\0'; i++) { if (s == unit[i]) break; if ((number < 0 && (number << 10) > number) || @@ -78,11 +93,6 @@ } number <<= 10; } - if (unit[i] == '\0') { - /* Unrecognized unit. */ - errno = EINVAL; - return (-1); - } *num = number; return (0); ==== //depot/projects/ethng/src/lib/libutil/humanize_number.3#2 (text+ko) ==== @@ -1,5 +1,5 @@ .\" $NetBSD: humanize_number.3,v 1.4 2003/04/16 13:34:37 wiz Exp $ -.\" $FreeBSD: src/lib/libutil/humanize_number.3,v 1.10 2006/09/17 21:27:35 ru Exp $ +.\" $FreeBSD: src/lib/libutil/humanize_number.3,v 1.11 2007/09/05 14:25:16 pjd Exp $ .\" .\" Copyright (c) 1999, 2002 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -146,6 +146,8 @@ If .Dv HN_GETSCALE is specified, the prefix index number will be returned instead. +.Sh SEE ALSO +.Xr expand_number 3 .Sh HISTORY The .Fn humanize_number ==== //depot/projects/ethng/src/share/man/man9/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/man/man9/Makefile,v 1.308 2007/05/19 20:24:32 jhb Exp $ +# $FreeBSD: src/share/man/man9/Makefile,v 1.309 2007/09/05 19:46:23 rwatson Exp $ MAN= accept_filter.9 \ accf_data.9 \ @@ -1072,6 +1072,18 @@ sx.9 sx_xlock.9 \ sx.9 sx_xlocked.9 \ sx.9 sx_xunlock.9 +MLINKS+=sysctl.9 SYSCTL_DECL.9 \ + sysctl.9 SYSCTL_INT.9 \ + sysctl.9 SYSCTL_LONG.9 \ + sysctl.9 SYSCTL_NODE.9 \ + sysctl.9 SYSCTL_OPAQUE.9 \ + sysctl.9 SYSCTL_PROC.9 \ + sysctl.9 SYSCTL_STRING.9 \ + sysctl.9 SYSCTL_STRUCT.9 \ + sysctl.9 SYSCTL_UINT.9 \ + sysctl.9 SYSCTL_ULONG.9 \ + sysctl.9 SYSCTL_XINT.9 \ + sysctl.9 SYSCTL_XLONG.9 MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_INT.9 \ sysctl_add_oid.9 SYSCTL_ADD_LONG.9 \ sysctl_add_oid.9 SYSCTL_ADD_NODE.9 \ ==== //depot/projects/ethng/src/sys/dev/ath/if_ath.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.173 2007/08/06 14:25:59 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.174 2007/09/05 23:00:26 sam Exp $"); /* * Driver for the Atheros Wireless LAN controller. @@ -1579,6 +1579,12 @@ ATH_TXBUF_UNLOCK(sc); break; } + /* + * Cancel any background scan. + */ + if (ic->ic_flags & IEEE80211_F_SCAN) + ieee80211_cancel_scan(ic); + STAILQ_INIT(&frags); /* * Find the node for the destination so we can do @@ -1605,15 +1611,6 @@ * the frame back when the time is right. */ ieee80211_pwrsave(ni, m); - /* - * If we're in power save mode 'cuz of a bg - * scan cancel it so the traffic can flow. - * The packet we just queued will automatically - * get sent when we drop out of power save. - * XXX locking - */ - if (ic->ic_flags & IEEE80211_F_SCAN) - ieee80211_cancel_scan(ic); goto reclaim; } /* calculate priority so we can find the tx queue */ @@ -1752,6 +1749,7 @@ } ifp->if_timer = 5; + ic->ic_lastdata = ticks; #if 0 /* * Flush stale frames from the fast-frame staging queue. ==== //depot/projects/ethng/src/sys/dev/awi/awi.c#2 (text+ko) ==== @@ -89,7 +89,7 @@ __KERNEL_RCSID(0, "$NetBSD: awi.c,v 1.62 2004/01/16 14:13:15 onoe Exp $"); #endif #ifdef __FreeBSD__ -__FBSDID("$FreeBSD: src/sys/dev/awi/awi.c,v 1.44 2007/06/11 03:36:51 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/awi/awi.c,v 1.45 2007/09/05 21:31:31 sam Exp $"); #endif #include "opt_inet.h" @@ -1919,6 +1919,8 @@ else awi_drvstate(sc, AWI_DRV_INFASSOC); break; + default: + break; } if (nstate == IEEE80211_S_INIT) { @@ -1954,6 +1956,8 @@ case IEEE80211_S_SCAN: /* scan next */ break; + default: + break; } if (ic->ic_flags & IEEE80211_F_ASCAN) newmode = AWI_SCAN_ACTIVE; ==== //depot/projects/ethng/src/sys/dev/cxgb/common/cxgb_t3_cpl.h#3 (text+ko) ==== ==== //depot/projects/ethng/src/sys/dev/ipw/if_ipw.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/ipw/if_ipw.c,v 1.29 2007/07/05 15:06:49 avatar Exp $ */ +/* $FreeBSD: src/sys/dev/ipw/if_ipw.c,v 1.30 2007/09/05 21:31:31 sam Exp $ */ /*- * Copyright (c) 2004-2006 @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ipw/if_ipw.c,v 1.29 2007/07/05 15:06:49 avatar Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ipw/if_ipw.c,v 1.30 2007/09/05 21:31:31 sam Exp $"); /*- * Intel(R) PRO/Wireless 2100 MiniPCI driver @@ -839,6 +839,7 @@ case IEEE80211_S_SCAN: case IEEE80211_S_AUTH: case IEEE80211_S_ASSOC: + default: break; } ==== //depot/projects/ethng/src/sys/dev/iwi/if_iwi.c#3 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/iwi/if_iwi.c,v 1.56 2007/08/29 21:52:03 thompsa Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/iwi/if_iwi.c,v 1.57 2007/09/05 23:00:26 sam Exp $"); /*- * Intel(R) PRO/Wireless 2200BG/2225BG/2915ABG driver @@ -1917,6 +1917,11 @@ IFQ_DRV_DEQUEUE(&ifp->if_snd, m0); if (m0 == NULL) break; + /* + * Cancel any background scan. + */ + if (ic->ic_flags & IEEE80211_F_SCAN) + ieee80211_cancel_scan(ic); if (m0->m_len < sizeof (struct ether_header) && (m0 = m_pullup(m0, sizeof (struct ether_header))) == NULL) { @@ -1978,6 +1983,7 @@ } sc->sc_tx_timer = 5; + ic->ic_lastdata = ticks; } IWI_UNLOCK(sc); ==== //depot/projects/ethng/src/sys/dev/ral/rt2560.c#2 (text) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/ral/rt2560.c,v 1.14 2007/07/22 06:44:10 kevlo Exp $ */ +/* $FreeBSD: src/sys/dev/ral/rt2560.c,v 1.16 2007/09/05 23:00:27 sam Exp $ */ /*- * Copyright (c) 2005, 2006 @@ -18,7 +18,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ral/rt2560.c,v 1.14 2007/07/22 06:44:10 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ral/rt2560.c,v 1.16 2007/09/05 23:00:27 sam Exp $"); /*- * Ralink Technology RT2560 chipset driver @@ -807,6 +807,7 @@ case IEEE80211_S_SCAN: case IEEE80211_S_AUTH: case IEEE80211_S_ASSOC: + default: break; } @@ -2004,6 +2005,11 @@ ifp->if_drv_flags |= IFF_DRV_OACTIVE; break; } + /* + * Cancel any background scan. + */ + if (ic->ic_flags & IEEE80211_F_SCAN) + ieee80211_cancel_scan(ic); if (m0->m_len < sizeof (struct ether_header) && !(m0 = m_pullup(m0, sizeof (struct ether_header)))) @@ -2056,6 +2062,7 @@ } sc->sc_tx_timer = 5; + ic->ic_lastdata = ticks; callout_reset(&sc->watchdog_ch, hz, rt2560_watchdog, sc); } ==== //depot/projects/ethng/src/sys/dev/ral/rt2661.c#2 (text) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/ral/rt2661.c,v 1.14 2007/07/22 06:44:10 kevlo Exp $ */ +/* $FreeBSD: src/sys/dev/ral/rt2661.c,v 1.16 2007/09/05 23:00:27 sam Exp $ */ /*- * Copyright (c) 2006 @@ -18,7 +18,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ral/rt2661.c,v 1.14 2007/07/22 06:44:10 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ral/rt2661.c,v 1.16 2007/09/05 23:00:27 sam Exp $"); /*- * Ralink Technology RT2561, RT2561S and RT2661 chipset driver @@ -821,6 +821,7 @@ case IEEE80211_S_SCAN: case IEEE80211_S_AUTH: case IEEE80211_S_ASSOC: + default: break; } @@ -1765,6 +1766,11 @@ IFQ_DRV_DEQUEUE(&ifp->if_snd, m0); if (m0 == NULL) break; + /* + * Cancel any background scan. + */ + if (ic->ic_flags & IEEE80211_F_SCAN) + ieee80211_cancel_scan(ic); if (m0->m_len < sizeof (struct ether_header) && !(m0 = m_pullup(m0, sizeof (struct ether_header)))) @@ -1818,6 +1824,7 @@ } sc->sc_tx_timer = 5; + ic->ic_lastdata = ticks; callout_reset(&sc->watchdog_ch, hz, rt2661_watchdog, sc); } ==== //depot/projects/ethng/src/sys/dev/ray/if_ray.c#2 (text+ko) ==== @@ -62,7 +62,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ray/if_ray.c,v 1.86 2007/02/23 12:18:51 piso Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ray/if_ray.c,v 1.87 2007/09/05 21:25:58 sam Exp $"); /* * Card configuration @@ -275,6 +275,16 @@ #include #include +typedef uint8_t *ieee80211_mgt_beacon_t; +typedef uint8_t *ieee80211_mgt_auth_t; + +#define IEEE80211_AUTH_ALGORITHM(auth) \ + ((auth)[0] | ((auth)[1] << 8)) +#define IEEE80211_AUTH_TRANSACTION(auth) \ + ((auth)[2] | ((auth)[3] << 8)) +#define IEEE80211_AUTH_STATUS(auth) \ + ((auth)[4] | ((auth)[5] << 8)) + static MALLOC_DEFINE(M_RAYCOM, "raycom", "Raylink command queue entry"); /* * Prototyping ==== //depot/projects/ethng/src/sys/dev/usb/if_rum.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/usb/if_rum.c,v 1.11 2007/06/21 14:42:33 imp Exp $ */ +/* $FreeBSD: src/sys/dev/usb/if_rum.c,v 1.12 2007/09/05 23:00:27 sam Exp $ */ /*- * Copyright (c) 2005-2007 Damien Bergamini @@ -18,7 +18,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/if_rum.c,v 1.11 2007/06/21 14:42:33 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/if_rum.c,v 1.12 2007/09/05 23:00:27 sam Exp $"); /*- * Ralink Technology RT2501USB/RT2601USB chipset driver @@ -1406,6 +1406,11 @@ ifp->if_drv_flags |= IFF_DRV_OACTIVE; break; } + /* + * Cancel any background scan. + */ + if (ic->ic_flags & IEEE80211_F_SCAN) + ieee80211_cancel_scan(ic); if (m0->m_len < sizeof (struct ether_header) && !(m0 = m_pullup(m0, sizeof (struct ether_header)))) @@ -1436,6 +1441,7 @@ } sc->sc_tx_timer = 5; + ic->ic_lastdata = ticks; callout_reset(&sc->watchdog_ch, hz, rum_watchdog, sc); } } ==== //depot/projects/ethng/src/sys/dev/usb/if_ural.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/usb/if_ural.c,v 1.67 2007/07/17 11:27:57 sephe Exp $ */ +/* $FreeBSD: src/sys/dev/usb/if_ural.c,v 1.68 2007/09/05 23:00:27 sam Exp $ */ /*- * Copyright (c) 2005, 2006 @@ -18,7 +18,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/if_ural.c,v 1.67 2007/07/17 11:27:57 sephe Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/if_ural.c,v 1.68 2007/09/05 23:00:27 sam Exp $"); /*- * Ralink Technology RT2500USB chipset driver @@ -1472,6 +1472,11 @@ ifp->if_drv_flags |= IFF_DRV_OACTIVE; break; } + /* + * Cancel any background scan. + */ + if (ic->ic_flags & IEEE80211_F_SCAN) + ieee80211_cancel_scan(ic); if (m0->m_len < sizeof (struct ether_header) && !(m0 = m_pullup(m0, sizeof (struct ether_header)))) @@ -1502,6 +1507,7 @@ } sc->sc_tx_timer = 5; + ic->ic_lastdata = ticks; callout_reset(&sc->watchdog_ch, hz, ural_watchdog, sc); } } ==== //depot/projects/ethng/src/sys/dev/usb/if_zyd.c#2 (text+ko) ==== @@ -1,6 +1,6 @@ /* $OpenBSD: if_zyd.c,v 1.52 2007/02/11 00:08:04 jsg Exp $ */ /* $NetBSD: if_zyd.c,v 1.7 2007/06/21 04:04:29 kiyohara Exp $ */ -/* $FreeBSD: src/sys/dev/usb/if_zyd.c,v 1.1 2007/08/29 21:16:50 imp Exp $ */ +/* $FreeBSD: src/sys/dev/usb/if_zyd.c,v 1.2 2007/09/05 23:40:59 sam Exp $ */ /*- * Copyright (c) 2006 by Damien Bergamini @@ -2300,6 +2300,11 @@ break; } IFQ_DEQUEUE(&ifp->if_snd, m0); + /* + * Cancel any background scan. + */ + if (ic->ic_flags & IEEE80211_F_SCAN) + ieee80211_cancel_scan(ic); if (m0->m_len < sizeof(struct ether_header) && !(m0 = m_pullup(m0, sizeof(struct ether_header)))) @@ -2328,6 +2333,7 @@ } sc->tx_timer = 5; + ic->ic_lastdata = ticks; callout_reset(&sc->sc_watchdog_ch, hz, zyd_watchdog, sc); } } ==== //depot/projects/ethng/src/sys/dev/wi/if_wi.c#3 (text+ko) ==== @@ -62,7 +62,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.212 2007/08/09 13:29:26 avatar Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.213 2007/09/05 21:31:32 sam Exp $"); #define WI_HERMES_AUTOINC_WAR /* Work around data write autoinc bug. */ #define WI_HERMES_STATS_WAR /* Work around stats counter bug. */ @@ -3009,6 +3009,8 @@ memcpy(ni->ni_essid, ssid.wi_ssid, ni->ni_esslen); } return (*sc->sc_newstate)(ic, nstate, arg); + default: + break; } return 0; } ==== //depot/projects/ethng/src/sys/kern/init_main.c#2 (text+ko) ==== @@ -153,6 +153,21 @@ newsysinit_end = newset + count; } +int cursubsystem; + +int +check_subsystem(int subsystem) +{ + + if (subsystem < cursubsystem) + return (1); + else if (subsystem == cursubsystem) + return (0); + else + return (-1); +} + + /* * System startup; initialize the world, create process 0, mount root * filesystem, and fork to create init and pagedaemon. Most of the @@ -221,7 +236,9 @@ if ((*sipp)->subsystem == SI_SUB_DONE) continue; - + + cursubsystem = (*sipp)->subsystem; + #if defined(VERBOSE_SYSINIT) if ((*sipp)->subsystem > last) { verbose = 1; ==== //depot/projects/ethng/src/sys/modules/cxgb/Makefile#5 (text+ko) ==== @@ -10,10 +10,10 @@ SRCS+= device_if.h bus_if.h pci_if.h opt_zero.h SRCS+= uipc_mvec.c cxgb_multiq.c -CFLAGS+= -DCONFIG_CHELSIO_T3_CORE -g -DCONFIG_DEFINED -DDEFAULT_JUMBO -I${CXGB} +CFLAGS+= -DCONFIG_CHELSIO_T3_CORE -g -DCONFIG_DEFINED -DDEFAULT_JUMBO -I${CXGB} -DSMP #CFLAGS+= -DIFNET_MULTIQUEUE -CFLAGS+= -DINVARIANT_SUPPORT -DINVARIANTS -CFLAGS+= -DWITNESS +#CFLAGS+= -DINVARIANT_SUPPORT -DINVARIANTS +#CFLAGS+= -DWITNESS #CFLAGS+= -DDEBUG -DDEBUG_PRINT ==== //depot/projects/ethng/src/sys/net80211/_ieee80211.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/net80211/_ieee80211.h,v 1.11 2007/06/30 21:23:23 thompsa Exp $ + * $FreeBSD: src/sys/net80211/_ieee80211.h,v 1.12 2007/09/05 20:37:39 sam Exp $ */ #ifndef _NET80211__IEEE80211_H_ #define _NET80211__IEEE80211_H_ @@ -109,7 +109,8 @@ int8_t ic_maxregpower; /* maximum regulatory tx power in dBm */ int8_t ic_maxpower; /* maximum tx power in .5 dBm */ int8_t ic_minpower; /* minimum tx power in .5 dBm */ - /* NB: hole, to be used for dfs */ + uint8_t ic_state; /* dynamic state */ + uint8_t ic_extieee; /* HT40 extension channel number */ }; #define IEEE80211_CHAN_MAX 255 @@ -120,21 +121,26 @@ /* bits 0-3 are for private use by drivers */ /* channel attributes */ -#define IEEE80211_CHAN_TURBO 0x00010 /* Turbo channel */ -#define IEEE80211_CHAN_CCK 0x00020 /* CCK channel */ -#define IEEE80211_CHAN_OFDM 0x00040 /* OFDM channel */ -#define IEEE80211_CHAN_2GHZ 0x00080 /* 2 GHz spectrum channel. */ -#define IEEE80211_CHAN_5GHZ 0x00100 /* 5 GHz spectrum channel */ -#define IEEE80211_CHAN_PASSIVE 0x00200 /* Only passive scan allowed */ -#define IEEE80211_CHAN_DYN 0x00400 /* Dynamic CCK-OFDM channel */ -#define IEEE80211_CHAN_GFSK 0x00800 /* GFSK channel (FHSS PHY) */ -#define IEEE80211_CHAN_GSM 0x01000 /* 900 MHz spectrum channel */ -#define IEEE80211_CHAN_STURBO 0x02000 /* 11a static turbo channel only */ -#define IEEE80211_CHAN_HALF 0x04000 /* Half rate channel */ -#define IEEE80211_CHAN_QUARTER 0x08000 /* Quarter rate channel */ -#define IEEE80211_CHAN_HT20 0x10000 /* HT 20 channel */ -#define IEEE80211_CHAN_HT40U 0x20000 /* HT 40 channel w/ ext above */ -#define IEEE80211_CHAN_HT40D 0x40000 /* HT 40 channel w/ ext below */ +#define IEEE80211_CHAN_TURBO 0x00000010 /* Turbo channel */ +#define IEEE80211_CHAN_CCK 0x00000020 /* CCK channel */ +#define IEEE80211_CHAN_OFDM 0x00000040 /* OFDM channel */ +#define IEEE80211_CHAN_2GHZ 0x00000080 /* 2 GHz spectrum channel. */ +#define IEEE80211_CHAN_5GHZ 0x00000100 /* 5 GHz spectrum channel */ +#define IEEE80211_CHAN_PASSIVE 0x00000200 /* Only passive scan allowed */ +#define IEEE80211_CHAN_DYN 0x00000400 /* Dynamic CCK-OFDM channel */ +#define IEEE80211_CHAN_GFSK 0x00000800 /* GFSK channel (FHSS PHY) */ +#define IEEE80211_CHAN_GSM 0x00001000 /* 900 MHz spectrum channel */ +#define IEEE80211_CHAN_STURBO 0x00002000 /* 11a static turbo channel only */ +#define IEEE80211_CHAN_HALF 0x00004000 /* Half rate channel */ +#define IEEE80211_CHAN_QUARTER 0x00008000 /* Quarter rate channel */ +#define IEEE80211_CHAN_HT20 0x00010000 /* HT 20 channel */ +#define IEEE80211_CHAN_HT40U 0x00020000 /* HT 40 channel w/ ext above */ +#define IEEE80211_CHAN_HT40D 0x00040000 /* HT 40 channel w/ ext below */ +#define IEEE80211_CHAN_DFS 0x00080000 /* DFS required */ +#define IEEE80211_CHAN_4MSXMIT 0x00100000 /* 4ms limit on frame length */ +#define IEEE80211_CHAN_NOADHOC 0x00200000 /* adhoc mode not allowed */ +#define IEEE80211_CHAN_NOHOSTAP 0x00400000 /* hostap mode not allowed */ +#define IEEE80211_CHAN_11D 0x00800000 /* 802.11d required */ #define IEEE80211_CHAN_HT40 (IEEE80211_CHAN_HT40U | IEEE80211_CHAN_HT40D) #define IEEE80211_CHAN_HT (IEEE80211_CHAN_HT20 | IEEE80211_CHAN_HT40) @@ -228,9 +234,27 @@ #define IEEE80211_IS_CHAN_HTG(_c) \ (IEEE80211_IS_CHAN_2GHZ(_c) && \ ((_c)->ic_flags & IEEE80211_CHAN_HT) != 0) +#define IEEE80211_IS_CHAN_DFS(_c) \ + (((_c)->ic_flags & IEEE80211_CHAN_DFS) != 0) +#define IEEE80211_IS_CHAN_NOADHOC(_c) \ + (((_c)->ic_flags & IEEE80211_CHAN_NOADHOC) != 0) +#define IEEE80211_IS_CHAN_NOHOSTAP(_c) \ + (((_c)->ic_flags & IEEE80211_CHAN_NOHOSTAP) != 0) +#define IEEE80211_IS_CHAN_11D(_c) \ + (((_c)->ic_flags & IEEE80211_CHAN_11D) != 0) #define IEEE80211_CHAN2IEEE(_c) (_c)->ic_ieee +/* dynamic state */ +#define IEEE80211_CHANSTATE_RADAR 0x01 /* radar detected */ +#define IEEE80211_CHANSTATE_CACDONE 0x02 /* CAC completed */ +#define IEEE80211_CHANSTATE_NORADAR 0x10 /* post notify on radar clear */ + +#define IEEE80211_IS_CHAN_RADAR(_c) \ + (((_c)->ic_state & IEEE80211_CHANSTATE_RADAR) != 0) +#define IEEE80211_IS_CHAN_CACDONE(_c) \ + (((_c)->ic_state & IEEE80211_CHANSTATE_CACDONE) != 0) + /* ni_chan encoding for FH phy */ #define IEEE80211_FH_CHANMOD 80 #define IEEE80211_FH_CHAN(set,pat) (((set)-1)*IEEE80211_FH_CHANMOD+(pat)) ==== //depot/projects/ethng/src/sys/net80211/ieee80211.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/net80211/ieee80211.h,v 1.14 2007/06/11 03:36:54 sam Exp $ + * $FreeBSD: src/sys/net80211/ieee80211.h,v 1.15 2007/09/05 20:29:51 sam Exp $ */ #ifndef _NET80211_IEEE80211_H_ #define _NET80211_IEEE80211_H_ @@ -273,7 +273,7 @@ uint8_t param_len; uint8_t param_oui[3]; uint8_t param_oui_type; - uint8_t param_oui_sybtype; + uint8_t param_oui_subtype; uint8_t param_version; uint8_t param_qosInfo; #define WME_QOSINFO_COUNT 0x0f /* Mask for param count field */ @@ -305,7 +305,7 @@ #define IEEE80211_ACTION_CAT_QOS 0 /* QoS */ #define IEEE80211_ACTION_CAT_BA 3 /* BA */ -#define IEEE80211_ACTION_CAT_HT 5 /* HT */ +#define IEEE80211_ACTION_CAT_HT 7 /* HT */ #define IEEE80211_ACTION_HT_TXCHWIDTH 0 /* recommended xmit chan width*/ #define IEEE80211_ACTION_HT_MIMOPWRSAVE 1 /* MIMO power save */ @@ -319,11 +319,11 @@ #define IEEE80211_A_HT_TXCHWIDTH_20 0 #define IEEE80211_A_HT_TXCHWIDTH_2040 1 -/* HT - MIMO Power Save */ +/* HT - MIMO Power Save (NB: D2.04) */ struct ieee80211_action_ht_mimopowersave { struct ieee80211_action am_header; - uint8_t am_enable; - uint8_t am_mode; + uint8_t am_enable; + uint8_t am_mode; } __packed; /* Block Ack actions */ @@ -462,8 +462,6 @@ * octet information[length] */ -typedef uint8_t *ieee80211_mgt_beacon_t; - #define IEEE80211_BEACON_INTERVAL(beacon) \ ((beacon)[8] | ((beacon)[9] << 8)) #define IEEE80211_BEACON_CAPABILITY(beacon) \ @@ -477,7 +475,8 @@ #define IEEE80211_CAPINFO_SHORT_PREAMBLE 0x0020 #define IEEE80211_CAPINFO_PBCC 0x0040 #define IEEE80211_CAPINFO_CHNL_AGILITY 0x0080 -/* bits 8-9 are reserved */ +#define IEEE80211_CAPINFO_SPECTRUM_MGMT 0x0100 +/* bit 9 is reserved */ #define IEEE80211_CAPINFO_SHORT_SLOTTIME 0x0400 #define IEEE80211_CAPINFO_RSN 0x0800 /* bit 12 is reserved */ @@ -587,9 +586,10 @@ uint8_t hi_len; /* length in bytes */ uint8_t hi_ctrlchannel; /* primary channel */ uint8_t hi_byte1; /* ht ie byte 1 */ - uint16_t hi_byte23; /* ht ie bytes 2+3 */ + uint8_t hi_byte2; /* ht ie byte 2 */ + uint8_t hi_byte3; /* ht ie byte 3 */ uint16_t hi_byte45; /* ht ie bytes 4+5 */ - uint8_t hi_basicmcsset[16]; /* basic MCS set */ + uint8_t hi_basicmcsset[16]; /* basic MCS set */ } __packed; /* byte1 */ @@ -615,9 +615,9 @@ #define IEEE80211_HTINFO_OPMODE 0x03 /* operating mode */ #define IEEE80211_HTINFO_OPMODE_S 0 #define IEEE80211_HTINFO_OPMODE_PURE 0x00 /* no protection */ -#define IEEE80211_HTINFO_OPMODE_MIXED 0x01 /* protection required */ -#define IEEE80211_HTINFO_OPMODE_PROTOPT 0x02 /* protection optional */ -#define IEEE80211_HTINFO_OPMODE_TBD 0x03 +#define IEEE80211_HTINFO_OPMODE_PROTOPT 0x01 /* protection optional */ +#define IEEE80211_HTINFO_OPMODE_HT20PR 0x02 /* protection for HT20 sta's */ +#define IEEE80211_HTINFO_OPMODE_MIXED 0x03 /* protection for legacy sta's*/ #define IEEE80211_HTINFO_NONGF_PRESENT 0x04 /* non-GF sta's present */ #define IEEE80211_HTINFO_TXBL 0x08 /* transmit burst limit */ #define IEEE80211_HTINFO_NONHT_PRESENT 0x10 /* non-HT sta's present */ @@ -690,6 +690,17 @@ } __packed; /* + * 802.11h Channel Switch Announcement (CSA). + */ +struct ieee80211_csa_ie { + uint8_t csa_ie; /* IEEE80211_ELEMID_CHANSWITCHANN */ + uint8_t csa_len; + uint8_t csa_mode; /* Channel Switch Mode */ + uint8_t csa_newchan; /* New Channel Number */ + uint8_t csa_count; /* Channel Switch Count */ +} __packed; + +/* * Atheros advanced capability information element. */ struct ieee80211_ath_ie { @@ -711,8 +722,7 @@ uint8_t ath_defkeyix[2]; } __packed; -#define IEEE80211_CHALLENGE_LEN 128 - +/* rate set entries are in .5 Mb/s units, and potentially marked as basic */ #define IEEE80211_RATE_BASIC 0x80 #define IEEE80211_RATE_VAL 0x7f @@ -780,18 +790,12 @@ * octet status[2] * octet chal.id * octet chal.length - * octet chal.text[253] + * octet chal.text[253] NB: 1-253 bytes */ -typedef uint8_t *ieee80211_mgt_auth_t; +/* challenge length for shared key auth */ +#define IEEE80211_CHALLENGE_LEN 128 -#define IEEE80211_AUTH_ALGORITHM(auth) \ - ((auth)[0] | ((auth)[1] << 8)) -#define IEEE80211_AUTH_TRANSACTION(auth) \ - ((auth)[2] | ((auth)[3] << 8)) -#define IEEE80211_AUTH_STATUS(auth) \ - ((auth)[4] | ((auth)[5] << 8)) - #define IEEE80211_AUTH_ALG_OPEN 0x0000 #define IEEE80211_AUTH_ALG_SHARED 0x0001 #define IEEE80211_AUTH_ALG_LEAP 0x0080 @@ -809,7 +813,11 @@ }; /* - * Reason codes + * Reason and status codes. + * + * Reason codes are used in management frames to indicate why an + * action took place (e.g. on disassociation). Status codes are + * used in management frames to indicate the result of an operation. * * Unlisted codes are reserved */ @@ -824,11 +832,20 @@ IEEE80211_REASON_NOT_ASSOCED = 7, IEEE80211_REASON_ASSOC_LEAVE = 8, IEEE80211_REASON_ASSOC_NOT_AUTHED = 9, - - IEEE80211_REASON_RSN_REQUIRED = 11, - IEEE80211_REASON_RSN_INCONSISTENT = 12, - IEEE80211_REASON_IE_INVALID = 13, - IEEE80211_REASON_MIC_FAILURE = 14, + IEEE80211_REASON_DISASSOC_PWRCAP_BAD = 10, /* 11h */ + IEEE80211_REASON_DISASSOC_SUPCHAN_BAD = 11, /* 11h */ + IEEE80211_REASON_IE_INVALID = 13, /* 11i */ + IEEE80211_REASON_MIC_FAILURE = 14, /* 11i */ + IEEE80211_REASON_4WAY_HANDSHAKE_TIMEOUT = 15, /* 11i */ + IEEE80211_REASON_GROUP_KEY_UPDATE_TIMEOUT = 16, /* 11i */ + IEEE80211_REASON_IE_IN_4WAY_DIFFERS = 17, /* 11i */ + IEEE80211_REASON_GROUP_CIPHER_INVALID = 18, /* 11i */ + IEEE80211_REASON_PAIRWISE_CIPHER_INVALID= 19, /* 11i */ + IEEE80211_REASON_AKMP_INVALID = 20, /* 11i */ + IEEE80211_REASON_UNSUPP_RSN_IE_VERSION = 21, /* 11i */ + IEEE80211_REASON_INVALID_RSN_IE_CAP = 22, /* 11i */ + IEEE80211_REASON_802_1X_AUTH_FAILED = 23, /* 11i */ + IEEE80211_REASON_CIPHER_SUITE_REJECTED = 24, /* 11i */ IEEE80211_STATUS_SUCCESS = 0, IEEE80211_STATUS_UNSPECIFIED = 1, @@ -841,13 +858,21 @@ IEEE80211_STATUS_TIMEOUT = 16, IEEE80211_STATUS_TOOMANY = 17, IEEE80211_STATUS_BASIC_RATE = 18, - IEEE80211_STATUS_SP_REQUIRED = 19, - IEEE80211_STATUS_PBCC_REQUIRED = 20, - IEEE80211_STATUS_CA_REQUIRED = 21, - IEEE80211_STATUS_TOO_MANY_STATIONS = 22, - IEEE80211_STATUS_RATES = 23, - IEEE80211_STATUS_SHORTSLOT_REQUIRED = 25, - IEEE80211_STATUS_DSSSOFDM_REQUIRED = 26, + IEEE80211_STATUS_SP_REQUIRED = 19, /* 11b */ + IEEE80211_STATUS_PBCC_REQUIRED = 20, /* 11b */ + IEEE80211_STATUS_CA_REQUIRED = 21, /* 11b */ + IEEE80211_STATUS_SPECMGMT_REQUIRED = 22, /* 11h */ + IEEE80211_STATUS_PWRCAP_REQUIRED = 23, /* 11h */ + IEEE80211_STATUS_SUPCHAN_REQUIRED = 24, /* 11h */ + IEEE80211_STATUS_SHORTSLOT_REQUIRED = 25, /* 11g */ + IEEE80211_STATUS_DSSSOFDM_REQUIRED = 26, /* 11g */ + IEEE80211_STATUS_INVALID_IE = 40, /* 11i */ + IEEE80211_STATUS_GROUP_CIPHER_INVALID = 41, /* 11i */ + IEEE80211_STATUS_PAIRWISE_CIPHER_INVALID = 42, /* 11i */ + IEEE80211_STATUS_AKMP_INVALID = 43, /* 11i */ + IEEE80211_STATUS_UNSUPP_RSN_IE_VERSION = 44, /* 11i */ + IEEE80211_STATUS_INVALID_RSN_IE_CAP = 45, /* 11i */ + IEEE80211_STATUS_CIPHER_SUITE_REJECTED = 46, /* 11i */ }; #define IEEE80211_WEP_KEYLEN 5 /* 40bit */ ==== //depot/projects/ethng/src/sys/net80211/ieee80211_freebsd.h#2 (text+ko) ==== @@ -22,7 +22,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/net80211/ieee80211_freebsd.h,v 1.14 2007/06/25 03:26:10 sam Exp $ + * $FreeBSD: src/sys/net80211/ieee80211_freebsd.h,v 1.15 2007/09/05 20:22:59 sam Exp $ */ #ifndef _NET80211_IEEE80211_FREEBSD_H_ #define _NET80211_IEEE80211_FREEBSD_H_ @@ -184,14 +184,19 @@ #define time_before_eq(a,b) time_after_eq(b,a) struct mbuf *ieee80211_getmgtframe(uint8_t **frm, int headroom, int pktlen); + /* tx path usage */ #define M_LINK0 M_PROTO1 /* WEP requested */ #define M_PWR_SAV M_PROTO4 /* bypass PS handling */ #define M_MORE_DATA M_PROTO5 /* more data frames to follow */ #define M_FF 0x20000 /* fast frame */ #define M_TXCB 0x40000 /* do tx complete callback */ +#define M_80211_TX (0x60000|M_PROTO1|M_WME_AC_MASK|M_PROTO4|M_PROTO5) + /* rx path usage */ #define M_AMPDU M_PROTO1 /* A-MPDU processing done */ +#define M_WEP M_PROTO2 /* WEP done by hardware */ +#define M_80211_RX (M_AMPDU|M_WEP) /* * Encode WME access control bits in the PROTO flags. * This is safe since it's passed directly in to the ==== //depot/projects/ethng/src/sys/net80211/ieee80211_ht.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ #include #ifdef __FreeBSD__ -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_ht.c,v 1.1 2007/06/11 03:36:54 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_ht.c,v 1.2 2007/09/05 20:29:51 sam Exp $"); #endif /* @@ -696,7 +696,7 @@ htinfo = (const struct ieee80211_ie_htinfo *) ie; ni->ni_htctlchan = htinfo->hi_ctrlchannel; ni->ni_ht2ndchan = SM(htinfo->hi_byte1, IEEE80211_HTINFO_2NDCHAN); - w = LE_READ_2(&htinfo->hi_byte23); + w = LE_READ_2(&htinfo->hi_byte2); ni->ni_htopmode = SM(w, IEEE80211_HTINFO_OPMODE); w = LE_READ_2(&htinfo->hi_byte45); ni->ni_htstbc = SM(w, IEEE80211_HTINFO_BASIC_STBCMCS); ==== //depot/projects/ethng/src/sys/net80211/ieee80211_input.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Sep 6 03:39:35 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4686216A468; Thu, 6 Sep 2007 03:39:35 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1187D16A420 for ; Thu, 6 Sep 2007 03:39:35 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0153813C46B for ; Thu, 6 Sep 2007 03:39:35 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l863dYmB049216 for ; Thu, 6 Sep 2007 03:39:34 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l863dYZZ049212 for perforce@freebsd.org; Thu, 6 Sep 2007 03:39:34 GMT (envelope-from kmacy@freebsd.org) Date: Thu, 6 Sep 2007 03:39:34 GMT Message-Id: <200709060339.l863dYZZ049212@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126119 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Sep 2007 03:39:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=126119 Change 126119 by kmacy@kmacy:storage:toestack on 2007/09/06 03:39:28 IFC 126117 Affected files ... .. //depot/projects/toestack/lib/libc/net/getaddrinfo.c#2 integrate .. //depot/projects/toestack/lib/libutil/expand_number.3#2 integrate .. //depot/projects/toestack/lib/libutil/expand_number.c#2 integrate .. //depot/projects/toestack/lib/libutil/humanize_number.3#2 integrate .. //depot/projects/toestack/share/man/man9/Makefile#2 integrate .. //depot/projects/toestack/sys/amd64/conf/MULTIQ#1 branch .. //depot/projects/toestack/sys/dev/ath/if_ath.c#2 integrate .. //depot/projects/toestack/sys/dev/awi/awi.c#2 integrate .. //depot/projects/toestack/sys/dev/cxgb/common/cxgb_t3_cpl.h#2 integrate .. //depot/projects/toestack/sys/dev/cxgb/cxgb_adapter.h#2 integrate .. //depot/projects/toestack/sys/dev/cxgb/cxgb_main.c#2 integrate .. //depot/projects/toestack/sys/dev/ipw/if_ipw.c#2 integrate .. //depot/projects/toestack/sys/dev/iwi/if_iwi.c#2 integrate .. //depot/projects/toestack/sys/dev/ral/rt2560.c#2 integrate .. //depot/projects/toestack/sys/dev/ral/rt2661.c#2 integrate .. //depot/projects/toestack/sys/dev/ray/if_ray.c#2 integrate .. //depot/projects/toestack/sys/dev/usb/if_rum.c#2 integrate .. //depot/projects/toestack/sys/dev/usb/if_ural.c#2 integrate .. //depot/projects/toestack/sys/dev/usb/if_zyd.c#2 integrate .. //depot/projects/toestack/sys/dev/wi/if_wi.c#2 integrate .. //depot/projects/toestack/sys/kern/init_main.c#2 integrate .. //depot/projects/toestack/sys/modules/cxgb/Makefile#2 integrate .. //depot/projects/toestack/sys/net80211/_ieee80211.h#2 integrate .. //depot/projects/toestack/sys/net80211/ieee80211.h#2 integrate .. //depot/projects/toestack/sys/net80211/ieee80211_freebsd.h#2 integrate .. //depot/projects/toestack/sys/net80211/ieee80211_ht.c#2 integrate .. //depot/projects/toestack/sys/net80211/ieee80211_input.c#2 integrate .. //depot/projects/toestack/sys/net80211/ieee80211_ioctl.c#2 integrate .. //depot/projects/toestack/sys/net80211/ieee80211_ioctl.h#2 integrate .. //depot/projects/toestack/sys/net80211/ieee80211_node.c#2 integrate .. //depot/projects/toestack/sys/net80211/ieee80211_proto.c#2 integrate .. //depot/projects/toestack/sys/net80211/ieee80211_proto.h#2 integrate .. //depot/projects/toestack/sys/net80211/ieee80211_var.h#2 integrate .. //depot/projects/toestack/sys/netinet/in_pcb.c#2 integrate .. //depot/projects/toestack/sys/sys/kernel.h#2 integrate Differences ... ==== //depot/projects/toestack/lib/libc/net/getaddrinfo.c#2 (text+ko) ==== @@ -54,7 +54,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libc/net/getaddrinfo.c,v 1.85 2006/07/23 15:31:03 ume Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/net/getaddrinfo.c,v 1.86 2007/09/05 18:08:14 jinmei Exp $"); #include "namespace.h" #include @@ -575,11 +575,28 @@ * If the returned entry is for an active connection, * and the given name is not numeric, reorder the * list, so that the application would try the list - * in the most efficient order. + * in the most efficient order. Since the head entry + * of the original list may contain ai_canonname and + * that entry may be moved elsewhere in the new list, + * we keep the pointer and will restore it in the new + * head entry. (Note that RFC3493 requires the head + * entry store it when requested by the caller). */ if (hints == NULL || !(hints->ai_flags & AI_PASSIVE)) { - if (!numeric) + if (!numeric) { + char *canonname; + + canonname = + sentinel.ai_next->ai_canonname; + sentinel.ai_next->ai_canonname = NULL; (void)reorder(&sentinel); + if (sentinel.ai_next->ai_canonname == + NULL) { + sentinel.ai_next->ai_canonname + = canonname; + } else if (canonname != NULL) + free(canonname); + } } *res = sentinel.ai_next; return SUCCESS; ==== //depot/projects/toestack/lib/libutil/expand_number.3#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/lib/libutil/expand_number.3,v 1.1 2007/09/01 06:19:11 pjd Exp $ +.\" $FreeBSD: src/lib/libutil/expand_number.3,v 1.2 2007/09/05 14:25:16 pjd Exp $ .\" .Dd April 16, 2007 .Dt EXPAND_NUMBER 3 @@ -77,6 +77,8 @@ .It Bq Er ERANGE Result doesn't fit into 64 bits. .El +.Sh SEE ALSO +.Xr humanize_number 3 .Sh HISTORY The .Fn expand_number ==== //depot/projects/toestack/lib/libutil/expand_number.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libutil/expand_number.c,v 1.1 2007/09/01 06:19:11 pjd Exp $"); +__FBSDID("$FreeBSD: src/lib/libutil/expand_number.c,v 1.2 2007/09/05 14:27:13 pjd Exp $"); #include #include @@ -68,7 +68,22 @@ } s = tolower(*endptr); - for (i = 0; i < unit[i] != '\0'; i++) { + switch (s) { + case 'b': + case 'k': + case 'm': + case 'g': + case 't': + case 'p': + case 'e': + break; + default: + /* Unrecognized unit. */ + errno = EINVAL; + return (-1); + } + + for (i = 0; unit[i] != '\0'; i++) { if (s == unit[i]) break; if ((number < 0 && (number << 10) > number) || @@ -78,11 +93,6 @@ } number <<= 10; } - if (unit[i] == '\0') { - /* Unrecognized unit. */ - errno = EINVAL; - return (-1); - } *num = number; return (0); ==== //depot/projects/toestack/lib/libutil/humanize_number.3#2 (text+ko) ==== @@ -1,5 +1,5 @@ .\" $NetBSD: humanize_number.3,v 1.4 2003/04/16 13:34:37 wiz Exp $ -.\" $FreeBSD: src/lib/libutil/humanize_number.3,v 1.10 2006/09/17 21:27:35 ru Exp $ +.\" $FreeBSD: src/lib/libutil/humanize_number.3,v 1.11 2007/09/05 14:25:16 pjd Exp $ .\" .\" Copyright (c) 1999, 2002 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -146,6 +146,8 @@ If .Dv HN_GETSCALE is specified, the prefix index number will be returned instead. +.Sh SEE ALSO +.Xr expand_number 3 .Sh HISTORY The .Fn humanize_number ==== //depot/projects/toestack/share/man/man9/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/man/man9/Makefile,v 1.308 2007/05/19 20:24:32 jhb Exp $ +# $FreeBSD: src/share/man/man9/Makefile,v 1.309 2007/09/05 19:46:23 rwatson Exp $ MAN= accept_filter.9 \ accf_data.9 \ @@ -1072,6 +1072,18 @@ sx.9 sx_xlock.9 \ sx.9 sx_xlocked.9 \ sx.9 sx_xunlock.9 +MLINKS+=sysctl.9 SYSCTL_DECL.9 \ + sysctl.9 SYSCTL_INT.9 \ + sysctl.9 SYSCTL_LONG.9 \ + sysctl.9 SYSCTL_NODE.9 \ + sysctl.9 SYSCTL_OPAQUE.9 \ + sysctl.9 SYSCTL_PROC.9 \ + sysctl.9 SYSCTL_STRING.9 \ + sysctl.9 SYSCTL_STRUCT.9 \ + sysctl.9 SYSCTL_UINT.9 \ + sysctl.9 SYSCTL_ULONG.9 \ + sysctl.9 SYSCTL_XINT.9 \ + sysctl.9 SYSCTL_XLONG.9 MLINKS+=sysctl_add_oid.9 SYSCTL_ADD_INT.9 \ sysctl_add_oid.9 SYSCTL_ADD_LONG.9 \ sysctl_add_oid.9 SYSCTL_ADD_NODE.9 \ ==== //depot/projects/toestack/sys/dev/ath/if_ath.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.173 2007/08/06 14:25:59 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.174 2007/09/05 23:00:26 sam Exp $"); /* * Driver for the Atheros Wireless LAN controller. @@ -1579,6 +1579,12 @@ ATH_TXBUF_UNLOCK(sc); break; } + /* + * Cancel any background scan. + */ + if (ic->ic_flags & IEEE80211_F_SCAN) + ieee80211_cancel_scan(ic); + STAILQ_INIT(&frags); /* * Find the node for the destination so we can do @@ -1605,15 +1611,6 @@ * the frame back when the time is right. */ ieee80211_pwrsave(ni, m); - /* - * If we're in power save mode 'cuz of a bg - * scan cancel it so the traffic can flow. - * The packet we just queued will automatically - * get sent when we drop out of power save. - * XXX locking - */ - if (ic->ic_flags & IEEE80211_F_SCAN) - ieee80211_cancel_scan(ic); goto reclaim; } /* calculate priority so we can find the tx queue */ @@ -1752,6 +1749,7 @@ } ifp->if_timer = 5; + ic->ic_lastdata = ticks; #if 0 /* * Flush stale frames from the fast-frame staging queue. ==== //depot/projects/toestack/sys/dev/awi/awi.c#2 (text+ko) ==== @@ -89,7 +89,7 @@ __KERNEL_RCSID(0, "$NetBSD: awi.c,v 1.62 2004/01/16 14:13:15 onoe Exp $"); #endif #ifdef __FreeBSD__ -__FBSDID("$FreeBSD: src/sys/dev/awi/awi.c,v 1.44 2007/06/11 03:36:51 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/awi/awi.c,v 1.45 2007/09/05 21:31:31 sam Exp $"); #endif #include "opt_inet.h" @@ -1919,6 +1919,8 @@ else awi_drvstate(sc, AWI_DRV_INFASSOC); break; + default: + break; } if (nstate == IEEE80211_S_INIT) { @@ -1954,6 +1956,8 @@ case IEEE80211_S_SCAN: /* scan next */ break; + default: + break; } if (ic->ic_flags & IEEE80211_F_ASCAN) newmode = AWI_SCAN_ACTIVE; ==== //depot/projects/toestack/sys/dev/cxgb/common/cxgb_t3_cpl.h#2 (text+ko) ==== ==== //depot/projects/toestack/sys/dev/cxgb/cxgb_adapter.h#2 (text+ko) ==== @@ -590,9 +590,10 @@ struct in6_addr *rip, uint16_t rport, int ipv6); void cxgb_pcpu_shutdown_threads(struct adapter *sc); void cxgb_pcpu_startup_threads(struct adapter *sc); -int cxgb_tx_common(struct ifnet *ifp, struct sge_qset *qs, uint32_t txmax); #endif +int process_responses(adapter_t *adap, struct sge_qset *qs, int budget); +int cxgb_tx_common(struct ifnet *ifp, struct sge_qset *qs, uint32_t txmax); void t3_free_qset(adapter_t *sc, struct sge_qset *q); int cxgb_dequeue_packet(struct ifnet *, struct sge_txq *, struct mbuf **); void cxgb_start(struct ifnet *ifp); ==== //depot/projects/toestack/sys/dev/cxgb/cxgb_main.c#2 (text+ko) ==== @@ -1456,7 +1456,7 @@ for (j = 0; j < pi->nqsets; ++j) send_pktsched_cmd(sc, 1, pi->first_qset + j, -1, - -1, i); + -1, pi->tx_chan); } } @@ -1998,11 +1998,11 @@ if (err == ENOMEM) { ifp->if_drv_flags |= IFF_DRV_OACTIVE; IFQ_LOCK(&ifp->if_snd); - IFQ_DRV_PREPEND(&ifp->if_snd, m); + IFQ_DRV_PREPEND(&ifp->if_snd, m_vec[0]); IFQ_UNLOCK(&ifp->if_snd); } } - if (err == 0 && m == NULL) { + if (err == 0 && m_vec[0] == NULL) { err = ENOBUFS; } else if ((err == 0) && (txq->size <= txq->in_use + TX_MAX_DESC) && ==== //depot/projects/toestack/sys/dev/ipw/if_ipw.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/ipw/if_ipw.c,v 1.29 2007/07/05 15:06:49 avatar Exp $ */ +/* $FreeBSD: src/sys/dev/ipw/if_ipw.c,v 1.30 2007/09/05 21:31:31 sam Exp $ */ /*- * Copyright (c) 2004-2006 @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ipw/if_ipw.c,v 1.29 2007/07/05 15:06:49 avatar Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ipw/if_ipw.c,v 1.30 2007/09/05 21:31:31 sam Exp $"); /*- * Intel(R) PRO/Wireless 2100 MiniPCI driver @@ -839,6 +839,7 @@ case IEEE80211_S_SCAN: case IEEE80211_S_AUTH: case IEEE80211_S_ASSOC: + default: break; } ==== //depot/projects/toestack/sys/dev/iwi/if_iwi.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/iwi/if_iwi.c,v 1.56 2007/08/29 21:52:03 thompsa Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/iwi/if_iwi.c,v 1.57 2007/09/05 23:00:26 sam Exp $"); /*- * Intel(R) PRO/Wireless 2200BG/2225BG/2915ABG driver @@ -1917,6 +1917,11 @@ IFQ_DRV_DEQUEUE(&ifp->if_snd, m0); if (m0 == NULL) break; + /* + * Cancel any background scan. + */ + if (ic->ic_flags & IEEE80211_F_SCAN) + ieee80211_cancel_scan(ic); if (m0->m_len < sizeof (struct ether_header) && (m0 = m_pullup(m0, sizeof (struct ether_header))) == NULL) { @@ -1978,6 +1983,7 @@ } sc->sc_tx_timer = 5; + ic->ic_lastdata = ticks; } IWI_UNLOCK(sc); ==== //depot/projects/toestack/sys/dev/ral/rt2560.c#2 (text) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/ral/rt2560.c,v 1.14 2007/07/22 06:44:10 kevlo Exp $ */ +/* $FreeBSD: src/sys/dev/ral/rt2560.c,v 1.16 2007/09/05 23:00:27 sam Exp $ */ /*- * Copyright (c) 2005, 2006 @@ -18,7 +18,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ral/rt2560.c,v 1.14 2007/07/22 06:44:10 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ral/rt2560.c,v 1.16 2007/09/05 23:00:27 sam Exp $"); /*- * Ralink Technology RT2560 chipset driver @@ -807,6 +807,7 @@ case IEEE80211_S_SCAN: case IEEE80211_S_AUTH: case IEEE80211_S_ASSOC: + default: break; } @@ -2004,6 +2005,11 @@ ifp->if_drv_flags |= IFF_DRV_OACTIVE; break; } + /* + * Cancel any background scan. + */ + if (ic->ic_flags & IEEE80211_F_SCAN) + ieee80211_cancel_scan(ic); if (m0->m_len < sizeof (struct ether_header) && !(m0 = m_pullup(m0, sizeof (struct ether_header)))) @@ -2056,6 +2062,7 @@ } sc->sc_tx_timer = 5; + ic->ic_lastdata = ticks; callout_reset(&sc->watchdog_ch, hz, rt2560_watchdog, sc); } ==== //depot/projects/toestack/sys/dev/ral/rt2661.c#2 (text) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/ral/rt2661.c,v 1.14 2007/07/22 06:44:10 kevlo Exp $ */ +/* $FreeBSD: src/sys/dev/ral/rt2661.c,v 1.16 2007/09/05 23:00:27 sam Exp $ */ /*- * Copyright (c) 2006 @@ -18,7 +18,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ral/rt2661.c,v 1.14 2007/07/22 06:44:10 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ral/rt2661.c,v 1.16 2007/09/05 23:00:27 sam Exp $"); /*- * Ralink Technology RT2561, RT2561S and RT2661 chipset driver @@ -821,6 +821,7 @@ case IEEE80211_S_SCAN: case IEEE80211_S_AUTH: case IEEE80211_S_ASSOC: + default: break; } @@ -1765,6 +1766,11 @@ IFQ_DRV_DEQUEUE(&ifp->if_snd, m0); if (m0 == NULL) break; + /* + * Cancel any background scan. + */ + if (ic->ic_flags & IEEE80211_F_SCAN) + ieee80211_cancel_scan(ic); if (m0->m_len < sizeof (struct ether_header) && !(m0 = m_pullup(m0, sizeof (struct ether_header)))) @@ -1818,6 +1824,7 @@ } sc->sc_tx_timer = 5; + ic->ic_lastdata = ticks; callout_reset(&sc->watchdog_ch, hz, rt2661_watchdog, sc); } ==== //depot/projects/toestack/sys/dev/ray/if_ray.c#2 (text+ko) ==== @@ -62,7 +62,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ray/if_ray.c,v 1.86 2007/02/23 12:18:51 piso Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ray/if_ray.c,v 1.87 2007/09/05 21:25:58 sam Exp $"); /* * Card configuration @@ -275,6 +275,16 @@ #include #include +typedef uint8_t *ieee80211_mgt_beacon_t; +typedef uint8_t *ieee80211_mgt_auth_t; + +#define IEEE80211_AUTH_ALGORITHM(auth) \ + ((auth)[0] | ((auth)[1] << 8)) +#define IEEE80211_AUTH_TRANSACTION(auth) \ + ((auth)[2] | ((auth)[3] << 8)) +#define IEEE80211_AUTH_STATUS(auth) \ + ((auth)[4] | ((auth)[5] << 8)) + static MALLOC_DEFINE(M_RAYCOM, "raycom", "Raylink command queue entry"); /* * Prototyping ==== //depot/projects/toestack/sys/dev/usb/if_rum.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/usb/if_rum.c,v 1.11 2007/06/21 14:42:33 imp Exp $ */ +/* $FreeBSD: src/sys/dev/usb/if_rum.c,v 1.12 2007/09/05 23:00:27 sam Exp $ */ /*- * Copyright (c) 2005-2007 Damien Bergamini @@ -18,7 +18,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/if_rum.c,v 1.11 2007/06/21 14:42:33 imp Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/if_rum.c,v 1.12 2007/09/05 23:00:27 sam Exp $"); /*- * Ralink Technology RT2501USB/RT2601USB chipset driver @@ -1406,6 +1406,11 @@ ifp->if_drv_flags |= IFF_DRV_OACTIVE; break; } + /* + * Cancel any background scan. + */ + if (ic->ic_flags & IEEE80211_F_SCAN) + ieee80211_cancel_scan(ic); if (m0->m_len < sizeof (struct ether_header) && !(m0 = m_pullup(m0, sizeof (struct ether_header)))) @@ -1436,6 +1441,7 @@ } sc->sc_tx_timer = 5; + ic->ic_lastdata = ticks; callout_reset(&sc->watchdog_ch, hz, rum_watchdog, sc); } } ==== //depot/projects/toestack/sys/dev/usb/if_ural.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/usb/if_ural.c,v 1.67 2007/07/17 11:27:57 sephe Exp $ */ +/* $FreeBSD: src/sys/dev/usb/if_ural.c,v 1.68 2007/09/05 23:00:27 sam Exp $ */ /*- * Copyright (c) 2005, 2006 @@ -18,7 +18,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/usb/if_ural.c,v 1.67 2007/07/17 11:27:57 sephe Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/usb/if_ural.c,v 1.68 2007/09/05 23:00:27 sam Exp $"); /*- * Ralink Technology RT2500USB chipset driver @@ -1472,6 +1472,11 @@ ifp->if_drv_flags |= IFF_DRV_OACTIVE; break; } + /* + * Cancel any background scan. + */ + if (ic->ic_flags & IEEE80211_F_SCAN) + ieee80211_cancel_scan(ic); if (m0->m_len < sizeof (struct ether_header) && !(m0 = m_pullup(m0, sizeof (struct ether_header)))) @@ -1502,6 +1507,7 @@ } sc->sc_tx_timer = 5; + ic->ic_lastdata = ticks; callout_reset(&sc->watchdog_ch, hz, ural_watchdog, sc); } } ==== //depot/projects/toestack/sys/dev/usb/if_zyd.c#2 (text+ko) ==== @@ -1,6 +1,6 @@ /* $OpenBSD: if_zyd.c,v 1.52 2007/02/11 00:08:04 jsg Exp $ */ /* $NetBSD: if_zyd.c,v 1.7 2007/06/21 04:04:29 kiyohara Exp $ */ -/* $FreeBSD: src/sys/dev/usb/if_zyd.c,v 1.1 2007/08/29 21:16:50 imp Exp $ */ +/* $FreeBSD: src/sys/dev/usb/if_zyd.c,v 1.2 2007/09/05 23:40:59 sam Exp $ */ /*- * Copyright (c) 2006 by Damien Bergamini @@ -2300,6 +2300,11 @@ break; } IFQ_DEQUEUE(&ifp->if_snd, m0); + /* + * Cancel any background scan. + */ + if (ic->ic_flags & IEEE80211_F_SCAN) + ieee80211_cancel_scan(ic); if (m0->m_len < sizeof(struct ether_header) && !(m0 = m_pullup(m0, sizeof(struct ether_header)))) @@ -2328,6 +2333,7 @@ } sc->tx_timer = 5; + ic->ic_lastdata = ticks; callout_reset(&sc->sc_watchdog_ch, hz, zyd_watchdog, sc); } } ==== //depot/projects/toestack/sys/dev/wi/if_wi.c#2 (text+ko) ==== @@ -62,7 +62,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.212 2007/08/09 13:29:26 avatar Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.213 2007/09/05 21:31:32 sam Exp $"); #define WI_HERMES_AUTOINC_WAR /* Work around data write autoinc bug. */ #define WI_HERMES_STATS_WAR /* Work around stats counter bug. */ @@ -3009,6 +3009,8 @@ memcpy(ni->ni_essid, ssid.wi_ssid, ni->ni_esslen); } return (*sc->sc_newstate)(ic, nstate, arg); + default: + break; } return 0; } ==== //depot/projects/toestack/sys/kern/init_main.c#2 (text+ko) ==== @@ -153,6 +153,21 @@ newsysinit_end = newset + count; } +int cursubsystem; + +int +check_subsystem(int subsystem) +{ + + if (subsystem < cursubsystem) + return (1); + else if (subsystem == cursubsystem) + return (0); + else + return (-1); +} + + /* * System startup; initialize the world, create process 0, mount root * filesystem, and fork to create init and pagedaemon. Most of the @@ -221,7 +236,9 @@ if ((*sipp)->subsystem == SI_SUB_DONE) continue; - + + cursubsystem = (*sipp)->subsystem; + #if defined(VERBOSE_SYSINIT) if ((*sipp)->subsystem > last) { verbose = 1; ==== //depot/projects/toestack/sys/modules/cxgb/Makefile#2 (text+ko) ==== @@ -10,10 +10,10 @@ SRCS+= device_if.h bus_if.h pci_if.h opt_zero.h SRCS+= uipc_mvec.c cxgb_multiq.c -CFLAGS+= -DCONFIG_CHELSIO_T3_CORE -g -DCONFIG_DEFINED -DDEFAULT_JUMBO -I${CXGB} +CFLAGS+= -DCONFIG_CHELSIO_T3_CORE -g -DCONFIG_DEFINED -DDEFAULT_JUMBO -I${CXGB} -DSMP #CFLAGS+= -DIFNET_MULTIQUEUE -CFLAGS+= -DINVARIANT_SUPPORT -DINVARIANTS -CFLAGS+= -DWITNESS +#CFLAGS+= -DINVARIANT_SUPPORT -DINVARIANTS +#CFLAGS+= -DWITNESS #CFLAGS+= -DDEBUG -DDEBUG_PRINT ==== //depot/projects/toestack/sys/net80211/_ieee80211.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/net80211/_ieee80211.h,v 1.11 2007/06/30 21:23:23 thompsa Exp $ + * $FreeBSD: src/sys/net80211/_ieee80211.h,v 1.12 2007/09/05 20:37:39 sam Exp $ */ #ifndef _NET80211__IEEE80211_H_ #define _NET80211__IEEE80211_H_ @@ -109,7 +109,8 @@ int8_t ic_maxregpower; /* maximum regulatory tx power in dBm */ int8_t ic_maxpower; /* maximum tx power in .5 dBm */ int8_t ic_minpower; /* minimum tx power in .5 dBm */ - /* NB: hole, to be used for dfs */ + uint8_t ic_state; /* dynamic state */ + uint8_t ic_extieee; /* HT40 extension channel number */ }; #define IEEE80211_CHAN_MAX 255 @@ -120,21 +121,26 @@ /* bits 0-3 are for private use by drivers */ /* channel attributes */ -#define IEEE80211_CHAN_TURBO 0x00010 /* Turbo channel */ -#define IEEE80211_CHAN_CCK 0x00020 /* CCK channel */ -#define IEEE80211_CHAN_OFDM 0x00040 /* OFDM channel */ -#define IEEE80211_CHAN_2GHZ 0x00080 /* 2 GHz spectrum channel. */ -#define IEEE80211_CHAN_5GHZ 0x00100 /* 5 GHz spectrum channel */ -#define IEEE80211_CHAN_PASSIVE 0x00200 /* Only passive scan allowed */ -#define IEEE80211_CHAN_DYN 0x00400 /* Dynamic CCK-OFDM channel */ -#define IEEE80211_CHAN_GFSK 0x00800 /* GFSK channel (FHSS PHY) */ -#define IEEE80211_CHAN_GSM 0x01000 /* 900 MHz spectrum channel */ -#define IEEE80211_CHAN_STURBO 0x02000 /* 11a static turbo channel only */ -#define IEEE80211_CHAN_HALF 0x04000 /* Half rate channel */ -#define IEEE80211_CHAN_QUARTER 0x08000 /* Quarter rate channel */ -#define IEEE80211_CHAN_HT20 0x10000 /* HT 20 channel */ -#define IEEE80211_CHAN_HT40U 0x20000 /* HT 40 channel w/ ext above */ -#define IEEE80211_CHAN_HT40D 0x40000 /* HT 40 channel w/ ext below */ +#define IEEE80211_CHAN_TURBO 0x00000010 /* Turbo channel */ +#define IEEE80211_CHAN_CCK 0x00000020 /* CCK channel */ +#define IEEE80211_CHAN_OFDM 0x00000040 /* OFDM channel */ +#define IEEE80211_CHAN_2GHZ 0x00000080 /* 2 GHz spectrum channel. */ +#define IEEE80211_CHAN_5GHZ 0x00000100 /* 5 GHz spectrum channel */ +#define IEEE80211_CHAN_PASSIVE 0x00000200 /* Only passive scan allowed */ +#define IEEE80211_CHAN_DYN 0x00000400 /* Dynamic CCK-OFDM channel */ +#define IEEE80211_CHAN_GFSK 0x00000800 /* GFSK channel (FHSS PHY) */ +#define IEEE80211_CHAN_GSM 0x00001000 /* 900 MHz spectrum channel */ +#define IEEE80211_CHAN_STURBO 0x00002000 /* 11a static turbo channel only */ +#define IEEE80211_CHAN_HALF 0x00004000 /* Half rate channel */ +#define IEEE80211_CHAN_QUARTER 0x00008000 /* Quarter rate channel */ +#define IEEE80211_CHAN_HT20 0x00010000 /* HT 20 channel */ +#define IEEE80211_CHAN_HT40U 0x00020000 /* HT 40 channel w/ ext above */ +#define IEEE80211_CHAN_HT40D 0x00040000 /* HT 40 channel w/ ext below */ +#define IEEE80211_CHAN_DFS 0x00080000 /* DFS required */ +#define IEEE80211_CHAN_4MSXMIT 0x00100000 /* 4ms limit on frame length */ +#define IEEE80211_CHAN_NOADHOC 0x00200000 /* adhoc mode not allowed */ +#define IEEE80211_CHAN_NOHOSTAP 0x00400000 /* hostap mode not allowed */ +#define IEEE80211_CHAN_11D 0x00800000 /* 802.11d required */ #define IEEE80211_CHAN_HT40 (IEEE80211_CHAN_HT40U | IEEE80211_CHAN_HT40D) #define IEEE80211_CHAN_HT (IEEE80211_CHAN_HT20 | IEEE80211_CHAN_HT40) @@ -228,9 +234,27 @@ #define IEEE80211_IS_CHAN_HTG(_c) \ (IEEE80211_IS_CHAN_2GHZ(_c) && \ ((_c)->ic_flags & IEEE80211_CHAN_HT) != 0) +#define IEEE80211_IS_CHAN_DFS(_c) \ + (((_c)->ic_flags & IEEE80211_CHAN_DFS) != 0) +#define IEEE80211_IS_CHAN_NOADHOC(_c) \ + (((_c)->ic_flags & IEEE80211_CHAN_NOADHOC) != 0) +#define IEEE80211_IS_CHAN_NOHOSTAP(_c) \ + (((_c)->ic_flags & IEEE80211_CHAN_NOHOSTAP) != 0) +#define IEEE80211_IS_CHAN_11D(_c) \ + (((_c)->ic_flags & IEEE80211_CHAN_11D) != 0) #define IEEE80211_CHAN2IEEE(_c) (_c)->ic_ieee +/* dynamic state */ +#define IEEE80211_CHANSTATE_RADAR 0x01 /* radar detected */ +#define IEEE80211_CHANSTATE_CACDONE 0x02 /* CAC completed */ +#define IEEE80211_CHANSTATE_NORADAR 0x10 /* post notify on radar clear */ + +#define IEEE80211_IS_CHAN_RADAR(_c) \ + (((_c)->ic_state & IEEE80211_CHANSTATE_RADAR) != 0) +#define IEEE80211_IS_CHAN_CACDONE(_c) \ + (((_c)->ic_state & IEEE80211_CHANSTATE_CACDONE) != 0) + /* ni_chan encoding for FH phy */ #define IEEE80211_FH_CHANMOD 80 #define IEEE80211_FH_CHAN(set,pat) (((set)-1)*IEEE80211_FH_CHANMOD+(pat)) ==== //depot/projects/toestack/sys/net80211/ieee80211.h#2 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/net80211/ieee80211.h,v 1.14 2007/06/11 03:36:54 sam Exp $ + * $FreeBSD: src/sys/net80211/ieee80211.h,v 1.15 2007/09/05 20:29:51 sam Exp $ */ #ifndef _NET80211_IEEE80211_H_ #define _NET80211_IEEE80211_H_ @@ -273,7 +273,7 @@ uint8_t param_len; uint8_t param_oui[3]; uint8_t param_oui_type; - uint8_t param_oui_sybtype; + uint8_t param_oui_subtype; uint8_t param_version; uint8_t param_qosInfo; #define WME_QOSINFO_COUNT 0x0f /* Mask for param count field */ @@ -305,7 +305,7 @@ #define IEEE80211_ACTION_CAT_QOS 0 /* QoS */ #define IEEE80211_ACTION_CAT_BA 3 /* BA */ -#define IEEE80211_ACTION_CAT_HT 5 /* HT */ +#define IEEE80211_ACTION_CAT_HT 7 /* HT */ #define IEEE80211_ACTION_HT_TXCHWIDTH 0 /* recommended xmit chan width*/ #define IEEE80211_ACTION_HT_MIMOPWRSAVE 1 /* MIMO power save */ @@ -319,11 +319,11 @@ #define IEEE80211_A_HT_TXCHWIDTH_20 0 #define IEEE80211_A_HT_TXCHWIDTH_2040 1 -/* HT - MIMO Power Save */ +/* HT - MIMO Power Save (NB: D2.04) */ struct ieee80211_action_ht_mimopowersave { struct ieee80211_action am_header; - uint8_t am_enable; - uint8_t am_mode; + uint8_t am_enable; + uint8_t am_mode; } __packed; /* Block Ack actions */ @@ -462,8 +462,6 @@ * octet information[length] */ -typedef uint8_t *ieee80211_mgt_beacon_t; - #define IEEE80211_BEACON_INTERVAL(beacon) \ ((beacon)[8] | ((beacon)[9] << 8)) #define IEEE80211_BEACON_CAPABILITY(beacon) \ @@ -477,7 +475,8 @@ #define IEEE80211_CAPINFO_SHORT_PREAMBLE 0x0020 #define IEEE80211_CAPINFO_PBCC 0x0040 #define IEEE80211_CAPINFO_CHNL_AGILITY 0x0080 -/* bits 8-9 are reserved */ +#define IEEE80211_CAPINFO_SPECTRUM_MGMT 0x0100 +/* bit 9 is reserved */ #define IEEE80211_CAPINFO_SHORT_SLOTTIME 0x0400 #define IEEE80211_CAPINFO_RSN 0x0800 /* bit 12 is reserved */ @@ -587,9 +586,10 @@ uint8_t hi_len; /* length in bytes */ uint8_t hi_ctrlchannel; /* primary channel */ uint8_t hi_byte1; /* ht ie byte 1 */ - uint16_t hi_byte23; /* ht ie bytes 2+3 */ + uint8_t hi_byte2; /* ht ie byte 2 */ + uint8_t hi_byte3; /* ht ie byte 3 */ uint16_t hi_byte45; /* ht ie bytes 4+5 */ - uint8_t hi_basicmcsset[16]; /* basic MCS set */ + uint8_t hi_basicmcsset[16]; /* basic MCS set */ } __packed; /* byte1 */ @@ -615,9 +615,9 @@ #define IEEE80211_HTINFO_OPMODE 0x03 /* operating mode */ #define IEEE80211_HTINFO_OPMODE_S 0 #define IEEE80211_HTINFO_OPMODE_PURE 0x00 /* no protection */ -#define IEEE80211_HTINFO_OPMODE_MIXED 0x01 /* protection required */ -#define IEEE80211_HTINFO_OPMODE_PROTOPT 0x02 /* protection optional */ -#define IEEE80211_HTINFO_OPMODE_TBD 0x03 +#define IEEE80211_HTINFO_OPMODE_PROTOPT 0x01 /* protection optional */ +#define IEEE80211_HTINFO_OPMODE_HT20PR 0x02 /* protection for HT20 sta's */ +#define IEEE80211_HTINFO_OPMODE_MIXED 0x03 /* protection for legacy sta's*/ #define IEEE80211_HTINFO_NONGF_PRESENT 0x04 /* non-GF sta's present */ #define IEEE80211_HTINFO_TXBL 0x08 /* transmit burst limit */ #define IEEE80211_HTINFO_NONHT_PRESENT 0x10 /* non-HT sta's present */ @@ -690,6 +690,17 @@ } __packed; /* + * 802.11h Channel Switch Announcement (CSA). + */ +struct ieee80211_csa_ie { + uint8_t csa_ie; /* IEEE80211_ELEMID_CHANSWITCHANN */ + uint8_t csa_len; + uint8_t csa_mode; /* Channel Switch Mode */ + uint8_t csa_newchan; /* New Channel Number */ + uint8_t csa_count; /* Channel Switch Count */ +} __packed; + +/* * Atheros advanced capability information element. */ struct ieee80211_ath_ie { @@ -711,8 +722,7 @@ uint8_t ath_defkeyix[2]; } __packed; -#define IEEE80211_CHALLENGE_LEN 128 - +/* rate set entries are in .5 Mb/s units, and potentially marked as basic */ #define IEEE80211_RATE_BASIC 0x80 #define IEEE80211_RATE_VAL 0x7f @@ -780,18 +790,12 @@ * octet status[2] * octet chal.id * octet chal.length - * octet chal.text[253] + * octet chal.text[253] NB: 1-253 bytes */ -typedef uint8_t *ieee80211_mgt_auth_t; +/* challenge length for shared key auth */ +#define IEEE80211_CHALLENGE_LEN 128 -#define IEEE80211_AUTH_ALGORITHM(auth) \ - ((auth)[0] | ((auth)[1] << 8)) -#define IEEE80211_AUTH_TRANSACTION(auth) \ - ((auth)[2] | ((auth)[3] << 8)) -#define IEEE80211_AUTH_STATUS(auth) \ - ((auth)[4] | ((auth)[5] << 8)) - #define IEEE80211_AUTH_ALG_OPEN 0x0000 #define IEEE80211_AUTH_ALG_SHARED 0x0001 #define IEEE80211_AUTH_ALG_LEAP 0x0080 @@ -809,7 +813,11 @@ }; /* - * Reason codes + * Reason and status codes. + * + * Reason codes are used in management frames to indicate why an + * action took place (e.g. on disassociation). Status codes are + * used in management frames to indicate the result of an operation. * * Unlisted codes are reserved */ @@ -824,11 +832,20 @@ IEEE80211_REASON_NOT_ASSOCED = 7, IEEE80211_REASON_ASSOC_LEAVE = 8, IEEE80211_REASON_ASSOC_NOT_AUTHED = 9, - - IEEE80211_REASON_RSN_REQUIRED = 11, - IEEE80211_REASON_RSN_INCONSISTENT = 12, - IEEE80211_REASON_IE_INVALID = 13, - IEEE80211_REASON_MIC_FAILURE = 14, + IEEE80211_REASON_DISASSOC_PWRCAP_BAD = 10, /* 11h */ + IEEE80211_REASON_DISASSOC_SUPCHAN_BAD = 11, /* 11h */ + IEEE80211_REASON_IE_INVALID = 13, /* 11i */ + IEEE80211_REASON_MIC_FAILURE = 14, /* 11i */ + IEEE80211_REASON_4WAY_HANDSHAKE_TIMEOUT = 15, /* 11i */ + IEEE80211_REASON_GROUP_KEY_UPDATE_TIMEOUT = 16, /* 11i */ + IEEE80211_REASON_IE_IN_4WAY_DIFFERS = 17, /* 11i */ + IEEE80211_REASON_GROUP_CIPHER_INVALID = 18, /* 11i */ + IEEE80211_REASON_PAIRWISE_CIPHER_INVALID= 19, /* 11i */ + IEEE80211_REASON_AKMP_INVALID = 20, /* 11i */ + IEEE80211_REASON_UNSUPP_RSN_IE_VERSION = 21, /* 11i */ + IEEE80211_REASON_INVALID_RSN_IE_CAP = 22, /* 11i */ + IEEE80211_REASON_802_1X_AUTH_FAILED = 23, /* 11i */ + IEEE80211_REASON_CIPHER_SUITE_REJECTED = 24, /* 11i */ IEEE80211_STATUS_SUCCESS = 0, IEEE80211_STATUS_UNSPECIFIED = 1, @@ -841,13 +858,21 @@ IEEE80211_STATUS_TIMEOUT = 16, IEEE80211_STATUS_TOOMANY = 17, IEEE80211_STATUS_BASIC_RATE = 18, - IEEE80211_STATUS_SP_REQUIRED = 19, - IEEE80211_STATUS_PBCC_REQUIRED = 20, - IEEE80211_STATUS_CA_REQUIRED = 21, - IEEE80211_STATUS_TOO_MANY_STATIONS = 22, - IEEE80211_STATUS_RATES = 23, - IEEE80211_STATUS_SHORTSLOT_REQUIRED = 25, - IEEE80211_STATUS_DSSSOFDM_REQUIRED = 26, + IEEE80211_STATUS_SP_REQUIRED = 19, /* 11b */ + IEEE80211_STATUS_PBCC_REQUIRED = 20, /* 11b */ + IEEE80211_STATUS_CA_REQUIRED = 21, /* 11b */ + IEEE80211_STATUS_SPECMGMT_REQUIRED = 22, /* 11h */ + IEEE80211_STATUS_PWRCAP_REQUIRED = 23, /* 11h */ + IEEE80211_STATUS_SUPCHAN_REQUIRED = 24, /* 11h */ + IEEE80211_STATUS_SHORTSLOT_REQUIRED = 25, /* 11g */ + IEEE80211_STATUS_DSSSOFDM_REQUIRED = 26, /* 11g */ + IEEE80211_STATUS_INVALID_IE = 40, /* 11i */ + IEEE80211_STATUS_GROUP_CIPHER_INVALID = 41, /* 11i */ + IEEE80211_STATUS_PAIRWISE_CIPHER_INVALID = 42, /* 11i */ + IEEE80211_STATUS_AKMP_INVALID = 43, /* 11i */ + IEEE80211_STATUS_UNSUPP_RSN_IE_VERSION = 44, /* 11i */ + IEEE80211_STATUS_INVALID_RSN_IE_CAP = 45, /* 11i */ + IEEE80211_STATUS_CIPHER_SUITE_REJECTED = 46, /* 11i */ }; #define IEEE80211_WEP_KEYLEN 5 /* 40bit */ ==== //depot/projects/toestack/sys/net80211/ieee80211_freebsd.h#2 (text+ko) ==== @@ -22,7 +22,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/net80211/ieee80211_freebsd.h,v 1.14 2007/06/25 03:26:10 sam Exp $ + * $FreeBSD: src/sys/net80211/ieee80211_freebsd.h,v 1.15 2007/09/05 20:22:59 sam Exp $ */ #ifndef _NET80211_IEEE80211_FREEBSD_H_ #define _NET80211_IEEE80211_FREEBSD_H_ @@ -184,14 +184,19 @@ #define time_before_eq(a,b) time_after_eq(b,a) >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Sep 6 03:40:37 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3AA0D16A420; Thu, 6 Sep 2007 03:40:37 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 188F716A418 for ; Thu, 6 Sep 2007 03:40:37 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0AD2513C45A for ; Thu, 6 Sep 2007 03:40:37 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l863eaUt049318 for ; Thu, 6 Sep 2007 03:40:36 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l863eaNl049315 for perforce@freebsd.org; Thu, 6 Sep 2007 03:40:36 GMT (envelope-from kmacy@freebsd.org) Date: Thu, 6 Sep 2007 03:40:36 GMT Message-Id: <200709060340.l863eaNl049315@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126120 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Sep 2007 03:40:37 -0000 http://perforce.freebsd.org/chv.cgi?CH=126120 Change 126120 by kmacy@kmacy:storage:toestack on 2007/09/06 03:40:15 add TOE capability flag Affected files ... .. //depot/projects/toestack/sys/net/if.h#2 edit Differences ... ==== //depot/projects/toestack/sys/net/if.h#2 (text+ko) ==== @@ -210,6 +210,8 @@ #define IFCAP_TSO4 0x0100 /* can do TCP Segmentation Offload */ #define IFCAP_TSO6 0x0200 /* can do TCP6 Segmentation Offload */ #define IFCAP_LRO 0x0400 /* can do Large Receive Offload */ +#define IFCAP_TOE 0x0800 /* can do TCP Offload */ + #define IFCAP_HWCSUM (IFCAP_RXCSUM | IFCAP_TXCSUM) #define IFCAP_TSO (IFCAP_TSO4 | IFCAP_TSO6) From owner-p4-projects@FreeBSD.ORG Thu Sep 6 03:42:42 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2561616A41B; Thu, 6 Sep 2007 03:42:42 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CDB1016A419 for ; Thu, 6 Sep 2007 03:42:41 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BDACC13C457 for ; Thu, 6 Sep 2007 03:42:41 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l863gffx049553 for ; Thu, 6 Sep 2007 03:42:41 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l863gfKf049550 for perforce@freebsd.org; Thu, 6 Sep 2007 03:42:41 GMT (envelope-from kmacy@freebsd.org) Date: Thu, 6 Sep 2007 03:42:41 GMT Message-Id: <200709060342.l863gfKf049550@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126121 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Sep 2007 03:42:42 -0000 http://perforce.freebsd.org/chv.cgi?CH=126121 Change 126121 by kmacy@kmacy:storage:toestack on 2007/09/06 03:42:13 direct operations to TOE usrreqs if TOE is enabled on a tcpcb Affected files ... .. //depot/projects/toestack/sys/conf/files#2 edit .. //depot/projects/toestack/sys/netinet/tcp_ofld.c#1 add .. //depot/projects/toestack/sys/netinet/tcp_ofld.h#1 add .. //depot/projects/toestack/sys/netinet/tcp_subr.c#2 edit .. //depot/projects/toestack/sys/netinet/tcp_usrreq.c#2 edit .. //depot/projects/toestack/sys/netinet/tcp_var.h#2 edit Differences ... ==== //depot/projects/toestack/sys/conf/files#2 (text+ko) ==== @@ -1887,6 +1887,7 @@ netinet/tcp_timer.c optional inet netinet/tcp_timewait.c optional inet netinet/tcp_usrreq.c optional inet +netinet/tcp_ofld.c optional inet netinet/udp_usrreq.c optional inet netinet/libalias/alias.c optional libalias | netgraph_nat netinet/libalias/alias_db.c optional libalias | netgraph_nat ==== //depot/projects/toestack/sys/netinet/tcp_subr.c#2 (text+ko) ==== @@ -83,6 +83,7 @@ #include #include #include +#include #ifdef INET6 #include #endif @@ -646,7 +647,7 @@ if (TCPS_HAVERCVDSYN(tp->t_state)) { tp->t_state = TCPS_CLOSED; - (void) tcp_output(tp); + (void) tcp_gen_abort(tp); tcpstat.tcps_drops++; } else tcpstat.tcps_conndrops++; @@ -1560,7 +1561,7 @@ tp->snd_recover = tp->snd_max; if (tp->t_flags & TF_SACK_PERMIT) EXIT_FASTRECOVERY(tp); - tcp_output(tp); + tcp_gen_send(tp); return (inp); } ==== //depot/projects/toestack/sys/netinet/tcp_usrreq.c#2 (text+ko) ==== @@ -83,6 +83,7 @@ #ifdef TCPDEBUG #include #endif +#include /* * TCP protocol interface to socket abstraction. @@ -383,6 +384,7 @@ if (error == 0) { tp->t_state = TCPS_LISTEN; solisten_proto(so, backlog); + tcp_gen_listen(tp); } SOCK_UNLOCK(so); @@ -474,7 +476,7 @@ TCPDEBUG1(); if ((error = tcp_connect(tp, nam, td)) != 0) goto out; - error = tcp_output(tp); + error = tcp_gen_connect(tp, nam); out: TCPDEBUG2(PRU_CONNECT); INP_UNLOCK(inp); @@ -526,7 +528,7 @@ inp->inp_vflag &= ~INP_IPV6; if ((error = tcp_connect(tp, (struct sockaddr *)&sin, td)) != 0) goto out; - error = tcp_output(tp); + error = tcp_gen_connect(tp, nam); goto out; } inp->inp_vflag &= ~INP_IPV4; @@ -534,7 +536,7 @@ inp->inp_inc.inc_isipv6 = 1; if ((error = tcp6_connect(tp, nam, td)) != 0) goto out; - error = tcp_output(tp); + error = tcp_gen_connect(tp, nam); out: TCPDEBUG2(PRU_CONNECT); @@ -701,7 +703,7 @@ TCPDEBUG1(); socantsendmore(so); tcp_usrclosed(tp); - error = tcp_output(tp); + error = tcp_gen_disconnect(tp); out: TCPDEBUG2(PRU_SHUTDOWN); @@ -731,7 +733,7 @@ } tp = intotcpcb(inp); TCPDEBUG1(); - tcp_output(tp); + tcp_gen_rcvd(tp); out: TCPDEBUG2(PRU_RCVD); @@ -836,7 +838,7 @@ if (tp != NULL) { if (flags & PRUS_MORETOCOME) tp->t_flags |= TF_MORETOCOME; - error = tcp_output(tp); + error = tcp_gen_send(tp); if (flags & PRUS_MORETOCOME) tp->t_flags &= ~TF_MORETOCOME; } @@ -887,7 +889,7 @@ } tp->snd_up = tp->snd_una + so->so_snd.sb_cc; tp->t_flags |= TF_FORCEDATA; - error = tcp_output(tp); + error = tcp_gen_send(tp); tp->t_flags &= ~TF_FORCEDATA; } out: @@ -1488,7 +1490,7 @@ sbflush(&so->so_rcv); tcp_usrclosed(tp); if (!(inp->inp_vflag & INP_DROPPED)) - tcp_output(tp); + tcp_gen_disconnect(tp); } } ==== //depot/projects/toestack/sys/netinet/tcp_var.h#2 (text+ko) ==== @@ -123,6 +123,7 @@ #define TF_SIGNATURE 0x400000 /* require MD5 digests (RFC2385) */ #define TF_FORCEDATA 0x800000 /* force out a byte */ #define TF_TSO 0x1000000 /* TSO enabled on this connection */ +#define TF_TOE 0x2000000 /* TOE enabled on this connection */ tcp_seq snd_una; /* send unacknowledged */ tcp_seq snd_max; /* highest sequence number sent; @@ -206,6 +207,8 @@ int t_rttlow; /* smallest observerved RTT */ u_int32_t rfbuf_ts; /* recv buffer autoscaling timestamp */ int rfbuf_cnt; /* recv buffer autoscaling byte count */ + struct toe_usrreqs *t_tu; /* offload operations vector */ + void *t_toe_priv; }; #define IN_FASTRECOVERY(tp) (tp->t_flags & TF_FASTRECOVERY) From owner-p4-projects@FreeBSD.ORG Thu Sep 6 10:16:05 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 80FA416A419; Thu, 6 Sep 2007 10:16:05 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1C77F16A41B for ; Thu, 6 Sep 2007 10:16:05 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0C16813C45B for ; Thu, 6 Sep 2007 10:16:05 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l86AG41E013642 for ; Thu, 6 Sep 2007 10:16:04 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l86AG4Va013639 for perforce@freebsd.org; Thu, 6 Sep 2007 10:16:04 GMT (envelope-from anchie@FreeBSD.org) Date: Thu, 6 Sep 2007 10:16:04 GMT Message-Id: <200709061016.l86AG4Va013639@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 126123 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Sep 2007 10:16:05 -0000 http://perforce.freebsd.org/chv.cgi?CH=126123 Change 126123 by anchie@anchie_malimis on 2007/09/06 10:15:38 Corrected declarations of netinet6 integer variables. Initialization of ip6_gif_hlim variable moved to vnet_gif_iattach(). Affected files ... .. //depot/projects/vimage/src/sys/net/if_gif.c#9 edit .. //depot/projects/vimage/src/sys/netinet6/icmp6.c#16 edit .. //depot/projects/vimage/src/sys/netinet6/in6_proto.c#15 edit .. //depot/projects/vimage/src/sys/netinet6/nd6.c#20 edit .. //depot/projects/vimage/src/sys/netinet6/nd6_nbr.c#11 edit .. //depot/projects/vimage/src/sys/netinet6/nd6_rtr.c#10 edit Differences ... ==== //depot/projects/vimage/src/sys/net/if_gif.c#9 (text+ko) ==== @@ -254,7 +254,6 @@ int type; void *data; { - switch (type) { case MOD_LOAD: mtx_init(&gif_mtx, "gif_mtx", NULL, MTX_DEF); @@ -271,6 +270,9 @@ vnet_mod_deregister(&vnet_gif_modinfo); #endif mtx_destroy(&gif_mtx); +#ifdef INET6 + V_ip6_gif_hlim = 0; +#endif break; default: return EOPNOTSUPP; ==== //depot/projects/vimage/src/sys/netinet6/icmp6.c#16 (text+ko) ==== @@ -117,7 +117,7 @@ extern struct inpcbhead ripcb; #ifndef VIMAGE extern int icmp6errppslim; -static int icmp6errpps_count = 0; +static int icmp6errpps_count; #endif /* !VIMAGE */ static struct timeval icmp6errppslim_last; #ifndef VIMAGE ==== //depot/projects/vimage/src/sys/netinet6/in6_proto.c#15 (text+ko) ==== @@ -365,28 +365,30 @@ #endif #ifndef VIMAGE -int ip6_forwarding = IPV6FORWARDING; /* act as router? */ -int ip6_sendredirects = IPV6_SENDREDIRECTS; -int ip6_defhlim = IPV6_DEFHLIM; -int ip6_defmcasthlim = IPV6_DEFAULT_MULTICAST_HOPS; -int ip6_accept_rtadv = 0; /* "IPV6FORWARDING ? 0 : 1" is dangerous */ +int ip6_forwarding; /* act as router? */ +int ip6_sendredirects; +int ip6_defhlim; +int ip6_defmcasthlim; +int ip6_accept_rtadv; /* "IPV6FORWARDING ? 0 : 1" is dangerous */ int ip6_maxfragpackets; /* initialized in frag6.c:frag6_init() */ int ip6_maxfrags; /* initialized in frag6.c:frag6_init() */ -int ip6_log_interval = 5; -int ip6_hdrnestlimit = 15; /* How many header options will we process? */ -int ip6_dad_count = 1; /* DupAddrDetectionTransmits */ -int ip6_auto_flowlabel = 1; -int ip6_gif_hlim = 0; -int ip6_use_deprecated = 1; /* allow deprecated addr (RFC2462 5.5.4) */ -int ip6_rr_prune = 5; /* router renumbering prefix +int ip6_log_interval; +int ip6_hdrnestlimit; /* How many header options will we process? */ +int ip6_dad_count; /* DupAddrDetectionTransmits */ +int ip6_auto_flowlabel; +/* XXX (Ana): moved to net/if_gif.h. +int ip6_gif_hlim; +*/ +int ip6_use_deprecated; /* allow deprecated addr (RFC2462 5.5.4) */ +int ip6_rr_prune; /* router renumbering prefix * walk list every 5 sec. */ -int ip6_mcast_pmtu = 0; /* enable pMTU discovery for multicast? */ -int ip6_v6only = 1; +int ip6_mcast_pmtu; /* enable pMTU discovery for multicast? */ +int ip6_v6only; -int ip6_keepfaith = 0; -time_t ip6_log_time = (time_t)0L; +int ip6_keepfaith; +time_t ip6_log_time; #ifdef IPSTEALTH -int ip6stealth = 0; +int ip6stealth; #endif #endif /* !VIMAGE */ @@ -397,8 +399,8 @@ * or so? (jinmei@kame.net 19990310) */ #ifndef VIMAGE -int pmtu_expire = 60*10; -int pmtu_probe = 60*2; +int pmtu_expire; +int pmtu_probe; #endif /* raw IP6 parameters */ @@ -413,15 +415,15 @@ u_long rip6_recvspace = RIPV6RCVQ; /* ICMPV6 parameters */ -int icmp6_rediraccept = 1; /* accept and process redirects */ -int icmp6_redirtimeout = 10 * 60; /* 10 minutes */ -int icmp6errppslim = 100; /* 100pps */ +int icmp6_rediraccept; /* accept and process redirects */ +int icmp6_redirtimeout; /* 10 minutes */ +int icmp6errppslim; /* 100pps */ /* control how to respond to NI queries */ -int icmp6_nodeinfo = (ICMP6_NODEINFO_FQDNOK|ICMP6_NODEINFO_NODEADDROK); +int icmp6_nodeinfo; /* UDP on IP6 parameters */ -int udp6_sendspace = 9216; /* really max datagram size */ -int udp6_recvspace = 40 * (1024 + sizeof(struct sockaddr_in6)); +int udp6_sendspace; /* really max datagram size */ +int udp6_recvspace; #endif /* !VIMAGE */ /* @@ -598,7 +600,6 @@ ip6_test_init(void) { INIT_VNET_INET6(curvnet); - INIT_VNET_GIF(curvnet); printf("---> ip6_test_init() \n"); V_ip6_forwarding = IPV6FORWARDING; /* act as router? */ @@ -612,7 +613,10 @@ V_ip6_hdrnestlimit = 15; /* How many header options will we process? */ V_ip6_dad_count = 1; /* DupAddrDetectionTransmits */ V_ip6_auto_flowlabel = 1; - V_ip6_gif_hlim = 0; + /* XXX (Ana) ip6_gif_hlim initialized to value GIF_HLIM in + * function vnet_gif_iattach() / gifmodevent(). + V_ip6_gif_hlim = 0; + */ V_ip6_use_deprecated = 1; /* allow deprecated addr (RFC2462 5.5.4) */ V_ip6_rr_prune = 5; /* router renumbering prefix * walk list every 5 sec. */ ==== //depot/projects/vimage/src/sys/netinet6/nd6.c#20 (text+ko) ==== @@ -82,18 +82,18 @@ /* timer values */ #ifndef VIMAGE -int nd6_prune = 1; /* walk list every 1 seconds */ -int nd6_delay = 5; /* delay first probe time 5 second */ -int nd6_umaxtries = 3; /* maximum unicast query */ -int nd6_mmaxtries = 3; /* maximum multicast query */ -int nd6_useloopback = 1; /* use loopback interface for local traffic */ -int nd6_gctimer = (60 * 60 * 24); /* 1 day: garbage collection timer */ +int nd6_prune; /* walk list every 1 seconds */ +int nd6_delay; /* delay first probe time 5 second */ +int nd6_umaxtries; /* maximum unicast query */ +int nd6_mmaxtries; /* maximum multicast query */ +int nd6_useloopback; /* use loopback interface for local traffic */ +int nd6_gctimer; /* 1 day: garbage collection timer */ /* preventing too many loops in ND option parsing */ -int nd6_maxndopt = 10; /* max # of ND options allowed */ +int nd6_maxndopt; /* max # of ND options allowed */ -int nd6_maxnudhint = 0; /* max # of subsequent upper layer hints */ -int nd6_maxqueuelen = 1; /* max # of packets cached in unresolved ND entries */ +int nd6_maxnudhint; /* max # of subsequent upper layer hints */ +int nd6_maxqueuelen; /* max # of packets cached in unresolved ND entries */ #ifdef ND6_DEBUG int nd6_debug = 1; @@ -108,7 +108,7 @@ struct nd_drhead nd_defrouter; struct nd_prhead nd_prefix; -int nd6_recalc_reachtm_interval = ND6_RECALC_REACHTM_INTERVAL; +int nd6_recalc_reachtm_interval; #endif /* !VIMAGE */ static struct sockaddr_in6 all1_sa; ==== //depot/projects/vimage/src/sys/netinet6/nd6_nbr.c#11 (text+ko) ==== @@ -84,8 +84,8 @@ static void nd6_dad_na_input __P((struct ifaddr *)); #ifndef VIMAGE -static int dad_ignore_ns = 0; /* ignore NS in DAD - specwise incorrect*/ -static int dad_maxtry = 15; /* max # of *tries* to transmit DAD packet */ +static int dad_ignore_ns; /* ignore NS in DAD - specwise incorrect*/ +static int dad_maxtry; /* max # of *tries* to transmit DAD packet */ #endif /* !VIMAGE */ /* ==== //depot/projects/vimage/src/sys/netinet6/nd6_rtr.c#10 (text+ko) ==== @@ -92,17 +92,17 @@ static struct ifnet *nd6_defifp; int nd6_defifindex; -int ip6_use_tempaddr = 0; +int ip6_use_tempaddr; int ip6_desync_factor; -u_int32_t ip6_temp_preferred_lifetime = DEF_TEMP_PREFERRED_LIFETIME; -u_int32_t ip6_temp_valid_lifetime = DEF_TEMP_VALID_LIFETIME; +u_int32_t ip6_temp_preferred_lifetime; +u_int32_t ip6_temp_valid_lifetime; /* * shorter lifetimes for debugging purposes. -int ip6_temp_preferred_lifetime = 800; -static int ip6_temp_valid_lifetime = 1800; +int ip6_temp_preferred_lifetime; +static int ip6_temp_valid_lifetime; */ -int ip6_temp_regen_advance = TEMPADDR_REGEN_ADVANCE; +int ip6_temp_regen_advance; #endif /* !VIMAGE */ /* RTPREF_MEDIUM has to be 0! */ From owner-p4-projects@FreeBSD.ORG Thu Sep 6 12:54:32 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0DD6116A421; Thu, 6 Sep 2007 12:54:32 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CE03D16A41B for ; Thu, 6 Sep 2007 12:54:31 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BD06013C483 for ; Thu, 6 Sep 2007 12:54:31 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l86CsVLk036106 for ; Thu, 6 Sep 2007 12:54:31 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l86CsV64036103 for perforce@freebsd.org; Thu, 6 Sep 2007 12:54:31 GMT (envelope-from gonzo@FreeBSD.org) Date: Thu, 6 Sep 2007 12:54:31 GMT Message-Id: <200709061254.l86CsV64036103@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 126125 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Sep 2007 12:54:32 -0000 http://perforce.freebsd.org/chv.cgi?CH=126125 Change 126125 by gonzo@gonzo_jeeves on 2007/09/06 12:53:30 o Mem/IO window size should be shifted by 2. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips32/idt/idtreg.h#3 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips32/idt/idtreg.h#3 (text+ko) ==== @@ -66,15 +66,15 @@ #define IDT_PCI_LBA0 0x14 #define IDT_PCI_LBA0_CNTL 0x18 #define IDT_PCI_LBA_MSI 0x01 -#define IDT_PCI_LBA_SIZE_1MB 0x14 -#define IDT_PCI_LBA_SIZE_2MB 0x15 -#define IDT_PCI_LBA_SIZE_4MB 0x16 -#define IDT_PCI_LBA_SIZE_8MB 0x17 -#define IDT_PCI_LBA_SIZE_16MB 0x18 -#define IDT_PCI_LBA_SIZE_32MB 0x19 -#define IDT_PCI_LBA_SIZE_64MB 0x1A -#define IDT_PCI_LBA_SIZE_128MB 0x1B -#define IDT_PCI_LBA_SIZE_256MB 0x1C +#define IDT_PCI_LBA_SIZE_1MB (0x14 << 2) +#define IDT_PCI_LBA_SIZE_2MB (0x15 << 2) +#define IDT_PCI_LBA_SIZE_4MB (0x16 << 2) +#define IDT_PCI_LBA_SIZE_8MB (0x17 << 2) +#define IDT_PCI_LBA_SIZE_16MB (0x18 << 2) +#define IDT_PCI_LBA_SIZE_32MB (0x19 << 2) +#define IDT_PCI_LBA_SIZE_64MB (0x1A << 2) +#define IDT_PCI_LBA_SIZE_128MB (0x1B << 2) +#define IDT_PCI_LBA_SIZE_256MB (0x1C << 2) #define IDT_PCI_LBA_FE 0x80 #define IDT_PCI_LBA_RT 0x100 #define IDT_PCI_LBA0_MAP 0x1C From owner-p4-projects@FreeBSD.ORG Thu Sep 6 13:25:13 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 85AE516A46B; Thu, 6 Sep 2007 13:25:13 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 40F1A16A421 for ; Thu, 6 Sep 2007 13:25:13 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 307FA13C45A for ; Thu, 6 Sep 2007 13:25:13 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l86DPDY5039112 for ; Thu, 6 Sep 2007 13:25:13 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l86DPCZS039109 for perforce@freebsd.org; Thu, 6 Sep 2007 13:25:12 GMT (envelope-from anchie@FreeBSD.org) Date: Thu, 6 Sep 2007 13:25:12 GMT Message-Id: <200709061325.l86DPCZS039109@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 126126 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Sep 2007 13:25:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=126126 Change 126126 by anchie@anchie_malimis on 2007/09/06 13:24:19 Added corrections to enable succesfull compiling w/o VIMAGE and INET6 options. Affected files ... .. //depot/projects/vimage/src/sys/netinet/in_pcb.c#15 edit .. //depot/projects/vimage/src/sys/netinet/tcp_subr.c#29 edit .. //depot/projects/vimage/src/sys/netinet6/in6_proto.c#16 edit .. //depot/projects/vimage/src/sys/netinet6/ip6_mroute.c#10 edit .. //depot/projects/vimage/src/sys/netipsec/ipsec.c#14 edit Differences ... ==== //depot/projects/vimage/src/sys/netinet/in_pcb.c#15 (text+ko) ==== @@ -75,10 +75,9 @@ #ifdef INET6 #include #include +#endif /* INET6 */ #include -#endif /* INET6 */ - #ifdef IPSEC #include #include @@ -195,7 +194,6 @@ int in_pcballoc(struct socket *so, struct inpcbinfo *pcbinfo) { - INIT_VNET_INET6(curvnet); struct inpcb *inp; int error; ==== //depot/projects/vimage/src/sys/netinet/tcp_subr.c#29 (text+ko) ==== @@ -2064,7 +2064,6 @@ sysctl_drop(SYSCTL_HANDLER_ARGS) { INIT_VNET_INET(curvnet); - INIT_VNET_INET6(curvnet); /* addrs[0] is a foreign socket, addrs[1] is a local one. */ struct sockaddr_storage addrs[2]; struct inpcb *inp; ==== //depot/projects/vimage/src/sys/netinet6/in6_proto.c#16 (text+ko) ==== @@ -376,9 +376,6 @@ int ip6_hdrnestlimit; /* How many header options will we process? */ int ip6_dad_count; /* DupAddrDetectionTransmits */ int ip6_auto_flowlabel; -/* XXX (Ana): moved to net/if_gif.h. -int ip6_gif_hlim; -*/ int ip6_use_deprecated; /* allow deprecated addr (RFC2462 5.5.4) */ int ip6_rr_prune; /* router renumbering prefix * walk list every 5 sec. */ @@ -613,10 +610,6 @@ V_ip6_hdrnestlimit = 15; /* How many header options will we process? */ V_ip6_dad_count = 1; /* DupAddrDetectionTransmits */ V_ip6_auto_flowlabel = 1; - /* XXX (Ana) ip6_gif_hlim initialized to value GIF_HLIM in - * function vnet_gif_iattach() / gifmodevent(). - V_ip6_gif_hlim = 0; - */ V_ip6_use_deprecated = 1; /* allow deprecated addr (RFC2462 5.5.4) */ V_ip6_rr_prune = 5; /* router renumbering prefix * walk list every 5 sec. */ ==== //depot/projects/vimage/src/sys/netinet6/ip6_mroute.c#10 (text+ko) ==== @@ -182,7 +182,7 @@ #ifdef MRT6DEBUG #ifndef VIMAGE -static u_int mrt6debug = 0; /* debug level */ +static u_int mrt6debug; /* debug level */ #endif /* !VIMAGE */ #define DEBUG_MFC 0x02 #define DEBUG_FORWARD 0x04 @@ -479,10 +479,11 @@ INIT_VNET_INET6(curvnet); V_ip6_mrouter_ver = 0; + +#ifdef MRT6DEBUG V_mrt6debug = 0; -#ifdef MRT6DEBUG - if (mrt6debug) + if (V_mrt6debug) log(LOG_DEBUG, "ip6_mrouter_init: so_type = %d, pr_protocol = %d\n", so->so_type, so->so_proto->pr_protocol); ==== //depot/projects/vimage/src/sys/netipsec/ipsec.c#14 (text+ko) ==== @@ -79,6 +79,8 @@ #include #endif +#include + #include #include #ifdef INET6 @@ -189,12 +191,12 @@ #ifdef INET6 #ifndef VIMAGE struct ipsecstat ipsec6stat; -int ip6_esp_trans_deflev = IPSEC_LEVEL_USE; -int ip6_esp_net_deflev = IPSEC_LEVEL_USE; -int ip6_ah_trans_deflev = IPSEC_LEVEL_USE; -int ip6_ah_net_deflev = IPSEC_LEVEL_USE; -int ip6_ipsec_ecn = 0; /* ECN ignore(-1)/forbidden(0)/allowed(1) */ -int ip6_esp_randpad = -1; +int ip6_esp_trans_deflev; +int ip6_esp_net_deflev; +int ip6_ah_trans_deflev; +int ip6_ah_net_deflev; +int ip6_ipsec_ecn; /* ECN ignore(-1)/forbidden(0)/allowed(1) */ +int ip6_esp_randpad; #endif SYSCTL_DECL(_net_inet6_ipsec6); @@ -1987,6 +1989,9 @@ const void *unused; { INIT_VNET_IPSEC(curvnet); +#ifdef INET6 + INIT_VNET_INET6(curvnet); +#endif #ifdef IPSEC_DEBUG V_ipsec_debug = 1; @@ -2012,12 +2017,14 @@ V_ipsec_integrity = 0; #endif +#ifdef INET6 V_ip6_esp_trans_deflev = IPSEC_LEVEL_USE; V_ip6_esp_net_deflev = IPSEC_LEVEL_USE; V_ip6_ah_trans_deflev = IPSEC_LEVEL_USE; V_ip6_ah_net_deflev = IPSEC_LEVEL_USE; V_ip6_ipsec_ecn = 0; /* ECN ignore(-1)/forbidden(0)/allowed(1) */ V_ip6_esp_randpad = -1; +#endif return 0; } From owner-p4-projects@FreeBSD.ORG Thu Sep 6 16:07:45 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id D090716A469; Thu, 6 Sep 2007 16:07:44 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8529116A420 for ; Thu, 6 Sep 2007 16:07:44 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 728F013C4CC for ; Thu, 6 Sep 2007 16:07:44 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l86G7ihw055422 for ; Thu, 6 Sep 2007 16:07:44 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l86G7hkn055419 for perforce@freebsd.org; Thu, 6 Sep 2007 16:07:43 GMT (envelope-from anchie@FreeBSD.org) Date: Thu, 6 Sep 2007 16:07:43 GMT Message-Id: <200709061607.l86G7hkn055419@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 126129 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Sep 2007 16:07:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=126129 Change 126129 by anchie@anchie_malimis on 2007/09/06 16:06:47 SYSCTL macro for variable ip6_gif_hlim moved to net/if_gif.c. Added some INET6 conditional selections of code to enable successful compiling with VIMAGE and INET6 options. Affected files ... .. //depot/projects/vimage/src/sys/net/if_gif.c#10 edit .. //depot/projects/vimage/src/sys/netinet/in_pcb.c#16 edit .. //depot/projects/vimage/src/sys/netinet/tcp_subr.c#30 edit .. //depot/projects/vimage/src/sys/netinet6/in6_proto.c#17 edit .. //depot/projects/vimage/src/sys/netipsec/ipsec.c#15 edit Differences ... ==== //depot/projects/vimage/src/sys/net/if_gif.c#10 (text+ko) ==== @@ -133,6 +133,10 @@ SYSCTL_V_INT(V_NET, vnet_gif, _net_link_gif, OID_AUTO, max_nesting, CTLFLAG_RW, max_gif_nesting, 0, "Max nested tunnels"); +SYSCTL_DECL(_net_inet6_ip6); +SYSCTL_V_INT(V_NET, vnet_gif, _net_inet6_ip6, IPV6CTL_GIF_HLIM, + gifhlim, CTLFLAG_RW, ip6_gif_hlim, 0, ""); + /* * By default, we disallow creation of multiple tunnels between the same * pair of addresses. Some applications require this functionality so @@ -270,9 +274,7 @@ vnet_mod_deregister(&vnet_gif_modinfo); #endif mtx_destroy(&gif_mtx); -#ifdef INET6 - V_ip6_gif_hlim = 0; -#endif + break; default: return EOPNOTSUPP; ==== //depot/projects/vimage/src/sys/netinet/in_pcb.c#16 (text+ko) ==== @@ -194,6 +194,9 @@ int in_pcballoc(struct socket *so, struct inpcbinfo *pcbinfo) { +#ifdef INET6 + INIT_VNET_INET6(curvnet); +#endif struct inpcb *inp; int error; ==== //depot/projects/vimage/src/sys/netinet/tcp_subr.c#30 (text+ko) ==== @@ -2064,6 +2064,9 @@ sysctl_drop(SYSCTL_HANDLER_ARGS) { INIT_VNET_INET(curvnet); +#ifdef INET6 + INIT_VNET_INET6(curvnet); +#endif /* addrs[0] is a foreign socket, addrs[1] is a local one. */ struct sockaddr_storage addrs[2]; struct inpcb *inp; ==== //depot/projects/vimage/src/sys/netinet6/in6_proto.c#17 (text+ko) ==== @@ -519,8 +519,10 @@ auto_flowlabel, CTLFLAG_RW, ip6_auto_flowlabel, 0, ""); SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_DEFMCASTHLIM, defmcasthlim, CTLFLAG_RW, ip6_defmcasthlim, 0, ""); +/* SYSCTL_V_INT(V_NET, vnet_gif, _net_inet6_ip6, IPV6CTL_GIF_HLIM, gifhlim, CTLFLAG_RW, ip6_gif_hlim, 0, ""); +*/ SYSCTL_STRING(_net_inet6_ip6, IPV6CTL_KAME_VERSION, kame_version, CTLFLAG_RD, __KAME_VERSION, 0, ""); SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_USE_DEPRECATED, ==== //depot/projects/vimage/src/sys/netipsec/ipsec.c#15 (text+ko) ==== @@ -188,8 +188,8 @@ CTLFLAG_RW, &ipsec_integrity, 0, "Emulate man-in-the-middle attack"); #endif +#ifndef VIMAGE #ifdef INET6 -#ifndef VIMAGE struct ipsecstat ipsec6stat; int ip6_esp_trans_deflev; int ip6_esp_net_deflev; @@ -1989,9 +1989,6 @@ const void *unused; { INIT_VNET_IPSEC(curvnet); -#ifdef INET6 - INIT_VNET_INET6(curvnet); -#endif #ifdef IPSEC_DEBUG V_ipsec_debug = 1; From owner-p4-projects@FreeBSD.ORG Thu Sep 6 21:29:54 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id F2EE316A421; Thu, 6 Sep 2007 21:29:53 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BA2F516A418 for ; Thu, 6 Sep 2007 21:29:53 +0000 (UTC) (envelope-from mharvan@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AAC9413C45A for ; Thu, 6 Sep 2007 21:29:53 +0000 (UTC) (envelope-from mharvan@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l86LTrEu099875 for ; Thu, 6 Sep 2007 21:29:53 GMT (envelope-from mharvan@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l86LTrM7099872 for perforce@freebsd.org; Thu, 6 Sep 2007 21:29:53 GMT (envelope-from mharvan@FreeBSD.org) Date: Thu, 6 Sep 2007 21:29:53 GMT Message-Id: <200709062129.l86LTrM7099872@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mharvan@FreeBSD.org using -f From: Matus Harvan To: Perforce Change Reviews Cc: Subject: PERFORCE change 126136 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Sep 2007 21:29:54 -0000 http://perforce.freebsd.org/chv.cgi?CH=126136 Change 126136 by mharvan@mharvan_peleus on 2007/09/06 21:28:52 added CTLFLAG_SECURE to net.inet.icmp.echo_user sysctl variable Affected files ... .. //depot/projects/soc2007/mharvan-mtund/sys.patches/sys.current.icmp-echo_user.patch#2 edit Differences ... ==== //depot/projects/soc2007/mharvan-mtund/sys.patches/sys.current.icmp-echo_user.patch#2 (text+ko) ==== @@ -2,15 +2,15 @@ =================================================================== RCS file: /home/ncvs/src/sys/netinet/ip_icmp.c,v retrieving revision 1.117 -diff -u -r1.117 ip_icmp.c +diff -d -u -r1.117 ip_icmp.c --- ip_icmp.c 19 Jul 2007 22:34:25 -0000 1.117 -+++ ip_icmp.c 24 Aug 2007 17:21:49 -0000 ++++ ip_icmp.c 6 Sep 2007 21:26:08 -0000 @@ -124,6 +124,10 @@ SYSCTL_INT(_net_inet_icmp, OID_AUTO, bmcastecho, CTLFLAG_RW, &icmpbmcastecho, 0, ""); +static int icmpechouser = 0; -+SYSCTL_INT(_net_inet_icmp, OID_AUTO, echo_user, CTLFLAG_RW, ++SYSCTL_INT(_net_inet_icmp, OID_AUTO, echo_user, CTLFLAG_RW | CTLFLAG_SECURE, + &icmpechouser, 0, "Pass ICMP echo requests to userspace rather than" + "replying to them in the kernel"); From owner-p4-projects@FreeBSD.ORG Thu Sep 6 22:39:23 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C2B2716A420; Thu, 6 Sep 2007 22:39:23 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 92A8C16A41A for ; Thu, 6 Sep 2007 22:39:23 +0000 (UTC) (envelope-from marius@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 80C9613C459 for ; Thu, 6 Sep 2007 22:39:23 +0000 (UTC) (envelope-from marius@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l86MdNDw006172 for ; Thu, 6 Sep 2007 22:39:23 GMT (envelope-from marius@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l86MdMWJ006169 for perforce@freebsd.org; Thu, 6 Sep 2007 22:39:22 GMT (envelope-from marius@freebsd.org) Date: Thu, 6 Sep 2007 22:39:22 GMT Message-Id: <200709062239.l86MdMWJ006169@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marius@freebsd.org using -f From: Marius Strobl To: Perforce Change Reviews Cc: Subject: PERFORCE change 126138 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Sep 2007 22:39:24 -0000 http://perforce.freebsd.org/chv.cgi?CH=126138 Change 126138 by marius@flak on 2007/09/06 22:39:12 IFC in order to get the CVS version of the sparc64 INTR_FILTER changes. Affected files ... .. //depot/projects/usiii/arm/xscale/i80321/i80321.c#2 integrate .. //depot/projects/usiii/contrib/opensolaris/uts/common/fs/zfs/arc.c#2 integrate .. //depot/projects/usiii/dev/acpica/acpi_cpu.c#2 integrate .. //depot/projects/usiii/dev/ath/if_ath.c#2 integrate .. //depot/projects/usiii/dev/awi/awi.c#2 integrate .. //depot/projects/usiii/dev/ipw/if_ipw.c#2 integrate .. //depot/projects/usiii/dev/iwi/if_iwi.c#2 integrate .. //depot/projects/usiii/dev/ixgbe/ixgbe.c#2 integrate .. //depot/projects/usiii/dev/ixgbe/ixgbe.h#2 integrate .. //depot/projects/usiii/dev/ixgbe/ixgbe_82598.c#2 integrate .. //depot/projects/usiii/dev/ixgbe/ixgbe_api.c#2 integrate .. //depot/projects/usiii/dev/ixgbe/ixgbe_api.h#2 integrate .. //depot/projects/usiii/dev/ixgbe/ixgbe_common.c#2 integrate .. //depot/projects/usiii/dev/ixgbe/ixgbe_common.h#2 integrate .. //depot/projects/usiii/dev/ixgbe/ixgbe_osdep.h#2 integrate .. //depot/projects/usiii/dev/ixgbe/ixgbe_phy.c#2 integrate .. //depot/projects/usiii/dev/ixgbe/ixgbe_phy.h#2 integrate .. //depot/projects/usiii/dev/ixgbe/ixgbe_type.h#2 integrate .. //depot/projects/usiii/dev/ral/rt2560.c#2 integrate .. //depot/projects/usiii/dev/ral/rt2661.c#2 integrate .. //depot/projects/usiii/dev/ray/if_ray.c#2 integrate .. //depot/projects/usiii/dev/usb/if_rum.c#2 integrate .. //depot/projects/usiii/dev/usb/if_ural.c#2 integrate .. //depot/projects/usiii/dev/usb/if_zyd.c#1 branch .. //depot/projects/usiii/dev/usb/if_zydfw.h#1 branch .. //depot/projects/usiii/dev/usb/if_zydreg.h#1 branch .. //depot/projects/usiii/dev/usb/usbdevs#2 integrate .. //depot/projects/usiii/dev/wi/if_wi.c#2 integrate .. //depot/projects/usiii/fs/msdosfs/direntry.h#2 integrate .. //depot/projects/usiii/fs/msdosfs/msdosfs_conv.c#2 integrate .. //depot/projects/usiii/fs/msdosfs/msdosfs_lookup.c#2 integrate .. //depot/projects/usiii/fs/msdosfs/msdosfs_vnops.c#2 integrate .. //depot/projects/usiii/geom/eli/g_eli.h#2 integrate .. //depot/projects/usiii/geom/eli/g_eli_crypto.c#2 integrate .. //depot/projects/usiii/i386/isa/isa.c#2 integrate .. //depot/projects/usiii/kern/kern_acct.c#2 integrate .. //depot/projects/usiii/kern/kern_ktrace.c#2 integrate .. //depot/projects/usiii/kern/kern_sysctl.c#2 integrate .. //depot/projects/usiii/kern/kern_timeout.c#2 integrate .. //depot/projects/usiii/modules/ixgbe/Makefile#1 branch .. //depot/projects/usiii/modules/zyd/Makefile#1 branch .. //depot/projects/usiii/net/if_lagg.c#2 integrate .. //depot/projects/usiii/net80211/_ieee80211.h#2 integrate .. //depot/projects/usiii/net80211/ieee80211.h#2 integrate .. //depot/projects/usiii/net80211/ieee80211_freebsd.h#2 integrate .. //depot/projects/usiii/net80211/ieee80211_ht.c#2 integrate .. //depot/projects/usiii/net80211/ieee80211_input.c#2 integrate .. //depot/projects/usiii/net80211/ieee80211_ioctl.c#2 integrate .. //depot/projects/usiii/net80211/ieee80211_ioctl.h#2 integrate .. //depot/projects/usiii/net80211/ieee80211_node.c#2 integrate .. //depot/projects/usiii/net80211/ieee80211_proto.c#2 integrate .. //depot/projects/usiii/net80211/ieee80211_proto.h#2 integrate .. //depot/projects/usiii/net80211/ieee80211_var.h#2 integrate .. //depot/projects/usiii/netinet/ip_fw2.c#2 integrate .. //depot/projects/usiii/sparc64/fhc/fhc.c#3 integrate .. //depot/projects/usiii/sparc64/include/bus_common.h#2 integrate .. //depot/projects/usiii/sparc64/include/intr_machdep.h#3 integrate .. //depot/projects/usiii/sparc64/pci/psycho.c#3 integrate .. //depot/projects/usiii/sparc64/pci/psychoreg.h#3 integrate .. //depot/projects/usiii/sparc64/sbus/sbus.c#3 integrate .. //depot/projects/usiii/sparc64/sbus/sbusreg.h#3 integrate .. //depot/projects/usiii/sparc64/sparc64/exception.S#3 integrate .. //depot/projects/usiii/sparc64/sparc64/intr_machdep.c#3 integrate .. //depot/projects/usiii/sparc64/sparc64/tick.c#3 integrate .. //depot/projects/usiii/sparc64/sparc64/upa.c#3 integrate Differences ... ==== //depot/projects/usiii/arm/xscale/i80321/i80321.c#2 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/i80321.c,v 1.6 2006/07/25 01:08:41 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/i80321.c,v 1.7 2007/09/04 18:45:27 cognet Exp $"); #include #include @@ -213,8 +213,6 @@ PCIM_CMD_SERRESPEN; bus_space_write_4(sc->sc_st, sc->sc_atu_sh, PCIR_COMMAND, preg); - preg = bus_space_read_4(sc->sc_st, sc->sc_atu_sh, - PCIR_COMMAND); } /* Initialize the bus space tags. */ i80321_io_bs_init(&sc->sc_pci_iot, sc); ==== //depot/projects/usiii/contrib/opensolaris/uts/common/fs/zfs/arc.c#2 (text+ko) ==== @@ -155,9 +155,9 @@ TUNABLE_ULONG("vfs.zfs.arc_max", &zfs_arc_max); TUNABLE_ULONG("vfs.zfs.arc_min", &zfs_arc_min); SYSCTL_DECL(_vfs_zfs); -SYSCTL_ULONG(_vfs_zfs, OID_AUTO, arc_max, CTLFLAG_RD, &zfs_arc_max, 0, +SYSCTL_ULONG(_vfs_zfs, OID_AUTO, arc_max, CTLFLAG_RDTUN, &zfs_arc_max, 0, "Maximum ARC size"); -SYSCTL_ULONG(_vfs_zfs, OID_AUTO, arc_min, CTLFLAG_RD, &zfs_arc_min, 0, +SYSCTL_ULONG(_vfs_zfs, OID_AUTO, arc_min, CTLFLAG_RDTUN, &zfs_arc_min, 0, "Minimum ARC size"); /* ==== //depot/projects/usiii/dev/acpica/acpi_cpu.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_cpu.c,v 1.66 2007/06/03 00:40:56 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_cpu.c,v 1.67 2007/08/30 21:18:42 njl Exp $"); #include "opt_acpi.h" #include @@ -257,7 +257,7 @@ acpi_cpu_attach(device_t dev) { ACPI_BUFFER buf; - ACPI_OBJECT arg, *obj; + ACPI_OBJECT arg[4], *obj; ACPI_OBJECT_LIST arglist; struct pcpu *pcpu_data; struct acpi_cpu_softc *sc; @@ -268,6 +268,11 @@ driver_t **drivers; uint32_t cap_set[3]; + /* UUID needed by _OSC evaluation */ + static uint8_t cpu_oscuuid[16] = { 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, + 0xBE, 0x47, 0x9E, 0xBD, 0xD8, 0x70, + 0x58, 0x71, 0x39, 0x53 }; + ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); sc = device_get_softc(dev); @@ -334,19 +339,39 @@ /* * CPU capabilities are specified as a buffer of 32-bit integers: * revision, count, and one or more capabilities. The revision of - * "1" is not specified anywhere but seems to match Linux. We should - * also support _OSC here. + * "1" is not specified anywhere but seems to match Linux. */ if (sc->cpu_features) { - arglist.Pointer = &arg; + arglist.Pointer = arg; arglist.Count = 1; - arg.Type = ACPI_TYPE_BUFFER; - arg.Buffer.Length = sizeof(cap_set); - arg.Buffer.Pointer = (uint8_t *)cap_set; + arg[0].Type = ACPI_TYPE_BUFFER; + arg[0].Buffer.Length = sizeof(cap_set); + arg[0].Buffer.Pointer = (uint8_t *)cap_set; cap_set[0] = 1; /* revision */ cap_set[1] = 1; /* number of capabilities integers */ cap_set[2] = sc->cpu_features; AcpiEvaluateObject(sc->cpu_handle, "_PDC", &arglist, NULL); + + /* + * On some systems we need to evaluate _OSC so that the ASL + * loads the _PSS and/or _PDC methods at runtime. + * + * TODO: evaluate failure of _OSC. + */ + arglist.Pointer = arg; + arglist.Count = 4; + arg[0].Type = ACPI_TYPE_BUFFER; + arg[0].Buffer.Length = sizeof(cpu_oscuuid); + arg[0].Buffer.Pointer = cpu_oscuuid; /* UUID */ + arg[1].Type = ACPI_TYPE_INTEGER; + arg[1].Integer.Value = 1; /* revision */ + arg[2].Type = ACPI_TYPE_INTEGER; + arg[2].Integer.Value = 1; /* count */ + arg[3].Type = ACPI_TYPE_BUFFER; + arg[3].Buffer.Length = sizeof(cap_set); /* Capabilities buffer */ + arg[3].Buffer.Pointer = (uint8_t *)cap_set; + cap_set[0] = 0; + AcpiEvaluateObject(sc->cpu_handle, "_OSC", &arglist, NULL); } /* Probe for Cx state support. */ ==== //depot/projects/usiii/dev/ath/if_ath.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.173 2007/08/06 14:25:59 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.174 2007/09/05 23:00:26 sam Exp $"); /* * Driver for the Atheros Wireless LAN controller. @@ -1579,6 +1579,12 @@ ATH_TXBUF_UNLOCK(sc); break; } + /* + * Cancel any background scan. + */ + if (ic->ic_flags & IEEE80211_F_SCAN) + ieee80211_cancel_scan(ic); + STAILQ_INIT(&frags); /* * Find the node for the destination so we can do @@ -1605,15 +1611,6 @@ * the frame back when the time is right. */ ieee80211_pwrsave(ni, m); - /* - * If we're in power save mode 'cuz of a bg - * scan cancel it so the traffic can flow. - * The packet we just queued will automatically - * get sent when we drop out of power save. - * XXX locking - */ - if (ic->ic_flags & IEEE80211_F_SCAN) - ieee80211_cancel_scan(ic); goto reclaim; } /* calculate priority so we can find the tx queue */ @@ -1752,6 +1749,7 @@ } ifp->if_timer = 5; + ic->ic_lastdata = ticks; #if 0 /* * Flush stale frames from the fast-frame staging queue. ==== //depot/projects/usiii/dev/awi/awi.c#2 (text+ko) ==== @@ -89,7 +89,7 @@ __KERNEL_RCSID(0, "$NetBSD: awi.c,v 1.62 2004/01/16 14:13:15 onoe Exp $"); #endif #ifdef __FreeBSD__ -__FBSDID("$FreeBSD: src/sys/dev/awi/awi.c,v 1.44 2007/06/11 03:36:51 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/awi/awi.c,v 1.45 2007/09/05 21:31:31 sam Exp $"); #endif #include "opt_inet.h" @@ -1919,6 +1919,8 @@ else awi_drvstate(sc, AWI_DRV_INFASSOC); break; + default: + break; } if (nstate == IEEE80211_S_INIT) { @@ -1954,6 +1956,8 @@ case IEEE80211_S_SCAN: /* scan next */ break; + default: + break; } if (ic->ic_flags & IEEE80211_F_ASCAN) newmode = AWI_SCAN_ACTIVE; ==== //depot/projects/usiii/dev/ipw/if_ipw.c#2 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/ipw/if_ipw.c,v 1.29 2007/07/05 15:06:49 avatar Exp $ */ +/* $FreeBSD: src/sys/dev/ipw/if_ipw.c,v 1.30 2007/09/05 21:31:31 sam Exp $ */ /*- * Copyright (c) 2004-2006 @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ipw/if_ipw.c,v 1.29 2007/07/05 15:06:49 avatar Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ipw/if_ipw.c,v 1.30 2007/09/05 21:31:31 sam Exp $"); /*- * Intel(R) PRO/Wireless 2100 MiniPCI driver @@ -839,6 +839,7 @@ case IEEE80211_S_SCAN: case IEEE80211_S_AUTH: case IEEE80211_S_ASSOC: + default: break; } ==== //depot/projects/usiii/dev/iwi/if_iwi.c#2 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/iwi/if_iwi.c,v 1.55 2007/06/25 20:56:33 thompsa Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/iwi/if_iwi.c,v 1.57 2007/09/05 23:00:26 sam Exp $"); /*- * Intel(R) PRO/Wireless 2200BG/2225BG/2915ABG driver @@ -957,7 +957,6 @@ struct iwi_softc *sc = ifp->if_softc; int error = 0; - IWI_LOCK_ASSERT(sc); DPRINTF(("%s: %s -> %s flags 0x%x\n", __func__, ieee80211_state_name[ic->ic_state], ieee80211_state_name[nstate], sc->flags)); @@ -1918,6 +1917,11 @@ IFQ_DRV_DEQUEUE(&ifp->if_snd, m0); if (m0 == NULL) break; + /* + * Cancel any background scan. + */ + if (ic->ic_flags & IEEE80211_F_SCAN) + ieee80211_cancel_scan(ic); if (m0->m_len < sizeof (struct ether_header) && (m0 = m_pullup(m0, sizeof (struct ether_header))) == NULL) { @@ -1979,6 +1983,7 @@ } sc->sc_tx_timer = 5; + ic->ic_lastdata = ticks; } IWI_UNLOCK(sc); ==== //depot/projects/usiii/dev/ixgbe/ixgbe.c#2 (text+ko) ==== @@ -30,7 +30,7 @@ POSSIBILITY OF SUCH DAMAGE. ***************************************************************************/ -/* $FreeBSD: src/sys/dev/ixgbe/ixgbe.c,v 1.3 2007/07/12 19:04:11 jfv Exp $ */ +/* $FreeBSD: src/sys/dev/ixgbe/ixgbe.c,v 1.4 2007/09/04 02:31:34 jfv Exp $ */ #ifdef HAVE_KERNEL_OPTION_HEADERS #include "opt_device_polling.h" @@ -46,7 +46,7 @@ /********************************************************************* * Driver version *********************************************************************/ -char ixgbe_driver_version[] = "1.1.3"; +char ixgbe_driver_version[] = "1.2.6"; /********************************************************************* * PCI Device ID Table @@ -60,10 +60,9 @@ static ixgbe_vendor_info_t ixgbe_vendor_info_array[] = { - {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598, 0, 0, 0}, {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598AF_DUAL_PORT, 0, 0, 0}, {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598AF_SINGLE_PORT, 0, 0, 0}, - {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598AT_DUAL_PORT, 0, 0, 0}, + {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598EB_CX4, 0, 0, 0}, /* required last entry */ {0, 0, 0, 0, 0} }; @@ -100,8 +99,9 @@ static void ixgbe_setup_interface(device_t, struct adapter *); static int ixgbe_allocate_queues(struct adapter *); static int ixgbe_allocate_msix_resources(struct adapter *); +#if __FreeBSD_version >= 700000 static int ixgbe_setup_msix(struct adapter *); - +#endif static int ixgbe_allocate_transmit_buffers(struct tx_ring *); static int ixgbe_setup_transmit_structures(struct adapter *); static void ixgbe_setup_transmit_ring(struct tx_ring *); @@ -119,7 +119,7 @@ static void ixgbe_enable_intr(struct adapter *); static void ixgbe_disable_intr(struct adapter *); static void ixgbe_update_stats_counters(struct adapter *); -static boolean_t ixgbe_txeof(struct tx_ring *); +static bool ixgbe_txeof(struct tx_ring *); static int ixgbe_rxeof(struct rx_ring *, int); static void ixgbe_rx_checksum(struct adapter *, uint32_t, struct mbuf *); static void ixgbe_set_promisc(struct adapter *); @@ -133,6 +133,7 @@ static int ixgbe_encap(struct adapter *, struct mbuf **); static int ixgbe_sysctl_stats(SYSCTL_HANDLER_ARGS); static int ixgbe_sysctl_debug(SYSCTL_HANDLER_ARGS); +static int ixgbe_set_flowcntl(SYSCTL_HANDLER_ARGS); static int ixgbe_dma_malloc(struct adapter *, bus_size_t, struct ixgbe_dma_alloc *, int); static void ixgbe_dma_free(struct adapter *, struct ixgbe_dma_alloc *); @@ -143,14 +144,23 @@ static void ixgbe_set_ivar(struct adapter *, u16, u8); static void ixgbe_configure_ivars(struct adapter *); -/* Legacy Interrupt handler */ -static void ixgbe_intr(void *); +/* Legacy Fast Interrupt routine and handlers */ +#if __FreeBSD_version >= 700000 +static int ixgbe_fast_irq(void *); +/* The MSI/X Interrupt handlers */ +static void ixgbe_msix_tx(void *); +static void ixgbe_msix_rx(void *); +static void ixgbe_msix_link(void *); +#else +static void ixgbe_fast_irq(void *); +#endif -/* The MSI/X Interrupt handlers */ -static void ixgbe_txint(void *); -static void ixgbe_rxint(void *); -static void ixgbe_linkint(void *); +static void ixgbe_rxtx(void *context, int pending); +static void ixgbe_link(void *context, int pending); +#ifndef NO_82598_A0_SUPPORT +static void desc_flip(void *); +#endif /********************************************************************* * FreeBSD Device Interface Entry Points @@ -175,26 +185,40 @@ MODULE_DEPEND(ixgbe, pci, 1, 1, 1); MODULE_DEPEND(ixgbe, ether, 1, 1, 1); +/* +** TUNEABLE PARAMETERS: +*/ + /* How many packets rxeof tries to clean at a time */ static int ixgbe_rx_process_limit = 100; TUNABLE_INT("hw.ixgbe.rx_process_limit", &ixgbe_rx_process_limit); -/* - * Should the driver do MSI/X and RSS/MQ? - * - default to MSI/X and RSS enabled - */ -static int ixgbe_disable_msix = 0; -TUNABLE_INT("hw.ixgbe.disable_msix", &ixgbe_disable_msix); +/* Flow control setting, default to full */ +static int ixgbe_flow_control = 3; +TUNABLE_INT("hw.ixgbe.flow_control", &ixgbe_flow_control); + +/* Number of TX Queues, note multi tx is not working */ +static int ixgbe_tx_queues = 1; +TUNABLE_INT("hw.ixgbe.tx_queues", &ixgbe_tx_queues); + +/* Number of RX Queues */ +static int ixgbe_rx_queues = 8; +TUNABLE_INT("hw.ixgbe.rx_queues", &ixgbe_rx_queues); + +/* Number of Other Queues, this is used for link interrupts */ +static int ixgbe_other_queues = 1; +TUNABLE_INT("hw.ixgbe.other_queues", &ixgbe_other_queues); + +/* Number of TX descriptors per ring */ +static int ixgbe_txd = DEFAULT_TXD; +TUNABLE_INT("hw.ixgbe.txd", &ixgbe_txd); + +/* Number of RX descriptors per ring */ +static int ixgbe_rxd = DEFAULT_RXD; +TUNABLE_INT("hw.ixgbe.rxd", &ixgbe_rxd); -/* -** Flow control tuneable: -** 0 - off -** 1 - rx pause -** 2 - tx pause -** 3 - full -*/ -static int ixgbe_flow_control = 0; -TUNABLE_INT("hw.ixgbe.flow_control", &ixgbe_flow_control); +/* Total number of Interfaces - need for config sanity check */ +static int ixgbe_total_ports; /********************************************************************* * Device identification routine @@ -239,6 +263,15 @@ sprintf(adapter_name, "%s, Version - %s", ixgbe_strings[ent->index], ixgbe_driver_version); + switch (pci_device_id) { + case IXGBE_DEV_ID_82598AF_DUAL_PORT : + ixgbe_total_ports += 2; + break; + case IXGBE_DEV_ID_82598AF_SINGLE_PORT : + ixgbe_total_ports += 1; + default: + break; + } device_set_desc_copy(dev, adapter_name); return (0); } @@ -264,13 +297,17 @@ struct adapter *adapter; int error = 0; uint32_t ctrl_ext; + char name_string[16]; INIT_DEBUGOUT("ixgbe_attach: begin"); /* Allocate, clear, and link in our adapter structure */ adapter = device_get_softc(dev); adapter->dev = adapter->osdep.dev = dev; - IXGBE_LOCK_INIT(adapter, device_get_nameunit(dev)); + /* General Lock Init*/ + snprintf(name_string, sizeof(name_string), "%s:core", + device_get_nameunit(dev)); + mtx_init(&adapter->core_mtx, name_string, NULL, MTX_DEF); /* SYSCTL APIs */ SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), @@ -283,25 +320,17 @@ OID_AUTO, "debug", CTLTYPE_INT | CTLFLAG_RW, adapter, 0, ixgbe_sysctl_debug, "I", "Debug Info"); - SYSCTL_ADD_INT(device_get_sysctl_ctx(dev), + SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), - OID_AUTO, "flow control", CTLFLAG_RW, - &ixgbe_flow_control, 0, "Flow Control"); + OID_AUTO, "flow_control", CTLTYPE_INT | CTLFLAG_RW, + adapter, 0, ixgbe_set_flowcntl, "I", "Flow Control"); /* Set up the timer callout */ - callout_init_mtx(&adapter->timer, &adapter->mtx, 0); + callout_init_mtx(&adapter->timer, &adapter->core_mtx, 0); /* Determine hardware revision */ ixgbe_identify_hardware(adapter); - /* - ** Descriptors: (configurable by user), note these are - ** constant for all rings, I saw no reason to vary - ** them, but perhaps someone later would. - */ - adapter->num_tx_desc = DEFAULT_TXD; - adapter->num_rx_desc = DEFAULT_RXD; - /* Indicate to RX setup to use Jumbo Clusters */ adapter->bigbufs = TRUE; @@ -312,17 +341,50 @@ goto err_out; } + /* Do descriptor calc and sanity checks */ + if (((ixgbe_txd * sizeof(union ixgbe_adv_tx_desc)) % DBA_ALIGN) != 0 || + ixgbe_txd < MIN_TXD || ixgbe_txd > MAX_TXD) { + device_printf(dev, "TXD config issue, using default!\n"); + adapter->num_tx_desc = DEFAULT_TXD; + } else + adapter->num_tx_desc = ixgbe_txd; + + /* + ** With many RX rings it is easy to exceed the + ** system mbuf allocation. Tuning nmbclusters + ** can alleviate this. + */ + if ((adapter->num_rx_queues > 1) && (nmbclusters > 0 )){ + int s; + /* Calculate the total RX mbuf needs */ + s = (ixgbe_rxd * adapter->num_rx_queues) * ixgbe_total_ports; + if (s > nmbclusters) { + device_printf(dev, "RX Descriptors exceed " + "system mbuf max, using default instead!\n"); + ixgbe_rxd = DEFAULT_RXD; + } + } + + if (((ixgbe_rxd * sizeof(union ixgbe_adv_rx_desc)) % DBA_ALIGN) != 0 || + ixgbe_rxd < MIN_TXD || ixgbe_rxd > MAX_TXD) { + device_printf(dev, "RXD config issue, using default!\n"); + adapter->num_rx_desc = DEFAULT_RXD; + } else + adapter->num_rx_desc = ixgbe_rxd; + /* Allocate our TX/RX Queues */ if (ixgbe_allocate_queues(adapter)) { error = ENOMEM; goto err_out; } +#if __FreeBSD_version >= 700000 if (adapter->msix) { error = ixgbe_setup_msix(adapter); if (error) goto err_out; } +#endif /* Initialize the shared code */ if (ixgbe_init_shared_code(&adapter->hw)) { @@ -382,14 +444,25 @@ INIT_DEBUGOUT("ixgbe_detach: begin"); /* Make sure VLANS are not using driver */ +#if __FreeBSD_version >= 700000 if (adapter->ifp->if_vlantrunk != NULL) { +#else + if (adapter->ifp->if_nvlans != 0) { +#endif device_printf(dev,"Vlan in use, detach first\n"); return (EBUSY); } - IXGBE_LOCK(adapter); + mtx_lock(&adapter->core_mtx); ixgbe_stop(adapter); - IXGBE_UNLOCK(adapter); + mtx_unlock(&adapter->core_mtx); + + if (adapter->tq != NULL) { + taskqueue_drain(adapter->tq, &adapter->rxtx_task); + taskqueue_drain(taskqueue_fast, &adapter->link_task); + taskqueue_free(adapter->tq); + adapter->tq = NULL; + } /* let hardware know driver is unloading */ ctrl_ext = IXGBE_READ_REG(&adapter->hw, IXGBE_CTRL_EXT); @@ -405,7 +478,7 @@ ixgbe_free_transmit_structures(adapter); ixgbe_free_receive_structures(adapter); - IXGBE_LOCK_DESTROY(adapter); + mtx_destroy(&adapter->core_mtx); return (0); } @@ -419,9 +492,9 @@ ixgbe_shutdown(device_t dev) { struct adapter *adapter = device_get_softc(dev); - IXGBE_LOCK(adapter); + mtx_lock(&adapter->core_mtx); ixgbe_stop(adapter); - IXGBE_UNLOCK(adapter); + mtx_unlock(&adapter->core_mtx); return (0); } @@ -442,7 +515,7 @@ struct mbuf *m_head; struct adapter *adapter = ifp->if_softc; - IXGBE_LOCK_ASSERT(adapter); + mtx_assert(&adapter->tx_mtx, MA_OWNED); if ((ifp->if_drv_flags & (IFF_DRV_RUNNING|IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING) @@ -464,7 +537,7 @@ break; } /* Send a copy of the frame to the BPF listener */ - BPF_MTAP(ifp, m_head); + ETHER_BPF_MTAP(ifp, m_head); /* Set timeout in case hardware has problems transmitting */ adapter->watchdog_timer = IXGBE_TX_TIMEOUT; @@ -478,10 +551,10 @@ { struct adapter *adapter = ifp->if_softc; - IXGBE_LOCK(adapter); + mtx_lock(&adapter->tx_mtx); if (ifp->if_drv_flags & IFF_DRV_RUNNING) ixgbe_start_locked(ifp); - IXGBE_UNLOCK(adapter); + mtx_unlock(&adapter->tx_mtx); return; } @@ -508,9 +581,9 @@ if (ifa->ifa_addr->sa_family == AF_INET) { ifp->if_flags |= IFF_UP; if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) { - IXGBE_LOCK(adapter); + mtx_lock(&adapter->core_mtx); ixgbe_init_locked(adapter); - IXGBE_UNLOCK(adapter); + mtx_unlock(&adapter->core_mtx); } arp_ifinit(ifp, ifa); } else @@ -521,17 +594,17 @@ if (ifr->ifr_mtu > IXGBE_MAX_FRAME_SIZE - ETHER_HDR_LEN) { error = EINVAL; } else { - IXGBE_LOCK(adapter); + mtx_lock(&adapter->core_mtx); ifp->if_mtu = ifr->ifr_mtu; adapter->max_frame_size = ifp->if_mtu + ETHER_HDR_LEN + ETHER_CRC_LEN; ixgbe_init_locked(adapter); - IXGBE_UNLOCK(adapter); + mtx_unlock(&adapter->core_mtx); } break; case SIOCSIFFLAGS: IOCTL_DEBUGOUT("ioctl: SIOCSIFFLAGS (Set Interface Flags)"); - IXGBE_LOCK(adapter); + mtx_lock(&adapter->core_mtx); if (ifp->if_flags & IFF_UP) { if ((ifp->if_drv_flags & IFF_DRV_RUNNING)) { if ((ifp->if_flags ^ adapter->if_flags) & @@ -545,17 +618,17 @@ if (ifp->if_drv_flags & IFF_DRV_RUNNING) ixgbe_stop(adapter); adapter->if_flags = ifp->if_flags; - IXGBE_UNLOCK(adapter); + mtx_unlock(&adapter->core_mtx); break; case SIOCADDMULTI: case SIOCDELMULTI: IOCTL_DEBUGOUT("ioctl: SIOC(ADD|DEL)MULTI"); if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - IXGBE_LOCK(adapter); + mtx_lock(&adapter->core_mtx); ixgbe_disable_intr(adapter); ixgbe_set_multi(adapter); ixgbe_enable_intr(adapter); - IXGBE_UNLOCK(adapter); + mtx_unlock(&adapter->core_mtx); } break; case SIOCSIFMEDIA: @@ -575,7 +648,9 @@ ifp->if_capenable ^= IFCAP_VLAN_HWTAGGING; if (ifp->if_drv_flags & IFF_DRV_RUNNING) ixgbe_init(adapter); +#if __FreeBSD_version >= 700000 VLAN_CAPABILITIES(ifp); +#endif break; } default: @@ -598,7 +673,7 @@ ixgbe_watchdog(struct adapter *adapter) { - IXGBE_LOCK_ASSERT(adapter); + mtx_assert(&adapter->core_mtx, MA_OWNED); /* * The timer is set to 5 every time ixgbe_start() queues a packet. @@ -651,13 +726,15 @@ INIT_DEBUGOUT("ixgbe_init: begin"); - IXGBE_LOCK_ASSERT(adapter); + mtx_assert(&adapter->core_mtx, MA_OWNED); ixgbe_stop(adapter); /* Get the latest mac address, User can use a LAA */ bcopy(IF_LLADDR(adapter->ifp), adapter->hw.mac.addr, IXGBE_ETH_LENGTH_OF_ADDRESS); + ixgbe_set_rar(&adapter->hw, 0, adapter->hw.mac.addr, 0, 1); + adapter->hw.addr_ctrl.rar_used_count = 1; /* Initialize the hardware */ if (ixgbe_hardware_init(adapter)) { @@ -756,60 +833,91 @@ { struct adapter *adapter = arg; - IXGBE_LOCK(adapter); + mtx_lock(&adapter->core_mtx); ixgbe_init_locked(adapter); - IXGBE_UNLOCK(adapter); + mtx_unlock(&adapter->core_mtx); return; } +static void +ixgbe_link(void *context, int pending) +{ + struct adapter *adapter = context; + struct ifnet *ifp = adapter->ifp; + + mtx_lock(&adapter->core_mtx); + if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) { + mtx_unlock(&adapter->core_mtx); + return; + } + + callout_stop(&adapter->timer); + ixgbe_update_link_status(adapter); + callout_reset(&adapter->timer, hz, ixgbe_local_timer, adapter); + mtx_unlock(&adapter->core_mtx); +} + +/* +** MSI and Legacy Deferred Handler +** - note this runs without the general lock +*/ +static void +ixgbe_rxtx(void *context, int pending) +{ + struct adapter *adapter = context; + struct ifnet *ifp = adapter->ifp; + /* For legacy there is only one of each */ + struct rx_ring *rxr = adapter->rx_rings; + struct tx_ring *txr = adapter->tx_rings; + + if (ifp->if_drv_flags & IFF_DRV_RUNNING) { + if (ixgbe_rxeof(rxr, adapter->rx_process_limit) != 0) + taskqueue_enqueue(adapter->tq, &adapter->rxtx_task); + mtx_lock(&adapter->tx_mtx); + ixgbe_txeof(txr); + + if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) + ixgbe_start_locked(ifp); + mtx_unlock(&adapter->tx_mtx); + } + + ixgbe_enable_intr(adapter); +} + + /********************************************************************* * * Legacy Interrupt Service routine * **********************************************************************/ +#if __FreeBSD_version >= 700000 +static int +#else static void -ixgbe_intr(void *arg) +#endif +ixgbe_fast_irq(void *arg) { - u32 loop_cnt = MAX_INTR; u32 reg_eicr; struct adapter *adapter = arg; - struct ifnet *ifp = adapter->ifp; - struct rx_ring *rxr = adapter->rx_rings; - struct tx_ring *txr = adapter->tx_rings; - IXGBE_LOCK(adapter); + reg_eicr = IXGBE_READ_REG(&adapter->hw, IXGBE_EICR); + if (reg_eicr == 0) + return FILTER_STRAY; - reg_eicr = IXGBE_READ_REG(&adapter->hw, IXGBE_EICR); - if (reg_eicr == 0) { - IXGBE_UNLOCK(adapter); - return; - } + ixgbe_disable_intr(adapter); + taskqueue_enqueue(adapter->tq, &adapter->rxtx_task); /* Link status change */ - if (reg_eicr & IXGBE_EICR_LSC) { - callout_stop(&adapter->timer); - ixgbe_update_link_status(adapter); - callout_reset(&adapter->timer, hz, - ixgbe_local_timer, adapter); - } + if (reg_eicr & IXGBE_EICR_LSC) + taskqueue_enqueue(taskqueue_fast, &adapter->link_task); - while ((--loop_cnt > 0) && - (ifp->if_drv_flags & IFF_DRV_RUNNING)) { - ixgbe_rxeof(rxr, adapter->rx_process_limit); - ixgbe_txeof(txr); - } - - if (ifp->if_drv_flags & IFF_DRV_RUNNING && - ifp->if_snd.ifq_head != NULL) - ixgbe_start_locked(ifp); - - IXGBE_UNLOCK(adapter); - return; + return FILTER_HANDLED; } +#if __FreeBSD_version >= 700000 /********************************************************************* * * MSI TX Interrupt Service routine @@ -817,14 +925,14 @@ **********************************************************************/ void -ixgbe_txint(void *arg) +ixgbe_msix_tx(void *arg) { struct tx_ring *txr = arg; struct adapter *adapter = txr->adapter; struct ifnet *ifp = adapter->ifp; uint32_t loop_cnt = MAX_INTR; - IXGBE_LOCK(adapter); + mtx_lock(&adapter->tx_mtx); while (loop_cnt > 0) { if (__predict_false(!ixgbe_txeof(txr))) @@ -836,7 +944,7 @@ ifp->if_snd.ifq_head != NULL) ixgbe_start_locked(ifp); ixgbe_enable_intr(adapter); - IXGBE_UNLOCK(adapter); + mtx_unlock(&adapter->tx_mtx); return; } @@ -847,31 +955,27 @@ **********************************************************************/ static void -ixgbe_rxint(void *arg) +ixgbe_msix_rx(void *arg) { struct rx_ring *rxr = arg; struct adapter *adapter = rxr->adapter; struct ifnet *ifp = adapter->ifp; - //uint32_t reg_eicr, loop = MAX_INTR; uint32_t loop = MAX_INTR; - IXGBE_LOCK(adapter); - while ((loop-- > 0) && (ifp->if_drv_flags & IFF_DRV_RUNNING)) ixgbe_rxeof(rxr, adapter->rx_process_limit); ixgbe_enable_intr(adapter); - IXGBE_UNLOCK(adapter); } static void -ixgbe_linkint(void *arg) +ixgbe_msix_link(void *arg) { struct adapter *adapter = arg; uint32_t reg_eicr; - IXGBE_LOCK(adapter); + mtx_lock(&adapter->core_mtx); reg_eicr = IXGBE_READ_REG(&adapter->hw, IXGBE_EICR); @@ -884,8 +988,9 @@ IXGBE_WRITE_REG(&adapter->hw, IXGBE_EIMS, IXGBE_EIMS_OTHER); ixgbe_enable_intr(adapter); - IXGBE_UNLOCK(adapter); + mtx_unlock(&adapter->core_mtx); } +#endif /* __FreeBSD_version >= 700000 */ /********************************************************************* * @@ -966,6 +1071,7 @@ /* Basic descriptor defines */ cmd_type_len |= IXGBE_ADVTXD_DTYP_DATA; cmd_type_len |= IXGBE_ADVTXD_DCMD_IFCS | IXGBE_ADVTXD_DCMD_DEXT; + if (m_head->m_flags & M_VLANTAG) cmd_type_len |= IXGBE_ADVTXD_DCMD_VLE; @@ -1086,6 +1192,10 @@ if (j == (nsegs -1)) /* Last descriptor gets EOP and RS */ txd->read.cmd_type_len |= htole32(IXGBE_TXD_CMD_EOP | IXGBE_TXD_CMD_RS); +#ifndef NO_82598_A0_SUPPORT + if (adapter->hw.revision_id == 0) + desc_flip(txd); +#endif } txr->tx_avail -= nsegs; @@ -1211,7 +1321,7 @@ struct adapter *adapter = arg; struct ifnet *ifp = adapter->ifp; - IXGBE_LOCK_ASSERT(adapter); + mtx_assert(&adapter->core_mtx, MA_OWNED); ixgbe_update_link_status(adapter); ixgbe_update_stats_counters(adapter); @@ -1273,7 +1383,7 @@ struct adapter *adapter = arg; ifp = adapter->ifp; - IXGBE_LOCK_ASSERT(adapter); + mtx_assert(&adapter->core_mtx, MA_OWNED); INIT_DEBUGOUT("ixgbe_stop: begin\n"); ixgbe_disable_intr(adapter); @@ -1286,7 +1396,8 @@ >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Thu Sep 6 22:43:30 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C5CF616A421; Thu, 6 Sep 2007 22:43:29 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7BF3816A419 for ; Thu, 6 Sep 2007 22:43:29 +0000 (UTC) (envelope-from marius@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E35DE13C46A for ; Thu, 6 Sep 2007 22:43:28 +0000 (UTC) (envelope-from marius@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l86MhSXP006538 for ; Thu, 6 Sep 2007 22:43:28 GMT (envelope-from marius@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l86MhSIT006535 for perforce@freebsd.org; Thu, 6 Sep 2007 22:43:28 GMT (envelope-from marius@freebsd.org) Date: Thu, 6 Sep 2007 22:43:28 GMT Message-Id: <200709062243.l86MhSIT006535@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marius@freebsd.org using -f From: Marius Strobl To: Perforce Change Reviews Cc: Subject: PERFORCE change 126139 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Sep 2007 22:43:30 -0000 http://perforce.freebsd.org/chv.cgi?CH=126139 Change 126139 by marius@flak on 2007/09/06 22:43:13 Use the stock version of this file. Affected files ... .. //depot/projects/usiii/sparc64/fhc/fhcreg.h#3 edit Differences ... ==== //depot/projects/usiii/sparc64/fhc/fhcreg.h#3 (text+ko) ==== @@ -92,9 +92,4 @@ #define FHC_CTRL_RLED 0x00000010 /* right led */ #define FHC_CTRL_BPINS 0x00000003 /* spare bidir pins */ -#define FHC_SYSTEM_INO 0x0 -#define FHC_UART_INO 0x1 -#define FHC_TOD_INO 0x2 -#define FHC_FANFAIL_INO 0x3 - #endif /* !_SPARC64_FHC_FHCREG_H_ */ From owner-p4-projects@FreeBSD.ORG Thu Sep 6 22:48:36 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 25D6A16A41B; Thu, 6 Sep 2007 22:48:36 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F0C6416A417 for ; Thu, 6 Sep 2007 22:48:35 +0000 (UTC) (envelope-from marius@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E0B4013C4A6 for ; Thu, 6 Sep 2007 22:48:35 +0000 (UTC) (envelope-from marius@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l86MmZAH006714 for ; Thu, 6 Sep 2007 22:48:35 GMT (envelope-from marius@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l86MmZuo006711 for perforce@freebsd.org; Thu, 6 Sep 2007 22:48:35 GMT (envelope-from marius@freebsd.org) Date: Thu, 6 Sep 2007 22:48:35 GMT Message-Id: <200709062248.l86MmZuo006711@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marius@freebsd.org using -f From: Marius Strobl To: Perforce Change Reviews Cc: Subject: PERFORCE change 126140 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Sep 2007 22:48:36 -0000 http://perforce.freebsd.org/chv.cgi?CH=126140 Change 126140 by marius@flak on 2007/09/06 22:47:36 - Adapt to the sparc64 INTR_FILTER code that hit CVS. - Correct some comments. - Use more appropriate types for some softc members. Affected files ... .. //depot/projects/usiii/sparc64/pci/schizo.c#2 edit .. //depot/projects/usiii/sparc64/pci/schizovar.h#2 edit Differences ... ==== //depot/projects/usiii/sparc64/pci/schizo.c#2 (text+ko) ==== @@ -177,16 +177,16 @@ struct schizo_icarg { struct schizo_softc *sica_sc; - bus_addr_t sica_map; /* map register */ - bus_addr_t sica_clr; /* clear register */ + bus_addr_t sica_map; + bus_addr_t sica_clr; }; struct schizo_dmasync { struct schizo_softc *sds_sc; - driver_filter_t *sds_handler; /* handler to call */ - void *sds_arg; /* argument for the handler */ - void *sds_cookie; /* parent bus int. cookie */ - u_int sds_ino; /* INO */ + driver_filter_t *sds_handler; + void *sds_arg; + void *sds_cookie; + u_int sds_ino; }; #define SCZTOM_SPC_READ_8(spc, sc, offs) \ @@ -265,7 +265,6 @@ bus_addr_t intrclr, intrmap; uint64_t reg; phandle_t node; - uint32_t portid; uint32_t prop_array[2]; int i, mode, n, nrange, rid, tsbsize; @@ -330,9 +329,8 @@ sc->sc_mtx = osc->sc_mtx; } - if (OF_getprop(node, "portid", &portid, sizeof(portid)) == -1) - panic("%s: could not determine portid", __func__); - sc->sc_ign = (portid << INTMAP_IGN_SHIFT) & INTMAP_IGN_MASK; + if (OF_getprop(node, "portid", &sc->sc_ign, sizeof(sc->sc_ign)) == -1) + panic("%s: could not determine IGN", __func__); if (OF_getprop(node, "version#", &sc->sc_ver, sizeof(sc->sc_ver)) == -1) panic("%s: could not determine version", __func__); @@ -394,8 +392,8 @@ /* * Hunt through all the interrupt mapping regs and register * the interrupt controller for our interrupt vectors. This - * is compilcated by the fact that a pair of Schizo PBMs - * share one interrupt controller. + * is complicated by the fact that a pair of Schizo PBMs + * share one IGN. */ n = OF_getprop(node, "ino-bitmap", (void *)prop_array, sizeof(prop_array)); @@ -422,8 +420,8 @@ n, (u_long)intrmap, (u_long)SCZTOM_PCI_READ_8(sc, intrmap), (u_long)intrclr); #endif - if (intr_controller_register(n | sc->sc_ign, &schizo_ic, - sica) != 0) + if (intr_controller_register(INTMAP_VEC(sc->sc_ign, n), + &schizo_ic, sica) != 0) panic("%s: could not register interrupt controller " "for INO %d", __func__, n); } @@ -438,8 +436,8 @@ if (sc->sc_half == 0) { if ((reg & (1ULL << SCZTOM_PCIERR_A_INO)) != 0 || (osc != NULL && ((struct schizo_icarg *)intr_vectors[ - sc->sc_ign | SCZTOM_PCIERR_A_INO].iv_icarg)->sica_sc == - osc)) + INTMAP_VEC(sc->sc_ign, SCZTOM_PCIERR_A_INO)].iv_icarg)-> + sica_sc == osc)) /* * We are the driver for PBM A and either also * registered the interrupt controller for us or @@ -460,8 +458,8 @@ } else { if ((reg & (1ULL << SCZTOM_PCIERR_B_INO)) != 0 || (osc != NULL && ((struct schizo_icarg *)intr_vectors[ - sc->sc_ign | SCZTOM_PCIERR_B_INO].iv_icarg)->sica_sc == - osc)) + INTMAP_VEC(sc->sc_ign, SCZTOM_PCIERR_B_INO)].iv_icarg)-> + sica_sc == osc)) /* * We are the driver for PBM B and either also * registered the interrupt controller for us or @@ -612,7 +610,7 @@ sc->sc_irq_res[index] = bus_alloc_resource_any(sc->sc_dev, SYS_RES_IRQ, &rid, RF_ACTIVE); if (sc->sc_irq_res[index] == NULL || - INTVEC(vec = rman_get_start(sc->sc_irq_res[index])) == 0 || + INTIGN(vec = rman_get_start(sc->sc_irq_res[index])) != sc->sc_ign || INTINO(vec) != ino || intr_vectors[vec].iv_ic != &schizo_ic || bus_setup_intr(sc->sc_dev, sc->sc_irq_res[index], INTR_TYPE_MISC, @@ -628,7 +626,7 @@ uint64_t mr; /* - * XXX we only look for INOs rather than IGNs since the firmware + * XXX we only look for INOs rather than INRs since the firmware * may not provide the IGN and the IGN is constant for all devices * on that PCI controller. */ @@ -940,10 +938,8 @@ struct intr_vector *iv = arg; struct schizo_icarg *sica = iv->iv_icarg; - SCZTOM_PCI_WRITE_8(sica->sica_sc, sica->sica_clr, 0); SCZTOM_PCI_WRITE_8(sica->sica_sc, sica->sica_map, - INTMAP_ENABLE(SCZTOM_PCI_READ_8(sica->sica_sc, sica->sica_map), - iv->iv_mid)); + INTMAP_ENABLE(iv->iv_vec, iv->iv_mid)); } static void @@ -952,8 +948,7 @@ struct intr_vector *iv = arg; struct schizo_icarg *sica = iv->iv_icarg; - SCZTOM_PCI_WRITE_8(sica->sica_sc, sica->sica_map, - SCZTOM_PCI_READ_8(sica->sica_sc, sica->sica_map) & ~INTMAP_V); + SCZTOM_PCI_WRITE_8(sica->sica_sc, sica->sica_map, iv->iv_vec); } static void @@ -981,7 +976,8 @@ * our interrupt controller for it. */ vec = rman_get_start(ires); - if (INTVEC(vec) == 0 || intr_vectors[vec].iv_ic != &schizo_ic) { + if (INTIGN(vec) != sc->sc_ign || + intr_vectors[vec].iv_ic != &schizo_ic) { device_printf(dev, "invalid interrupt vector 0x%lx\n", vec); return (EINVAL); } @@ -1067,7 +1063,7 @@ */ if (start != end) panic("%s: XXX: interrupt range", __func__); - start = end |= sc->sc_ign; + start = end = INTMAP_VEC(sc->sc_ign, end); return (BUS_ALLOC_RESOURCE(device_get_parent(bus), child, type, rid, start, end, count, flags)); } ==== //depot/projects/usiii/sparc64/pci/schizovar.h#2 (text+ko) ==== @@ -38,13 +38,13 @@ phandle_t sc_node; - int sc_mode; + u_int sc_mode; #define SCHIZO_MODE_SCZ 1 #define SCHIZO_MODE_TOM 2 - int sc_half; - int sc_ign; - int sc_ver; + u_int sc_half; + uint32_t sc_ign; + u_int sc_ver; struct resource *sc_mem_res[TOM_NREG]; struct resource *sc_irq_res[SCZTOM_NINTR]; From owner-p4-projects@FreeBSD.ORG Fri Sep 7 04:39:10 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 9682216A418; Fri, 7 Sep 2007 04:39:10 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 58C4516A419 for ; Fri, 7 Sep 2007 04:39:10 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 45C0913C465 for ; Fri, 7 Sep 2007 04:39:10 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l874dALp044366 for ; Fri, 7 Sep 2007 04:39:10 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l874d9h9044363 for perforce@freebsd.org; Fri, 7 Sep 2007 04:39:09 GMT (envelope-from kmacy@freebsd.org) Date: Fri, 7 Sep 2007 04:39:09 GMT Message-Id: <200709070439.l874d9h9044363@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 126146 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Sep 2007 04:39:11 -0000 http://perforce.freebsd.org/chv.cgi?CH=126146 Change 126146 by kmacy@kmacy:storage:toestack on 2007/09/07 04:38:43 add rudimentary toecore module for pub-sub relationship between TOMs and offload devices Affected files ... .. //depot/projects/toestack/sys/dev/cxgb/ulp/toecore/toedev.c#1 add .. //depot/projects/toestack/sys/dev/cxgb/ulp/toecore/toedev.h#2 edit .. //depot/projects/toestack/sys/modules/cxgb/Makefile#3 edit .. //depot/projects/toestack/sys/modules/cxgb/cxgb/Makefile#1 add .. //depot/projects/toestack/sys/modules/cxgb/toecore/Makefile#1 add Differences ... ==== //depot/projects/toestack/sys/dev/cxgb/ulp/toecore/toedev.h#2 (text+ko) ==== @@ -85,6 +85,7 @@ }; struct toedev { + TAILQ_ENTRY(toedev) entry; char name[TOENAMSIZ]; /* TOE device name */ enum toetype type; struct adapter *adapter; @@ -95,7 +96,6 @@ struct ifnet *lldev; /* LL device associated with TOE messages */ const struct tom_info *offload_mod; /* attached TCP offload module */ struct sysctl_oid *sysctl_root; /* root of proc dir for this TOE */ - TAILQ_ENTRY(toedev) ofld_entry; /* for list linking */ int (*open)(struct toedev *dev); int (*close)(struct toedev *dev); int (*can_offload)(struct toedev *dev, struct socket *so); @@ -104,7 +104,7 @@ int (*send)(struct toedev *dev, struct mbuf *m); int (*recv)(struct toedev *dev, struct mbuf **m, int n); int (*ctl)(struct toedev *dev, unsigned int req, void *data); - void (*neigh_update)(struct toedev *dev, struct rtentry *neigh); + void (*arp_update)(struct toedev *dev, struct rtentry *neigh); void (*failover)(struct toedev *dev, struct ifnet *bond_ifp, struct ifnet *ndev, int event); void *priv; /* driver private data */ @@ -115,11 +115,11 @@ }; struct tom_info { + TAILQ_ENTRY(tom_info) entry; int (*attach)(struct toedev *dev, const struct offload_id *entry); int (*detach)(struct toedev *dev); const char *name; const struct offload_id *id_table; - TAILQ_ENTRY(tom_info) entry; }; static inline void init_offload_dev(struct toedev *dev) @@ -133,10 +133,12 @@ extern int unregister_toedev(struct toedev *dev); extern int activate_offload(struct toedev *dev); extern int toe_send(struct toedev *dev, struct mbuf *m); +extern void toe_arp_update(struct rtentry *rt); extern struct ifnet *offload_get_phys_egress(struct ifnet *dev, struct socket *so, int context); - +extern int toe_receive_mbuf(struct toedev *dev, struct mbuf **m, int n); + #if defined(CONFIG_TCP_OFFLOAD_MODULE) static inline int toe_receive_mbuf(struct toedev *dev, struct mbuf **m, int n) ==== //depot/projects/toestack/sys/modules/cxgb/Makefile#3 (text+ko) ==== @@ -1,47 +1,5 @@ -# $FreeBSD: src/sys/modules/cxgb/Makefile,v 1.9 2007/07/17 06:50:35 kmacy Exp $ +# $FreeBSD$ +SUBDIR= cxgb +SUBDIR+= toecore -CXGB = ${.CURDIR}/../../dev/cxgb -.PATH: ${CXGB} ${CXGB}/common ${CXGB}/sys - -KMOD= if_cxgb -SRCS= cxgb_mc5.c cxgb_vsc8211.c cxgb_ael1002.c cxgb_mv88e1xxx.c -SRCS+= cxgb_xgmac.c cxgb_vsc7323.c cxgb_t3_hw.c cxgb_main.c -SRCS+= cxgb_sge.c cxgb_lro.c cxgb_offload.c cxgb_l2t.c -SRCS+= device_if.h bus_if.h pci_if.h opt_zero.h -SRCS+= uipc_mvec.c cxgb_multiq.c - -CFLAGS+= -DCONFIG_CHELSIO_T3_CORE -g -DCONFIG_DEFINED -DDEFAULT_JUMBO -I${CXGB} -DSMP -#CFLAGS+= -DIFNET_MULTIQUEUE -#CFLAGS+= -DINVARIANT_SUPPORT -DINVARIANTS -#CFLAGS+= -DWITNESS -#CFLAGS+= -DDEBUG -DDEBUG_PRINT - - -.if ${MACHINE_ARCH} != "ia64" -# ld is broken on ia64 -t3fw-4.5.0.bin: ${CXGB}/t3fw-4.5.0.bin.gz.uu - uudecode -p < ${CXGB}/t3fw-4.5.0.bin.gz.uu \ - | gzip -dc > ${.TARGET} - -FIRMWS= t3fw-4.5.0.bin:t3fw450 -CLEANFILES+= t3fw-4.5.0.bin - -t3b_protocol_sram-1.1.0.bin: ${CXGB}/t3b_protocol_sram-1.1.0.bin.gz.uu - uudecode -p < ${CXGB}/t3b_protocol_sram-1.1.0.bin.gz.uu \ - | gzip -dc > ${.TARGET} - -FIRMWS+= t3b_protocol_sram-1.1.0.bin:t3bps110 -CLEANFILES+= t3b_protocol_sram-1.1.0.bin - -t3b_tp_eeprom-1.1.0.bin: ${CXGB}/t3b_tp_eeprom-1.1.0.bin.gz.uu - uudecode -p < ${CXGB}/t3b_tp_eeprom-1.1.0.bin.gz.uu \ - | gzip -dc > ${.TARGET} - -FIRMWS+= t3b_tp_eeprom-1.1.0.bin:t3btpe110 -CLEANFILES+= t3b_tp_eeprom-1.1.0.bin - - -.endif - - -.include +.include From owner-p4-projects@FreeBSD.ORG Fri Sep 7 11:59:47 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5376B16A469; Fri, 7 Sep 2007 11:59:47 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E515016A418 for ; Fri, 7 Sep 2007 11:59:46 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D9BBA13C469 for ; Fri, 7 Sep 2007 11:59:46 +0000 (UTC) (envelope-from anchie@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l87BxkM2096796 for ; Fri, 7 Sep 2007 11:59:46 GMT (envelope-from anchie@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l87BxkZd096793 for perforce@freebsd.org; Fri, 7 Sep 2007 11:59:46 GMT (envelope-from anchie@FreeBSD.org) Date: Fri, 7 Sep 2007 11:59:46 GMT Message-Id: <200709071159.l87BxkZd096793@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to anchie@FreeBSD.org using -f From: Ana Kukec To: Perforce Change Reviews Cc: Subject: PERFORCE change 126152 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Sep 2007 11:59:47 -0000 http://perforce.freebsd.org/chv.cgi?CH=126152 Change 126152 by anchie@anchie_malimis on 2007/09/07 11:59:22 Changed declarations of some netinet6 variables. Affected files ... .. //depot/projects/vimage/src/sys/netinet6/in6_proto.c#18 edit .. //depot/projects/vimage/src/sys/netinet6/nd6.c#21 edit .. //depot/projects/vimage/src/sys/netinet6/nd6_nbr.c#12 edit .. //depot/projects/vimage/src/sys/netipsec/ipsec.c#16 edit Differences ... ==== //depot/projects/vimage/src/sys/netinet6/in6_proto.c#18 (text+ko) ==== @@ -519,10 +519,6 @@ auto_flowlabel, CTLFLAG_RW, ip6_auto_flowlabel, 0, ""); SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_DEFMCASTHLIM, defmcasthlim, CTLFLAG_RW, ip6_defmcasthlim, 0, ""); -/* -SYSCTL_V_INT(V_NET, vnet_gif, _net_inet6_ip6, IPV6CTL_GIF_HLIM, - gifhlim, CTLFLAG_RW, ip6_gif_hlim, 0, ""); -*/ SYSCTL_STRING(_net_inet6_ip6, IPV6CTL_KAME_VERSION, kame_version, CTLFLAG_RD, __KAME_VERSION, 0, ""); SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_USE_DEPRECATED, ==== //depot/projects/vimage/src/sys/netinet6/nd6.c#21 (text+ko) ==== @@ -109,6 +109,9 @@ struct nd_prhead nd_prefix; int nd6_recalc_reachtm_interval; + +extern int dad_ignore_ns; /* ignore NS in DAD - specwise incorrect*/ +extern int dad_maxtry; /* max # of *tries* to transmit DAD packet */ #endif /* !VIMAGE */ static struct sockaddr_in6 all1_sa; @@ -154,7 +157,9 @@ V_nd6_recalc_reachtm_interval = ND6_RECALC_REACHTM_INTERVAL; +#ifdef INET6 V_dad_ignore_ns = 0; /* ignore NS in DAD - specwise incorrect*/ +#endif V_dad_maxtry = 15; /* max # of *tries* to transmit DAD packet */ V_ip6_use_tempaddr = 0; ==== //depot/projects/vimage/src/sys/netinet6/nd6_nbr.c#12 (text+ko) ==== @@ -84,8 +84,8 @@ static void nd6_dad_na_input __P((struct ifaddr *)); #ifndef VIMAGE -static int dad_ignore_ns; /* ignore NS in DAD - specwise incorrect*/ -static int dad_maxtry; /* max # of *tries* to transmit DAD packet */ +int dad_ignore_ns; /* ignore NS in DAD - specwise incorrect*/ +int dad_maxtry; /* max # of *tries* to transmit DAD packet */ #endif /* !VIMAGE */ /* ==== //depot/projects/vimage/src/sys/netipsec/ipsec.c#16 (text+ko) ==== @@ -198,6 +198,9 @@ int ip6_ipsec_ecn; /* ECN ignore(-1)/forbidden(0)/allowed(1) */ int ip6_esp_randpad; #endif +#endif /* !VIMAGE */ + +#ifdef INET6 SYSCTL_DECL(_net_inet6_ipsec6); /* net.inet6.ipsec6 */ From owner-p4-projects@FreeBSD.ORG Fri Sep 7 16:31:55 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2D91416A46B; Fri, 7 Sep 2007 16:31:55 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D07E716A468 for ; Fri, 7 Sep 2007 16:31:54 +0000 (UTC) (envelope-from mharvan@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C962F13C4B7 for ; Fri, 7 Sep 2007 16:31:54 +0000 (UTC) (envelope-from mharvan@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l87GVsfo038091 for ; Fri, 7 Sep 2007 16:31:54 GMT (envelope-from mharvan@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l87GVstB038083 for perforce@freebsd.org; Fri, 7 Sep 2007 16:31:54 GMT (envelope-from mharvan@FreeBSD.org) Date: Fri, 7 Sep 2007 16:31:54 GMT Message-Id: <200709071631.l87GVstB038083@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mharvan@FreeBSD.org using -f From: Matus Harvan To: Perforce Change Reviews Cc: Subject: PERFORCE change 126156 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Sep 2007 16:31:56 -0000 http://perforce.freebsd.org/chv.cgi?CH=126156 Change 126156 by mharvan@mharvan_peleus on 2007/09/07 16:31:10 udp catchall patch cleanup * TLFLAG_SECURE * debugging printf * move statically declared catchallr outside of udp_input() Affected files ... .. //depot/projects/soc2007/mharvan-mtund/sys.patches/sys.current.udp_catchall.patch#2 edit Differences ... ==== //depot/projects/soc2007/mharvan-mtund/sys.patches/sys.current.udp_catchall.patch#2 (text+ko) ==== @@ -2,49 +2,52 @@ =================================================================== RCS file: /home/ncvs/src/sys/netinet/udp_usrreq.c,v retrieving revision 1.216 -diff -u -r1.216 udp_usrreq.c +diff -d -u -r1.216 udp_usrreq.c --- udp_usrreq.c 10 Jul 2007 09:30:46 -0000 1.216 -+++ udp_usrreq.c 24 Aug 2007 17:29:33 -0000 ++++ udp_usrreq.c 6 Sep 2007 21:59:31 -0000 @@ -125,6 +125,15 @@ SYSCTL_ULONG(_net_inet_udp, UDPCTL_RECVSPACE, recvspace, CTLFLAG_RW, &udp_recvspace, 0, "Maximum space for incoming UDP datagrams"); +static int udp_catchall = 0; -+SYSCTL_INT(_net_inet_raw, OID_AUTO, udp_catchall, CTLFLAG_RW, ++SYSCTL_INT(_net_inet_raw, OID_AUTO, udp_catchall, CTLFLAG_RW | CTLFLAG_SECURE, + &udp_catchall, 0, "Raw IP UDP sockets receive unclaimed UDP datagrams"); + +static int catchalllim = 5; -+SYSCTL_INT(_net_inet_udp, OID_AUTO, catchalllim, CTLFLAG_RW, ++SYSCTL_INT(_net_inet_udp, OID_AUTO, catchalllim, CTLFLAG_RW | CTLFLAG_SECURE, + &catchalllim, 0, + "Rate limit on received UDP datagrams due to udp_catchall"); + struct inpcbhead udb; /* from udp_var.h */ struct inpcbinfo udbinfo; -@@ -261,6 +270,10 @@ - #ifdef IPFIREWALL_FORWARD - struct m_tag *fwd_tag; - #endif -+ static struct rate { -+ struct timeval lasttime; -+ int curpps; -+ } catchallr; +@@ -136,6 +145,11 @@ + SYSCTL_STRUCT(_net_inet_udp, UDPCTL_STATS, stats, CTLFLAG_RW, &udpstat, + udpstat, "UDP statistics (struct udpstat, netinet/udp_var.h)"); - ifp = m->m_pkthdr.rcvif; - udpstat.udps_ipackets++; -@@ -515,6 +528,30 @@ ++static struct rate { ++ struct timeval lasttime; ++ int curpps; ++} catchallr; ++ + static void udp_detach(struct socket *so); + static int udp_output(struct inpcb *, struct mbuf *, struct sockaddr *, + struct mbuf *, struct thread *); +@@ -515,6 +529,35 @@ */ inp = in_pcblookup_hash(&udbinfo, ip->ip_src, uh->uh_sport, ip->ip_dst, uh->uh_dport, 1, ifp); + + /* catchall socket */ + if (inp == NULL && udp_catchall != 0) { ++#ifdef DIAGNOSTIC + printf("IP UDP catchall active\n"); -+ char dbuf[4*sizeof "123"], sbuf[4*sizeof "123"]; ++ char dbuf[INET_ADDRSTRLEN], sbuf[INET_ADDRSTRLEN]; + strcpy(dbuf, inet_ntoa(ip->ip_dst)); + strcpy(sbuf, inet_ntoa(ip->ip_src)); + printf("\tip_src: %s, sport: %hu\n\tip_dst: %s, dport: %hu\n", + sbuf, ntohs(uh->uh_sport), dbuf, ntohs(uh->uh_dport)); ++#endif + + /* rate limiting */ + if (catchalllim > 0) @@ -53,11 +56,14 @@ + rip_input(m, off); + INP_INFO_RUNLOCK(&udbinfo); + return; -+ } else -+ printf("ppsratecheck limited " ++ } ++#ifdef DIAGNOSTIC ++ else ++ printf("ppsratecheck limited " + "udp_catchall\n"); + else + printf("ppsratecheck limited udp_catchall\n"); ++#endif + } + if (inp == NULL) { From owner-p4-projects@FreeBSD.ORG Fri Sep 7 18:32:29 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EB56716A41B; Fri, 7 Sep 2007 18:32:28 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9E78816A417 for ; Fri, 7 Sep 2007 18:32:28 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 91EED13C458 for ; Fri, 7 Sep 2007 18:32:28 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l87IWSqE059929 for ; Fri, 7 Sep 2007 18:32:28 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l87IWSG1059920 for perforce@freebsd.org; Fri, 7 Sep 2007 18:32:28 GMT (envelope-from marcel@freebsd.org) Date: Fri, 7 Sep 2007 18:32:28 GMT Message-Id: <200709071832.l87IWSG1059920@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 126159 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Sep 2007 18:32:29 -0000 http://perforce.freebsd.org/chv.cgi?CH=126159 Change 126159 by marcel@marcel_xcllnt on 2007/09/07 18:31:49 IFC @126158 Affected files ... .. //depot/projects/usiii/dev/usb/if_zyd.c#2 integrate .. //depot/projects/usiii/netinet/tcp_subr.c#2 integrate .. //depot/projects/usiii/netinet/tcp_timer.c#2 integrate .. //depot/projects/usiii/netinet/tcp_timer.h#2 integrate .. //depot/projects/usiii/netinet/tcp_usrreq.c#2 integrate .. //depot/projects/usiii/netinet/tcp_var.h#2 integrate Differences ... ==== //depot/projects/usiii/dev/usb/if_zyd.c#2 (text+ko) ==== @@ -1,6 +1,6 @@ /* $OpenBSD: if_zyd.c,v 1.52 2007/02/11 00:08:04 jsg Exp $ */ /* $NetBSD: if_zyd.c,v 1.7 2007/06/21 04:04:29 kiyohara Exp $ */ -/* $FreeBSD: src/sys/dev/usb/if_zyd.c,v 1.2 2007/09/05 23:40:59 sam Exp $ */ +/* $FreeBSD: src/sys/dev/usb/if_zyd.c,v 1.3 2007/09/07 03:54:54 sam Exp $ */ /*- * Copyright (c) 2006 by Damien Bergamini @@ -271,6 +271,7 @@ static int zyd_attach(device_t dev) { + int error = ENXIO; struct zyd_softc *sc = device_get_softc(dev); struct usb_attach_arg *uaa = device_get_ivars(dev); usb_device_descriptor_t* ddesc; @@ -293,7 +294,7 @@ device_printf(dev, "device version mismatch: 0x%x " "(only >= 43.30 supported)\n", UGETW(ddesc->bcdDevice)); - return -1; + goto bad; } ifp->if_softc = sc; @@ -307,7 +308,12 @@ STAILQ_INIT(&sc->sc_rqh); - zyd_attachhook(sc); + error = zyd_attachhook(sc); + if (error != 0) { +bad: + if_free(ifp); + return error; + } return 0; } @@ -332,6 +338,7 @@ error = usbd_set_config_no(sc->sc_udev, ZYD_CONFIG_NO, 1); if (error != 0) { device_printf(sc->sc_dev, "setting config no failed\n"); + error = ENXIO; goto fail; } @@ -339,6 +346,7 @@ &sc->sc_iface); if (error != 0) { device_printf(sc->sc_dev, "getting interface handle failed\n"); + error = ENXIO; goto fail; } @@ -522,7 +530,7 @@ return 0; fail: zyd_close_pipes(sc); - return error; + return ENXIO; } static void ==== //depot/projects/usiii/netinet/tcp_subr.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)tcp_subr.c 8.2 (Berkeley) 5/24/95 - * $FreeBSD: src/sys/netinet/tcp_subr.c,v 1.296 2007/08/16 01:35:55 qingli Exp $ + * $FreeBSD: src/sys/netinet/tcp_subr.c,v 1.297 2007/09/07 09:19:22 rwatson Exp $ */ #include "opt_compat.h" @@ -214,7 +214,8 @@ */ struct tcpcb_mem { struct tcpcb tcb; - struct tcp_timer tt; + struct callout tcpcb_mem_rexmt, tcpcb_mem_persist, tcpcb_mem_keep; + struct callout tcpcb_mem_2msl, tcpcb_mem_delack; }; static uma_zone_t tcpcb_zone; @@ -589,7 +590,6 @@ if (tm == NULL) return (NULL); tp = &tm->tcb; - tp->t_timers = &tm->tt; /* LIST_INIT(&tp->t_segq); */ /* XXX covered by M_ZERO */ tp->t_maxseg = tp->t_maxopd = #ifdef INET6 @@ -598,8 +598,11 @@ tcp_mssdflt; /* Set up our timeouts. */ - callout_init_mtx(&tp->t_timers->tt_timer, &inp->inp_mtx, - CALLOUT_RETURNUNLOCKED); + callout_init(tp->tt_rexmt = &tm->tcpcb_mem_rexmt, CALLOUT_MPSAFE); + callout_init(tp->tt_persist = &tm->tcpcb_mem_persist, CALLOUT_MPSAFE); + callout_init(tp->tt_keep = &tm->tcpcb_mem_keep, CALLOUT_MPSAFE); + callout_init(tp->tt_2msl = &tm->tcpcb_mem_2msl, CALLOUT_MPSAFE); + callout_init(tp->tt_delack = &tm->tcpcb_mem_delack, CALLOUT_MPSAFE); if (tcp_do_rfc1323) tp->t_flags = (TF_REQ_SCALE|TF_REQ_TSTMP); @@ -671,15 +674,12 @@ /* * Make sure that all of our timers are stopped before we * delete the PCB. - * - * XXX: callout_stop() may race and a callout may already - * try to obtain the INP_LOCK. Only callout_drain() would - * stop this but it would cause a LOR thus we can't use it. - * The tcp_timer() function contains a lot of checks to - * handle this case rather gracefully. */ - tp->t_timers->tt_active = 0; - callout_stop(&tp->t_timers->tt_timer); + callout_stop(tp->tt_rexmt); + callout_stop(tp->tt_persist); + callout_stop(tp->tt_keep); + callout_stop(tp->tt_2msl); + callout_stop(tp->tt_delack); /* * If we got enough samples through the srtt filter, ==== //depot/projects/usiii/netinet/tcp_timer.c#2 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)tcp_timer.c 8.2 (Berkeley) 5/24/95 - * $FreeBSD: src/sys/netinet/tcp_timer.c,v 1.95 2007/06/09 17:49:39 andre Exp $ + * $FreeBSD: src/sys/netinet/tcp_timer.c,v 1.96 2007/09/07 09:19:22 rwatson Exp $ */ #include "opt_inet6.h" @@ -35,9 +35,7 @@ #include #include -#include #include -#include #include #include #include @@ -115,20 +113,13 @@ /* max idle time in persist */ int tcp_maxidle; -static void tcp_timer(void *); -static int tcp_timer_delack(struct tcpcb *, struct inpcb *); -static int tcp_timer_2msl(struct tcpcb *, struct inpcb *); -static int tcp_timer_keep(struct tcpcb *, struct inpcb *); -static int tcp_timer_persist(struct tcpcb *, struct inpcb *); -static int tcp_timer_rexmt(struct tcpcb *, struct inpcb *); - /* * Tcp protocol timeout routine called every 500 ms. * Updates timestamps used for TCP * causes finite state machine actions if timers expire. */ void -tcp_slowtimo(void) +tcp_slowtimo() { tcp_maxidle = tcp_keepcnt * tcp_keepintvl; @@ -149,301 +140,82 @@ SYSCTL_INT(_net_inet_tcp, OID_AUTO, timer_race, CTLFLAG_RD, &tcp_timer_race, 0, "Count of t_inpcb races on tcp_discardcb"); +/* + * TCP timer processing. + */ + void -tcp_timer_activate(struct tcpcb *tp, int timer_type, u_int delta) +tcp_timer_delack(void *xtp) { - struct inpcb *inp = tp->t_inpcb; - struct tcp_timer *tt = tp->t_timers; - int tick = ticks; /* Stable time base. */ - int next = delta ? tick + delta : 0; + struct tcpcb *tp = xtp; + struct inpcb *inp; - INP_LOCK_ASSERT(inp); - - CTR6(KTR_NET, "%p %s inp %p active %x delta %i nextc %i", - tp, __func__, inp, tt->tt_active, delta, tt->tt_nextc); - - /* Set new value for timer. */ - switch(timer_type) { - case TT_DELACK: - CTR4(KTR_NET, "%p %s TT_DELACK old %i new %i", - tp, __func__, tt->tt_delack, next); - tt->tt_delack = next; - break; - case TT_REXMT: - CTR4(KTR_NET, "%p %s TT_REXMT old %i new %i", - tp, __func__, tt->tt_rexmt, next); - tt->tt_rexmt = next; - break; - case TT_PERSIST: - CTR4(KTR_NET, "%p %s TT_PERSIST old %i new %i", - tp, __func__, tt->tt_persist, next); - tt->tt_persist = next; - break; - case TT_KEEP: - CTR4(KTR_NET, "%p %s TT_KEEP old %i new %i", - tp, __func__, tt->tt_keep, next); - tt->tt_keep = next; - break; - case TT_2MSL: - CTR4(KTR_NET, "%p %s TT_2MSL old %i new %i", - tp, __func__, tt->tt_2msl, next); - tt->tt_2msl = next; - break; - case 0: /* Dummy for timer rescan. */ - CTR3(KTR_NET, "%p %s timer rescan new %i", tp, __func__, next); - break; - } - - /* If some other timer is active and is schedules sooner just return. */ - if (tt->tt_active != timer_type && tt->tt_nextc < next && - callout_active(&tt->tt_timer)) - return; - - /* Select next timer to schedule. */ - tt->tt_nextc = INT_MAX; - tt->tt_active = 0; - if (tt->tt_delack && tt->tt_delack < tt->tt_nextc) { - tt->tt_nextc = tt->tt_delack; - tt->tt_active = TT_DELACK; - } - if (tt->tt_rexmt && tt->tt_rexmt < tt->tt_nextc) { - tt->tt_nextc = tt->tt_rexmt; - tt->tt_active = TT_REXMT; - } - if (tt->tt_persist && tt->tt_persist < tt->tt_nextc) { - tt->tt_nextc = tt->tt_persist; - tt->tt_active = TT_PERSIST; - } - if (tt->tt_keep && tt->tt_keep < tt->tt_nextc) { - tt->tt_nextc = tt->tt_keep; - tt->tt_active = TT_KEEP; - } - if (tt->tt_2msl && tt->tt_2msl < tt->tt_nextc) { - tt->tt_nextc = tt->tt_2msl; - tt->tt_active = TT_2MSL; - } - - /* Rearm callout with new timer if we found one. */ - if (tt->tt_active) { - CTR4(KTR_NET, "%p %s callout_reset active %x nextc in %i", - tp, __func__, tt->tt_active, tt->tt_nextc - tick); - callout_reset(&tt->tt_timer, - tt->tt_nextc - tick, tcp_timer, (void *)inp); - } else { - CTR2(KTR_NET, "%p %s callout_stop", tp, __func__); - callout_stop(&tt->tt_timer); - tt->tt_nextc = 0; - } - - return; -} - -int -tcp_timer_active(struct tcpcb *tp, int timer_type) -{ - - switch (timer_type) { - case TT_DELACK: - CTR3(KTR_NET, "%p %s TT_DELACK %i", - tp, __func__, tp->t_timers->tt_delack); - return (tp->t_timers->tt_delack ? 1 : 0); - break; - case TT_REXMT: - CTR3(KTR_NET, "%p %s TT_REXMT %i", - tp, __func__, tp->t_timers->tt_rexmt); - return (tp->t_timers->tt_rexmt ? 1 : 0); - break; - case TT_PERSIST: - CTR3(KTR_NET, "%p %s TT_PERSIST %i", - tp, __func__, tp->t_timers->tt_persist); - return (tp->t_timers->tt_persist ? 1 : 0); - break; - case TT_KEEP: - CTR3(KTR_NET, "%p %s TT_KEEP %i", - tp, __func__, tp->t_timers->tt_keep); - return (tp->t_timers->tt_keep ? 1 : 0); - break; - case TT_2MSL: - CTR3(KTR_NET, "%p %s TT_2MSL %i", - tp, __func__, tp->t_timers->tt_2msl); - return (tp->t_timers->tt_2msl ? 1 : 0); - break; - } - return (0); -} - -static void -tcp_timer(void *xinp) -{ - struct inpcb *inp = (struct inpcb *)xinp; - struct tcpcb *tp = intotcpcb(inp); - struct tcp_timer *tt; - int tick = ticks; - int down, timer; - - /* INP lock was obtained by callout. */ - INP_LOCK_ASSERT(inp); - + INP_INFO_RLOCK(&tcbinfo); + inp = tp->t_inpcb; /* - * We've got a couple of race conditions here: - * - The tcpcb was converted into a compressed TW pcb. All our - * timers have been stopped while this callout already tried - * to obtain the inpcb lock. TW pcbs have their own timers - * and we just return. + * XXXRW: While this assert is in fact correct, bugs in the tcpcb + * tear-down mean we need it as a work-around for races between + * timers and tcp_discardcb(). + * + * KASSERT(inp != NULL, ("tcp_timer_delack: inp == NULL")); */ - if (inp->inp_vflag & INP_TIMEWAIT) + if (inp == NULL) { + tcp_timer_race++; + INP_INFO_RUNLOCK(&tcbinfo); return; - /* - * - The tcpcb was discarded. All our timers have been stopped - * while this callout already tried to obtain the inpcb lock - * and we just return. - */ - if (tp == NULL) - return; - - tt = tp->t_timers; /* Initialize. */ - CTR6(KTR_NET, "%p %s inp %p active %x tick %i nextc %i", - tp, __func__, inp, tt->tt_active, tick, tt->tt_nextc); - - /* - * - We may have been waiting on the lock while the tcpcb has - * been scheduled for destruction. In this case no active - * timers remain and we just return. - */ - if (tt->tt_active == 0) - goto done; - - /* - * - The timer was rescheduled while this callout was already - * waiting on the lock. This may happen when a packet just - * came in. Rescan and reschedule the the timer in case we - * just turned it off. - */ - if (tick < tt->tt_nextc) - goto rescan; - - /* - * Mark as done. The active bit in struct callout is not - * automatically cleared. See callout(9) for more info. - * In tcp_discardcb() we depend on the correctly cleared - * active bit for faster processing. - */ - callout_deactivate(&tt->tt_timer); - - /* Check which timer has fired and remove this timer activation. */ - timer = tt->tt_active; - tt->tt_active = 0; - tt->tt_nextc = 0; - - switch (timer) { - case TT_DELACK: - CTR2(KTR_NET, "%p %s running TT_DELACK", tp, __func__); - tt->tt_delack = 0; - down = tcp_timer_delack(tp, inp); /* down == 0 */ - break; - case TT_REXMT: - CTR2(KTR_NET, "%p %s running TT_REXMT", tp, __func__); - tt->tt_rexmt = 0; - down = tcp_timer_rexmt(tp, inp); - break; - case TT_PERSIST: - CTR2(KTR_NET, "%p %s running TT_PERSIST", tp, __func__); - tt->tt_persist = 0; - down = tcp_timer_persist(tp, inp); - break; - case TT_KEEP: - CTR2(KTR_NET, "%p %s running TT_KEEP", tp, __func__); - tt->tt_keep = 0; - down = tcp_timer_keep(tp, inp); - break; - case TT_2MSL: - CTR2(KTR_NET, "%p %s running TT_2MSL", tp, __func__); - tt->tt_2msl = 0; - down = tcp_timer_2msl(tp, inp); - break; - default: - CTR2(KTR_NET, "%p %s running nothing", tp, __func__); - down = 0; } - - CTR4(KTR_NET, "%p %s down %i active %x", - tp, __func__, down, tt->tt_active); - /* Do we still exist? */ - if (down) - goto shutdown; - -rescan: - /* Rescan if no timer was reactivated above. */ - if (tt->tt_active == 0) - tcp_timer_activate(tp, 0, 0); - -done: - INP_UNLOCK(inp); /* CALLOUT_RETURNUNLOCKED */ - return; - -shutdown: - INP_UNLOCK(inp); /* Prevent LOR at expense of race. */ - INP_INFO_WLOCK(&tcbinfo); INP_LOCK(inp); - - /* - * XXX: When our tcpcb went into TIMEWAIT, is gone or no - * longer the one we used to work with we've lost the race. - * This race is inherent in the current socket/inpcb life - * cycle system. - */ - if ((inp->inp_vflag & INP_TIMEWAIT) || inp->inp_ppcb == NULL || - inp->inp_ppcb != tp) { - CTR3(KTR_NET, "%p %s inp %p lost shutdown race", - tp, __func__, inp); - tcp_timer_race++; - INP_UNLOCK(inp); /* CALLOUT_RETURNUNLOCKED */ - INP_INFO_WUNLOCK(&tcbinfo); + INP_INFO_RUNLOCK(&tcbinfo); + if ((inp->inp_vflag & INP_DROPPED) || callout_pending(tp->tt_delack) + || !callout_active(tp->tt_delack)) { + INP_UNLOCK(inp); return; } - KASSERT(tp == inp->inp_ppcb, ("%s: tp changed", __func__)); - - /* Shutdown the connection. */ - switch (down) { - case 1: - tp = tcp_close(tp); - break; - case 2: - tp = tcp_drop(tp, - tp->t_softerror ? tp->t_softerror : ETIMEDOUT); - break; - } - CTR3(KTR_NET, "%p %s inp %p after shutdown", tp, __func__, inp); + callout_deactivate(tp->tt_delack); - if (tp) - INP_UNLOCK(inp); /* CALLOUT_RETURNUNLOCKED */ - - INP_INFO_WUNLOCK(&tcbinfo); - return; -} - -/* - * TCP timer processing. - */ -static int -tcp_timer_delack(struct tcpcb *tp, struct inpcb *inp) -{ - tp->t_flags |= TF_ACKNOW; tcpstat.tcps_delack++; (void) tcp_output(tp); - return (0); + INP_UNLOCK(inp); } -static int -tcp_timer_2msl(struct tcpcb *tp, struct inpcb *inp) +void +tcp_timer_2msl(void *xtp) { + struct tcpcb *tp = xtp; + struct inpcb *inp; #ifdef TCPDEBUG int ostate; ostate = tp->t_state; #endif /* + * XXXRW: Does this actually happen? + */ + INP_INFO_WLOCK(&tcbinfo); + inp = tp->t_inpcb; + /* + * XXXRW: While this assert is in fact correct, bugs in the tcpcb + * tear-down mean we need it as a work-around for races between + * timers and tcp_discardcb(). + * + * KASSERT(inp != NULL, ("tcp_timer_2msl: inp == NULL")); + */ + if (inp == NULL) { + tcp_timer_race++; + INP_INFO_WUNLOCK(&tcbinfo); + return; + } + INP_LOCK(inp); + tcp_free_sackholes(tp); + if ((inp->inp_vflag & INP_DROPPED) || callout_pending(tp->tt_2msl) || + !callout_active(tp->tt_2msl)) { + INP_UNLOCK(tp->t_inpcb); + INP_INFO_WUNLOCK(&tcbinfo); + return; + } + callout_deactivate(tp->tt_2msl); + /* * 2 MSL timeout in shutdown went off. If we're closed but * still waiting for peer to close and connection has been idle * too long, or if 2MSL time is up from TIME_WAIT, delete connection @@ -454,35 +226,62 @@ * Ignore fact that there were recent incoming segments. */ if (tcp_fast_finwait2_recycle && tp->t_state == TCPS_FIN_WAIT_2 && - tp->t_inpcb->inp_socket && + tp->t_inpcb && tp->t_inpcb->inp_socket && (tp->t_inpcb->inp_socket->so_rcv.sb_state & SBS_CANTRCVMORE)) { tcpstat.tcps_finwait2_drops++; - return (1); /* tcp_close */ + tp = tcp_close(tp); } else { if (tp->t_state != TCPS_TIME_WAIT && (ticks - tp->t_rcvtime) <= tcp_maxidle) - tcp_timer_activate(tp, TT_2MSL, tcp_keepintvl); - else - return (1); /* tcp_close */ - } + callout_reset(tp->tt_2msl, tcp_keepintvl, + tcp_timer_2msl, tp); + else + tp = tcp_close(tp); + } #ifdef TCPDEBUG if (tp->t_inpcb->inp_socket->so_options & SO_DEBUG) tcp_trace(TA_USER, ostate, tp, (void *)0, (struct tcphdr *)0, PRU_SLOWTIMO); #endif - return (0); + if (tp != NULL) + INP_UNLOCK(inp); + INP_INFO_WUNLOCK(&tcbinfo); } -static int -tcp_timer_keep(struct tcpcb *tp, struct inpcb *inp) +void +tcp_timer_keep(void *xtp) { + struct tcpcb *tp = xtp; struct tcptemp *t_template; + struct inpcb *inp; #ifdef TCPDEBUG int ostate; ostate = tp->t_state; #endif + INP_INFO_WLOCK(&tcbinfo); + inp = tp->t_inpcb; + /* + * XXXRW: While this assert is in fact correct, bugs in the tcpcb + * tear-down mean we need it as a work-around for races between + * timers and tcp_discardcb(). + * + * KASSERT(inp != NULL, ("tcp_timer_keep: inp == NULL")); + */ + if (inp == NULL) { + tcp_timer_race++; + INP_INFO_WUNLOCK(&tcbinfo); + return; + } + INP_LOCK(inp); + if ((inp->inp_vflag & INP_DROPPED) || callout_pending(tp->tt_keep) + || !callout_active(tp->tt_keep)) { + INP_UNLOCK(inp); + INP_INFO_WUNLOCK(&tcbinfo); + return; + } + callout_deactivate(tp->tt_keep); /* * Keep-alive timer went off; send something * or drop connection if idle for too long. @@ -514,30 +313,65 @@ tp->rcv_nxt, tp->snd_una - 1, 0); (void) m_free(dtom(t_template)); } - tcp_timer_activate(tp, TT_KEEP, tcp_keepintvl); + callout_reset(tp->tt_keep, tcp_keepintvl, tcp_timer_keep, tp); } else - tcp_timer_activate(tp, TT_KEEP, tcp_keepidle); + callout_reset(tp->tt_keep, tcp_keepidle, tcp_timer_keep, tp); #ifdef TCPDEBUG if (inp->inp_socket->so_options & SO_DEBUG) tcp_trace(TA_USER, ostate, tp, (void *)0, (struct tcphdr *)0, PRU_SLOWTIMO); #endif - return (0); + INP_UNLOCK(inp); + INP_INFO_WUNLOCK(&tcbinfo); + return; dropit: tcpstat.tcps_keepdrops++; - return (2); /* tcp_drop() */ + tp = tcp_drop(tp, ETIMEDOUT); + +#ifdef TCPDEBUG + if (tp != NULL && (tp->t_inpcb->inp_socket->so_options & SO_DEBUG)) + tcp_trace(TA_USER, ostate, tp, (void *)0, (struct tcphdr *)0, + PRU_SLOWTIMO); +#endif + if (tp != NULL) + INP_UNLOCK(tp->t_inpcb); + INP_INFO_WUNLOCK(&tcbinfo); } -static int -tcp_timer_persist(struct tcpcb *tp, struct inpcb *inp) +void +tcp_timer_persist(void *xtp) { + struct tcpcb *tp = xtp; + struct inpcb *inp; #ifdef TCPDEBUG int ostate; ostate = tp->t_state; #endif + INP_INFO_WLOCK(&tcbinfo); + inp = tp->t_inpcb; + /* + * XXXRW: While this assert is in fact correct, bugs in the tcpcb + * tear-down mean we need it as a work-around for races between + * timers and tcp_discardcb(). + * + * KASSERT(inp != NULL, ("tcp_timer_persist: inp == NULL")); + */ + if (inp == NULL) { + tcp_timer_race++; + INP_INFO_WUNLOCK(&tcbinfo); + return; + } + INP_LOCK(inp); + if ((inp->inp_vflag & INP_DROPPED) || callout_pending(tp->tt_persist) + || !callout_active(tp->tt_persist)) { + INP_UNLOCK(inp); + INP_INFO_WUNLOCK(&tcbinfo); + return; + } + callout_deactivate(tp->tt_persist); /* * Persistance timer into zero window. * Force a byte to be output, if possible. @@ -554,29 +388,59 @@ ((ticks - tp->t_rcvtime) >= tcp_maxpersistidle || (ticks - tp->t_rcvtime) >= TCP_REXMTVAL(tp) * tcp_totbackoff)) { tcpstat.tcps_persistdrop++; - return (2); /* tcp_drop() */ + tp = tcp_drop(tp, ETIMEDOUT); + goto out; } tcp_setpersist(tp); tp->t_flags |= TF_FORCEDATA; (void) tcp_output(tp); tp->t_flags &= ~TF_FORCEDATA; +out: #ifdef TCPDEBUG if (tp != NULL && tp->t_inpcb->inp_socket->so_options & SO_DEBUG) tcp_trace(TA_USER, ostate, tp, NULL, NULL, PRU_SLOWTIMO); #endif - return (0); + if (tp != NULL) + INP_UNLOCK(inp); + INP_INFO_WUNLOCK(&tcbinfo); } -static int -tcp_timer_rexmt(struct tcpcb *tp, struct inpcb *inp) +void +tcp_timer_rexmt(void * xtp) { + struct tcpcb *tp = xtp; int rexmt; + int headlocked; + struct inpcb *inp; #ifdef TCPDEBUG int ostate; ostate = tp->t_state; #endif + INP_INFO_WLOCK(&tcbinfo); + headlocked = 1; + inp = tp->t_inpcb; + /* + * XXXRW: While this assert is in fact correct, bugs in the tcpcb + * tear-down mean we need it as a work-around for races between + * timers and tcp_discardcb(). + * + * KASSERT(inp != NULL, ("tcp_timer_rexmt: inp == NULL")); + */ + if (inp == NULL) { + tcp_timer_race++; + INP_INFO_WUNLOCK(&tcbinfo); + return; + } + INP_LOCK(inp); + if ((inp->inp_vflag & INP_DROPPED) || callout_pending(tp->tt_rexmt) + || !callout_active(tp->tt_rexmt)) { + INP_UNLOCK(inp); + INP_INFO_WUNLOCK(&tcbinfo); + return; + } + callout_deactivate(tp->tt_rexmt); tcp_free_sackholes(tp); /* * Retransmission timer went off. Message has not @@ -586,8 +450,12 @@ if (++tp->t_rxtshift > TCP_MAXRXTSHIFT) { tp->t_rxtshift = TCP_MAXRXTSHIFT; tcpstat.tcps_timeoutdrop++; - return (2); /* tcp_drop() */ + tp = tcp_drop(tp, tp->t_softerror ? + tp->t_softerror : ETIMEDOUT); + goto out; } + INP_INFO_WUNLOCK(&tcbinfo); + headlocked = 0; if (tp->t_rxtshift == 1) { /* * first retransmit; record ssthresh and cwnd so they can @@ -602,9 +470,9 @@ tp->snd_ssthresh_prev = tp->snd_ssthresh; tp->snd_recover_prev = tp->snd_recover; if (IN_FASTRECOVERY(tp)) - tp->t_flags |= TF_WASFRECOVERY; + tp->t_flags |= TF_WASFRECOVERY; else - tp->t_flags &= ~TF_WASFRECOVERY; + tp->t_flags &= ~TF_WASFRECOVERY; tp->t_badrxtwin = ticks + (tp->t_srtt >> (TCP_RTT_SHIFT + 1)); } tcpstat.tcps_rexmttimeo++; @@ -683,10 +551,78 @@ EXIT_FASTRECOVERY(tp); (void) tcp_output(tp); +out: #ifdef TCPDEBUG if (tp != NULL && (tp->t_inpcb->inp_socket->so_options & SO_DEBUG)) tcp_trace(TA_USER, ostate, tp, (void *)0, (struct tcphdr *)0, PRU_SLOWTIMO); #endif - return (0); + if (tp != NULL) + INP_UNLOCK(inp); + if (headlocked) + INP_INFO_WUNLOCK(&tcbinfo); +} + +void +tcp_timer_activate(struct tcpcb *tp, int timer_type, u_int delta) +{ + struct callout *t_callout; + void *f_callout; + + switch (timer_type) { + case TT_DELACK: + t_callout = tp->tt_delack; + f_callout = tcp_timer_delack; + break; + case TT_REXMT: + t_callout = tp->tt_rexmt; + f_callout = tcp_timer_rexmt; + break; + case TT_PERSIST: + t_callout = tp->tt_persist; + f_callout = tcp_timer_persist; + break; + case TT_KEEP: + t_callout = tp->tt_keep; + f_callout = tcp_timer_keep; + break; + case TT_2MSL: + t_callout = tp->tt_2msl; + f_callout = tcp_timer_2msl; + break; + default: + panic("bad timer_type"); + } + if (delta == 0) { + callout_stop(t_callout); + } else { + callout_reset(t_callout, delta, f_callout, tp); + } +} + +int +tcp_timer_active(struct tcpcb *tp, int timer_type) +{ + struct callout *t_callout; + + switch (timer_type) { + case TT_DELACK: + t_callout = tp->tt_delack; + break; + case TT_REXMT: + t_callout = tp->tt_rexmt; + break; + case TT_PERSIST: + t_callout = tp->tt_persist; + break; + case TT_KEEP: + t_callout = tp->tt_keep; + break; + case TT_2MSL: + t_callout = tp->tt_2msl; + break; + default: + panic("bad timer_type"); + } + return callout_active(t_callout); } ==== //depot/projects/usiii/netinet/tcp_timer.h#2 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)tcp_timer.h 8.1 (Berkeley) 6/10/93 - * $FreeBSD: src/sys/netinet/tcp_timer.h,v 1.37 2007/07/31 22:11:55 peter Exp $ + * $FreeBSD: src/sys/netinet/tcp_timer.h,v 1.38 2007/09/07 09:19:22 rwatson Exp $ */ #ifndef _NETINET_TCP_TIMER_H_ @@ -141,21 +141,11 @@ #ifdef _KERNEL -struct tcp_timer { - struct callout tt_timer; - int tt_nextc; /* next callout time in time_uptime */ - int tt_active; /* engaged callouts */ #define TT_DELACK 0x01 #define TT_REXMT 0x02 #define TT_PERSIST 0x04 #define TT_KEEP 0x08 #define TT_2MSL 0x10 - int tt_delack; - int tt_rexmt; - int tt_persist; - int tt_keep; - int tt_2msl; -}; extern int tcp_keepinit; /* time to establish connection */ extern int tcp_keepidle; /* time before keepalive probes begin */ @@ -173,8 +163,13 @@ extern int tcp_fast_finwait2_recycle; void tcp_timer_init(void); +void tcp_timer_2msl(void *xtp); struct tcptw * tcp_tw_2msl_scan(int _reuse); /* XXX temporary */ +void tcp_timer_keep(void *xtp); +void tcp_timer_persist(void *xtp); +void tcp_timer_rexmt(void *xtp); +void tcp_timer_delack(void *xtp); #endif /* _KERNEL */ ==== //depot/projects/usiii/netinet/tcp_usrreq.c#2 (text+ko) ==== @@ -29,7 +29,7 @@ * SUCH DAMAGE. * * From: @(#)tcp_usrreq.c 8.2 (Berkeley) 1/3/94 - * $FreeBSD: src/sys/netinet/tcp_usrreq.c,v 1.160 2007/07/30 11:06:41 des Exp $ + * $FreeBSD: src/sys/netinet/tcp_usrreq.c,v 1.161 2007/09/07 09:19:22 rwatson Exp $ */ #include "opt_ddb.h" @@ -1743,15 +1743,12 @@ LIST_FIRST(&tp->t_segq), tp->t_segqlen, tp->t_dupacks); db_print_indent(indent); - db_printf("t_inpcb: %p t_timers: %p tt_active: %x\n", - tp->t_inpcb, tp->t_timers, tp->t_timers->tt_active); + db_printf("tt_rexmt: %p tt_persist: %p tt_keep: %p\n", + tp->tt_rexmt, tp->tt_persist, tp->tt_keep); db_print_indent(indent); - db_printf("tt_delack: %i tt_rexmt: %i tt_keep: %i " - "tt_persist: %i tt_2msl: %i\n", - tp->t_timers->tt_delack, tp->t_timers->tt_rexmt, - tp->t_timers->tt_keep, tp->t_timers->tt_persist, - tp->t_timers->tt_2msl); + db_printf("tt_2msl: %p tt_delack: %p t_inpcb: %p\n", tp->tt_2msl, + tp->tt_delack, tp->t_inpcb); db_print_indent(indent); db_printf("t_state: %d (", tp->t_state); ==== //depot/projects/usiii/netinet/tcp_var.h#2 (text+ko) ==== @@ -27,7 +27,7 @@ * SUCH DAMAGE. * * @(#)tcp_var.h 8.4 (Berkeley) 5/24/95 - * $FreeBSD: src/sys/netinet/tcp_var.h,v 1.155 2007/07/28 12:20:39 andre Exp $ + * $FreeBSD: src/sys/netinet/tcp_var.h,v 1.156 2007/09/07 09:19:22 rwatson Exp $ */ #ifndef _NETINET_TCP_VAR_H_ @@ -96,7 +96,11 @@ int t_segqlen; /* segment reassembly queue length */ int t_dupacks; /* consecutive dup acks recd */ - struct tcp_timer *t_timers; /* retransmit timer */ + struct callout *tt_rexmt; /* retransmit timer */ + struct callout *tt_persist; /* retransmit persistence */ + struct callout *tt_keep; /* keepalive */ + struct callout *tt_2msl; /* 2*msl TIME_WAIT timer */ + struct callout *tt_delack; /* delayed ACK timer */ struct inpcb *t_inpcb; /* back pointer to internet pcb */ int t_state; /* state of this connection */ From owner-p4-projects@FreeBSD.ORG Fri Sep 7 18:45:49 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7191016A41B; Fri, 7 Sep 2007 18:45:49 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1406E16A419 for ; Fri, 7 Sep 2007 18:45:49 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0516F13C47E for ; Fri, 7 Sep 2007 18:45:49 +0000 (UTC) (envelope-from loafier@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l87IjmsT061336 for ; Fri, 7 Sep 2007 18:45:48 GMT (envelope-from loafier@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l87IjjPB061326 for perforce@freebsd.org; Fri, 7 Sep 2007 18:45:45 GMT (envelope-from loafier@FreeBSD.org) Date: Fri, 7 Sep 2007 18:45:45 GMT Message-Id: <200709071845.l87IjjPB061326@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to loafier@FreeBSD.org using -f From: Christopher Davis To: Perforce Change Reviews Cc: Subject: PERFORCE change 126160 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Sep 2007 18:45:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=126160 Change 126160 by loafier@chrisdsoc on 2007/09/07 18:45:02 integrate Affected files ... .. //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#7 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/articles/contributors/contrib.committers.sgml#4 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/articles/contributors/contrib.develalumni.sgml#3 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/articles/formatting-media/article.sgml#2 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/articles/hubs/article.sgml#2 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/articles/version-guide/article.sgml#2 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/books/handbook/basics/chapter.sgml#2 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/books/handbook/install/chapter.sgml#8 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/books/handbook/kernelconfig/chapter.sgml#3 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/books/handbook/ports/chapter.sgml#4 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/books/handbook/security/chapter.sgml#2 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/books/porters-handbook/book.sgml#6 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/es_ES.ISO8859-1/articles/Makefile#2 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/es_ES.ISO8859-1/articles/fdp-es/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/doc/es_ES.ISO8859-1/articles/fdp-es/article.sgml#1 branch .. //depot/projects/soc2007/loafier_busalloc/doc/hu_HU.ISO8859-2/articles/Makefile#3 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/hu_HU.ISO8859-2/articles/dialup-firewall/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/doc/hu_HU.ISO8859-2/articles/dialup-firewall/article.sgml#1 branch .. //depot/projects/soc2007/loafier_busalloc/doc/hu_HU.ISO8859-2/articles/explaining-bsd/article.sgml#3 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/hu_HU.ISO8859-2/articles/laptop/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/doc/hu_HU.ISO8859-2/articles/laptop/article.sgml#1 branch .. //depot/projects/soc2007/loafier_busalloc/doc/hu_HU.ISO8859-2/articles/linux-comparison/article.sgml#2 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/hu_HU.ISO8859-2/articles/multi-os/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/doc/hu_HU.ISO8859-2/articles/multi-os/article.sgml#1 branch .. //depot/projects/soc2007/loafier_busalloc/doc/hu_HU.ISO8859-2/articles/version-guide/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/doc/hu_HU.ISO8859-2/articles/version-guide/article.sgml#1 branch .. //depot/projects/soc2007/loafier_busalloc/doc/hu_HU.ISO8859-2/share/sgml/l10n.ent#2 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/hu_HU.ISO8859-2/share/sgml/translators.ent#2 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/mn_MN.UTF-8/books/handbook/basics/chapter.sgml#2 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/mn_MN.UTF-8/books/handbook/install/chapter.sgml#7 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/mn_MN.UTF-8/books/handbook/ports/chapter.sgml#3 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/mn_MN.UTF-8/books/handbook/security/chapter.sgml#2 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/share/images/books/handbook/install/edit-inetd-conf.scr#2 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/share/images/books/handbook/install/nfs-server-edit.scr#2 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/share/misc/docbook.css#2 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/share/pgpkeys/danger.key#2 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/share/pgpkeys/novel.key#2 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/share/sgml/man-refs.ent#7 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/zh_TW.Big5/books/fdp-primer/writing-style/chapter.sgml#3 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/zh_TW.Big5/books/handbook/install/chapter.sgml#4 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/zh_TW.Big5/books/porters-handbook/book.sgml#2 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/zh_TW.Big5/share/sgml/authors.ent#2 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/zh_TW.Big5/share/sgml/trademarks.ent#2 integrate .. //depot/projects/soc2007/loafier_busalloc/doc/zh_TW.Big5/share/sgml/urls.ent#2 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/GIDs#2 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/KNOBS#2 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/LEGAL#4 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/MOVED#8 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/Mk/bsd.database.mk#4 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/Mk/bsd.qt.mk#4 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/Mk/bsd.sites.mk#4 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/Tools/portbuild/scripts/makeparallel#2 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/Tools/scripts/explicit_lib_depends.sh#2 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/Tools/scripts/neededlibs.sh#2 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/Tools/scripts/resolveportsfromlibs.sh#3 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/UIDs#2 integrate .. //depot/projects/soc2007/loafier_busalloc/ports/UPDATING#7 integrate .. //depot/projects/soc2007/loafier_busalloc/src/ObsoleteFiles.inc#4 integrate .. //depot/projects/soc2007/loafier_busalloc/src/contrib/less/main.c#4 integrate .. //depot/projects/soc2007/loafier_busalloc/src/etc/defaults/rc.conf#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/etc/rc.d/Makefile#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/etc/rc.d/ftp-proxy#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/etc/rc.d/lockd#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/etc/services#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/lib/libc/net/getaddrinfo.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/lib/libc/sys/kqueue.2#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/lib/libutil/Makefile#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/lib/libutil/expand_number.3#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/lib/libutil/expand_number.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/lib/libutil/humanize_number.3#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/lib/libutil/libutil.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/release/doc/en_US.ISO8859-1/hardware/article.sgml#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/release/doc/en_US.ISO8859-1/relnotes/article.sgml#8 integrate .. //depot/projects/soc2007/loafier_busalloc/src/release/doc/share/misc/dev.archlist.txt#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sbin/geom/class/eli/geli.8#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/share/man/man4/Makefile#5 integrate .. //depot/projects/soc2007/loafier_busalloc/src/share/man/man4/rum.4#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/share/man/man4/wlan.4#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/share/man/man4/zyd.4#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/share/man/man5/rc.conf.5#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/share/man/man9/Makefile#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/share/man/man9/suser.9#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/amd64/linux32/linux32_proto.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/amd64/linux32/linux32_syscall.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/amd64/linux32/linux32_sysent.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/amd64/linux32/syscalls.master#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/arm/xscale/i80321/i80321.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/compat/freebsd32/freebsd32_misc.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/compat/linux/linux_misc.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/contrib/opensolaris/uts/common/fs/zfs/arc.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/acpica/acpi_cpu.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/ath/if_ath.c#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/awi/awi.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/ipw/if_ipw.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/iwi/if_iwi.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/ixgbe/ixgbe.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/ixgbe/ixgbe.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/ixgbe/ixgbe_82598.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/ixgbe/ixgbe_api.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/ixgbe/ixgbe_api.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/ixgbe/ixgbe_common.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/ixgbe/ixgbe_common.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/ixgbe/ixgbe_osdep.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/ixgbe/ixgbe_phy.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/ixgbe/ixgbe_phy.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/ixgbe/ixgbe_type.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/ral/rt2560.c#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/ral/rt2661.c#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/ray/if_ray.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/usb/if_rum.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/usb/if_ural.c#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/usb/if_zyd.c#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/usb/if_zydfw.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/usb/if_zydreg.h#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/usb/usbdevs#4 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/dev/wi/if_wi.c#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/fs/msdosfs/direntry.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/fs/msdosfs/msdosfs_conv.c#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/fs/msdosfs/msdosfs_lookup.c#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/fs/msdosfs/msdosfs_vnops.c#4 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/geom/eli/g_eli.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/geom/eli/g_eli_crypto.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/i386/isa/isa.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/i386/linux/linux_proto.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/i386/linux/linux_syscall.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/i386/linux/linux_sysent.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/i386/linux/syscalls.master#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/kern/kern_acct.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/kern/kern_ktrace.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/kern/kern_sysctl.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/kern/kern_timeout.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/kern/vfs_syscalls.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/modules/ixgbe/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/modules/zyd/Makefile#1 branch .. //depot/projects/soc2007/loafier_busalloc/src/sys/net/if_lagg.c#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/net80211/_ieee80211.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/net80211/ieee80211.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/net80211/ieee80211_freebsd.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/net80211/ieee80211_ht.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/net80211/ieee80211_input.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/net80211/ieee80211_ioctl.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/net80211/ieee80211_ioctl.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/net80211/ieee80211_node.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/net80211/ieee80211_proto.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/net80211/ieee80211_proto.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/net80211/ieee80211_var.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet/ip_fw2.c#5 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet/tcp_subr.c#5 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet/tcp_timer.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet/tcp_timer.h#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet/tcp_usrreq.c#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/netinet/tcp_var.h#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/sparc64/fhc/fhc.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/sparc64/include/bus_common.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/sparc64/include/intr_machdep.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/sparc64/pci/psycho.c#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/sparc64/pci/psychoreg.h#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/sparc64/sbus/sbus.c#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/sparc64/sbus/sbusreg.h#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/sparc64/sparc64/exception.S#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/sparc64/sparc64/intr_machdep.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/sparc64/sparc64/tick.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/sparc64/sparc64/upa.c#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/sys/sys/mount.h#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/tools/regression/geom_eli/init-a.t#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/tools/regression/geom_eli/init.t#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/tools/regression/geom_eli/integrity-copy.t#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/tools/regression/geom_eli/integrity-data.t#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/tools/regression/geom_eli/integrity-hmac.t#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/tools/regression/geom_eli/onetime-a.t#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/tools/regression/geom_eli/onetime.t#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/usr.bin/calendar/calendars/calendar.computer#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/usr.bin/calendar/calendars/calendar.dutch#2 integrate .. //depot/projects/soc2007/loafier_busalloc/src/usr.bin/calendar/calendars/calendar.holiday#3 integrate .. //depot/projects/soc2007/loafier_busalloc/src/usr.bin/top/top.local.1#2 integrate .. //depot/projects/soc2007/loafier_busalloc/www/de/about.sgml#2 integrate .. //depot/projects/soc2007/loafier_busalloc/www/de/projects/Makefile#2 integrate .. //depot/projects/soc2007/loafier_busalloc/www/de/projects/cvsweb.sgml#1 branch .. //depot/projects/soc2007/loafier_busalloc/www/de/projects/projects.sgml#1 branch .. //depot/projects/soc2007/loafier_busalloc/www/de/share/sgml/header.l10n.ent#2 integrate .. //depot/projects/soc2007/loafier_busalloc/www/de/share/sgml/navibar.l10n.ent#4 integrate .. //depot/projects/soc2007/loafier_busalloc/www/de/share/sgml/news.xml#4 integrate .. //depot/projects/soc2007/loafier_busalloc/www/de/share/sgml/press.xml#6 integrate .. //depot/projects/soc2007/loafier_busalloc/www/de/where.sgml#3 integrate .. //depot/projects/soc2007/loafier_busalloc/www/en/about.sgml#2 integrate .. //depot/projects/soc2007/loafier_busalloc/www/en/docproj/translations.sgml#4 integrate .. //depot/projects/soc2007/loafier_busalloc/www/en/donations/donors.sgml#3 integrate .. //depot/projects/soc2007/loafier_busalloc/www/en/donations/wantlist.sgml#2 integrate .. //depot/projects/soc2007/loafier_busalloc/www/en/internal/new-account.sgml#2 integrate .. //depot/projects/soc2007/loafier_busalloc/www/en/snapshots/index.sgml#2 integrate .. //depot/projects/soc2007/loafier_busalloc/www/hu/docs/books.sgml#2 integrate .. //depot/projects/soc2007/loafier_busalloc/www/share/sgml/commercial.consult.xml#3 integrate .. //depot/projects/soc2007/loafier_busalloc/www/share/sgml/commercial.isp.xml#4 integrate .. //depot/projects/soc2007/loafier_busalloc/www/share/sgml/commercial.software.xml#3 integrate .. //depot/projects/soc2007/loafier_busalloc/www/share/sgml/news.xml#4 integrate .. //depot/projects/soc2007/loafier_busalloc/www/share/sgml/press.xml#4 integrate Differences ... ==== //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#7 (text+ko) ==== @@ -1,4 +1,4 @@ - + + + + &a.mharo; (1999 - 2007) + + + &a.mjacob; (1997 - 2007) ==== //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/articles/formatting-media/article.sgml#2 (text+ko) ==== @@ -2,7 +2,7 @@ %articles.ent; ]> - +
Formatting Media For Use With FreeBSD @@ -566,7 +566,7 @@ identical. - &prompt.root; cd /dev ; sh MAKDEV ccd0 + &prompt.root; cd /dev ; sh MAKEDEV ccd0 &prompt.root; disklabel -r -w da0 auto &prompt.root; disklabel -r -w da1 auto ==== //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/articles/hubs/article.sgml#2 (text+ko) ==== @@ -7,7 +7,7 @@
Mirroring FreeBSD - $FreeBSD: doc/en_US.ISO8859-1/articles/hubs/article.sgml,v 1.64 2007/06/30 09:42:35 chinsan Exp $ + $FreeBSD: doc/en_US.ISO8859-1/articles/hubs/article.sgml,v 1.65 2007/09/03 16:39:51 keramida Exp $ Jun @@ -379,7 +379,7 @@ Here is an excerpt from /etc/fstab, how to set up such a MFS: -/dev/da0s1b /anoncvstmp mfs rw,-s=786432,-b=4096,-f=512,-i=560,-c=3,-m=0,nosuid,nodev 0 0 +/dev/da0s1b /anoncvstmp mfs rw,-s=786432,-b=4096,-f=512,-i=560,-c=3,-m=0,nosuid 0 0 This is (of course) tuned a lot, and was suggested by &a.jdp;. ==== //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/articles/version-guide/article.sgml#2 (text+ko) ==== @@ -20,7 +20,7 @@ - $FreeBSD: doc/en_US.ISO8859-1/articles/version-guide/article.sgml,v 1.10 2006/10/23 07:08:58 keramida Exp $ + $FreeBSD: doc/en_US.ISO8859-1/articles/version-guide/article.sgml,v 1.11 2007/09/04 20:58:04 gabor Exp $ &tm-attrib.freebsd; @@ -282,11 +282,6 @@ To provide prebuilt packages for the most recent minor - version of each major version; - - - - To provide prebuilt packages for the most recent minor release of each major version; ==== //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/books/handbook/basics/chapter.sgml#2 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -1630,15 +1630,6 @@ - nodev - - - Do not interpret special devices on the - file system. This is a useful security option. - - - - noexec ==== //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/books/handbook/install/chapter.sgml#8 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -2731,7 +2731,32 @@ To allow anonymous FTP, use the arrow keys to select &gui.yes; and press Enter. - The following screen (or similar) will display: + An additionnal confirmation will display: + + User Confirmation Requested + Anonymous FTP permits un-authenticated users to connect to the system + FTP server, if FTP service is enabled. Anonymous users are + restricted to a specific subset of the file system, and the default + configuration provides a drop-box incoming directory to which uploads + are permitted. You must separately enable both inetd(8), and enable + ftpd(8) in inetd.conf(5) for FTP services to be available. If you + did not do so earlier, you will have the opportunity to enable inetd(8) + again later. + + If you want the server to be read-only you should leave the upload + directory option empty and add the -r command-line option to ftpd(8) + in inetd.conf(5) + + Do you wish to continue configuring anonymous FTP? + + [ Yes ] No + + This message informs you that the FTP service will also + have to be enabled in /etc/inetd.conf + if you want to allow anonymous FTP connections, see . Select &gui.yes; and press + Enter to continue; the following screen + will display:
Default Anonymous FTP Configuration @@ -2743,32 +2768,61 @@
- Pressing F1 will display the help: + Use Tab to select the information + fields and fill in appropriate information: - This screen allows you to configure the anonymous FTP user. + + + UID -The following configuration values are editable: + + The user ID you wish to assign to the anonymous + FTP user. All files uploaded will be owned by this + ID. + + -UID: The user ID you wish to assign to the anonymous FTP user. - All files uploaded will be owned by this ID. + + Group -Group: Which group you wish the anonymous FTP user to be in. + + Which group you wish the anonymous FTP user to be + in. + + -Comment: String describing this user in /etc/passwd + + Comment + + String describing this user in + /etc/passwd. + + -FTP Root Directory: + + FTP Root Directory - Where files available for anonymous FTP will be kept. + + Where files available for anonymous FTP will be + kept. + + -Upload subdirectory: + + Upload Subdirectory - Where files uploaded by anonymous FTP users will go. + + Where files uploaded by anonymous FTP users will + go. + +
+
- The ftp root directory will be put in /var + The FTP root directory will be put in /var by default. If you do not have enough room there for the anticipated FTP needs, the /usr directory - could be used by setting the FTP Root Directory to + could be used by setting the FTP root directory to /usr/ftp. When you are satisfied with the values, press ==== //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/books/handbook/kernelconfig/chapter.sgml#3 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -295,7 +295,12 @@ MODULES_OVERRIDE = linux acpi sound/sound sound/driver/ds1 ntfs This variable sets up a list of modules to build instead - of all of them. For other variables which you may find useful + of all of them. + + WITHOUT_MODULES = linux acpi sound/sound sound/driver/ds1 ntfs + + This variable sets up a list of modules to exclude + from the build process. For other variables which you may find useful in the process of building kernel, refer to &man.make.conf.5; manual page. @@ -991,6 +996,7 @@ device dc # DEC/Intel 21143 and various workalikes device fxp # Intel EtherExpress PRO/100B (82557, 82558) device lge # Level 1 LXT1001 gigabit ethernet +device msk # Marvell/SysKonnect Yukon II Gigabit Ethernet device nge # NatSemi DP83820 gigabit ethernet device nve # nVidia nForce MCP on-board Ethernet Networking device pcn # AMD Am79C97x PCI 10/100 (precedence over 'lnc') ==== //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/books/handbook/ports/chapter.sgml#4 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -1214,7 +1214,7 @@ portupgrade will use ports. To avoid using ports, specify . - &prompt.root; portupgrade -PR gnome2 + &prompt.root; portupgrade -PP gnome2 To just fetch distfiles (or packages, if is specified) without building or ==== //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/books/handbook/security/chapter.sgml#2 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -712,9 +712,8 @@ If you have a huge amount of user disk space, it may take too long to run through every file on those partitions. In this case, - setting mount flags to disallow suid binaries and devices on those - partitions is a good idea. The nodev and - nosuid options (see &man.mount.8;) are what you + setting mount flags to disallow suid binaries is a good idea. + The nosuid option (see &man.mount.8;) is what you want to look into. You should probably scan them anyway, at least once a week, since the object of this layer is to detect a break-in attempt, whether or not the attempt succeeds. ==== //depot/projects/soc2007/loafier_busalloc/doc/en_US.ISO8859-1/books/porters-handbook/book.sgml#6 (text+ko) ==== @@ -1,7 +1,7 @@ x11-drivers X11 drivers. - /entry> + ==== //depot/projects/soc2007/loafier_busalloc/doc/es_ES.ISO8859-1/articles/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: doc/es_ES.ISO8859-1/articles/Makefile,v 1.7 2006/06/13 14:44:02 carvay Exp $ +# $FreeBSD: doc/es_ES.ISO8859-1/articles/Makefile,v 1.8 2007/09/01 18:44:50 carvay Exp $ # $FreeBSDes: doc/es_ES.ISO8859-1/articles/Makefile,v 1.3 2004/10/09 02:01:17 jesusr Exp $ SUBDIR = @@ -9,6 +9,7 @@ SUBDIR+= euro SUBDIR+= explaining-bsd SUBDIR+= fbsd-from-scratch +SUBDIR+= fdp-es SUBDIR+= laptop SUBDIR+= mailing-list-faq SUBDIR+= p4-primer ==== //depot/projects/soc2007/loafier_busalloc/doc/hu_HU.ISO8859-2/articles/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: doc/hu_HU.ISO8859-2/articles/Makefile,v 1.2 2007/08/20 12:41:34 gabor Exp $ +# $FreeBSD: doc/hu_HU.ISO8859-2/articles/Makefile,v 1.3 2007/09/03 11:19:55 gabor Exp $ # # The FreeBSD Hungarian Documentation Project @@ -6,8 +6,12 @@ MAINTAINER= gabor@FreeBSD.org -SUBDIR= explaining-bsd -SUBDIR+= linux-comparison +SUBDIR= dialup-firewall +SUBDIR+= explaining-bsd +SUBDIR+= laptop +SUBDIR+= linux-comparison +SUBDIR+= multi-os +SUBDIR+= version-guide DOC_PREFIX?= ${.CURDIR}/../.. .include "${DOC_PREFIX}/share/mk/doc.project.mk" ==== //depot/projects/soc2007/loafier_busalloc/doc/hu_HU.ISO8859-2/articles/explaining-bsd/article.sgml#3 (text+ko) ==== @@ -1,4 +1,4 @@ - + gabor@FreeBSD.org"> +pali.gabor@gmail.com"> ==== //depot/projects/soc2007/loafier_busalloc/doc/mn_MN.UTF-8/books/handbook/basics/chapter.sgml#2 (text+ko) ==== @@ -1,9 +1,9 @@ @@ -1610,15 +1610,6 @@ - nodev - - - Файл систем дээр тусгай төхөөрөмж бүү суулга. - Аюулгүй байдлын шалтгаанаар энэ нь маш хэрэгтэй сонголт. - - - - noexec ==== //depot/projects/soc2007/loafier_busalloc/doc/mn_MN.UTF-8/books/handbook/install/chapter.sgml#7 (text+ko) ==== @@ -1,9 +1,9 @@ @@ -2663,7 +2663,32 @@ байдлын талаар хуудсанд бичсэн буй. anonymous буюу нэр нь үл мэдэгдэгч FTP хэрэглэгчийг зөвшөөрөхийн тулд, сумтай товч ашиглан &gui.yes; гэж сонгоод Enter дараарай. - Дараах дэлгэц (эсвэл үүнтэй ижил) танд харуулагдах болно: + Нэмэлт батлалт хүлээх дэлгэц харуулагдах болно: + + User Confirmation Requested + Anonymous FTP permits un-authenticated users to connect to the system + FTP server, if FTP service is enabled. Anonymous users are + restricted to a specific subset of the file system, and the default + configuration provides a drop-box incoming directory to which uploads + are permitted. You must separately enable both inetd(8), and enable + ftpd(8) in inetd.conf(5) for FTP services to be available. If you + did not do so earlier, you will have the opportunity to enable inetd(8) + again later. + + If you want the server to be read-only you should leave the upload + directory option empty and add the -r command-line option to ftpd(8) + in inetd.conf(5) + + Do you wish to continue configuring anonymous FTP? + + [ Yes ] No + + Энэ мэдэгдэл нь хэрэв та нэр нь үл мэдэгдэгч FTP холболтуудыг + зөвшөөрөхийг хүсэж байгаа бол FTP үйлчилгээг + /etc/inetd.conf файлд бас идэвхжүүлэх + ёстойг мэдээлж байна, -г үзнэ үү. + Үргэлжлүүлэхийн тулд &gui.yes;-г сонгож Enter-г + дарна; доор үзүүлсэн дэлгэц гарах болно:
Anonymous нэр нь үл мэдэгдэгч FTP үйлчилгээний анхдагч тохиргоо @@ -2675,51 +2700,56 @@
- F1 товч дарвал тусламжийн цонх гарч ирнэ: + Мэдээллийн талбаруудыг сонгохын тулд Tab ашиглаж + тохирох мэдээллийг оруулах хэрэгтэй: - This screen allows you to configure the anonymous FTP user. + + + UID -The following configuration values are editable: + + Нэр нь үл мэдэгдэх FTP хэрэглэгчид өгөхийг хүссэн + хэрэглэгчийн ID. Хуулагдсан бүх файлуудыг энэ ID эзэмших + болно. + + -UID: The user ID you wish to assign to the anonymous FTP user. - All files uploaded will be owned by this ID. + + Group -Group: Which group you wish the anonymous FTP user to be in. + + Нэр нь үл мэдэгдэх FTP хэрэглэгчийг аль бүлэгт байхыг + заана. + + -Comment: String describing this user in /etc/passwd + + Comment + + /etc/passwd файл дахь + энэ хэрэглэгчийн тайлбарласан мөр. + + -FTP Root Directory: + + FTP Root Directory - Where files available for anonymous FTP will be kept. + + Нэр нь үл мэдэгдэх FTP-д зориулсан файлууд хаана байхыг заана. + + -Upload subdirectory: + + Upload Subdirectory - Where files uploaded by anonymous FTP users will go. - Үүнийг сийрүүлбэл: + + Нэр нь үл мэдэгдэх FTP хэрэглэгчдийн хуулсан файлууд байх сан. + + + - Энэ цонх нь танд anonymous буюу нэр нь үл мэдэгдэгч FTP хэрэглэгчийн - тохиргоог хийхэд хэрэглэгдэнэ. - -Дараах хэсгүүд тохиргоонд зориулж өөрчлөгдөх боломжтой: - -UID: Нэр нь үл мэдэгдэх FTP хэрэглэгчдэд хамааруулах хэрэглэгчийн ID дугаар. - Сервер уруу илгээгдсэн бүх файлууд уг хэрэглэгчийн ID дугаарт харьяалагдаж эзэмшигдэнэ. - -Group: Аль бүлэгт нэр нь үл мэдэгдэх FTP хэрэглэгчдийг багтаах вэ. - -Comment: /etc/passwd файлд бичигдэх уг хэрэглэгчдэд оруулсан тайлбар мөр - - -FTP Root Directory: - - anonymous буюу нэр нь үл мэдэгдэх FTP хэрэглэгчдэд зориулж татаж авагдах файлуудыг байрлуулах хэсэг. - -Upload subdirectory: - - Хэрэглэгчдээс илгээгдсэн файлуудыг байрлуулах хэсэг. - - ftp-н root буюу эх сан нь анхдагч тохиргоогоор /var + FTP-н root буюу эх сан нь анхдагч тохиргоогоор /var санд байрлагддаг. Хэрэв тэнд хангалттай зай байхгүй бол /usr санг ашиглаж FTP эх сангаа /usr/ftp гэж тохируулж болох юм. ==== //depot/projects/soc2007/loafier_busalloc/doc/mn_MN.UTF-8/books/handbook/ports/chapter.sgml#3 (text+ko) ==== @@ -1,9 +1,9 @@ @@ -1131,7 +1131,7 @@ Порт хэлбэрээр суулгах үйлдлийг зогсоохын тулд сонголтыг нэмж өгдөг. - &prompt.root; portupgrade -PR gnome2 + &prompt.root; portupgrade -PP gnome2 Хэрэв хөрвүүлж суулгалгүйгээр зөвхөн distfiles файлыг татаж авах (хэрэв сонголттой бол багц файлыг ) шаардлагатай бол ==== //depot/projects/soc2007/loafier_busalloc/doc/mn_MN.UTF-8/books/handbook/security/chapter.sgml#2 (text+ko) ==== @@ -1,9 +1,9 @@ @@ -676,14 +676,14 @@ staff-ийн гишүүдийн хандалтын тохиргооны файлууд дахь өөрчлөлтүүдийг бас шалгадаг. - Хэрэв та асар их хэрэглэгчийн дискний зайтай бол тэдгээр хуваалтууд дээрх - файл бүр дээр ажиллахад хэт удаж болох юм. Энэ тохиолдолд suid хоёртын - файлууд болон төхөөрөмжүүдийг хаах холболтын тугуудыг зааж өгөх нь зүйтэй юм. - nodev болон nosuid >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Sep 8 08:18:34 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A4DE916A41B; Sat, 8 Sep 2007 08:18:34 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 56BA116A418 for ; Sat, 8 Sep 2007 08:18:34 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4B4C713C45D for ; Sat, 8 Sep 2007 08:18:34 +0000 (UTC) (envelope-from zhouzhouyi@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l888IY9j088657 for ; Sat, 8 Sep 2007 08:18:34 GMT (envelope-from zhouzhouyi@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l888IXvD088650 for perforce@freebsd.org; Sat, 8 Sep 2007 08:18:33 GMT (envelope-from zhouzhouyi@FreeBSD.org) Date: Sat, 8 Sep 2007 08:18:33 GMT Message-Id: <200709080818.l888IXvD088650@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zhouzhouyi@FreeBSD.org using -f From: Zhouyi ZHOU To: Perforce Change Reviews Cc: Subject: PERFORCE change 126172 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Sep 2007 08:18:35 -0000 http://perforce.freebsd.org/chv.cgi?CH=126172 Change 126172 by zhouzhouyi@zhouzhouyi_mactest on 2007/09/08 08:17:53 Mandatory Access Control - Test case for bpf Affected files ... .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/Makefile#11 edit .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tcpconnect.c#1 add .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/bpf/00.t#1 add .. //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/misc.sh#21 edit Differences ... ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/Makefile#11 (text+ko) ==== @@ -7,7 +7,7 @@ #CFLAGS+=-DHAS_STAT64 all: macproc mactest mdconfigopenrdonly fifo_io pipe_io macping shmtest \ - semtest msgtest mmaptest + semtest msgtest mmaptest tcpconnect macproc: macproc.c gcc -Wall ${CFLAGS} macproc.c -o macproc -lutil @@ -31,6 +31,8 @@ gcc ${CFLAGS} -o msgtest msgtest.c macconf.c mactestparser.tab.c mmaptest: mmaptest.c macconf.c mactestparser.tab.c gcc ${CFLAGS} -o mmaptest mmaptest.c macconf.c mactestparser.tab.c +tcpconnect: tcpconnect.c + gcc ${CFLAGS} -o tcpconnect tcpconnect.c macconf.c mactestparser.tab.c -lpcap clean: @@ -43,4 +45,5 @@ rm -f shmtest rm -f semtest rm -f msgtest - rm -f mmaptest+ rm -f mmaptest + rm -f tcpconnect ==== //depot/projects/soc2007/zhouzhouyi_mactest_soc/regression/mactest/tests/misc.sh#21 (text+ko) ==== @@ -25,6 +25,7 @@ semtest="${maindir}/semtest" msgtest="${maindir}/msgtest" mmaptest="${maindir}/mmaptest" +tcpconnect="${maindir}/tcpconnect" . ${maindir}/tests/conf From owner-p4-projects@FreeBSD.ORG Sat Sep 8 11:09:45 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EABFF16A476; Sat, 8 Sep 2007 11:09:44 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AA96216A474 for ; Sat, 8 Sep 2007 11:09:44 +0000 (UTC) (envelope-from mharvan@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id A30E613C468 for ; Sat, 8 Sep 2007 11:09:44 +0000 (UTC) (envelope-from mharvan@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l88B9iXY014460 for ; Sat, 8 Sep 2007 11:09:44 GMT (envelope-from mharvan@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l88B9iW1014457 for perforce@freebsd.org; Sat, 8 Sep 2007 11:09:44 GMT (envelope-from mharvan@FreeBSD.org) Date: Sat, 8 Sep 2007 11:09:44 GMT Message-Id: <200709081109.l88B9iW1014457@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mharvan@FreeBSD.org using -f From: Matus Harvan To: Perforce Change Reviews Cc: Subject: PERFORCE change 126178 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Sep 2007 11:09:45 -0000 http://perforce.freebsd.org/chv.cgi?CH=126178 Change 126178 by mharvan@mharvan_peleus on 2007/09/08 11:09:17 TCP LISTENALL patch cleanup * debugging printfs with #define DIAGNOSTIC * CTLFLAG_SECURE for the rate limit * priv_check() for PRIV_NETINET_TCP_LISTENALL * s/catchall/listenall/g to better descibe the functionality Affected files ... .. //depot/projects/soc2007/mharvan-mtund/sys.patches/sys.current.tcp_catchall.patch#2 edit .. //depot/projects/soc2007/mharvan-mtund/sys.patches/test_catchall/tcatchalld.c#2 edit .. //depot/projects/soc2007/mharvan-mtund/sys.patches/usr_include.patch#2 edit Differences ... ==== //depot/projects/soc2007/mharvan-mtund/sys.patches/sys.current.tcp_catchall.patch#2 (text+ko) ==== @@ -1,38 +1,38 @@ -Index: tcp.h +Index: netinet/tcp.h =================================================================== RCS file: /home/ncvs/src/sys/netinet/tcp.h,v retrieving revision 1.40 -diff -u -r1.40 tcp.h ---- tcp.h 25 May 2007 21:28:49 -0000 1.40 -+++ tcp.h 24 Aug 2007 17:21:49 -0000 +diff -d -u -r1.40 tcp.h +--- netinet/tcp.h 25 May 2007 21:28:49 -0000 1.40 ++++ netinet/tcp.h 8 Sep 2007 10:35:57 -0000 @@ -147,6 +147,7 @@ #define TCP_NOOPT 0x08 /* don't use TCP options */ #define TCP_MD5SIG 0x10 /* use MD5 digests (RFC2385) */ #define TCP_INFO 0x20 /* retrieve tcp_info structure */ -+#define TCP_CATCHALL 0x40 /* bind to all unused TCP ports */ ++#define TCP_LISTENALL 0x40 /* listen on all unused TCP ports */ #define TCPI_OPT_TIMESTAMPS 0x01 #define TCPI_OPT_SACK 0x02 -Index: tcp_input.c +Index: netinet/tcp_input.c =================================================================== RCS file: /home/ncvs/src/sys/netinet/tcp_input.c,v retrieving revision 1.367 -diff -u -r1.367 tcp_input.c ---- tcp_input.c 30 Jul 2007 11:06:41 -0000 1.367 -+++ tcp_input.c 24 Aug 2007 17:21:51 -0000 +diff -d -u -r1.367 tcp_input.c +--- netinet/tcp_input.c 30 Jul 2007 11:06:41 -0000 1.367 ++++ netinet/tcp_input.c 8 Sep 2007 10:35:57 -0000 @@ -144,9 +144,15 @@ SYSCTL_INT(_net_inet_tcp, OID_AUTO, recvbuf_max, CTLFLAG_RW, &tcp_autorcvbuf_max, 0, "Max size of automatic receive buffer"); -+static int catchalllim = 5; -+SYSCTL_INT(_net_inet_tcp, OID_AUTO, catchalllim, CTLFLAG_RW, -+ &catchalllim, 0, -+ "Rate limit on sockets created by the TCP_CATCHALL socket"); ++static int listenalllim = 5; ++SYSCTL_INT(_net_inet_tcp, OID_AUTO, listenalllim, CTLFLAG_RW | CTLFLAG_SECURE, ++ &listenalllim, 0, ++ "Rate limit on sockets created by the TCP_LISTENALL socket"); + struct inpcbhead tcb; #define tcb6 tcb /* for KAME src sync over BSD*'s */ struct inpcbinfo tcbinfo; -+struct inpcb *inp_tcatchall; /* binding to all unused TCP ports */ ++struct inpcb *inp_tlistenall; /* listening on all unused TCP ports */ static void tcp_dooptions(struct tcpopt *, u_char *, int, int); static void tcp_do_segment(struct mbuf *, struct tcphdr *, @@ -43,122 +43,129 @@ + static struct rate { + struct timeval lasttime; + int curpps; -+ } catchallr; ++ } listenallr; + #ifdef INET6 isipv6 = (mtod(m, struct ip *)->ip_v == 6) ? 1 : 0; -@@ -460,6 +471,32 @@ +@@ -460,6 +471,36 @@ goto dropunlock; } #endif /* IPSEC */ + -+ /* catchall socket */ -+ if ((inp == NULL) && (inp_tcatchall != NULL)) { -+ printf("catchall socket used (0x%x)\n", -+ (unsigned int)inp_tcatchall); -+ char dbuf[4*sizeof "123"], sbuf[4*sizeof "123"]; ++ /* listenall socket */ ++ if ((inp == NULL) && (inp_tlistenall != NULL)) { ++#ifdef DIAGNOSTIC ++ printf("listenall socket used (0x%x)\n", ++ (unsigned int)inp_tlistenall); ++ char dbuf[INET_ADDRSTRLEN], sbuf[INET_ADDRSTRLEN]; + strcpy(dbuf, inet_ntoa(ip->ip_dst)); + strcpy(sbuf, inet_ntoa(ip->ip_src)); + printf("\tip_src: %s, sport: %hu\n\tip_dst: %s, dport: %hu\n", + sbuf, ntohs(th->th_sport), dbuf, ntohs(th->th_dport)); -+ ++#endif + /* do rate limiting for SYN packets */ + if (thflags & TH_SYN) { -+ if (catchalllim > 0) -+ if (ppsratecheck(&catchallr.lasttime, -+ &catchallr.curpps, catchalllim)) -+ inp = inp_tcatchall; ++ if (listenalllim > 0) ++ if (ppsratecheck(&listenallr.lasttime, ++ &listenallr.curpps, listenalllim)) ++ inp = inp_tlistenall; ++#ifdef DIAGNOSTIC + else + printf("ppsratecheck limited " -+ "tcp_catchall\n"); ++ "tcp_listenall\n"); ++#endif ++#ifdef DIAGNOSTIC + else -+ printf("ppsratecheck limited tcp_catchall\n"); -+ ++ printf("ppsratecheck limited tcp_listenall\n"); ++#endif + } else -+ inp = inp_tcatchall; ++ inp = inp_tlistenall; + } /* * If the INPCB does not exist then all data in the incoming -Index: tcp_subr.c +Index: netinet/tcp_subr.c =================================================================== RCS file: /home/ncvs/src/sys/netinet/tcp_subr.c,v retrieving revision 1.296 -diff -u -r1.296 tcp_subr.c ---- tcp_subr.c 16 Aug 2007 01:35:55 -0000 1.296 -+++ tcp_subr.c 24 Aug 2007 17:21:54 -0000 +diff -d -u -r1.296 tcp_subr.c +--- netinet/tcp_subr.c 16 Aug 2007 01:35:55 -0000 1.296 ++++ netinet/tcp_subr.c 8 Sep 2007 10:35:57 -0000 @@ -264,6 +264,7 @@ tcp_rexmit_slop = TCPTV_CPU_VAR; tcp_inflight_rttthresh = TCPTV_INFLIGHT_RTTTHRESH; tcp_finwait2_timeout = TCPTV_FINWAIT2_TIMEOUT; -+ inp_tcatchall = NULL; ++ inp_tlistenall = NULL; INP_INFO_LOCK_INIT(&tcbinfo, "tcp"); LIST_INIT(&tcb); -Index: tcp_usrreq.c +Index: netinet/tcp_usrreq.c =================================================================== RCS file: /home/ncvs/src/sys/netinet/tcp_usrreq.c,v retrieving revision 1.160 -diff -u -r1.160 tcp_usrreq.c ---- tcp_usrreq.c 30 Jul 2007 11:06:41 -0000 1.160 -+++ tcp_usrreq.c 24 Aug 2007 17:21:55 -0000 -@@ -162,6 +162,11 @@ +diff -d -u -r1.160 tcp_usrreq.c +--- netinet/tcp_usrreq.c 30 Jul 2007 11:06:41 -0000 1.160 ++++ netinet/tcp_usrreq.c 8 Sep 2007 10:35:57 -0000 +@@ -48,6 +48,7 @@ + #endif /* INET6 */ + #include + #include ++#include + #include + #include + #include +@@ -162,6 +163,13 @@ KASSERT(so->so_pcb == inp, ("tcp_detach: so_pcb != inp")); KASSERT(inp->inp_socket == so, ("tcp_detach: inp_socket != so")); -+ if (inp == inp_tcatchall) { -+ printf("deactivating TCP_CATCHALL - socket closed\n"); -+ inp_tcatchall = NULL; ++ if (inp == inp_tlistenall) { ++#ifdef DIAGNOSTIC ++ printf("deactivating TCP_LISTENALL - socket closed\n"); ++#endif ++ inp_tlistenall = NULL; + } + tp = intotcpcb(inp); if (inp->inp_vflag & INP_TIMEWAIT) { -@@ -1338,6 +1343,36 @@ +@@ -1338,6 +1346,29 @@ error = EINVAL; break; -+ case TCP_CATCHALL: -+ printf("TCP_CATCHALL option code\n"); ++ case TCP_LISTENALL: + error = sooptcopyin(sopt, &optval, sizeof optval, + sizeof optval); + if (error) + break; + -+ printf("TCP_CATCHALL optval: %d\n", optval); -+ if (optval > 0) { /* enable CATCHALL */ -+ printf("request to enable TCP_CATCHALL\n"); -+ if (inp_tcatchall == NULL) { -+ printf("enabled TCP_CATCHALL\n"); -+ inp_tcatchall = inp; -+ } else { -+ printf("TCP_CATCHALL already enabled, " -+ "ignoring setsockopt()\n"); ++ priv_check(curthread, ++ PRIV_NETINET_TCP_LISTENALL); ++ if (error != 0) ++ break; ++ ++ if (optval > 0) /* enable LISTENALL */ ++ if (inp_tlistenall == NULL) ++ inp_tlistenall = inp; ++ else + error = EBUSY; -+ } -+ } else {/* disable CATCHALL */ -+ printf("request to disable TCP_CATCHALL\n"); -+ if (inp_tcatchall == inp) { -+ printf("disabled TCP_CATCHALL\n"); -+ inp_tcatchall = NULL; -+ } else { -+ printf("TCP_CATCHALL already disabled" -+ ", ignoring setsockopt()\n"); -+ } -+ } ++ ++ else /* disable LISTENALL */ ++ if (inp_tlistenall == inp) ++ inp_tlistenall = NULL; ++ + break; + default: error = ENOPROTOOPT; break; -@@ -1371,6 +1406,13 @@ +@@ -1371,6 +1402,13 @@ case TCP_INFO: tcp_fill_info(tp, &ti); error = sooptcopyout(sopt, &ti, sizeof ti); + break; -+ case TCP_CATCHALL: -+ if (inp == inp_tcatchall) ++ case TCP_LISTENALL: ++ if (inp == inp_tlistenall) + optval = 1; + else + optval = 0; @@ -166,18 +173,33 @@ break; default: error = ENOPROTOOPT; -Index: tcp_var.h +Index: netinet/tcp_var.h =================================================================== RCS file: /home/ncvs/src/sys/netinet/tcp_var.h,v retrieving revision 1.155 -diff -u -r1.155 tcp_var.h ---- tcp_var.h 28 Jul 2007 12:20:39 -0000 1.155 -+++ tcp_var.h 24 Aug 2007 17:21:56 -0000 +diff -d -u -r1.155 tcp_var.h +--- netinet/tcp_var.h 28 Jul 2007 12:20:39 -0000 1.155 ++++ netinet/tcp_var.h 8 Sep 2007 10:35:57 -0000 @@ -493,6 +493,7 @@ extern struct inpcbhead tcb; /* head of queue of active tcpcb's */ extern struct inpcbinfo tcbinfo; -+extern struct inpcb *inp_tcatchall; /* binding to all unused TCP ports */ ++extern struct inpcb *inp_tlistenall; /* listening on all unused TCP ports */ extern struct tcpstat tcpstat; /* tcp statistics */ extern int tcp_log_in_vain; extern int tcp_mssdflt; /* XXX */ +Index: sys/priv.h +=================================================================== +RCS file: /home/ncvs/src/sys/sys/priv.h,v +retrieving revision 1.15 +diff -d -u -r1.15 priv.h +--- sys/priv.h 18 Jun 2007 07:54:27 -0000 1.15 ++++ sys/priv.h 8 Sep 2007 10:35:58 -0000 +@@ -374,6 +374,7 @@ + #define PRIV_NETINET_ALIFETIME6 502 /* Administer IPv6 address lifetimes. */ + #define PRIV_NETINET_IPSEC 503 /* Administer IPSEC. */ + #define PRIV_NETINET_REUSEPORT 504 /* Allow [rapid] port/address reuse. */ ++#define PRIV_NETINET_TCP_LISTENALL 505 /* Allow setting TCP_LISTENALL */ + + /* + * IPX/SPX privileges. ==== //depot/projects/soc2007/mharvan-mtund/sys.patches/test_catchall/tcatchalld.c#2 (text+ko) ==== @@ -180,7 +180,7 @@ { int fd; int new_fd; - char *msg = "Welcome to catchalld\r\n"; + char *msg = "Welcome to listenalld\r\n"; char buf[1234]; int n, nwrite, nread; int soval = 1; @@ -188,8 +188,8 @@ fd = tcp_listen("1234"); - if (0 != setsockopt(fd, IPPROTO_TCP, TCP_CATCHALL, &soval, sizeof(soval))) - err(EX_UNAVAILABLE, "setsockopt(TCP_CATCHALL) failed"); + if (0 != setsockopt(fd, IPPROTO_TCP, TCP_LISTENALL, &soval, sizeof(soval))) + err(EX_UNAVAILABLE, "setsockopt(TCP_LISTENALL) failed"); while (count > 0) { new_fd = tcp_accept(fd); ==== //depot/projects/soc2007/mharvan-mtund/sys.patches/usr_include.patch#2 (text+ko) ==== @@ -4,7 +4,7 @@ #define TCP_NOOPT 0x08 /* don't use TCP options */ #define TCP_MD5SIG 0x10 /* use MD5 digests (RFC2385) */ #define TCP_INFO 0x20 /* retrieve tcp_info structure */ -+#define TCP_CATCHALL 0x40 /* bind to all unused TCP ports */ ++#define TCP_LISTENALL 0x40 /* bind to all unused TCP ports */ #define TCPI_OPT_TIMESTAMPS 0x01 #define TCPI_OPT_SACK 0x02 From owner-p4-projects@FreeBSD.ORG Sat Sep 8 16:00:08 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 993FF16A420; Sat, 8 Sep 2007 16:00:08 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3E49016A419 for ; Sat, 8 Sep 2007 16:00:08 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 251A613C468 for ; Sat, 8 Sep 2007 16:00:08 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l88G07LL055369 for ; Sat, 8 Sep 2007 16:00:07 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l88G07Ws055366 for perforce@freebsd.org; Sat, 8 Sep 2007 16:00:07 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 8 Sep 2007 16:00:07 GMT Message-Id: <200709081600.l88G07Ws055366@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 126181 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Sep 2007 16:00:08 -0000 http://perforce.freebsd.org/chv.cgi?CH=126181 Change 126181 by gonzo@gonzo_jeeves on 2007/09/08 15:59:39 o Use hardcoded frequency settings Affected files ... .. //depot/projects/mips2/src/sys/mips/mips32/idt/idt_machdep.c#3 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips32/idt/idt_machdep.c#3 (text+ko) ==== @@ -152,7 +152,7 @@ platform_start(int argc, char **argv) { vm_offset_t kernend; - uint64_t platform_counter_freq = 175 * 1000 * 1000; + uint64_t platform_counter_freq; /* clear the BSS and SBSS segments */ kernend = round_page((vm_offset_t)&end); @@ -161,7 +161,7 @@ cninit(); mips_init(); /* Set counter_freq for tick_init_params() */ - platform_counter_freq = 175 * 1000 * 1000; + platform_counter_freq = 330000000UL; - tick_init_params(platform_counter_freq, 0); + tick_init_params(platform_counter_freq, 1); } From owner-p4-projects@FreeBSD.ORG Sat Sep 8 16:06:17 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 4ED4716A469; Sat, 8 Sep 2007 16:06:17 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0A95316A420 for ; Sat, 8 Sep 2007 16:06:17 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E91B713C46B for ; Sat, 8 Sep 2007 16:06:16 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l88G6GYN057028 for ; Sat, 8 Sep 2007 16:06:16 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l88G6GX8057025 for perforce@freebsd.org; Sat, 8 Sep 2007 16:06:16 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 8 Sep 2007 16:06:16 GMT Message-Id: <200709081606.l88G6GX8057025@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 126182 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Sep 2007 16:06:17 -0000 http://perforce.freebsd.org/chv.cgi?CH=126182 Change 126182 by gonzo@gonzo_jeeves on 2007/09/08 16:06:11 o Fix resource handling - map physical address to KSEG1 during activation. Affected files ... .. //depot/projects/mips2/src/sys/mips/mips32/idt/idtpci.c#3 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips32/idt/idtpci.c#3 (text+ko) ==== @@ -113,7 +113,6 @@ struct idtpci_softc { device_t sc_dev; - bus_space_tag_t sc_st; int sc_busno; struct rman sc_mem_rman; @@ -217,18 +216,17 @@ sc->sc_io_rman.rm_descr = "IDTPCI I/O Ports"; if (rman_init(&sc->sc_io_rman) != 0 || rman_manage_region(&sc->sc_io_rman, - MIPS_PHYS_TO_KSEG1(IDT_PCIMEM3_BASE), - MIPS_PHYS_TO_KSEG1(IDT_PCIMEM3_BASE + IDT_PCIMEM3_SIZE - 1)) != 0) { + IDT_PCIMEM3_BASE, IDT_PCIMEM3_BASE + IDT_PCIMEM3_SIZE - 1) != 0) { panic("idtpci_attach: failed to set up I/O rman"); } /* Use KSEG1 to access PCI memory for it is uncached */ - sc->sc_mem = MIPS_PHYS_TO_KSEG1(IDT_PCIMEM1_BASE); + sc->sc_mem = 0; sc->sc_mem_rman.rm_type = RMAN_ARRAY; sc->sc_mem_rman.rm_descr = "IDTPCI PCI Memory"; if (rman_init(&sc->sc_mem_rman) != 0 || rman_manage_region(&sc->sc_mem_rman, - sc->sc_mem, sc->sc_mem + IDT_PCIMEM1_SIZE) != 0) { + IDT_PCIMEM1_BASE, IDT_PCIMEM1_BASE + IDT_PCIMEM1_SIZE) != 0) { panic("idtpci_attach: failed to set up memory rman"); } @@ -440,6 +438,7 @@ struct resource *rv = NULL; struct rman *rm; bus_space_handle_t bh = 0; + void *vaddr; switch (type) { case SYS_RES_IRQ: @@ -447,11 +446,9 @@ break; case SYS_RES_MEMORY: rm = &sc->sc_mem_rman; - bh = sc->sc_mem; break; case SYS_RES_IOPORT: rm = &sc->sc_io_rman; - bh = sc->sc_io; break; default: return (NULL); @@ -460,19 +457,23 @@ rv = rman_reserve_resource(rm, start, end, count, flags, child); if (rv == NULL) return (NULL); + + if ((type == SYS_RES_MEMORY) || (type == SYS_RES_IOPORT)) { + vaddr = + (void *)MIPS_PHYS_TO_KSEG1((intptr_t)rman_get_start(rv)); + rman_set_virtual(rv, vaddr); + rman_set_bushandle(rv, (bus_space_handle_t)vaddr); + } + rman_set_rid(rv, *rid); - if (type != SYS_RES_IRQ) { - bh += (rman_get_start(rv)); + + if (flags & RF_ACTIVE) { + if (bus_activate_resource(child, type, *rid, rv)) { + rman_release_resource(rv); + return (NULL); + } + } - rman_set_bustag(rv, sc->sc_st); - rman_set_bushandle(rv, bh); - if (flags & RF_ACTIVE) { - if (bus_activate_resource(child, type, *rid, rv)) { - rman_release_resource(rv); - return (NULL); - } - } - } return (rv); } @@ -480,16 +481,10 @@ idtpci_activate_resource(device_t bus, device_t child, int type, int rid, struct resource *r) { - bus_space_handle_t p; - int error; - - if ((type == SYS_RES_MEMORY) || (type == SYS_RES_IOPORT)) { - error = bus_space_map(rman_get_bustag(r), - rman_get_bushandle(r), rman_get_size(r), 0, &p); - if (error) - return (error); - rman_set_bushandle(r, p); + if (type == SYS_RES_IRQ) { + /* TODO:enable interrupt here? */ } + return (rman_activate_resource(r)); } From owner-p4-projects@FreeBSD.ORG Sat Sep 8 16:09:22 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id E278016A419; Sat, 8 Sep 2007 16:09:21 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9E6E216A417 for ; Sat, 8 Sep 2007 16:09:21 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 87BED13C442 for ; Sat, 8 Sep 2007 16:09:21 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l88G9LMH057150 for ; Sat, 8 Sep 2007 16:09:21 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l88G9LIc057147 for perforce@freebsd.org; Sat, 8 Sep 2007 16:09:21 GMT (envelope-from gonzo@FreeBSD.org) Date: Sat, 8 Sep 2007 16:09:21 GMT Message-Id: <200709081609.l88G9LIc057147@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 126183 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Sep 2007 16:09:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=126183 Change 126183 by gonzo@gonzo_jeeves on 2007/09/08 16:08:25 o Mask/unmask interrupts in ICU IMASKN registers Affected files ... .. //depot/projects/mips2/src/sys/mips/mips32/idt/idtreg.h#4 edit .. //depot/projects/mips2/src/sys/mips/mips32/idt/obio.c#3 edit Differences ... ==== //depot/projects/mips2/src/sys/mips/mips32/idt/idtreg.h#4 (text+ko) ==== @@ -47,6 +47,14 @@ #define ICU_IMASK6 0x38 #define ICU_NMIPS 0x3c +#define IDT_BASE_GPIO 0x18050000 +#define GPIO_FUNC 0x00 +#define GPIO_CFG 0x04 +#define GPIO_DATA 0x08 +#define GPIO_ILEVEL 0x0C +#define GPIO_ISTAT 0x10 +#define GPIO_NMIEN 0x14 + /* PCI controller */ #define IDT_BASE_PCI 0x18080000 #define IDT_PCI_CNTL 0x00 @@ -120,6 +128,16 @@ #define IP_IRQ(IPbit, offset) ((IPbit - 2) * 32 + (offset) + IRQ_BASE) /* The last one available IRQ */ #define IRQ_END IP_IRQ(6, 31) +#define ICU_GROUP_REG_OFFSET 0x0C + +#define ICU_IP(irq) (((irq) - IRQ_BASE) & 0x1f) +#define ICU_IP_BIT(irq) (1 << ICU_IP(irq)) +#define ICU_GROUP(irq) (((irq) - IRQ_BASE) >> 5) + +#define ICU_GROUP_MASK_REG(irq) \ + (ICU_IMASK2 + ((((irq) - IRQ_BASE) >> 5) * ICU_GROUP_REG_OFFSET)) +#define ICU_GROUP_PEND_REG(irq) \ + (ICU_IPEND2 + ((((irq) - IRQ_BASE) >> 5) * ICU_GROUP_REG_OFFSET)) #define PCI_IRQ_BASE IP_IRQ(6, 4) #define PCI_IRQ_END IP_IRQ(6, 7) ==== //depot/projects/mips2/src/sys/mips/mips32/idt/obio.c#3 (text+ko) ==== @@ -47,8 +47,13 @@ #include #include -#define REG_READ(o) *((volatile uint32_t *)MIPS_PHYS_TO_KSEG1(IDT_BASE_ICU + (o))) -#define REG_WRITE(o,v) (REG_READ(o)) = (v) +#define ICU_REG_READ(o) \ + *((volatile uint32_t *)MIPS_PHYS_TO_KSEG1(IDT_BASE_ICU + (o))) +#define ICU_REG_WRITE(o,v) (ICU_REG_READ(o)) = (v) + +#define GPIO_REG_READ(o) \ + *((volatile uint32_t *)MIPS_PHYS_TO_KSEG1(IDT_BASE_GPIO + (o))) +#define GPIO_REG_WRITE(o,v) (GPIO_REG_READ(o)) = (v) static int obio_activate_resource(device_t, device_t, int, int, struct resource *); @@ -114,12 +119,6 @@ } } - /* disable all interrupts, IMASK4 is reserved, do not tuch it */ - REG_WRITE(ICU_IMASK2, 0xffffffff); - REG_WRITE(ICU_IMASK3, 0xffffffff); - REG_WRITE(ICU_IMASK5, 0xffffffff); - REG_WRITE(ICU_IMASK6, 0xffffffff); - bus_generic_probe(dev); bus_enumerate_hinted_children(dev); bus_generic_attach(dev); @@ -250,7 +249,7 @@ { struct obio_softc *sc = device_get_softc(dev); struct intr_event *event; - int irq, error; + int irq, ip_bit, error, mask, mask_register; irq = rman_get_start(ires); @@ -270,8 +269,13 @@ intr_event_add_handler(event, device_get_nameunit(child), filt, handler, arg, intr_priority(flags), flags, cookiep); - /* enable */ - /* TODO: enable corespondent IRQ line here */ + /* unmask IRQ */ + mask_register = ICU_GROUP_MASK_REG(irq); + ip_bit = ICU_IP_BIT(irq); + + mask = ICU_REG_READ(mask_register); + ICU_REG_WRITE(mask_register, mask & ~ip_bit); + return (0); } @@ -281,6 +285,7 @@ { struct obio_softc *sc = device_get_softc(dev); int irq, result; + uint32_t mask_register, mask, ip_bit; irq = rman_get_start(ires); if (irq >= NIRQS) @@ -289,7 +294,12 @@ if (sc->sc_eventstab[irq] == NULL) panic("Trying to teardown unoccupied IRQ"); - /* TODO: mask corespondent IRQ line here */ + /* mask IRQ */ + mask_register = ICU_GROUP_MASK_REG(irq); + ip_bit = ICU_IP_BIT(irq); + + mask = ICU_REG_READ(mask_register); + ICU_REG_WRITE(mask_register, mask | ip_bit); result = intr_event_remove_handler(cookie); if (!result) { @@ -305,13 +315,29 @@ struct obio_softc *sc = arg; struct intr_event *event; struct intr_handler *ih; - uint32_t irqstat; + uint32_t irqstat, ipend; int irq, thread = 0; /* TODO: handle all IRQs */ irqstat = 0; irq = 0; + +#if 0 + ipend = ICU_REG_READ(ICU_IPEND2); + printf("ipend2 = %08x!\n", ipend); + + ipend = ICU_REG_READ(ICU_IPEND3); + printf("ipend3 = %08x!\n", ipend); + + ipend = ICU_REG_READ(ICU_IPEND4); + printf("ipend4 = %08x!\n", ipend); + ipend = ICU_REG_READ(ICU_IPEND5); + printf("ipend5 = %08x!\n", ipend); + + ipend = ICU_REG_READ(ICU_IPEND6); + printf("ipend6 = %08x!\n", ipend); +#endif while (irqstat != 0) { if ((irqstat & 1) == 1) { event = sc->sc_eventstab[irq]; From owner-p4-projects@FreeBSD.ORG Sat Sep 8 17:26:03 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id EFAF516A41A; Sat, 8 Sep 2007 17:26:02 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C49BB16A46D for ; Sat, 8 Sep 2007 17:26:02 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id AAAD913C469 for ; Sat, 8 Sep 2007 17:26:02 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l88HQ251071790 for ; Sat, 8 Sep 2007 17:26:02 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l88HQ1Ca071785 for perforce@freebsd.org; Sat, 8 Sep 2007 17:26:01 GMT (envelope-from zec@FreeBSD.org) Date: Sat, 8 Sep 2007 17:26:01 GMT Message-Id: <200709081726.l88HQ1Ca071785@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 126186 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Sep 2007 17:26:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=126186 Change 126186 by zec@zec_tpx32 on 2007/09/08 17:25:17 IFC @ 126179 Affected files ... .. //depot/projects/vimage/src/sys/amd64/linux32/linux32_proto.h#4 integrate .. //depot/projects/vimage/src/sys/amd64/linux32/linux32_syscall.h#4 integrate .. //depot/projects/vimage/src/sys/amd64/linux32/linux32_sysent.c#4 integrate .. //depot/projects/vimage/src/sys/amd64/linux32/syscalls.master#4 integrate .. //depot/projects/vimage/src/sys/arm/xscale/i80321/i80321.c#2 integrate .. //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_misc.c#6 integrate .. //depot/projects/vimage/src/sys/compat/linux/linux_misc.c#9 integrate .. //depot/projects/vimage/src/sys/contrib/opensolaris/uts/common/fs/zfs/arc.c#3 integrate .. //depot/projects/vimage/src/sys/dev/acpica/acpi_cpu.c#5 integrate .. //depot/projects/vimage/src/sys/dev/ath/if_ath.c#12 integrate .. //depot/projects/vimage/src/sys/dev/awi/awi.c#3 integrate .. //depot/projects/vimage/src/sys/dev/ipw/if_ipw.c#6 integrate .. //depot/projects/vimage/src/sys/dev/isp/isp_freebsd.h#7 integrate .. //depot/projects/vimage/src/sys/dev/iwi/if_iwi.c#6 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe.c#2 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe.h#2 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_82598.c#2 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_api.c#2 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_api.h#2 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_common.c#2 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_common.h#2 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_osdep.h#2 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_phy.c#2 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_phy.h#2 integrate .. //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe_type.h#2 integrate .. //depot/projects/vimage/src/sys/dev/ral/rt2560.c#9 integrate .. //depot/projects/vimage/src/sys/dev/ral/rt2661.c#8 integrate .. //depot/projects/vimage/src/sys/dev/ray/if_ray.c#3 integrate .. //depot/projects/vimage/src/sys/dev/usb/if_rum.c#4 integrate .. //depot/projects/vimage/src/sys/dev/usb/if_ural.c#9 integrate .. //depot/projects/vimage/src/sys/dev/usb/if_zyd.c#1 branch .. //depot/projects/vimage/src/sys/dev/usb/if_zydfw.h#1 branch .. //depot/projects/vimage/src/sys/dev/usb/if_zydreg.h#1 branch .. //depot/projects/vimage/src/sys/dev/usb/usbdevs#11 integrate .. //depot/projects/vimage/src/sys/dev/wi/if_wi.c#9 integrate .. //depot/projects/vimage/src/sys/fs/msdosfs/direntry.h#2 integrate .. //depot/projects/vimage/src/sys/fs/msdosfs/msdosfs_conv.c#3 integrate .. //depot/projects/vimage/src/sys/fs/msdosfs/msdosfs_lookup.c#3 integrate .. //depot/projects/vimage/src/sys/fs/msdosfs/msdosfs_vnops.c#7 integrate .. //depot/projects/vimage/src/sys/geom/eli/g_eli.h#2 integrate .. //depot/projects/vimage/src/sys/geom/eli/g_eli_crypto.c#3 integrate .. //depot/projects/vimage/src/sys/i386/isa/isa.c#3 integrate .. //depot/projects/vimage/src/sys/i386/linux/linux_proto.h#5 integrate .. //depot/projects/vimage/src/sys/i386/linux/linux_syscall.h#5 integrate .. //depot/projects/vimage/src/sys/i386/linux/linux_sysent.c#5 integrate .. //depot/projects/vimage/src/sys/i386/linux/syscalls.master#5 integrate .. //depot/projects/vimage/src/sys/kern/kern_acct.c#5 integrate .. //depot/projects/vimage/src/sys/kern/kern_ktrace.c#6 integrate .. //depot/projects/vimage/src/sys/kern/kern_sysctl.c#8 integrate .. //depot/projects/vimage/src/sys/kern/kern_timeout.c#6 integrate .. //depot/projects/vimage/src/sys/kern/vfs_syscalls.c#8 integrate .. //depot/projects/vimage/src/sys/modules/ixgbe/Makefile#1 branch .. //depot/projects/vimage/src/sys/modules/zyd/Makefile#1 branch .. //depot/projects/vimage/src/sys/net/if_lagg.c#9 integrate .. //depot/projects/vimage/src/sys/net80211/_ieee80211.h#7 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211.h#4 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_freebsd.h#6 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_ht.c#2 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_input.c#7 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_ioctl.c#5 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_ioctl.h#3 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_node.c#6 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_proto.c#6 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_proto.h#5 integrate .. //depot/projects/vimage/src/sys/net80211/ieee80211_var.h#5 integrate .. //depot/projects/vimage/src/sys/netinet/ip_fw2.c#25 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_asconf.c#13 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_auth.c#10 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_bsd_addr.c#8 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_cc_functions.c#3 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_constants.h#15 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_indata.c#17 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_input.c#18 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_lock_bsd.h#7 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_os_bsd.h#14 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_output.c#17 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_output.h#8 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_pcb.c#17 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_peeloff.c#11 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_timer.c#13 integrate .. //depot/projects/vimage/src/sys/netinet/sctp_usrreq.c#18 integrate .. //depot/projects/vimage/src/sys/netinet/sctputil.c#18 integrate .. //depot/projects/vimage/src/sys/netinet/sctputil.h#12 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_subr.c#31 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_timer.c#12 edit .. //depot/projects/vimage/src/sys/netinet/tcp_timer.h#6 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_usrreq.c#12 integrate .. //depot/projects/vimage/src/sys/netinet/tcp_var.h#15 integrate .. //depot/projects/vimage/src/sys/netinet6/sctp6_usrreq.c#18 integrate .. //depot/projects/vimage/src/sys/netinet6/udp6_usrreq.c#18 edit .. //depot/projects/vimage/src/sys/sparc64/fhc/fhc.c#4 integrate .. //depot/projects/vimage/src/sys/sparc64/include/bus_common.h#2 integrate .. //depot/projects/vimage/src/sys/sparc64/include/intr_machdep.h#4 integrate .. //depot/projects/vimage/src/sys/sparc64/pci/psycho.c#7 integrate .. //depot/projects/vimage/src/sys/sparc64/pci/psychoreg.h#4 integrate .. //depot/projects/vimage/src/sys/sparc64/sbus/sbus.c#6 integrate .. //depot/projects/vimage/src/sys/sparc64/sbus/sbusreg.h#3 integrate .. //depot/projects/vimage/src/sys/sparc64/sparc64/exception.S#3 integrate .. //depot/projects/vimage/src/sys/sparc64/sparc64/intr_machdep.c#4 integrate .. //depot/projects/vimage/src/sys/sparc64/sparc64/tick.c#2 integrate .. //depot/projects/vimage/src/sys/sparc64/sparc64/upa.c#4 integrate .. //depot/projects/vimage/src/sys/sys/mount.h#6 integrate Differences ... ==== //depot/projects/vimage/src/sys/amd64/linux32/linux32_proto.h#4 (text+ko) ==== @@ -2,8 +2,8 @@ * System call prototypes. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.31 2007/03/30 00:08:21 jkim Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.28 2007/03/30 00:06:21 jkim Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_proto.h,v 1.32 2007/08/28 12:36:23 kib Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.29 2007/08/28 12:26:34 kib Exp */ #ifndef _LINUX_SYSPROTO_H_ @@ -734,6 +734,11 @@ char uaddr2_l_[PADL_(void *)]; void * uaddr2; char uaddr2_r_[PADR_(void *)]; char val3_l_[PADL_(int)]; int val3; char val3_r_[PADR_(int)]; }; +struct linux_sched_getaffinity_args { + char pid_l_[PADL_(l_pid_t)]; l_pid_t pid; char pid_r_[PADR_(l_pid_t)]; + char len_l_[PADL_(l_uint)]; l_uint len; char len_r_[PADR_(l_uint)]; + char user_mask_ptr_l_[PADL_(l_ulong *)]; l_ulong * user_mask_ptr; char user_mask_ptr_r_[PADR_(l_ulong *)]; +}; struct linux_set_thread_area_args { char desc_l_[PADL_(struct l_user_desc *)]; struct l_user_desc * desc; char desc_r_[PADR_(struct l_user_desc *)]; }; @@ -1099,6 +1104,7 @@ int linux_fremovexattr(struct thread *, struct linux_fremovexattr_args *); int linux_tkill(struct thread *, struct linux_tkill_args *); int linux_sys_futex(struct thread *, struct linux_sys_futex_args *); +int linux_sched_getaffinity(struct thread *, struct linux_sched_getaffinity_args *); int linux_set_thread_area(struct thread *, struct linux_set_thread_area_args *); int linux_fadvise64(struct thread *, struct linux_fadvise64_args *); int linux_exit_group(struct thread *, struct linux_exit_group_args *); @@ -1172,6 +1178,13 @@ #endif /* COMPAT_FREEBSD4 */ + +#ifdef COMPAT_FREEBSD6 + +#define nosys linux_nosys + +#endif /* COMPAT_FREEBSD6 */ + #define LINUX_SYS_AUE_linux_fork AUE_FORK #define LINUX_SYS_AUE_linux_open AUE_OPEN_RWTC #define LINUX_SYS_AUE_linux_waitpid AUE_WAIT4 @@ -1346,6 +1359,7 @@ #define LINUX_SYS_AUE_linux_fremovexattr AUE_NULL #define LINUX_SYS_AUE_linux_tkill AUE_NULL #define LINUX_SYS_AUE_linux_sys_futex AUE_NULL +#define LINUX_SYS_AUE_linux_sched_getaffinity AUE_NULL #define LINUX_SYS_AUE_linux_set_thread_area AUE_NULL #define LINUX_SYS_AUE_linux_fadvise64 AUE_NULL #define LINUX_SYS_AUE_linux_exit_group AUE_EXIT ==== //depot/projects/vimage/src/sys/amd64/linux32/linux32_syscall.h#4 (text+ko) ==== @@ -2,8 +2,8 @@ * System call numbers. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.31 2007/03/30 00:08:21 jkim Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.28 2007/03/30 00:06:21 jkim Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_syscall.h,v 1.32 2007/08/28 12:36:23 kib Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.29 2007/08/28 12:26:34 kib Exp */ #define LINUX_SYS_exit 1 @@ -222,6 +222,7 @@ #define LINUX_SYS_linux_fremovexattr 237 #define LINUX_SYS_linux_tkill 238 #define LINUX_SYS_linux_sys_futex 240 +#define LINUX_SYS_linux_sched_getaffinity 242 #define LINUX_SYS_linux_set_thread_area 243 #define LINUX_SYS_linux_fadvise64 250 #define LINUX_SYS_linux_exit_group 252 ==== //depot/projects/vimage/src/sys/amd64/linux32/linux32_sysent.c#4 (text+ko) ==== @@ -2,8 +2,8 @@ * System call switch table. * * DO NOT EDIT-- this file is automatically generated. - * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.31 2007/03/30 00:08:21 jkim Exp $ - * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.28 2007/03/30 00:06:21 jkim Exp + * $FreeBSD: src/sys/amd64/linux32/linux32_sysent.c,v 1.32 2007/08/28 12:36:23 kib Exp $ + * created from FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.29 2007/08/28 12:26:34 kib Exp */ #include @@ -262,7 +262,7 @@ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 239 = linux_sendfile64 */ { AS(linux_sys_futex_args), (sy_call_t *)linux_sys_futex, AUE_NULL, NULL, 0, 0 }, /* 240 = linux_sys_futex */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 241 = linux_sched_setaffinity */ - { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 242 = linux_sched_getaffinity */ + { AS(linux_sched_getaffinity_args), (sy_call_t *)linux_sched_getaffinity, AUE_NULL, NULL, 0, 0 }, /* 242 = linux_sched_getaffinity */ { AS(linux_set_thread_area_args), (sy_call_t *)linux_set_thread_area, AUE_NULL, NULL, 0, 0 }, /* 243 = linux_set_thread_area */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 244 = linux_get_thread_area */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0 }, /* 245 = linux_io_setup */ ==== //depot/projects/vimage/src/sys/amd64/linux32/syscalls.master#4 (text+ko) ==== @@ -1,4 +1,4 @@ - $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.28 2007/03/30 00:06:21 jkim Exp $ + $FreeBSD: src/sys/amd64/linux32/syscalls.master,v 1.29 2007/08/28 12:26:34 kib Exp $ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; System call name/number master file (or rather, slave, from LINUX). @@ -408,7 +408,8 @@ 240 AUE_NULL STD { int linux_sys_futex(void *uaddr, int op, int val, \ struct l_timespec *timeout, void *uaddr2, int val3); } 241 AUE_NULL UNIMPL linux_sched_setaffinity -242 AUE_NULL UNIMPL linux_sched_getaffinity +242 AUE_NULL STD { int linux_sched_getaffinity(l_pid_t pid, l_uint len, \ + l_ulong *user_mask_ptr); } 243 AUE_NULL STD { int linux_set_thread_area(struct l_user_desc *desc); } 244 AUE_NULL UNIMPL linux_get_thread_area 245 AUE_NULL UNIMPL linux_io_setup ==== //depot/projects/vimage/src/sys/arm/xscale/i80321/i80321.c#2 (text+ko) ==== @@ -40,7 +40,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/i80321.c,v 1.6 2006/07/25 01:08:41 kevlo Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/xscale/i80321/i80321.c,v 1.7 2007/09/04 18:45:27 cognet Exp $"); #include #include @@ -213,8 +213,6 @@ PCIM_CMD_SERRESPEN; bus_space_write_4(sc->sc_st, sc->sc_atu_sh, PCIR_COMMAND, preg); - preg = bus_space_read_4(sc->sc_st, sc->sc_atu_sh, - PCIR_COMMAND); } /* Initialize the bus space tags. */ i80321_io_bs_init(&sc->sc_pci_iot, sc); ==== //depot/projects/vimage/src/sys/compat/freebsd32/freebsd32_misc.c#6 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.66 2007/07/04 23:04:41 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/freebsd32/freebsd32_misc.c,v 1.67 2007/08/28 20:28:11 jhb Exp $"); #include "opt_compat.h" @@ -135,28 +135,28 @@ static void copy_statfs(struct statfs *in, struct statfs32 *out) { - + + statfs_scale_blocks(in, INT32_MAX); bzero(out, sizeof(*out)); CP(*in, *out, f_bsize); - CP(*in, *out, f_iosize); + out->f_iosize = MIN(in->f_iosize, INT32_MAX); CP(*in, *out, f_blocks); CP(*in, *out, f_bfree); CP(*in, *out, f_bavail); - CP(*in, *out, f_files); - CP(*in, *out, f_ffree); + out->f_files = MIN(in->f_files, INT32_MAX); + out->f_ffree = MIN(in->f_ffree, INT32_MAX); CP(*in, *out, f_fsid); CP(*in, *out, f_owner); CP(*in, *out, f_type); CP(*in, *out, f_flags); - CP(*in, *out, f_flags); - CP(*in, *out, f_syncwrites); - CP(*in, *out, f_asyncwrites); + out->f_syncwrites = MIN(in->f_syncwrites, INT32_MAX); + out->f_asyncwrites = MIN(in->f_asyncwrites, INT32_MAX); strlcpy(out->f_fstypename, in->f_fstypename, MFSNAMELEN); strlcpy(out->f_mntonname, in->f_mntonname, min(MNAMELEN, FREEBSD4_MNAMELEN)); - CP(*in, *out, f_syncreads); - CP(*in, *out, f_asyncreads); + out->f_syncreads = MIN(in->f_syncreads, INT32_MAX); + out->f_asyncreads = MIN(in->f_asyncreads, INT32_MAX); strlcpy(out->f_mntfromname, in->f_mntfromname, min(MNAMELEN, FREEBSD4_MNAMELEN)); } ==== //depot/projects/vimage/src/sys/compat/linux/linux_misc.c#9 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.213 2007/06/12 00:11:57 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.214 2007/08/28 12:26:35 kib Exp $"); #include "opt_compat.h" #include "opt_mac.h" @@ -1716,3 +1716,24 @@ return (error); } + +/* + * XXX: fake one.. waiting for real implementation of affinity mask. + */ +int +linux_sched_getaffinity(struct thread *td, + struct linux_sched_getaffinity_args *args) +{ + int error; + cpumask_t i = ~0; + + if (args->len < sizeof(cpumask_t)) + return (EINVAL); + + error = copyout(&i, args->user_mask_ptr, sizeof(cpumask_t)); + if (error) + return (EFAULT); + + td->td_retval[0] = sizeof(cpumask_t); + return (0); +} ==== //depot/projects/vimage/src/sys/contrib/opensolaris/uts/common/fs/zfs/arc.c#3 (text+ko) ==== @@ -155,9 +155,9 @@ TUNABLE_ULONG("vfs.zfs.arc_max", &zfs_arc_max); TUNABLE_ULONG("vfs.zfs.arc_min", &zfs_arc_min); SYSCTL_DECL(_vfs_zfs); -SYSCTL_ULONG(_vfs_zfs, OID_AUTO, arc_max, CTLFLAG_RD, &zfs_arc_max, 0, +SYSCTL_ULONG(_vfs_zfs, OID_AUTO, arc_max, CTLFLAG_RDTUN, &zfs_arc_max, 0, "Maximum ARC size"); -SYSCTL_ULONG(_vfs_zfs, OID_AUTO, arc_min, CTLFLAG_RD, &zfs_arc_min, 0, +SYSCTL_ULONG(_vfs_zfs, OID_AUTO, arc_min, CTLFLAG_RDTUN, &zfs_arc_min, 0, "Minimum ARC size"); /* ==== //depot/projects/vimage/src/sys/dev/acpica/acpi_cpu.c#5 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_cpu.c,v 1.66 2007/06/03 00:40:56 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_cpu.c,v 1.67 2007/08/30 21:18:42 njl Exp $"); #include "opt_acpi.h" #include @@ -257,7 +257,7 @@ acpi_cpu_attach(device_t dev) { ACPI_BUFFER buf; - ACPI_OBJECT arg, *obj; + ACPI_OBJECT arg[4], *obj; ACPI_OBJECT_LIST arglist; struct pcpu *pcpu_data; struct acpi_cpu_softc *sc; @@ -268,6 +268,11 @@ driver_t **drivers; uint32_t cap_set[3]; + /* UUID needed by _OSC evaluation */ + static uint8_t cpu_oscuuid[16] = { 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, + 0xBE, 0x47, 0x9E, 0xBD, 0xD8, 0x70, + 0x58, 0x71, 0x39, 0x53 }; + ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); sc = device_get_softc(dev); @@ -334,19 +339,39 @@ /* * CPU capabilities are specified as a buffer of 32-bit integers: * revision, count, and one or more capabilities. The revision of - * "1" is not specified anywhere but seems to match Linux. We should - * also support _OSC here. + * "1" is not specified anywhere but seems to match Linux. */ if (sc->cpu_features) { - arglist.Pointer = &arg; + arglist.Pointer = arg; arglist.Count = 1; - arg.Type = ACPI_TYPE_BUFFER; - arg.Buffer.Length = sizeof(cap_set); - arg.Buffer.Pointer = (uint8_t *)cap_set; + arg[0].Type = ACPI_TYPE_BUFFER; + arg[0].Buffer.Length = sizeof(cap_set); + arg[0].Buffer.Pointer = (uint8_t *)cap_set; cap_set[0] = 1; /* revision */ cap_set[1] = 1; /* number of capabilities integers */ cap_set[2] = sc->cpu_features; AcpiEvaluateObject(sc->cpu_handle, "_PDC", &arglist, NULL); + + /* + * On some systems we need to evaluate _OSC so that the ASL + * loads the _PSS and/or _PDC methods at runtime. + * + * TODO: evaluate failure of _OSC. + */ + arglist.Pointer = arg; + arglist.Count = 4; + arg[0].Type = ACPI_TYPE_BUFFER; + arg[0].Buffer.Length = sizeof(cpu_oscuuid); + arg[0].Buffer.Pointer = cpu_oscuuid; /* UUID */ + arg[1].Type = ACPI_TYPE_INTEGER; + arg[1].Integer.Value = 1; /* revision */ + arg[2].Type = ACPI_TYPE_INTEGER; + arg[2].Integer.Value = 1; /* count */ + arg[3].Type = ACPI_TYPE_BUFFER; + arg[3].Buffer.Length = sizeof(cap_set); /* Capabilities buffer */ + arg[3].Buffer.Pointer = (uint8_t *)cap_set; + cap_set[0] = 0; + AcpiEvaluateObject(sc->cpu_handle, "_OSC", &arglist, NULL); } /* Probe for Cx state support. */ ==== //depot/projects/vimage/src/sys/dev/ath/if_ath.c#12 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.173 2007/08/06 14:25:59 rwatson Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.174 2007/09/05 23:00:26 sam Exp $"); /* * Driver for the Atheros Wireless LAN controller. @@ -1579,6 +1579,12 @@ ATH_TXBUF_UNLOCK(sc); break; } + /* + * Cancel any background scan. + */ + if (ic->ic_flags & IEEE80211_F_SCAN) + ieee80211_cancel_scan(ic); + STAILQ_INIT(&frags); /* * Find the node for the destination so we can do @@ -1605,15 +1611,6 @@ * the frame back when the time is right. */ ieee80211_pwrsave(ni, m); - /* - * If we're in power save mode 'cuz of a bg - * scan cancel it so the traffic can flow. - * The packet we just queued will automatically - * get sent when we drop out of power save. - * XXX locking - */ - if (ic->ic_flags & IEEE80211_F_SCAN) - ieee80211_cancel_scan(ic); goto reclaim; } /* calculate priority so we can find the tx queue */ @@ -1752,6 +1749,7 @@ } ifp->if_timer = 5; + ic->ic_lastdata = ticks; #if 0 /* * Flush stale frames from the fast-frame staging queue. ==== //depot/projects/vimage/src/sys/dev/awi/awi.c#3 (text+ko) ==== @@ -89,7 +89,7 @@ __KERNEL_RCSID(0, "$NetBSD: awi.c,v 1.62 2004/01/16 14:13:15 onoe Exp $"); #endif #ifdef __FreeBSD__ -__FBSDID("$FreeBSD: src/sys/dev/awi/awi.c,v 1.44 2007/06/11 03:36:51 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/awi/awi.c,v 1.45 2007/09/05 21:31:31 sam Exp $"); #endif #include "opt_inet.h" @@ -1919,6 +1919,8 @@ else awi_drvstate(sc, AWI_DRV_INFASSOC); break; + default: + break; } if (nstate == IEEE80211_S_INIT) { @@ -1954,6 +1956,8 @@ case IEEE80211_S_SCAN: /* scan next */ break; + default: + break; } if (ic->ic_flags & IEEE80211_F_ASCAN) newmode = AWI_SCAN_ACTIVE; ==== //depot/projects/vimage/src/sys/dev/ipw/if_ipw.c#6 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/ipw/if_ipw.c,v 1.29 2007/07/05 15:06:49 avatar Exp $ */ +/* $FreeBSD: src/sys/dev/ipw/if_ipw.c,v 1.30 2007/09/05 21:31:31 sam Exp $ */ /*- * Copyright (c) 2004-2006 @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ipw/if_ipw.c,v 1.29 2007/07/05 15:06:49 avatar Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ipw/if_ipw.c,v 1.30 2007/09/05 21:31:31 sam Exp $"); /*- * Intel(R) PRO/Wireless 2100 MiniPCI driver @@ -839,6 +839,7 @@ case IEEE80211_S_SCAN: case IEEE80211_S_AUTH: case IEEE80211_S_ASSOC: + default: break; } ==== //depot/projects/vimage/src/sys/dev/isp/isp_freebsd.h#7 (text+ko) ==== @@ -1,4 +1,4 @@ -/* $FreeBSD: src/sys/dev/isp/isp_freebsd.h,v 1.106 2007/07/02 20:08:20 mjacob Exp $ */ +/* $FreeBSD: src/sys/dev/isp/isp_freebsd.h,v 1.107 2007/08/28 00:09:12 jkim Exp $ */ /*- * Qlogic ISP SCSI Host Adapter FreeBSD Wrapper Definitions * @@ -184,8 +184,8 @@ const struct firmware * fw; union { struct { - char wwnn[17]; - char wwpn[17]; + char wwnn[19]; + char wwpn[19]; } fc; } sysctl_info; #endif ==== //depot/projects/vimage/src/sys/dev/iwi/if_iwi.c#6 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/iwi/if_iwi.c,v 1.55 2007/06/25 20:56:33 thompsa Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/iwi/if_iwi.c,v 1.57 2007/09/05 23:00:26 sam Exp $"); /*- * Intel(R) PRO/Wireless 2200BG/2225BG/2915ABG driver @@ -957,7 +957,6 @@ struct iwi_softc *sc = ifp->if_softc; int error = 0; - IWI_LOCK_ASSERT(sc); DPRINTF(("%s: %s -> %s flags 0x%x\n", __func__, ieee80211_state_name[ic->ic_state], ieee80211_state_name[nstate], sc->flags)); @@ -1918,6 +1917,11 @@ IFQ_DRV_DEQUEUE(&ifp->if_snd, m0); if (m0 == NULL) break; + /* + * Cancel any background scan. + */ + if (ic->ic_flags & IEEE80211_F_SCAN) + ieee80211_cancel_scan(ic); if (m0->m_len < sizeof (struct ether_header) && (m0 = m_pullup(m0, sizeof (struct ether_header))) == NULL) { @@ -1979,6 +1983,7 @@ } sc->sc_tx_timer = 5; + ic->ic_lastdata = ticks; } IWI_UNLOCK(sc); ==== //depot/projects/vimage/src/sys/dev/ixgbe/ixgbe.c#2 (text+ko) ==== @@ -30,7 +30,7 @@ POSSIBILITY OF SUCH DAMAGE. ***************************************************************************/ -/* $FreeBSD: src/sys/dev/ixgbe/ixgbe.c,v 1.3 2007/07/12 19:04:11 jfv Exp $ */ +/* $FreeBSD: src/sys/dev/ixgbe/ixgbe.c,v 1.4 2007/09/04 02:31:34 jfv Exp $ */ #ifdef HAVE_KERNEL_OPTION_HEADERS #include "opt_device_polling.h" @@ -46,7 +46,7 @@ /********************************************************************* * Driver version *********************************************************************/ -char ixgbe_driver_version[] = "1.1.3"; +char ixgbe_driver_version[] = "1.2.6"; /********************************************************************* * PCI Device ID Table @@ -60,10 +60,9 @@ static ixgbe_vendor_info_t ixgbe_vendor_info_array[] = { - {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598, 0, 0, 0}, {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598AF_DUAL_PORT, 0, 0, 0}, {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598AF_SINGLE_PORT, 0, 0, 0}, - {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598AT_DUAL_PORT, 0, 0, 0}, + {IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82598EB_CX4, 0, 0, 0}, /* required last entry */ {0, 0, 0, 0, 0} }; @@ -100,8 +99,9 @@ static void ixgbe_setup_interface(device_t, struct adapter *); static int ixgbe_allocate_queues(struct adapter *); static int ixgbe_allocate_msix_resources(struct adapter *); +#if __FreeBSD_version >= 700000 static int ixgbe_setup_msix(struct adapter *); - +#endif static int ixgbe_allocate_transmit_buffers(struct tx_ring *); static int ixgbe_setup_transmit_structures(struct adapter *); static void ixgbe_setup_transmit_ring(struct tx_ring *); @@ -119,7 +119,7 @@ static void ixgbe_enable_intr(struct adapter *); static void ixgbe_disable_intr(struct adapter *); static void ixgbe_update_stats_counters(struct adapter *); -static boolean_t ixgbe_txeof(struct tx_ring *); +static bool ixgbe_txeof(struct tx_ring *); static int ixgbe_rxeof(struct rx_ring *, int); static void ixgbe_rx_checksum(struct adapter *, uint32_t, struct mbuf *); static void ixgbe_set_promisc(struct adapter *); @@ -133,6 +133,7 @@ static int ixgbe_encap(struct adapter *, struct mbuf **); static int ixgbe_sysctl_stats(SYSCTL_HANDLER_ARGS); static int ixgbe_sysctl_debug(SYSCTL_HANDLER_ARGS); +static int ixgbe_set_flowcntl(SYSCTL_HANDLER_ARGS); static int ixgbe_dma_malloc(struct adapter *, bus_size_t, struct ixgbe_dma_alloc *, int); static void ixgbe_dma_free(struct adapter *, struct ixgbe_dma_alloc *); @@ -143,14 +144,23 @@ static void ixgbe_set_ivar(struct adapter *, u16, u8); static void ixgbe_configure_ivars(struct adapter *); -/* Legacy Interrupt handler */ -static void ixgbe_intr(void *); +/* Legacy Fast Interrupt routine and handlers */ +#if __FreeBSD_version >= 700000 +static int ixgbe_fast_irq(void *); +/* The MSI/X Interrupt handlers */ +static void ixgbe_msix_tx(void *); +static void ixgbe_msix_rx(void *); +static void ixgbe_msix_link(void *); +#else +static void ixgbe_fast_irq(void *); +#endif -/* The MSI/X Interrupt handlers */ -static void ixgbe_txint(void *); -static void ixgbe_rxint(void *); -static void ixgbe_linkint(void *); +static void ixgbe_rxtx(void *context, int pending); +static void ixgbe_link(void *context, int pending); +#ifndef NO_82598_A0_SUPPORT +static void desc_flip(void *); +#endif /********************************************************************* * FreeBSD Device Interface Entry Points @@ -175,26 +185,40 @@ MODULE_DEPEND(ixgbe, pci, 1, 1, 1); MODULE_DEPEND(ixgbe, ether, 1, 1, 1); +/* +** TUNEABLE PARAMETERS: +*/ + /* How many packets rxeof tries to clean at a time */ static int ixgbe_rx_process_limit = 100; TUNABLE_INT("hw.ixgbe.rx_process_limit", &ixgbe_rx_process_limit); -/* - * Should the driver do MSI/X and RSS/MQ? - * - default to MSI/X and RSS enabled - */ -static int ixgbe_disable_msix = 0; -TUNABLE_INT("hw.ixgbe.disable_msix", &ixgbe_disable_msix); +/* Flow control setting, default to full */ +static int ixgbe_flow_control = 3; +TUNABLE_INT("hw.ixgbe.flow_control", &ixgbe_flow_control); + +/* Number of TX Queues, note multi tx is not working */ +static int ixgbe_tx_queues = 1; +TUNABLE_INT("hw.ixgbe.tx_queues", &ixgbe_tx_queues); + +/* Number of RX Queues */ +static int ixgbe_rx_queues = 8; +TUNABLE_INT("hw.ixgbe.rx_queues", &ixgbe_rx_queues); + +/* Number of Other Queues, this is used for link interrupts */ +static int ixgbe_other_queues = 1; +TUNABLE_INT("hw.ixgbe.other_queues", &ixgbe_other_queues); + +/* Number of TX descriptors per ring */ +static int ixgbe_txd = DEFAULT_TXD; +TUNABLE_INT("hw.ixgbe.txd", &ixgbe_txd); + +/* Number of RX descriptors per ring */ +static int ixgbe_rxd = DEFAULT_RXD; +TUNABLE_INT("hw.ixgbe.rxd", &ixgbe_rxd); -/* -** Flow control tuneable: -** 0 - off -** 1 - rx pause -** 2 - tx pause -** 3 - full -*/ -static int ixgbe_flow_control = 0; -TUNABLE_INT("hw.ixgbe.flow_control", &ixgbe_flow_control); +/* Total number of Interfaces - need for config sanity check */ +static int ixgbe_total_ports; /********************************************************************* * Device identification routine @@ -239,6 +263,15 @@ sprintf(adapter_name, "%s, Version - %s", ixgbe_strings[ent->index], ixgbe_driver_version); + switch (pci_device_id) { + case IXGBE_DEV_ID_82598AF_DUAL_PORT : + ixgbe_total_ports += 2; + break; + case IXGBE_DEV_ID_82598AF_SINGLE_PORT : + ixgbe_total_ports += 1; + default: + break; + } device_set_desc_copy(dev, adapter_name); return (0); } @@ -264,13 +297,17 @@ struct adapter *adapter; int error = 0; uint32_t ctrl_ext; + char name_string[16]; INIT_DEBUGOUT("ixgbe_attach: begin"); /* Allocate, clear, and link in our adapter structure */ adapter = device_get_softc(dev); adapter->dev = adapter->osdep.dev = dev; - IXGBE_LOCK_INIT(adapter, device_get_nameunit(dev)); + /* General Lock Init*/ + snprintf(name_string, sizeof(name_string), "%s:core", + device_get_nameunit(dev)); + mtx_init(&adapter->core_mtx, name_string, NULL, MTX_DEF); /* SYSCTL APIs */ SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), @@ -283,25 +320,17 @@ OID_AUTO, "debug", CTLTYPE_INT | CTLFLAG_RW, adapter, 0, ixgbe_sysctl_debug, "I", "Debug Info"); - SYSCTL_ADD_INT(device_get_sysctl_ctx(dev), + SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev), SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), - OID_AUTO, "flow control", CTLFLAG_RW, - &ixgbe_flow_control, 0, "Flow Control"); + OID_AUTO, "flow_control", CTLTYPE_INT | CTLFLAG_RW, + adapter, 0, ixgbe_set_flowcntl, "I", "Flow Control"); /* Set up the timer callout */ - callout_init_mtx(&adapter->timer, &adapter->mtx, 0); + callout_init_mtx(&adapter->timer, &adapter->core_mtx, 0); /* Determine hardware revision */ ixgbe_identify_hardware(adapter); - /* - ** Descriptors: (configurable by user), note these are - ** constant for all rings, I saw no reason to vary - ** them, but perhaps someone later would. - */ - adapter->num_tx_desc = DEFAULT_TXD; - adapter->num_rx_desc = DEFAULT_RXD; - /* Indicate to RX setup to use Jumbo Clusters */ adapter->bigbufs = TRUE; @@ -312,17 +341,50 @@ goto err_out; } + /* Do descriptor calc and sanity checks */ + if (((ixgbe_txd * sizeof(union ixgbe_adv_tx_desc)) % DBA_ALIGN) != 0 || + ixgbe_txd < MIN_TXD || ixgbe_txd > MAX_TXD) { + device_printf(dev, "TXD config issue, using default!\n"); + adapter->num_tx_desc = DEFAULT_TXD; + } else + adapter->num_tx_desc = ixgbe_txd; + + /* + ** With many RX rings it is easy to exceed the + ** system mbuf allocation. Tuning nmbclusters + ** can alleviate this. + */ + if ((adapter->num_rx_queues > 1) && (nmbclusters > 0 )){ + int s; + /* Calculate the total RX mbuf needs */ + s = (ixgbe_rxd * adapter->num_rx_queues) * ixgbe_total_ports; + if (s > nmbclusters) { + device_printf(dev, "RX Descriptors exceed " + "system mbuf max, using default instead!\n"); + ixgbe_rxd = DEFAULT_RXD; + } + } + + if (((ixgbe_rxd * sizeof(union ixgbe_adv_rx_desc)) % DBA_ALIGN) != 0 || + ixgbe_rxd < MIN_TXD || ixgbe_rxd > MAX_TXD) { + device_printf(dev, "RXD config issue, using default!\n"); + adapter->num_rx_desc = DEFAULT_RXD; + } else + adapter->num_rx_desc = ixgbe_rxd; + /* Allocate our TX/RX Queues */ if (ixgbe_allocate_queues(adapter)) { error = ENOMEM; goto err_out; } +#if __FreeBSD_version >= 700000 if (adapter->msix) { error = ixgbe_setup_msix(adapter); if (error) goto err_out; } +#endif /* Initialize the shared code */ if (ixgbe_init_shared_code(&adapter->hw)) { @@ -382,14 +444,25 @@ INIT_DEBUGOUT("ixgbe_detach: begin"); /* Make sure VLANS are not using driver */ +#if __FreeBSD_version >= 700000 if (adapter->ifp->if_vlantrunk != NULL) { +#else + if (adapter->ifp->if_nvlans != 0) { +#endif device_printf(dev,"Vlan in use, detach first\n"); return (EBUSY); } - IXGBE_LOCK(adapter); + mtx_lock(&adapter->core_mtx); ixgbe_stop(adapter); - IXGBE_UNLOCK(adapter); + mtx_unlock(&adapter->core_mtx); + + if (adapter->tq != NULL) { + taskqueue_drain(adapter->tq, &adapter->rxtx_task); + taskqueue_drain(taskqueue_fast, &adapter->link_task); + taskqueue_free(adapter->tq); + adapter->tq = NULL; + } /* let hardware know driver is unloading */ ctrl_ext = IXGBE_READ_REG(&adapter->hw, IXGBE_CTRL_EXT); @@ -405,7 +478,7 @@ ixgbe_free_transmit_structures(adapter); ixgbe_free_receive_structures(adapter); - IXGBE_LOCK_DESTROY(adapter); + mtx_destroy(&adapter->core_mtx); return (0); } @@ -419,9 +492,9 @@ ixgbe_shutdown(device_t dev) { struct adapter *adapter = device_get_softc(dev); - IXGBE_LOCK(adapter); + mtx_lock(&adapter->core_mtx); ixgbe_stop(adapter); - IXGBE_UNLOCK(adapter); + mtx_unlock(&adapter->core_mtx); return (0); } @@ -442,7 +515,7 @@ struct mbuf *m_head; struct adapter *adapter = ifp->if_softc; - IXGBE_LOCK_ASSERT(adapter); + mtx_assert(&adapter->tx_mtx, MA_OWNED); if ((ifp->if_drv_flags & (IFF_DRV_RUNNING|IFF_DRV_OACTIVE)) != IFF_DRV_RUNNING) @@ -464,7 +537,7 @@ break; } /* Send a copy of the frame to the BPF listener */ - BPF_MTAP(ifp, m_head); + ETHER_BPF_MTAP(ifp, m_head); /* Set timeout in case hardware has problems transmitting */ adapter->watchdog_timer = IXGBE_TX_TIMEOUT; @@ -478,10 +551,10 @@ { struct adapter *adapter = ifp->if_softc; - IXGBE_LOCK(adapter); + mtx_lock(&adapter->tx_mtx); if (ifp->if_drv_flags & IFF_DRV_RUNNING) ixgbe_start_locked(ifp); - IXGBE_UNLOCK(adapter); + mtx_unlock(&adapter->tx_mtx); return; } @@ -508,9 +581,9 @@ if (ifa->ifa_addr->sa_family == AF_INET) { ifp->if_flags |= IFF_UP; if (!(ifp->if_drv_flags & IFF_DRV_RUNNING)) { - IXGBE_LOCK(adapter); + mtx_lock(&adapter->core_mtx); ixgbe_init_locked(adapter); - IXGBE_UNLOCK(adapter); + mtx_unlock(&adapter->core_mtx); } arp_ifinit(ifp, ifa); } else @@ -521,17 +594,17 @@ if (ifr->ifr_mtu > IXGBE_MAX_FRAME_SIZE - ETHER_HDR_LEN) { error = EINVAL; } else { - IXGBE_LOCK(adapter); + mtx_lock(&adapter->core_mtx); ifp->if_mtu = ifr->ifr_mtu; adapter->max_frame_size = ifp->if_mtu + ETHER_HDR_LEN + ETHER_CRC_LEN; ixgbe_init_locked(adapter); - IXGBE_UNLOCK(adapter); + mtx_unlock(&adapter->core_mtx); } break; case SIOCSIFFLAGS: IOCTL_DEBUGOUT("ioctl: SIOCSIFFLAGS (Set Interface Flags)"); - IXGBE_LOCK(adapter); + mtx_lock(&adapter->core_mtx); if (ifp->if_flags & IFF_UP) { if ((ifp->if_drv_flags & IFF_DRV_RUNNING)) { if ((ifp->if_flags ^ adapter->if_flags) & @@ -545,17 +618,17 @@ if (ifp->if_drv_flags & IFF_DRV_RUNNING) ixgbe_stop(adapter); adapter->if_flags = ifp->if_flags; - IXGBE_UNLOCK(adapter); + mtx_unlock(&adapter->core_mtx); break; case SIOCADDMULTI: case SIOCDELMULTI: IOCTL_DEBUGOUT("ioctl: SIOC(ADD|DEL)MULTI"); if (ifp->if_drv_flags & IFF_DRV_RUNNING) { - IXGBE_LOCK(adapter); + mtx_lock(&adapter->core_mtx); ixgbe_disable_intr(adapter); ixgbe_set_multi(adapter); ixgbe_enable_intr(adapter); - IXGBE_UNLOCK(adapter); + mtx_unlock(&adapter->core_mtx); } break; case SIOCSIFMEDIA: @@ -575,7 +648,9 @@ ifp->if_capenable ^= IFCAP_VLAN_HWTAGGING; if (ifp->if_drv_flags & IFF_DRV_RUNNING) ixgbe_init(adapter); +#if __FreeBSD_version >= 700000 VLAN_CAPABILITIES(ifp); >>> TRUNCATED FOR MAIL (1000 lines) <<< From owner-p4-projects@FreeBSD.ORG Sat Sep 8 18:24:22 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 461F016A469; Sat, 8 Sep 2007 18:24:22 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0B5B416A41A for ; Sat, 8 Sep 2007 18:24:22 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id E5A1913C4B7 for ; Sat, 8 Sep 2007 18:24:21 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l88IOLvH076914 for ; Sat, 8 Sep 2007 18:24:21 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l88IOLvS076911 for perforce@freebsd.org; Sat, 8 Sep 2007 18:24:21 GMT (envelope-from zec@FreeBSD.org) Date: Sat, 8 Sep 2007 18:24:21 GMT Message-Id: <200709081824.l88IOLvS076911@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 126193 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Sep 2007 18:24:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=126193 Change 126193 by zec@zec_tpx32 on 2007/09/08 18:23:19 Wrap an INET6 related sysctl instance into an #ifdef, fixing compilation issues with nooptions INET6 configurations. While here, clean up some whitespace noise. Affected files ... .. //depot/projects/vimage/src/sys/net/if_gif.c#11 edit Differences ... ==== //depot/projects/vimage/src/sys/net/if_gif.c#11 (text+ko) ==== @@ -131,11 +131,13 @@ static int max_gif_nesting; #endif SYSCTL_V_INT(V_NET, vnet_gif, _net_link_gif, OID_AUTO, max_nesting, - CTLFLAG_RW, max_gif_nesting, 0, "Max nested tunnels"); + CTLFLAG_RW, max_gif_nesting, 0, "Max nested tunnels"); +#ifdef INET6 SYSCTL_DECL(_net_inet6_ip6); SYSCTL_V_INT(V_NET, vnet_gif, _net_inet6_ip6, IPV6CTL_GIF_HLIM, - gifhlim, CTLFLAG_RW, ip6_gif_hlim, 0, ""); + gifhlim, CTLFLAG_RW, ip6_gif_hlim, 0, ""); +#endif /* * By default, we disallow creation of multiple tunnels between the same @@ -244,7 +246,6 @@ V_parallel_tunnels = 1; #endif V_ip_gif_ttl = GIF_TTL; - #ifdef INET6 V_ip6_gif_hlim = GIF_HLIM; #endif From owner-p4-projects@FreeBSD.ORG Sat Sep 8 18:33:34 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3A2C016A420; Sat, 8 Sep 2007 18:33:34 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F014816A41A for ; Sat, 8 Sep 2007 18:33:33 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id D592513C483 for ; Sat, 8 Sep 2007 18:33:33 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l88IXXLQ077644 for ; Sat, 8 Sep 2007 18:33:33 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l88IXXol077641 for perforce@freebsd.org; Sat, 8 Sep 2007 18:33:33 GMT (envelope-from zec@FreeBSD.org) Date: Sat, 8 Sep 2007 18:33:33 GMT Message-Id: <200709081833.l88IXXol077641@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 126194 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Sep 2007 18:33:34 -0000 http://perforce.freebsd.org/chv.cgi?CH=126194 Change 126194 by zec@zec_tpx32 on 2007/09/08 18:32:57 Rename ip6_test_init() to ip6_dom_init() and unwrap it from #ifdef VIMAGE, since it's necessary to initialize the variables in a non-VIMAGE kernels as well. While here, remove two (probably stale) debugging printf()-s. Affected files ... .. //depot/projects/vimage/src/sys/netinet6/in6_proto.c#19 edit .. //depot/projects/vimage/src/sys/netinet6/ip6_input.c#23 edit Differences ... ==== //depot/projects/vimage/src/sys/netinet6/in6_proto.c#19 (text+ko) ==== @@ -590,13 +590,11 @@ SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_icmp6, ICMPV6CTL_ND6_DEBUG, nd6_debug, CTLFLAG_RW, nd6_debug, 0, ""); -#ifdef VIMAGE static void -ip6_test_init(void) +ip6_dom_init(void) { INIT_VNET_INET6(curvnet); - printf("---> ip6_test_init() \n"); V_ip6_forwarding = IPV6FORWARDING; /* act as router? */ V_ip6_sendredirects = IPV6_SENDREDIRECTS; V_ip6_defhlim = IPV6_DEFHLIM; @@ -639,7 +637,6 @@ /* 40 1K datagrams */ } -#endif struct domain inet6domain = { .dom_family = AF_INET6, @@ -655,9 +652,7 @@ .dom_maxrtkey = sizeof(struct sockaddr_in6), .dom_ifattach = in6_domifattach, .dom_ifdetach = in6_domifdetach, -#ifdef VIMAGE - .dom_init = ip6_test_init -#endif + .dom_init = ip6_dom_init }; DOMAIN_SET(inet6); ==== //depot/projects/vimage/src/sys/netinet6/ip6_input.c#23 (text+ko) ==== @@ -166,7 +166,6 @@ void ip6_init(void) { - printf("---> ip6_init() \n"); INIT_VNET_INET6(curvnet); struct ip6protosw *pr; int i; From owner-p4-projects@FreeBSD.ORG Sat Sep 8 18:56:03 2007 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6B37416A41B; Sat, 8 Sep 2007 18:56:03 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2917B16A419 for ; Sat, 8 Sep 2007 18:56:03 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0D79513C45A for ; Sat, 8 Sep 2007 18:56:03 +0000 (UTC) (envelope-from zec@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id l88Iu2eR078902 for ; Sat, 8 Sep 2007 18:56:02 GMT (envelope-from zec@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id l88Iu2bT078899 for perforce@freebsd.org; Sat, 8 Sep 2007 18:56:02 GMT (envelope-from zec@FreeBSD.org) Date: Sat, 8 Sep 2007 18:56:02 GMT Message-Id: <200709081856.l88Iu2bT078899@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to zec@FreeBSD.org using -f From: Marko Zec To: Perforce Change Reviews Cc: Subject: PERFORCE change 126195 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Sep 2007 18:56:03 -0000 http://perforce.freebsd.org/chv.cgi?CH=126195 Change 126195 by zec@zec_tpx32 on 2007/09/08 18:55:24 Initialize ip6_maxfrags and ip6_maxfragpackets only in frag6_init(). Initialize rip6_sendspace and rip6_recvspace only in ip6_dom_init(). While here, do random whitespace and duplicate comment cleanups. Affected files ... .. //depot/projects/vimage/src/sys/netinet6/frag6.c#10 edit .. //depot/projects/vimage/src/sys/netinet6/in6_proto.c#20 edit Differences ... ==== //depot/projects/vimage/src/sys/netinet6/frag6.c#10 (text+ko) ==== @@ -107,13 +107,12 @@ INIT_VNET_INET6(curvnet); V_ip6q.ip6q_next = V_ip6q.ip6q_prev = &V_ip6q; - + V_ip6_maxfragpackets = nmbclusters / 4; + V_ip6_maxfrags = nmbclusters / 4; #ifdef VIMAGE if (!IS_DEFAULT_VNET(curvnet)) return; #endif - V_ip6_maxfragpackets = nmbclusters / 4; - V_ip6_maxfrags = nmbclusters / 4; EVENTHANDLER_REGISTER(nmbclusters_change, frag6_change, NULL, EVENTHANDLER_PRI_ANY); ==== //depot/projects/vimage/src/sys/netinet6/in6_proto.c#20 (text+ko) ==== @@ -365,21 +365,21 @@ #endif #ifndef VIMAGE -int ip6_forwarding; /* act as router? */ +int ip6_forwarding; /* act as router? */ int ip6_sendredirects; int ip6_defhlim; int ip6_defmcasthlim; int ip6_accept_rtadv; /* "IPV6FORWARDING ? 0 : 1" is dangerous */ int ip6_maxfragpackets; /* initialized in frag6.c:frag6_init() */ -int ip6_maxfrags; /* initialized in frag6.c:frag6_init() */ +int ip6_maxfrags; /* initialized in frag6.c:frag6_init() */ int ip6_log_interval; int ip6_hdrnestlimit; /* How many header options will we process? */ -int ip6_dad_count; /* DupAddrDetectionTransmits */ +int ip6_dad_count; /* DupAddrDetectionTransmits */ int ip6_auto_flowlabel; int ip6_use_deprecated; /* allow deprecated addr (RFC2462 5.5.4) */ -int ip6_rr_prune; /* router renumbering prefix +int ip6_rr_prune; /* router renumbering prefix * walk list every 5 sec. */ -int ip6_mcast_pmtu; /* enable pMTU discovery for multicast? */ +int ip6_mcast_pmtu; /* enable pMTU discovery for multicast? */ int ip6_v6only; int ip6_keepfaith; @@ -408,13 +408,13 @@ #define RIPV6RCVQ 8192 #ifndef VIMAGE -u_long rip6_sendspace = RIPV6SNDQ; -u_long rip6_recvspace = RIPV6RCVQ; +u_long rip6_sendspace; +u_long rip6_recvspace; /* ICMPV6 parameters */ -int icmp6_rediraccept; /* accept and process redirects */ -int icmp6_redirtimeout; /* 10 minutes */ -int icmp6errppslim; /* 100pps */ +int icmp6_rediraccept; /* accept and process redirects */ +int icmp6_redirtimeout; +int icmp6errppslim; /* control how to respond to NI queries */ int icmp6_nodeinfo; @@ -536,11 +536,11 @@ sysctl_ip6_tempvltime, "I", ""); #else SYSCTL_OID(_net_inet6_ip6, IPV6CTL_TEMPPLTIME, temppltime, - CTLTYPE_INT|CTLFLAG_RW, &ip6_temp_preferred_lifetime, 0, - sysctl_ip6_temppltime, "I", ""); + CTLTYPE_INT|CTLFLAG_RW, &ip6_temp_preferred_lifetime, 0, + sysctl_ip6_temppltime, "I", ""); SYSCTL_OID(_net_inet6_ip6, IPV6CTL_TEMPVLTIME, tempvltime, - CTLTYPE_INT|CTLFLAG_RW, &ip6_temp_valid_lifetime, 0, - sysctl_ip6_tempvltime, "I", ""); + CTLTYPE_INT|CTLFLAG_RW, &ip6_temp_valid_lifetime, 0, + sysctl_ip6_tempvltime, "I", ""); #endif SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_V6ONLY, v6only, CTLFLAG_RW, ip6_v6only, 0, ""); @@ -595,64 +595,58 @@ { INIT_VNET_INET6(curvnet); - V_ip6_forwarding = IPV6FORWARDING; /* act as router? */ + V_ip6_forwarding = IPV6FORWARDING; V_ip6_sendredirects = IPV6_SENDREDIRECTS; V_ip6_defhlim = IPV6_DEFHLIM; V_ip6_defmcasthlim = IPV6_DEFAULT_MULTICAST_HOPS; - V_ip6_accept_rtadv = 0; /* "IPV6FORWARDING ? 0 : 1" is dangerous */ - V_ip6_maxfragpackets = 0; /* initialized in frag6.c:frag6_init() */ - V_ip6_maxfrags = 0; /* initialized in frag6.c:frag6_init() */ + V_ip6_accept_rtadv = 0; V_ip6_log_interval = 5; - V_ip6_hdrnestlimit = 15; /* How many header options will we process? */ - V_ip6_dad_count = 1; /* DupAddrDetectionTransmits */ + V_ip6_hdrnestlimit = 15; + V_ip6_dad_count = 1; V_ip6_auto_flowlabel = 1; - V_ip6_use_deprecated = 1; /* allow deprecated addr (RFC2462 5.5.4) */ - V_ip6_rr_prune = 5; /* router renumbering prefix - * walk list every 5 sec. */ - V_ip6_mcast_pmtu = 0; /* enable pMTU discovery for multicast? */ + V_ip6_use_deprecated = 1; + V_ip6_rr_prune = 5; + V_ip6_mcast_pmtu = 0; V_ip6_v6only = 1; - V_ip6_keepfaith = 0; V_ip6_log_time = (time_t)0L; #ifdef IPSTEALTH V_ip6stealth = 0; #endif - V_pmtu_expire = 60*10; V_pmtu_probe = 60*2; - V_rip6_sendspace = RIPV6SNDQ; V_rip6_recvspace = RIPV6RCVQ; /* ICMPV6 parameters */ - V_icmp6_rediraccept = 1; /* accept and process redirects */ - V_icmp6_redirtimeout = 10 * 60; /* 10 minutes */ - V_icmp6errppslim = 100; /* 100pps */ + V_icmp6_rediraccept = 1; + V_icmp6_redirtimeout = 10 * 60; /* 10 minutes */ + V_icmp6errppslim = 100; /* 100pps */ /* control how to respond to NI queries */ V_icmp6_nodeinfo = (ICMP6_NODEINFO_FQDNOK|ICMP6_NODEINFO_NODEADDROK); /* UDP on IP6 parameters */ - V_udp6_sendspace = 9216; /* really max datagram size */ + V_udp6_sendspace = 9216; /* really max datagram size */ V_udp6_recvspace = 40 * (1024 + sizeof(struct sockaddr_in6)); - /* 40 1K datagrams */ + /* 40 1K datagrams */ } struct domain inet6domain = { - .dom_family = AF_INET6, - .dom_name = "internet6", - .dom_protosw = (struct protosw *)inet6sw, - .dom_protoswNPROTOSW = (struct protosw *) - &inet6sw[sizeof(inet6sw)/sizeof(inet6sw[0])], - .dom_rtattach = in6_inithead, + .dom_family = AF_INET6, + .dom_name = "internet6", + .dom_protosw = (struct protosw *)inet6sw, + .dom_protoswNPROTOSW = (struct protosw *) + &inet6sw[sizeof(inet6sw)/sizeof(inet6sw[0])], + .dom_rtattach = in6_inithead, #ifdef VIMAGE - .dom_rtdetach = in6_detachhead, + .dom_rtdetach = in6_detachhead, #endif - .dom_rtoffset = offsetof(struct sockaddr_in6, sin6_addr) << 3, - .dom_maxrtkey = sizeof(struct sockaddr_in6), - .dom_ifattach = in6_domifattach, - .dom_ifdetach = in6_domifdetach, - .dom_init = ip6_dom_init + .dom_rtoffset = offsetof(struct sockaddr_in6, sin6_addr) << 3, + .dom_maxrtkey = sizeof(struct sockaddr_in6), + .dom_ifattach = in6_domifattach, + .dom_ifdetach = in6_domifdetach, + .dom_init = ip6_dom_init }; DOMAIN_SET(inet6);