VM doesn't get IP with VXLAN and OpenvSwitch

asked 2016-06-09 06:37:38 -0600

Kiruthiga gravatar image

updated 2016-06-09 06:38:20 -0600

Hi everyone,

I have OpenStack Kilo three node set up. The set up was working fine with VXLAN tunnel and OVS version 2.3.1 But now, we have changed the OVS to v2.4.90 to support Service Function Chaining via NSH.

The changes were only made in neutron plugin.ini file as mentioned in the document http://www.qlogic.com/solutions/Documents/UsersGuide_OpenStack_VXLAN.pdf (http://www.qlogic.com/solutions/Docum...)

The OVS version 2.4.90 is pulled from the repo https://github.com/pritesh/ovs/tree/nsh-v8 (https://github.com/pritesh/ovs/tree/n...)

After switching to OVS 2.4.90, the instances created are not getting IP address from DHCP.

By checking tcpdump of tap device, we could see that the dhcp request from VM are reaching the neutron and compute nodes. We can also view the response from DHCP agent (on neutron node) and same can be viewed on physical NIC of compute host. Though the requests are not reaching the br-tun of compute node. We verified the above statement by mirroring the traffic on interface 'vxlan-0a00180c' of br-tun bridge. We were able to view the request for DHCP from host VM but can't see the response.

ovs-vsctl show on neutron:

d9bbdebf-4fdf-4c8f-b23c-d2145b3dedc5
    Bridge br-tun
        fail_mode: secure
        Port "vxlan-0a00180c"
            Interface "vxlan-0a00180c"
                type: vxlan
                options: {df_default="true", in_key=flow, local_ip="10.0.24.10", out_key=flow, remote_ip="10.0.24.12"}
        Port patch-int
            Interface patch-int
                type: patch
                options: {peer=patch-tun}
        Port br-tun
            Interface br-tun
                type: internal
    Bridge br-ex
        Port br-ex
            Interface br-ex
                type: internal
        Port "enp4s0f0"
            Interface "enp4s0f0"
        Port phy-br-ex
            Interface phy-br-ex
                type: patch
                options: {peer=int-br-ex}
    Bridge br-int
        fail_mode: secure
        Port patch-tun
            Interface patch-tun
                type: patch
                options: {peer=patch-int}
        Port "tap9cbefa2c-a7"
            tag: 1
            Interface "tap9cbefa2c-a7"
                type: internal
        Port "qg-b1bccf97-22"
            tag: 2
            Interface "qg-b1bccf97-22"
                type: internal
        Port int-br-ex
            Interface int-br-ex
                type: patch
                options: {peer=phy-br-ex}
        Port br-int
            Interface br-int
                type: internal
        Port "qr-a709cc96-12"
            tag: 1
            Interface "qr-a709cc96-12"
                type: internal
    ovs_version: "2.4.90"

ovs-vsctl show on compute:

299560f0-1f08-4900-a2fd-ae6ec25d3d1a
    Bridge br-tun
        fail_mode: secure
        Port "vxlan-0a00180a"
            Interface "vxlan-0a00180a"
                type: vxlan
                options: {df_default="true", in_key=flow, local_ip="10.0.24.12", out_key=flow, remote_ip="10.0.24.10"}
        Port br-tun
            Interface br-tun
                type: internal
        Port patch-int
            Interface patch-int
                type: patch
                options: {peer=patch-tun}
    Bridge br-int
        fail_mode: secure
        Port "qvobba9bbf8-8b"
            tag: 1
            Interface "qvobba9bbf8-8b"
        Port "qvo030dae38-70"
            tag: 1
            Interface "qvo030dae38-70"
        Port "qvobfd22730-65"
            tag: 1
            Interface "qvobfd22730-65"
        Port br-int
            Interface br-int
                type: internal
        Port patch-tun
            Interface patch-tun
                type: patch
                options: {peer=patch-int}
    ovs_version: "2.4.90"

Any information regarding VXLAN with OVS set up would be of great help.

Thanks in advance.

Regards, Kiruthiga

edit retag flag offensive close merge delete