Message ID | 1462960015-6833-1-git-send-email-aar@pengutronix.de (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
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 -- To unsubscribe from this list: send the line "unsubscribe linux-wpan" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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.
Signed-off-by: Alexander Aring <aar@pengutronix.de> --- website/index.txt | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-)