All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH wpan-misc] website: update testing scripts for netns
@ 2016-05-11  9:46 Alexander Aring
  2016-05-11 15:15 ` Stefan Schmidt
  0 siblings, 1 reply; 2+ messages in thread
From: Alexander Aring @ 2016-05-11  9:46 UTC (permalink / raw)
  To: linux-wpan; +Cc: kernel, Alexander Aring

Signed-off-by: Alexander Aring <aar@pengutronix.de>
---
 website/index.txt | 30 ++++++++++++++++++------------
 1 file changed, 18 insertions(+), 12 deletions(-)

diff --git a/website/index.txt b/website/index.txt
index 65c6b9c..fde4d7d 100644
--- a/website/index.txt
+++ b/website/index.txt
@@ -90,8 +90,13 @@ Setup a 6LowPAN test network
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 Let's assume you want to setup a 6lowpan test network of six nodes.
+Each of them will be created in their own net namespace to avoid
+local IPv6 optimizations. Each netns is named according to the wpan
+interface which available in the net namespace.
 
 ---------------------------------------------------------------------
+#!/bin/sh
+
 # we need some Private Area Network ID
 panid="0xbeef"
 # number of nodes
@@ -102,25 +107,26 @@ numnodes=6
 modprobe fakelb numlbs=$numnodes
 
 # initialize all the nodes
-for i in $(seq 0 $numnodes);
+for i in $(seq 0 `expr $numnodes - 1`);
 do
-	iwpan dev wpan${i} set pan_id 0xbeef
-	ip link wpan${i} name lowpan${i} type lowpan
-	ip link set wpan${i} up
-	ip link set lowpan${i} up
+	ip netns delete wpan${i}
+	ip netns add wpan${i}
+	PHYNUM=`iwpan dev | grep -B 1 wpan${i} | sed -ne '1 s/phy#\([0-9]\)/\1/p'`
+	iwpan phy${PHYNUM} set netns name wpan${i}
+
+	ip netns exec wpan${i} iwpan dev wpan${i} set pan_id 0xbeef
+	ip netns exec wpan${i} ip link add link wpan${i} name lowpan${i} type lowpan
+	ip netns exec wpan${i} ip link set wpan${i} up
+	ip netns exec wpan${i} ip link set lowpan${i} up
 done
 ---------------------------------------------------------------------
 
 Now let us send some data over our network:
 
 ---------------------------------------------------------------------
-wireshark -kSl -i lowpan0 &
-# get the IPv6 address of lowpan1
-lowpan1addr="$(ip addr show lowpan1 | grep inet6 \
-	| sed 's,.*inet6 \([^/]*\).*,\1,')"
-# tell ping6 to ping the IPv6 address of lowpan1 and send it via
-# lowpan0
-ping6 ${lowpan1addr}%lowpan0
+ip netns exec wpan0 wireshark -kSl -i lowpan0 &
+# ping all nodes
+ip netns exec wpan0 ping6 ff02::1%lowpan0
 ---------------------------------------------------------------------
 
 Now watch wireshark and all the nice ICMP packets there.
-- 
2.8.2


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH wpan-misc] website: update testing scripts for netns
  2016-05-11  9:46 [PATCH wpan-misc] website: update testing scripts for netns Alexander Aring
@ 2016-05-11 15:15 ` Stefan Schmidt
  0 siblings, 0 replies; 2+ messages in thread
From: Stefan Schmidt @ 2016-05-11 15:15 UTC (permalink / raw)
  To: Alexander Aring, linux-wpan; +Cc: kernel

Hello.

On 11/05/16 11:46, Alexander Aring wrote:
> Signed-off-by: Alexander Aring <aar@pengutronix.de>
> ---
>   website/index.txt | 30 ++++++++++++++++++------------
>   1 file changed, 18 insertions(+), 12 deletions(-)
>
> diff --git a/website/index.txt b/website/index.txt
> index 65c6b9c..fde4d7d 100644
> --- a/website/index.txt
> +++ b/website/index.txt
> @@ -90,8 +90,13 @@ Setup a 6LowPAN test network
>   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>   
>   Let's assume you want to setup a 6lowpan test network of six nodes.
> +Each of them will be created in their own net namespace to avoid
> +local IPv6 optimizations. Each netns is named according to the wpan
> +interface which available in the net namespace.
>   
>   ---------------------------------------------------------------------
> +#!/bin/sh
> +
>   # we need some Private Area Network ID
>   panid="0xbeef"
>   # number of nodes
> @@ -102,25 +107,26 @@ numnodes=6
>   modprobe fakelb numlbs=$numnodes
>   
>   # initialize all the nodes
> -for i in $(seq 0 $numnodes);
> +for i in $(seq 0 `expr $numnodes - 1`);
>   do
> -	iwpan dev wpan${i} set pan_id 0xbeef
> -	ip link wpan${i} name lowpan${i} type lowpan
> -	ip link set wpan${i} up
> -	ip link set lowpan${i} up
> +	ip netns delete wpan${i}
> +	ip netns add wpan${i}
> +	PHYNUM=`iwpan dev | grep -B 1 wpan${i} | sed -ne '1 s/phy#\([0-9]\)/\1/p'`
> +	iwpan phy${PHYNUM} set netns name wpan${i}
> +
> +	ip netns exec wpan${i} iwpan dev wpan${i} set pan_id 0xbeef
> +	ip netns exec wpan${i} ip link add link wpan${i} name lowpan${i} type lowpan
> +	ip netns exec wpan${i} ip link set wpan${i} up
> +	ip netns exec wpan${i} ip link set lowpan${i} up
>   done
>   ---------------------------------------------------------------------
>   
>   Now let us send some data over our network:
>   
>   ---------------------------------------------------------------------
> -wireshark -kSl -i lowpan0 &
> -# get the IPv6 address of lowpan1
> -lowpan1addr="$(ip addr show lowpan1 | grep inet6 \
> -	| sed 's,.*inet6 \([^/]*\).*,\1,')"
> -# tell ping6 to ping the IPv6 address of lowpan1 and send it via
> -# lowpan0
> -ping6 ${lowpan1addr}%lowpan0
> +ip netns exec wpan0 wireshark -kSl -i lowpan0 &
> +# ping all nodes
> +ip netns exec wpan0 ping6 ff02::1%lowpan0
>   ---------------------------------------------------------------------
>   
>   Now watch wireshark and all the nice ICMP packets there.

Reviewed-by: Stefan Schmidt<stefan@osg.samsung.com>

regards
Stefan Schmidt

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-05-11 15:16 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-11  9:46 [PATCH wpan-misc] website: update testing scripts for netns Alexander Aring
2016-05-11 15:15 ` Stefan Schmidt

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.