Details
-
Bug
-
Status: Resolved
-
Resolution: Done
-
None
-
None
-
None
-
Operating System: All
Platform: All
-
7335
Description
As far as I can tell this is only happening with Beryllium.
To reproduce:
1) Start controller Beryllium + mininet OVS 2.3+
2) Push the following sample flow:
<flow xmlns="urn:opendaylight:flow:inventory">
<strict>false</strict>
<instructions>
<instruction>
<order>0</order>
<apply-actions>
<action>
<set-field>
<vlan-match>
<vlan-id>
<vlan-id>79</vlan-id>
<vlan-id-present>true</vlan-id-present>
</vlan-id>
</vlan-match>
</set-field>
<order>1</order>
</action>
<action>
<output-action>
<output-node-connector>1</output-node-connector>
</output-action>
<order>2</order>
</action>
</apply-actions>
</instruction>
</instructions>
<table_id>0</table_id>
<id>48</id>
<match>
<ethernet-match>
<ethernet-type>
<type>2048</type>
</ethernet-type>
<ethernet-destination>
<address>FF:FF:29:01:19:61</address>
</ethernet-destination>
<ethernet-source>
<address>00:00:00:11:23:AE</address>
</ethernet-source>
</ethernet-match>
<vlan-match>
<vlan-id>
<vlan-id>78</vlan-id>
<vlan-id-present>true</vlan-id-present>
</vlan-id>
<vlan-pcp>7</vlan-pcp>
</vlan-match>
<in-port>openflow:1:1</in-port>
</match>
<flow-name>vlan_flow</flow-name>
<priority>2</priority>
</flow>
2) Then update the flow removing the vlan-match (it will fail in ovs 2.3+):
<flow xmlns="urn:opendaylight:flow:inventory">
<strict>false</strict>
<instructions>
<instruction>
<order>0</order>
<apply-actions>
<action>
<set-field>
<vlan-match>
<vlan-id>
<vlan-id>79</vlan-id>
<vlan-id-present>true</vlan-id-present>
</vlan-id>
</vlan-match>
</set-field>
<order>1</order>
</action>
<action>
<output-action>
<output-node-connector>1</output-node-connector>
</output-action>
<order>2</order>
</action>
</apply-actions>
</instruction>
</instructions>
<table_id>0</table_id>
<id>48</id>
<match>
<ethernet-match>
<ethernet-type>
<type>2048</type>
</ethernet-type>
<ethernet-destination>
<address>FF:FF:29:01:19:61</address>
</ethernet-destination>
<ethernet-source>
<address>00:00:00:11:23:AE</address>
</ethernet-source>
</ethernet-match>
<in-port>openflow:1:1</in-port>
</match>
<flow-name>vlan_flow</flow-name>
<priority>2</priority>
</flow>
3) Check operational and flow is still there unmodified (switch has no flow):
"flow": [
{
"id": "48",
"instructions": {
"instruction": [
{
"order": 0,
"apply-actions": {
"action": [
{
"order": 0,
"set-field": {
"vlan-match": {
"vlan-id":
}
}
},
{
"order": 1,
"output-action":
}
]
}
}
]
},
"cookie": 0,
"match": {
"in-port": "openflow:1:1",
"ethernet-match": {
"ethernet-source":
,
"ethernet-destination":
,
"ethernet-type":
},
"vlan-match": {
"vlan-id":
,
"vlan-pcp": 7
}
},
"hard-timeout": 0,
"flags": "",
"priority": 2,
"table_id": 0,
"opendaylight-flow-statistics:flow-statistics": {
"packet-count": 0,
"byte-count": 0,
"duration":
},
"idle-timeout": 0
}
]
}