[ovs-discuss] OVS on planetlab, Create an overlay network

Kouvakas Alexandros questalex at gmail.com
Fri Apr 19 09:12:13 UTC 2013


Hello,

I am trying to create an overlay network with planetlab nodes. The topology
is on the following image.
[image: Ενσωματωμένη εικόνα 1]

The links between the OVS and the hosts are tunnels. Each HOST has a tap
device.
On the OVS I created a bridge with sliver-ovs commands, with the name lan0.
I added the ports host2 and host3. Here is the result of the commnad:
"ovs-vsctl show" on the OVS node.
#####
Bridge "lan0"
        Controller "tcp:147.83.30.167:6633"
        Port "lan0"
            Interface "lan0"
                type: internal
                options: {local_ip="192.168.3.1", local_netmask="24"}
        Port "host3"
            Interface "host3"
                type: tunnel
                options: {remote_ip="192.38.109.144", remote_port="36339"}
        Port "host2"
            Interface "host2"
                type: tunnel
                options: {remote_ip="148.81.140.193", remote_port="36740"}
######

The point-to-point tunnels between the HOSTS and the OVS was created with
the nepi tutorial http://nepi.inria.fr/wiki/nepi/TunnelsPlanetLab .
According to this tutorial, I run the test.py on each node, in order to
have the connection with the OVS node. This is the test.py file I run for
each node:
On host2 :
####
import vsys
import tunchannel
import socket
import os

peer_addr = "147.83.30.167"
peer_port = 51637 # remember to swap the port numbers in the peer node
port = 36740

fd, vif_name = vsys.fd_tuntap(vsys.IFF_TAP)
vsys.vif_up(vif_name, "192.168.3.2", 24, pointopoint="192.168.3.1")
tun = os.fdopen(int(fd), 'r+b', 0)

TERMINATE = []
SUSPEND = []

hostaddr = socket.gethostbyname(socket.gethostname())
r = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, 0)
r.bind((hostaddr, port))
r.connect((peer_addr, peer_port))
remote = os.fdopen(r.fileno(), 'r+b', 0)

tunchannel.tun_fwd(tun, remote,
    with_pi = True,
    ether_mode = False,
    cipher_key = None,
    udp = True,
    TERMINATE = TERMINATE,
    SUSPEND = SUSPEND,
    tunqueue = 1000,
    tunkqueue = 500,
)
####

On host3
####
import vsys
import tunchannel
import socket
import os

peer_addr = "147.83.30.167"
peer_port = 44986 # remember to swap the port numbers in the peer node
port = 36339

fd, vif_name = vsys.fd_tuntap(vsys.IFF_TAP)
vsys.vif_up(vif_name, "192.168.3.3", 24, pointopoint="192.168.3.1")
tun = os.fdopen(int(fd), 'r+b', 0)

TERMINATE = []
SUSPEND = []

hostaddr = socket.gethostbyname(socket.gethostname())
r = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, 0)
r.bind((hostaddr, port))
r.connect((peer_addr, peer_port))
remote = os.fdopen(r.fileno(), 'r+b', 0)

tunchannel.tun_fwd(tun, remote,
    with_pi = True,
    ether_mode = False,
    cipher_key = None,
    udp = True,
    TERMINATE = TERMINATE,
    SUSPEND = SUSPEND,
    tunqueue = 1000,
    tunkqueue = 500,
)
####

So, when I ping from 192.168.3.2 or 192.168.3.3 hosts to 192.168.3.1, the
ping is successful.
But when I ping from HOST2 to HOST3 I don't have replies.
Even when I run the pox controller (l2 learning switch) on OVS I still
don't have pings between the hosts.

Does anybody can help me about this?

Thanks a lot.


-- 
Kouvakas Alexandros
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/ovs-discuss/attachments/20130419/c41ceafa/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Leaf_nodes.png
Type: image/png
Size: 19598 bytes
Desc: not available
URL: <http://openvswitch.org/pipermail/ovs-discuss/attachments/20130419/c41ceafa/attachment-0002.png>


More information about the discuss mailing list