From owner-p4-projects@FreeBSD.ORG Wed Apr 30 18:51:48 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 61C291065672; Wed, 30 Apr 2008 18:51: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 2147C106564A for ; Wed, 30 Apr 2008 18:51:48 +0000 (UTC) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 0584D8FC14 for ; Wed, 30 Apr 2008 18:51:48 +0000 (UTC) (envelope-from sam@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 m3UIpmh0093081 for ; Wed, 30 Apr 2008 18:51:48 GMT (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m3UIpl0C093079 for perforce@freebsd.org; Wed, 30 Apr 2008 18:51:47 GMT (envelope-from sam@freebsd.org) Date: Wed, 30 Apr 2008 18:51:47 GMT Message-Id: <200804301851.m3UIpl0C093079@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Cc: Subject: PERFORCE change 140936 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, 30 Apr 2008 18:51:48 -0000 http://perforce.freebsd.org/chv.cgi?CH=140936 Change 140936 by sam@sam_ebb on 2008/04/30 18:51:33 IFC @ 140935 Affected files ... .. //depot/projects/vap/etc/network.subr#10 integrate .. //depot/projects/vap/lib/libc/gen/tls.c#3 integrate .. //depot/projects/vap/lib/libc/stdlib/malloc.c#8 integrate .. //depot/projects/vap/lib/libgssapi/gss_accept_sec_context.c#3 integrate .. //depot/projects/vap/lib/libgssapi/gss_test_oid_set_member.c#3 integrate .. //depot/projects/vap/lib/libgssapi/gss_utils.c#3 integrate .. //depot/projects/vap/share/man/man9/kproc.9#3 integrate .. //depot/projects/vap/share/man/man9/kthread.9#3 integrate .. //depot/projects/vap/sys/conf/files.powerpc#12 integrate .. //depot/projects/vap/sys/conf/ldscript.mips#2 integrate .. //depot/projects/vap/sys/conf/ldscript.mips.cfe#2 integrate .. //depot/projects/vap/sys/dev/ath/if_ath.c#65 integrate .. //depot/projects/vap/sys/dev/bfe/if_bfe.c#7 integrate .. //depot/projects/vap/sys/dev/iwn/if_iwn.c#15 integrate .. //depot/projects/vap/sys/kern/kern_kthread.c#6 integrate .. //depot/projects/vap/sys/mips/include/pmap.h#3 integrate .. //depot/projects/vap/sys/net80211/ieee80211.c#41 integrate .. //depot/projects/vap/tools/tools/net80211/README#3 integrate .. //depot/projects/vap/tools/tools/net80211/scripts/setup.dfs#3 integrate Differences ... ==== //depot/projects/vap/etc/network.subr#10 (text+ko) ==== @@ -22,7 +22,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # -# $FreeBSD: src/etc/network.subr,v 1.184 2008/04/25 23:50:49 brooks Exp $ +# $FreeBSD: src/etc/network.subr,v 1.185 2008/04/30 16:29:15 brooks Exp $ # # @@ -730,6 +730,10 @@ _tmplist="${_lo}${_tmplist}" ;; *) + if [ -z "$type"]; then + warn "Values of network_interfaces other than" \ + "AUTO are deprecated" + fi _tmplist="${network_interfaces} ${cloned_interfaces}" ;; esac ==== //depot/projects/vap/lib/libc/gen/tls.c#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/lib/libc/gen/tls.c,v 1.14 2007/02/25 21:23:50 kientzle Exp $ + * $FreeBSD: src/lib/libc/gen/tls.c,v 1.15 2008/04/29 23:15:23 gonzo Exp $ */ /* @@ -60,7 +60,7 @@ #if defined(__ia64__) || defined(__amd64__) #define TLS_TCB_ALIGN 16 #elif defined(__powerpc__) || defined(__i386__) || defined(__arm__) || \ - defined(__sparc64__) + defined(__sparc64__) || defined(__mips__) #define TLS_TCB_ALIGN sizeof(void *) #else #error TLS_TCB_ALIGN undefined for target architecture @@ -70,7 +70,7 @@ #define TLS_VARIANT_I #endif #if defined(__i386__) || defined(__amd64__) || defined(__sparc64__) || \ - defined(__arm__) + defined(__arm__) || defined(__mips__) #define TLS_VARIANT_II #endif ==== //depot/projects/vap/lib/libc/stdlib/malloc.c#8 (text+ko) ==== @@ -128,7 +128,7 @@ #define MALLOC_DSS #include -__FBSDID("$FreeBSD: src/lib/libc/stdlib/malloc.c,v 1.169 2008/04/29 01:32:42 jasone Exp $"); +__FBSDID("$FreeBSD: src/lib/libc/stdlib/malloc.c,v 1.170 2008/04/29 22:56:05 gonzo Exp $"); #include "libc_private.h" #ifdef MALLOC_DEBUG @@ -214,6 +214,11 @@ # define SIZEOF_PTR_2POW 2 # define NO_TLS #endif +#ifdef __mips__ +# define QUANTUM_2POW_MIN 3 +# define SIZEOF_PTR_2POW 2 +# define NO_TLS +#endif #ifdef __powerpc__ # define QUANTUM_2POW_MIN 4 # define SIZEOF_PTR_2POW 2 ==== //depot/projects/vap/lib/libgssapi/gss_accept_sec_context.c#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/lib/libgssapi/gss_accept_sec_context.c,v 1.3 2007/06/30 07:47:45 dfr Exp $ + * $FreeBSD: src/lib/libgssapi/gss_accept_sec_context.c,v 1.4 2008/04/30 11:29:22 dfr Exp $ */ #include @@ -187,10 +187,13 @@ *src_name = (gss_name_t) name; } + if (delegated_mc == GSS_C_NO_CREDENTIAL) + mech_ret_flags &= ~GSS_C_DELEG_FLAG; + if (mech_ret_flags & GSS_C_DELEG_FLAG) { if (!delegated_cred_handle) { m->gm_release_cred(minor_status, &delegated_mc); - *ret_flags &= ~GSS_C_DELEG_FLAG; + mech_ret_flags &= ~GSS_C_DELEG_FLAG; } else { struct _gss_cred *cred; struct _gss_mechanism_cred *mc; @@ -200,6 +203,7 @@ *minor_status = ENOMEM; return (GSS_S_FAILURE); } + SLIST_INIT(&cred->gc_mc); mc = malloc(sizeof(struct _gss_mechanism_cred)); if (!mc) { free(cred); ==== //depot/projects/vap/lib/libgssapi/gss_test_oid_set_member.c#3 (text+ko) ==== @@ -23,20 +23,12 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libgssapi/gss_test_oid_set_member.c,v 1.1 2005/12/29 14:40:20 dfr Exp $ + * $FreeBSD: src/lib/libgssapi/gss_test_oid_set_member.c,v 1.2 2008/04/30 11:27:15 dfr Exp $ */ #include -static int -_gss_oid_equal(const gss_OID oid1, const gss_OID oid2) -{ - if (oid1->length != oid2->length) - return (0); - if (memcmp(oid1->elements, oid2->elements, oid1->length)) - return (0); - return (1); -} +#include "utils.h" OM_uint32 gss_test_oid_set_member(OM_uint32 *minor_status, ==== //depot/projects/vap/lib/libgssapi/gss_utils.c#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/lib/libgssapi/gss_utils.c,v 1.2 2007/04/04 02:28:48 kan Exp $ + * $FreeBSD: src/lib/libgssapi/gss_utils.c,v 1.3 2008/04/30 11:25:34 dfr Exp $ */ #include @@ -36,6 +36,11 @@ int _gss_oid_equal(const gss_OID oid1, const gss_OID oid2) { + + if (oid1 == oid2) + return (1); + if (!oid1 || !oid2) + return (0); if (oid1->length != oid2->length) return (0); if (memcmp(oid1->elements, oid2->elements, oid1->length)) ==== //depot/projects/vap/share/man/man9/kproc.9#3 (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/share/man/man9/kproc.9,v 1.2 2007/10/26 16:50:21 julian Exp $ +.\" $FreeBSD: src/share/man/man9/kproc.9,v 1.3 2008/04/29 22:43:15 julian Exp $ .\" .Dd October 19, 2007 .Dt KPROC 9 @@ -57,6 +57,12 @@ .Fn kproc_suspend "struct proc *p" "int timo" .Ft void .Fn kproc_suspend_check "struct proc *p" +.Ft int +.Fo kproc_kthread_add +.Fa "void (*func)(void *)" "void *arg" +.Fa "struct proc **procptr" "struct thread **tdptr" +.Fa "int flags" "int pages" "char * procname" "const char *fmt" "..." +.Fc .Sh DESCRIPTION The function .Fn kproc_start @@ -196,6 +202,58 @@ with system shutdown activities. The actual suspension of the kernel process is done with .Fn kproc_suspend . +.Pp +The +.Fn kproc_kthread_add +function is much like the +.Fn kproc_create +function above except that if the kproc already exists, +then only a new thread (see +.Xr kthread 9 ) +is created on the existing process. +The +.Fa func +argument specifies the function that the process should execute. +The +.Fa arg +argument is an arbitrary pointer that is passed in as the only argument to +.Fa func +when it is called by the new process. +The +.Fa procptr +pointer points to a +.Vt "struct proc " +pointer that is the location to be updated with the new proc pointer +if a new process is created, or if not +.Dv NULL , +must contain the process pointer for the already exisiting process. +If this argument points to +.Dv NULL , +then a new process is created and the field updated. +If not NULL, the +.Fa tdptr +pointer points to a +.Vt "struct thread " +pointer that is the location to be updated with the new thread pointer. +The +.Fa flags +argument specifies a set of flags as described in +.Xr rfork 2 . +The +.Fa pages +argument specifies the size of the new kernel thread's stack in pages. +If 0 is used, the default kernel stack size is allocated. +The procname argument is the name the new process should be given if it needs to be created. +It is +.Em NOT +a printf style format specifier but a simple string. +The rest of the arguments form a +.Xr printf 9 +argument list that is used to build the name of the new thread and is stored +in the +.Va td_name +member of the new thread's +.Vt "struct thread" . .Sh RETURN VALUES The .Fn kproc_create , ==== //depot/projects/vap/share/man/man9/kthread.9#3 (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/share/man/man9/kthread.9,v 1.17 2007/10/26 16:50:21 julian Exp $ +.\" $FreeBSD: src/share/man/man9/kthread.9,v 1.18 2008/04/29 22:43:15 julian Exp $ .\" .Dd October 26, 2007 .Dt KTHREAD 9 @@ -57,6 +57,12 @@ .Fn kthread_suspend "struct thread *td" "int timo" .Ft void .Fn kthread_suspend_check "struct thread *td" +.Ft int +.Fo kproc_kthread_add +.Fa "void (*func)(void *)" "void *arg" +.Fa "struct proc **procptr" "struct thread **tdptr" +.Fa "int flags" "int pages" "char * procname" "const char *fmt" "..." +.Fc .Sh DESCRIPTION The function .Fn kthread_start @@ -151,6 +157,16 @@ .Vt "struct thread" . .Pp The +.Fn kproc_kthread_add +function is much like the +.Fn kthread_add +function above except that if the kproc does not already +exist, it is created. +This function is better documented in the +.Xr kproc 9 +manual page. +.Pp +The .Fn kthread_exit function is used to terminate kernel threads. It should be called by the main function of the kernel thread rather than ==== //depot/projects/vap/sys/conf/files.powerpc#12 (text+ko) ==== @@ -1,7 +1,7 @@ # This file tells config what files go into building a kernel, # files marked standard are always included. # -# $FreeBSD: src/sys/conf/files.powerpc,v 1.76 2008/04/27 22:33:41 marcel Exp $ +# $FreeBSD: src/sys/conf/files.powerpc,v 1.77 2008/04/30 00:50:50 marcel Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -132,7 +132,7 @@ powerpc/powerpc/intr_machdep.c standard powerpc/powerpc/mem.c optional mem powerpc/powerpc/mmu_if.m standard -powerpc/powerpc/mp_machdep.c optional smp aim +powerpc/powerpc/mp_machdep.c optional smp powerpc/powerpc/openpic.c standard powerpc/powerpc/pic_if.m standard powerpc/powerpc/pmap_dispatch.c standard ==== //depot/projects/vap/sys/conf/ldscript.mips#2 (text+ko) ==== @@ -1,5 +1,5 @@ -/* $FreeBSD: src/sys/conf/ldscript.mips,v 1.1 2008/04/13 06:25:43 imp Exp $ */ -OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-littlemips") +/* $FreeBSD: src/sys/conf/ldscript.mips,v 1.2 2008/04/30 12:44:58 gonzo Exp $ */ +OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips") OUTPUT_ARCH(mips) ENTRY(_start) SEARCH_DIR(/usr/lib); ==== //depot/projects/vap/sys/conf/ldscript.mips.cfe#2 (text+ko) ==== @@ -2,8 +2,8 @@ * This linker script is needed to build a kernel for use by Broadcom CFE. */ -/* $FreeBSD: src/sys/conf/ldscript.mips.cfe,v 1.1 2008/04/13 06:25:43 imp Exp $ */ -OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips", "elf32-littlemips") +/* $FreeBSD: src/sys/conf/ldscript.mips.cfe,v 1.2 2008/04/30 12:44:58 gonzo Exp $ */ +OUTPUT_FORMAT("elf32-tradbigmips", "elf32-tradbigmips", "elf32-tradlittlemips") OUTPUT_ARCH(mips) ENTRY(_start) SEARCH_DIR(/usr/lib); ==== //depot/projects/vap/sys/dev/ath/if_ath.c#65 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.181 2008/04/27 22:03:56 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ath/if_ath.c,v 1.182 2008/04/30 17:00:32 sam Exp $"); /* * Driver for the Atheros Wireless LAN controller. @@ -6302,16 +6302,6 @@ } else ath_stop_locked(ifp); break; - case SIOCADDMULTI: - case SIOCDELMULTI: - /* - * The upper layer has already installed/removed - * the multicast address(es), just recalculate the - * multicast filter for the card. - */ - if (ifp->if_drv_flags & IFF_DRV_RUNNING) - ath_mode_init(sc); - break; case SIOCGIFMEDIA: case SIOCSIFMEDIA: error = ifmedia_ioctl(ifp, ifr, &ic->ic_media, cmd); ==== //depot/projects/vap/sys/dev/bfe/if_bfe.c#7 (text+ko) ==== @@ -26,7 +26,7 @@ #include -__FBSDID("$FreeBSD: src/sys/dev/bfe/if_bfe.c,v 1.44 2008/01/29 02:15:11 yongari Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/bfe/if_bfe.c,v 1.45 2008/04/30 02:49:24 yongari Exp $"); #include #include @@ -646,16 +646,18 @@ struct bfe_desc *d; struct bfe_data *r; u_int32_t ctrl; - int error; + int allocated, error; if ((c < 0) || (c >= BFE_RX_LIST_CNT)) return (EINVAL); + allocated = 0; if(m == NULL) { m = m_getcl(M_DONTWAIT, MT_DATA, M_PKTHDR); if(m == NULL) return (ENOBUFS); m->m_len = m->m_pkthdr.len = MCLBYTES; + allocated++; } else m->m_data = m->m_ext.ext_buf; @@ -670,8 +672,14 @@ r = &sc->bfe_rx_ring[c]; error = bus_dmamap_load(sc->bfe_tag, r->bfe_map, mtod(m, void *), MCLBYTES, bfe_dma_map_desc, d, BUS_DMA_NOWAIT); - if (error) - printf("Serious error: bfe failed to map RX buffer\n"); + if (error != 0) { + if (allocated != 0) + m_free(m); + if (error != ENOMEM) + printf("bfe%d: failed to map RX buffer, error %d\n", + sc->bfe_unit, error); + return (ENOBUFS); + } bus_dmamap_sync(sc->bfe_tag, r->bfe_map, BUS_DMASYNC_PREWRITE); ctrl = ETHER_MAX_LEN + 32; ==== //depot/projects/vap/sys/dev/iwn/if_iwn.c#15 (text+kox) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/iwn/if_iwn.c,v 1.2 2008/04/29 21:43:16 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/iwn/if_iwn.c,v 1.3 2008/04/30 00:11:08 sam Exp $"); #include #include @@ -2889,14 +2889,14 @@ /* XXX all wrong */ /* compute remaining time until next beacon */ val = (uint64_t)ni->ni_intval * 1024; /* msecs -> usecs */ - DPRINTF(sc, IWN_DEBUG_ANY, "%s: val = %llu %s\n", __func__, + DPRINTF(sc, IWN_DEBUG_ANY, "%s: val = %ju %s\n", __func__, val, val == 0 ? "correcting" : ""); if (val == 0) val = 1; mod = le64toh(tsf.tstamp) % val; tsf.binitval = htole32((uint32_t)(val - mod)); - DPRINTF(sc, IWN_DEBUG_RESET, "TSF bintval=%u tstamp=%llu, init=%u\n", + DPRINTF(sc, IWN_DEBUG_RESET, "TSF bintval=%u tstamp=%ju, init=%u\n", ni->ni_intval, le64toh(tsf.tstamp), (uint32_t)(val - mod)); if (iwn_cmd(sc, IWN_CMD_TSF, &tsf, sizeof tsf, 1) != 0) ==== //depot/projects/vap/sys/kern/kern_kthread.c#6 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/kern/kern_kthread.c,v 1.45 2008/03/19 06:19:00 jeff Exp $"); +__FBSDID("$FreeBSD: src/sys/kern/kern_kthread.c,v 1.46 2008/04/29 22:43:15 julian Exp $"); #include #include @@ -403,7 +403,8 @@ if (error) return (error); td = FIRST_THREAD_IN_PROC(*procptr); - *tdptr = td; + if (tdptr) + *tdptr = td; va_start(ap, fmt); vsnprintf(td->td_name, sizeof(td->td_name), fmt, ap); va_end(ap); ==== //depot/projects/vap/sys/mips/include/pmap.h#3 (text+ko) ==== @@ -40,7 +40,7 @@ * from: @(#)pmap.h 7.4 (Berkeley) 5/12/91 * from: src/sys/i386/include/pmap.h,v 1.65.2.2 2000/11/30 01:54:42 peter * JNPR: pmap.h,v 1.7.2.1 2007/09/10 07:44:12 girish - * $FreeBSD: src/sys/mips/include/pmap.h,v 1.2 2008/04/27 00:10:45 alc Exp $ + * $FreeBSD: src/sys/mips/include/pmap.h,v 1.3 2008/04/30 06:05:36 alc Exp $ */ #ifndef _MACHINE_PMAP_H_ @@ -92,7 +92,6 @@ pd_entry_t *pm_segtab; /* KVA of segment table */ TAILQ_HEAD(, pv_entry)pm_pvlist; /* list of mappings in * pmap */ - int pm_count; /* reference count */ int pm_active; /* active on cpus */ struct { u_int32_t asid:ASID_BITS; /* TLB address space tag */ ==== //depot/projects/vap/sys/net80211/ieee80211.c#41 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/net80211/ieee80211.c,v 1.47 2008/04/25 19:45:42 sam Exp $"); +__FBSDID("$FreeBSD: src/sys/net80211/ieee80211.c,v 1.48 2008/04/30 16:05:57 sam Exp $"); /* * IEEE 802.11 generic handler @@ -379,8 +379,11 @@ * Enable various functionality by default if we're * capable; the driver can override us if it knows better. */ +#if 0 + /* XXX temp disable until we resolve regressions */ if (vap->iv_caps & IEEE80211_C_WME) vap->iv_flags |= IEEE80211_F_WME; +#endif if (vap->iv_caps & IEEE80211_C_BURST) vap->iv_flags |= IEEE80211_F_BURST; if (vap->iv_caps & IEEE80211_C_FF) ==== //depot/projects/vap/tools/tools/net80211/README#3 (text+ko) ==== @@ -1,14 +1,16 @@ -$FreeBSD: src/tools/tools/net80211/README,v 1.3 2007/07/28 00:18:23 thompsa Exp $ +$FreeBSD: src/tools/tools/net80211/README,v 1.4 2008/04/29 22:05:26 rpaulo Exp $ This directory has various tools for use with the net80211 layer. Some may not work depending on the capabilities of the underyling wireless driver. Everything should work with ath. +scripts various scripts to test wireless configurations stumbler view nearby networks using raw packet interface w00t variety of programs that use the raw packet interface wesside WEP frag attack tool using raw packet interface wlaninject inject 802.11 packets using the raw packet interface wlanstats dump net80211 statistics wlanwatch monitor net80211 events via the routing socket +wlanwds handling of WDS dynamic links using vaps The raw packet tools are from Andrea Bittau . ==== //depot/projects/vap/tools/tools/net80211/scripts/setup.dfs#3 (text+ko) ==== @@ -1,9 +1,9 @@ #! /bin/sh # -# Scrip for testing DFS; setup an AP vap on a DFS channel +# Script for testing DFS; setup an AP vap on a DFS channel # then simulate a radar event and verify operation. # -# $FreeBSD$ +# $FreeBSD: src/tools/tools/net80211/scripts/setup.dfs,v 1.2 2008/04/29 22:02:27 rpaulo Exp $ # PATH=.:$PATH . config