[OPNFLWPLUG-147] Unable to push flows to OVS via RESTCONF Created: 01/May/14  Updated: 27/Sep/21  Resolved: 22/May/14

Status: Resolved
Project: OpenFlowPlugin
Component/s: General
Affects Version/s: None
Fix Version/s: None

Type: Bug
Reporter: Christopher O'Shea Assignee: Unassigned
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: Mac OS
Platform: PC


External issue ID: 936

 Description   

Since the new Datastore was made default unable to push flows to OVS.

Start mininet
sudo mn --controller=remote,ip=192.168.68.1 --topo tree,2 --switch ovsk,protocols=OpenFlow13

Push flow via RESTConf. http://127.0.0.1:8080/restconf/config/opendaylight-inventory:nodes/node/openflow:1/table/2/flow/124

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<flow xmlns="urn:opendaylight:flow:inventory">
<strict>false</strict>
<instructions>
<instruction>
<order>0</order>
<apply-actions>
<action>
<order>0</order>
<dec-nw-ttl/>
</action>
</apply-actions>
</instruction>
</instructions>
<table_id>2</table_id>
<id>124</id>
<cookie_mask>255</cookie_mask>
<installHw>true</installHw>
<match>
<ethernet-match>
<ethernet-type>
<type>2048</type>
</ethernet-type>
</ethernet-match>
<ipv4-destination>10.0.1.0/24</ipv4-destination>
</match>
<hard-timeout>120</hard-timeout>
<flags>FlowModFlags [_cHECKOVERLAP=false, _rESETCOUNTS=false, _nOPKTCOUNTS=false, _nOBYTCOUNTS=false, _sENDFLOWREM=false]</flags>
<cookie>1</cookie>
<idle-timeout>34</idle-timeout>
<flow-name>FooXf1</flow-name>
<priority>2</priority>
<barrier>false</barrier>
</flow>

Can see flow via RESTConf
http://127.0.0.1:8080/restconf/config/opendaylight-inventory:nodes/node/openflow:1/table/2/flow/124

But when checking out the flows in OVS i'm unable to see the flow
mininet> dpctl dump-flows -O OpenFlow13

      • s1 ------------------------------------------------------------------------
        OFPST_FLOW reply (OF1.3) (xid=0x2):
      • s2 ------------------------------------------------------------------------
        OFPST_FLOW reply (OF1.3) (xid=0x2):
      • s3 ------------------------------------------------------------------------
        OFPST_FLOW reply (OF1.3) (xid=0x2):
        mininet>


 Comments   
Comment by Christopher O'Shea [ 02/May/14 ]

Actually that flow is pushed correctly, The flow that fails is

PUT http://127.0.0.1:8080/restconf/config/opendaylight-inventory:nodes/node/openflow:1/table/2/flow/128

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<flow xmlns="urn:opendaylight:flow:inventory">
<strict>false</strict>
<instructions>
<instruction>
<order>0</order>
<apply-actions>
<action>
<order>0</order>
<dec-mpls-ttl/>
</action>
</apply-actions>
</instruction>
</instructions>
<table_id>2</table_id>
<id>128</id>
<cookie_mask>255</cookie_mask>
<match>
<ethernet-match>
<ethernet-type>
<type>2048</type>
</ethernet-type>
<ethernet-destination>
<address>ff:ff:ff:ff:ff:ff</address>
</ethernet-destination>
<ethernet-source>
<address>00:00:00:00:23:ae</address>
</ethernet-source>
</ethernet-match>
<ipv4-source>10.1.2.0/24</ipv4-source>
<ipv4-destination>20.4.0.0/16</ipv4-destination>
<in-port>0</in-port>
</match>
<hard-timeout>12</hard-timeout>
<flags>FlowModFlags [_cHECKOVERLAP=false, _rESETCOUNTS=false, _nOPKTCOUNTS=false, _nOBYTCOUNTS=false, _sENDFLOWREM=false]</flags>
<cookie>5</cookie>
<idle-timeout>34</idle-timeout>
<flow-name>FooXf5</flow-name>
<priority>2</priority>
<barrier>false</barrier>
</flow>

Comment by Kamal Rameshan [ 02/May/14 ]

Tried to add a flow via the following url. Works fine.

http://localhost:8080/controller/nb/v2/flowprogrammer/default/node/MD_SAL/openflow:1/staticFlow/flow109

But update of the flow fails, which is the same as old OPNFLWPLUG-15 (i am working on this one)

Comment by Christopher O'Shea [ 06/May/14 ]

Only affect XML files with the action "dec-nw-tll"

Comment by Christopher O'Shea [ 22/May/14 ]

Looks like OVS 2.1.0 and above check thats if the Ethernet type is anything other than MPLS ethernet type.

Once changed Ethernet Type to 34887 it works.

Generated at Wed Feb 07 20:31:40 UTC 2024 using Jira 8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d.