svn commit: r195233 - in
projects/mesh11s/tools/tools/net80211/scripts: . mesh
Rui Paulo
rpaulo at FreeBSD.org
Wed Jul 1 10:15:04 UTC 2009
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
More information about the svn-src-projects
mailing list