From owner-svn-src-projects@FreeBSD.ORG Wed Jul 1 10:15:04 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8890A1065673; Wed, 1 Jul 2009 10:15:04 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 762658FC1D; Wed, 1 Jul 2009 10:15:04 +0000 (UTC) (envelope-from rpaulo@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n61AF4r6009766; Wed, 1 Jul 2009 10:15:04 GMT (envelope-from rpaulo@svn.freebsd.org) Received: (from rpaulo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n61AF407009759; Wed, 1 Jul 2009 10:15:04 GMT (envelope-from rpaulo@svn.freebsd.org) Message-Id: <200907011015.n61AF407009759@svn.freebsd.org> From: Rui Paulo Date: Wed, 1 Jul 2009 10:15:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r195233 - in projects/mesh11s/tools/tools/net80211/scripts: . mesh X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jul 2009 10:15:04 -0000 Author: rpaulo Date: Wed Jul 1 10:15:04 2009 New Revision: 195233 URL: http://svn.freebsd.org/changeset/base/195233 Log: Add setup scripts for mesh networks. Sponsored by: The FreeBSD Foundation Added: projects/mesh11s/tools/tools/net80211/scripts/mesh/ projects/mesh11s/tools/tools/net80211/scripts/mesh/common projects/mesh11s/tools/tools/net80211/scripts/mesh/config.mesh projects/mesh11s/tools/tools/net80211/scripts/mesh/setup.simple projects/mesh11s/tools/tools/net80211/scripts/mesh/topology.line projects/mesh11s/tools/tools/net80211/scripts/mesh/topology.ring projects/mesh11s/tools/tools/net80211/scripts/mesh/topology.star projects/mesh11s/tools/tools/net80211/scripts/mesh/topology.tree Modified: projects/mesh11s/tools/tools/net80211/scripts/config Modified: projects/mesh11s/tools/tools/net80211/scripts/config ============================================================================== --- projects/mesh11s/tools/tools/net80211/scripts/config Wed Jul 1 08:43:05 2009 (r195232) +++ projects/mesh11s/tools/tools/net80211/scripts/config Wed Jul 1 10:15:04 2009 (r195233) @@ -39,8 +39,8 @@ test -z "$WIRELESS" && { echo "No wirele # fixed channel #CHANNEL=${1:-36:a} #CHANNEL=${1:-36:ht/20} -CHANNEL=${1:-36} -#CHANNEL=${1:-6:g} +#CHANNEL=${1:-36} +CHANNEL=${1:-6:g} #CHANNEL=${1:-6:b} # default WPA passphrase @@ -49,6 +49,9 @@ test -z "$WPA_PASSPHRASE" && WPA_PASSPHR # default ssid for ap vaps test -z "$SSID" && SSID=freebsd-ap +# default meshid for mesh vaps +test -z "$MESHID" && MESHID=freebsd-mesh + # directory to create files like hostapd.conf test -z "$TMPDIR" && TMPDIR=. Added: projects/mesh11s/tools/tools/net80211/scripts/mesh/common ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/mesh11s/tools/tools/net80211/scripts/mesh/common Wed Jul 1 10:15:04 2009 (r195233) @@ -0,0 +1,13 @@ +#! /bin/sh +# +# Common setup. +# +# $FreeBSD$ +# +PATH=../:.:$PATH +. config +. config.mesh + +WLAN=`ifconfig wlan create wlanmode mesh wlandev $WIRELESS` +ifconfig $WLAN meshid $MESHID channel $CHANNEL mtu 1500 +wlandebug -i $WLAN mesh+hwmp+state+scan+assoc Added: projects/mesh11s/tools/tools/net80211/scripts/mesh/config.mesh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/mesh11s/tools/tools/net80211/scripts/mesh/config.mesh Wed Jul 1 10:15:04 2009 (r195233) @@ -0,0 +1,17 @@ +# +# Common configuration settings for mesh test scripts. +# +# $FreeBSD$ +# + +NODE1_IP=10.0.1.100 +NODE2_IP=10.0.1.101 +NODE3_IP=10.0.1.102 +NODE4_IP=10.0.1.103 +NODE5_IP=10.0.1.104 + +NODE1_MAC=00:0b:6b:2d:dc:d8 +NODE2_MAC=00:0b:6b:2d:db:ac +NODE3_MAC=00:0b:6b:2d:dd:17 +NODE4_MAC=00:0b:6b:87:1c:f0 +NODE5_MAC=00:14:a5:33:33:a7 Added: projects/mesh11s/tools/tools/net80211/scripts/mesh/setup.simple ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/mesh11s/tools/tools/net80211/scripts/mesh/setup.simple Wed Jul 1 10:15:04 2009 (r195233) @@ -0,0 +1,13 @@ +#! /bin/sh +# +# Script for creating a simple Mesh Point. +# Topology is fully connected if every node is a neighbor of each other. +# +# $FreeBSD$ +# +PATH=../:.:$PATH +. config +. config.mesh + +. common +ifconfig $WLAN up Added: projects/mesh11s/tools/tools/net80211/scripts/mesh/topology.line ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/mesh11s/tools/tools/net80211/scripts/mesh/topology.line Wed Jul 1 10:15:04 2009 (r195233) @@ -0,0 +1,38 @@ +#! /bin/sh +# +# Script for creating a mesh in line topology. +# +# node1 <-> node2 <-> node3 <-> node4 <-> node5 +# +# $FreeBSD$ +# +PATH=../:.:$PATH +. config +. config.mesh + +. common +ifconfig $WLAN mac:allow +MAC=`ifconfig $WLAN | grep ether | awk '{ print $2 }'` +case $MAC in + $NODE1_MAC) + ifconfig $WLAN inet $NODE1_IP + ifconfig $WLAN mac:add $NODE2_MAC + ;; + $NODE2_MAC) + ifconfig $WLAN inet $NODE2_IP + ifconfig $WLAN mac:add $NODE1_MAC mac:add $NODE3_MAC + ;; + $NODE3_MAC) + ifconfig $WLAN inet $NODE3_IP + ifconfig $WLAN mac:add $NODE2_MAC mac:add $NODE4_MAC + ;; + $NODE4_MAC) + ifconfig $WLAN inet $NODE4_IP + ifconfig $WLAN mac:add $NODE3_MAC mac:add $NODE5_MAC + ;; + $NODE5_MAC) + ifconfig $WLAN inet $NODE5_IP + ifconfig $WLAN mac:add $NODE4_MAC + ;; +esac +ifconfig $WLAN up Added: projects/mesh11s/tools/tools/net80211/scripts/mesh/topology.ring ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/mesh11s/tools/tools/net80211/scripts/mesh/topology.ring Wed Jul 1 10:15:04 2009 (r195233) @@ -0,0 +1,40 @@ +#! /bin/sh +# +# Script for creating a mesh in ring topology. +# +# node1 - node2 - node3 - node4 - node5 +# ^ | +# \------------------------------- +# +# $FreeBSD$ +# +PATH=../:.:$PATH +. config +. config.mesh + +. common +ifconfig $WLAN mac:allow +MAC=`ifconfig $WLAN | grep ether | awk '{ print $2 }'` +case $MAC in + $NODE1_MAC) + ifconfig $WLAN inet $NODE1_IP + ifconfig $WLAN mac:add $NODE2_MAC mac:add $NODE5_MAC + ;; + $NODE2_MAC) + ifconfig $WLAN inet $NODE2_IP + ifconfig $WLAN mac:add $NODE1_MAC mac:add $NODE3_MAC + ;; + $NODE3_MAC) + ifconfig $WLAN inet $NODE3_IP + ifconfig $WLAN mac:add $NODE2_MAC mac:add $NODE4_MAC + ;; + $NODE4_MAC) + ifconfig $WLAN inet $NODE4_IP + ifconfig $WLAN mac:add $NODE3_MAC mac:add $NODE5_MAC + ;; + $NODE5_MAC) + ifconfig $WLAN inet $NODE5_IP + ifconfig $WLAN mac:add $NODE1_MAC mac:add $NODE4_MAC + ;; +esac +ifconfig $WLAN up Added: projects/mesh11s/tools/tools/net80211/scripts/mesh/topology.star ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/mesh11s/tools/tools/net80211/scripts/mesh/topology.star Wed Jul 1 10:15:04 2009 (r195233) @@ -0,0 +1,38 @@ +#! /bin/sh +# +# Script for creating a mesh in star topology. +# Node 3 will be the center. +# +# $FreeBSD$ +# +PATH=../:.:$PATH +. config +. config.mesh + +. common +ifconfig $WLAN mac:allow +MAC=`ifconfig $WLAN | grep ether | awk '{ print $2 }'` +case $MAC in + $NODE1_MAC) + ifconfig $WLAN inet $NODE1_IP + ifconfig $WLAN mac:add $NODE3_MAC + ;; + $NODE2_MAC) + ifconfig $WLAN inet $NODE2_IP + ifconfig $WLAN mac:add $NODE3_MAC + ;; + $NODE3_MAC) + ifconfig $WLAN inet $NODE3_IP + ifconfig $WLAN mac:add $NODE1_MAC mac:add $NODE2_MAC mac:add \ + $NODE4_MAC mac:add $NODE5_MAC + ;; + $NODE4_MAC) + ifconfig $WLAN inet $NODE4_IP + ifconfig $WLAN mac:add $NODE3_MAC + ;; + $NODE5_MAC) + ifconfig $WLAN inet $NODE5_IP + ifconfig $WLAN mac:add $NODE3_MAC + ;; +esac +ifconfig $WLAN up Added: projects/mesh11s/tools/tools/net80211/scripts/mesh/topology.tree ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/mesh11s/tools/tools/net80211/scripts/mesh/topology.tree Wed Jul 1 10:15:04 2009 (r195233) @@ -0,0 +1,47 @@ +#! /bin/sh +# +# Script for creating a mesh in tree (hirearchical) topology. +# +# node1 +# ^ +# | +# / \ +# v v +# node2 node3 +# ^ ^ +# | | +# v v +# node4 node5 +# +# $FreeBSD$ +# +PATH=../:.:$PATH +. config +. config.mesh + +. common +ifconfig $WLAN mac:allow +MAC=`ifconfig $WLAN | grep ether | awk '{ print $2 }'` +case $MAC in + $NODE1_MAC) + ifconfig $WLAN inet $NODE1_IP + ifconfig $WLAN mac:add $NODE2_MAC mac:add $NODE3_MAC + ;; + $NODE2_MAC) + ifconfig $WLAN inet $NODE2_IP + ifconfig $WLAN mac:add $NODE1_MAC mac:add $NODE4_MAC + ;; + $NODE3_MAC) + ifconfig $WLAN inet $NODE3_IP + ifconfig $WLAN mac:add $NODE1_MAC mac:add $NODE5_MAC + ;; + $NODE4_MAC) + ifconfig $WLAN inet $NODE4_IP + ifconfig $WLAN mac:add $NODE2_MAC + ;; + $NODE5_MAC) + ifconfig $WLAN inet $NODE5_IP + ifconfig $WLAN mac:add $NODE3_MAC + ;; +esac +ifconfig $WLAN up