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