Ask Your Question
0

Flow doesn't get pushed to the switch

asked 2015-07-22 13:53:38 -0700

dipayan102 gravatar image

Hi!

I am using ODL-Lithium with mininet. I create a topology consisting of 5 switches connected to each other using the following command :- sudo mn --custom ~/simpletopo.py --topo simpletopo --controller=remote,ip=192.168.56.101,port=6653 --mac --switch ovsk,protocols=OpenFlow13

I start ODL using the following command :- ./distribution-karaf-0.3.0-Lithium/bin/karaf -of13

I have installed the following features in ODL:- opendaylight-user@root>feature:install odl-openflowplugin-flow-services-rest opendaylight-user@root>feature:install odl-dlux-all opendaylight-user@root>feature:install odl-l2switch-switch

I have been trying to push some flows to the switches using RESTCONF api by issuing PUT request from Python to the following URL :-

http://localhost:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:4/table/1/flow/19

I pushed the following flow (of course, I sent it in JSON format from python) :-

<flow><id>19</id><instructions><instruction><order>0</order><apply-actions><action><order>0</order><output-action><output-node-connector>1</output-node-connector><max-length>60</max-length></output-action></action></apply-actions></instruction></instructions><hard-timeout>12</hard-timeout><match><ip-match><ip-proto>ipv4</ip-proto></ip-match><in-port>5</in-port><ethernet-match><ethernet-type><type>2048</type></ethernet-type></ethernet-match><ipv4-destination>10.0.0.0/8</ipv4-destination><ipv4-source>10.0.0.0/8</ipv4-source></match><flow-name>DipayanPath191</flow-name><strict>false</strict><table_id>1</table_id><idle-timeout>34</idle-timeout><barrier>false</barrier><cookie>5</cookie><cookie_mask>255</cookie_mask><priority>500</priority><installhw>true</installhw></flow>

Using the above flow, I want to forward any traffic with destination and source as 10.0.0.0/8 into port 5 of the switch to port 1. The name of the switch is openflow:4.

After sending the above PUT request, the flow is created in the config store, however the same is neither visible in the operational store or in the switch (I used "ovs-ofctl -O OpenFlow13 dump-flows s4")

I have been stuck with this problem for quite a while now and have scoured through almost all related issues in this forum, but haven't found a solution. Any help in this regard will be highly and deeply appreciated!!

Thanks.

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted
0

answered 2015-07-23 00:52:46 -0700

Vishal Thapar gravatar image

Not enough information to troubleshoot, but I'd start with following:

  1. Check ODL logs. Does it show any exceptions?
  2. Capture Openflow traffic between ODL and OVS and see if ODL is trying to push flow or not. If yes, is OVS returning any error?
edit flag offensive delete publish link more

Comments

Hi! I got the flow installed in switches just by changing the "ip-proto" parameter to "ip-protocol" and assigning '6' to it. This is weird. Anyways, I got it working. Thanks a lot for your help. :)

dipayan102 ( 2015-07-23 09:55:52 -0700 )edit
Login/Signup to Answer

Question Tools

Follow
2 followers

Stats

Asked: 2015-07-22 13:53:38 -0700

Seen: 295 times

Last updated: Jul 23 '15

Related questions