Guys,

I am struggling with VXLan setup with VPP.
On Linux it's no problem ... 

Container 1
        sudo ip addr add 172.16.1.2/24 dev veth_link1
        sudo ip link set dev veth_link1 up
        sudo ip link add vxlan0 type vxlan id 42 remote 172.16.1.3 dev 
veth_link1
        sudo ip addr add 192.168.1.2 dev vxlan0
        sudo ip link set dev vxlan0 up

Container 2
        sudo ip addr add 172.16.1.3/24 dev veth_link1
        sudo ip link set dev veth_link1 up
        sudo ip link add vxlan0 type vxlan id 42 remote 172.16.1.2 dev 
veth_link1
        sudo ip addr add 192.168.1.3 dev vxlan0
        sudo ip link set dev vxlan0 up

Container 1 and 2 are connected on the host with a VPP l2 bridge. 
All works fine I can ping from between 172.16.1.2 and 172.16.1.3, 192.168.1.2 
and 192.168.1.3.

However when I reconfigure Container 2 to use VPP, as follows.
(delete vxlan0, ip assignments to Linux before I start).

        create host-interface name veth_link1
        set interface ip address host-veth_link1 172.16.1.3/24
        set interface state host-veth_link1 up

At this point, I can ping between 172.16.1.2 and 172.16.1.3.
Still all works fine ... I then create the vxlan tunnel and then bridge

        create vxlan tunnel src 172.16.1.3 dst 172.16.1.2 vni 42
        set interface l2 bridge host-veth_link1 100
        set interface l2 bridge vxlan_tunnel0 100

However when after I create the vxlan tunnel and add it to the a bridge.
Pings in 172.16.1.0/24  stop and I get the following 

vagrant@ctwo:~$ sudo tcpdump -i veth_link1 -n
tcpdump: WARNING: veth_link1: no IPv4 address assigned
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on veth_link1, link-type EN10MB (Ethernet), capture size 65535 bytes
18:14:31.942718 ARP, Request who-has 172.16.1.3 tell 172.16.1.2, length 28
18:14:31.943169 IP 172.16.1.3.28173 > 172.16.1.2.4789: VXLAN, flags [I] (0x08), 
vni 42
ARP, Request who-has 172.16.1.3 tell 172.16.1.2, length 28
18:14:32.940710 ARP, Request who-has 172.16.1.3 tell 172.16.1.2, length 28
18:14:32.941011 IP 172.16.1.3.28173 > 172.16.1.2.4789: VXLAN, flags [I] (0x08), 
vni 42
ARP, Request who-has 172.16.1.3 tell 172.16.1.2, length 28

Container 2's ICMP requests for who has 172.16.1.2, are getting encapsulated as 
VXLAN.
So Container 1 never responds as owning 172.16.1.2.

172.16.1.2 and 172.16.1.3  should be my VTEPs.
I should be able to ping back and forth between them without encapsulation.

Suspect I am making a simple mistake in my setup, can someone provide guidance. 

Ray K


_______________________________________________
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Reply via email to