Ask Your Question
0

How to make ODL create vxlan tunnel?

asked 2015-12-20 07:00:26 -0700

chenshuai789 gravatar image

Hi everyone, I am working on Opendaylight Lithium SR3 integrated with OpenStack liberty on Ubuntu14.04, my environment is 3 controllers in HA mode and 2 computes and ODL are deployed as cluster mode on the same machines as 3 controllers.

I set openstack manage network, openstack storage network and openstack external network on the same NIC, of course manage network and storage network go through different vlan. openstack external network is created by openvswitch.

tenantnetworktype is vxlan, so openvswitch has three bridge, br-tun for vxlan, br-int, br-ex for external.

due to odl official document, I removed ovs conf db, also I recover br-ex for external network, but odl doesn't create vxlan channel to each node. so that the instances could not ping to each other.

I thought this should be about features I installed, my initial features are config,standard,region,package,kar,ssh,management,odl-base-all,odl-restconf,odl-ovsdb-openstack,odl-dlux-all,odl-mdsal-apidocs, later I have tried odl-l2switch-switch-ui and odl-openflowplugin-flow-service-ui, and still doesn't work.

could anyone tell me what I should configure?

btw, I refer https://wiki.opendaylight.org/view/Ru...andtestinganOpenDaylight_Cluster to set odl as cluster mode? is it correct?

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted
0

answered 2015-12-29 17:51:37 -0700

nevalosa gravatar image

You can try with ODL OVSDB northbound API. I have tried with below steps:

  • Install features.(I'm not sure all of these are required)

    feature:install odl-l2switch-all odl-ovsdb-all odl-base-all odl-aaa-authn odl-restconf-all odl-nsf-all odl-adsal-northbound odl-mdsal-apidocs odl-dlux-all

    feature:install odl-ovsdb-southbound-api odl-ovsdb-southbound-impl odl-ovsdb-southbound-impl-rest odl-ovsdb-southbound-impl-ui odl-openflowplugin-all-li odl-openflowplugin-adsal-compatibility-all


  • Connect OVS to Controller.
  • Try to get OVS nodes by Rest API with POSTMAN. > http://172.171.2.156:8282/ovsdb/nb/v3...
  • Create tunnel bridge, port, interface.

    Crete Bridge POST: http://172.171.2.156:8282/ovsdb/nb/v2...

    BODY: { "row": { "Bridge": { "name": "s1" } } }

    Create Port POST: http://172.171.2.156:8282/ovsdb/nb/v2...

    BODY: { "parent_uuid":"4d2742b0-e5d8-4228-8c56-4a283f50038e", "row":{ "Port":{ "name":"vtep" } } }

    Create Vxlan Interface Post:

    BODY: { "parent_uuid": "cbe6c477-8561-4fbb-84ae-66949941fe06", "row":{ "Interface":{ "name":"vtep" } } }

  • Update VxLAN Interface.

    PUT: http://172.171.2.156:8282/ovsdb/nb/v2...

    BODY: { "row":{ "Interface":{ "type":"vxlan", "ofportrequest":10, "options": [ "map", [ ["key","flow"], ["localip","192.168.106.130"], ["remote_ip","192.168.106.129"] ] ] } } }


Note: in URL follow v2/node/ for example {OVS/172.171.2.22:57171} is the OVS node. you can replace according to rest response. And UUID part you can refer to OVSDB guide.

edit flag offensive delete publish link more
Login/Signup to Answer

Question Tools

Follow
1 follower

Stats

Asked: 2015-12-20 07:00:26 -0700

Seen: 864 times

Last updated: Dec 29 '15