Ask is moving to Stack Overflow and Serverfault.com! Please use the "opendaylight" tag on either of these sites. This site is now in Read-Only mode

Revision history [back]

click to hide/show revision 1
initial version

VTN doesn't forwarding between switches link.

VTN doesn't forwarding between switches link.

Hi, opendaylight people.

I trying some tutorial by VTN.

Used follow softwares:

  • CentOS7-1503
  • distribution-karaf-0.3.0-Lithium
  • mininet 2.2.1
  • openvswitch-2.1.2-2.el7.centos.1.x86_64

VTN install on karaf, and run the mininet topology. Reference this page (https://wiki.opendaylight.org/view/Release/Lithium/VTN/HowTos/VTNHowToconfigureL2NetworkwithSingleController), and read as VTN Manager instead of VTN Coordinator.

  1. VTN install

install on karaf.

opendaylight-user@root>feature:install odl-vtn-manager-rest
Refreshing bundles org.apache.aries.util (9)
GossipRouter started at Sat Aug 01 04:03:43 JST 2015
Listening on port 12001 bound on address 0.0.0.0/0.0.0.0
Backlog is 1000, linger timeout is 2000, and read timeout is 0
  1. Run mininet

tree topology(3 switches, 4 hosts).

$ sudo mn --topo tree,depth=2
mininet> net
h1 h1-eth0:s2-eth1
h2 h2-eth0:s2-eth2
h3 h3-eth0:s3-eth1
h4 h4-eth0:s3-eth2
s1 lo:  s1-eth1:s2-eth3 s1-eth2:s3-eth3
s2 lo:  s2-eth1:h1-eth0 s2-eth2:h2-eth0 s2-eth3:s1-eth1
s3 lo:  s3-eth1:h3-eth0 s3-eth2:h4-eth0 s3-eth3:s1-eth2
c0
  1. VTN create used the VTN Manager

Call REST API.

$ curl --user "admin":"admin" -H "Accept: application/json" -H "Content-type: application/json" -X POST http://localhost:8282/controller/nb/v2/vtn/default/vtns/Tenant1 -d '{"description": "My First Virtual Tenant Network"}'
$ curl --user "admin":"admin" -H "Accept: application/json" -H "Content-type: application/json" -X POST http://localhost:8282/controller/nb/v2/vtn/default/vtns/Tenant1/vbridges/vBridge1 -d '{}'
$ curl --user "admin":"admin" -H "Accept: application/json" -H "Content-type: application/json" -X POST http://localhost:8282/controller/nb/v2/vtn/default/vtns/Tenant1/vbridges/vBridge1/interfaces/if1 -d '{}'
$ curl --user "admin":"admin" -H "Accept: application/json" -H "Content-type: application/json" -X POST http://localhost:8282/controller/nb/v2/vtn/default/vtns/Tenant1/vbridges/vBridge1/interfaces/if2 -d '{}'
$ curl --user "admin":"admin" -H "Accept: application/json" -H "Content-type: application/json" -X POST http://localhost:8282/controller/nb/v2/vtn/default/vtns/Tenant1/vbridges/vBridge1/interfaces/if3 -d '{}'
$ curl --user "admin":"admin" -H "Accept: application/json" -H "Content-type: application/json" -X POST http://localhost:8282/controller/nb/v2/vtn/default/vtns/Tenant1/vbridges/vBridge1/interfaces/if4 -d '{}'
$ curl --user "admin":"admin" -H "Accept: application/json" -H "Content-type: application/json" -X PUT http://localhost:8282/controller/nb/v2/vtn/default/vtns/Tenant1/vbridges/vBridge1/interfaces/if1/portmap -d '{"node": {"type": "OF", "id": "00:00:00:00:00:00:00:02"}, "port": {"name": "s2-eth1"}}'
$ curl --user "admin":"admin" -H "Accept: application/json" -H "Content-type: application/json" -X PUT http://localhost:8282/controller/nb/v2/vtn/default/vtns/Tenant1/vbridges/vBridge1/interfaces/if2/portmap -d '{"node": {"type": "OF", "id": "00:00:00:00:00:00:00:02"}, "port": {"name": "s2-eth2"}}'
$ curl --user "admin":"admin" -H "Accept: application/json" -H "Content-type: application/json" -X PUT http://localhost:8282/controller/nb/v2/vtn/default/vtns/Tenant1/vbridges/vBridge1/interfaces/if3/portmap -d '{"node": {"type": "OF", "id": "00:00:00:00:00:00:00:03"}, "port": {"name": "s3-eth1"}}'
$ curl --user "admin":"admin" -H "Accept: application/json" -H "Content-type: application/json" -X PUT http://localhost:8282/controller/nb/v2/vtn/default/vtns/Tenant1/vbridges/vBridge1/interfaces/if4/portmap -d '{"node": {"type": "OF", "id": "00:00:00:00:00:00:00:03"}, "port": {"name": "s3-eth2"}}'
  1. ping test and show log karaf

mininet

mininet> pingall
*** Ping: testing ping reachability
h1 -> h2 X X
h2 -> h1 X X
h3 -> X X h4
h4 -> X X h3
*** Results: 66% dropped (4/12 received)

karaf

opendaylight-user@root>log:display -n 2
2015-08-09 21:59:25,596 | ERROR | Runner: VTN Main | VBridgeImpl                      | 398 - org.opendaylight.vtn.manager.implementation - 0.3.0.Lithium | default:vBridge:Tenant1.vBridge1: Path fault: openflow:3 -> openflow:2
2015-08-09 21:59:25,598 | INFO  |  Thread: default | VTNManagerImpl                   | 398 - org.opendaylight.vtn.manager.implementation - 0.3.0.Lithium | default:vBridge:Tenant1.vBridge1: Bridge changed: VBridge[name=vBridge1,ageInterval=600,faults=1,state=DOWN]

As seems as the above, inter-switch link has failed path calculate or discovery.

I think about this inter-switch link is detected by LLDP, and it will can used to the forwarding path.

Also displayed follow, in karaf of the log.

2015-08-09 21:39:41,866 | WARN  | r: VTN Inventory | TopologyListener                 | 398 - org.opendaylight.vtn.manager.implementation - 0.3.0.Lithium | Ignore inter-switch link: openflow:2:3: openflow:2:3 -> openflow:1:1
2015-08-09 21:39:41,868 | WARN  | r: VTN Inventory | TopologyListener                 | 398 - org.opendaylight.vtn.manager.implementation - 0.3.0.Lithium | Ignore inter-switch link: openflow:1:1: openflow:1:1 -> openflow:2:3
2015-08-09 21:39:41,870 | WARN  | r: VTN Inventory | TopologyListener                 | 398 - org.opendaylight.vtn.manager.implementation - 0.3.0.Lithium | Ignore inter-switch link: openflow:3:3: openflow:3:3 -> openflow:1:2
2015-08-09 21:39:41,887 | WARN  | r: VTN Inventory | TopologyListener                 | 398 - org.opendaylight.vtn.manager.implementation - 0.3.0.Lithium | Ignore inter-switch link: openflow:1:2: openflow:1:2 -> openflow:3:3

Only VTN Manager cannot control the inter-switch links ?