Details
-
Bug
-
Status: Resolved
-
Resolution: Done
-
None
-
None
-
None
-
Operating System: All
Platform: All
-
6917
Description
To reproduce:
1) start mininet 1 switch: sudo mn --controller=remote,ip=127.0.0.1 --topo tree,1 --switch ovsk,protocols=OpenFlow13
2) Push this flow:
PUT restconf/config/opendaylight-inventory:nodes/node/openflow:1/table/2/flow/144
<flow xmlns="urn:opendaylight:flow:inventory">
<strict>false</strict>
<flow-name>FooXf21</flow-name>
<id>144</id>
<cookie_mask>255</cookie_mask>
<cookie>21</cookie>
<table_id>2</table_id>
<priority>21</priority>
<installHw>false</installHw>
<instructions>
<instruction>
<order>0</order>
<apply-actions>
<action>
<order>0</order>
<dec-nw-ttl/>
</action>
</apply-actions>
</instruction>
</instructions>
<match>
<ethernet-match>
<ethernet-type>
<type>34525</type>
</ethernet-type>
</ethernet-match>
<ipv6-source>1234:5678:9ABC:DEF0:FDCD:A987:6543:210F/76</ipv6-source>
<ipv6-destination>fe80::2acf:e9ff:fe21:6431/128</ipv6-destination>
<metadata>
<metadata>12345</metadata>
</metadata>
<ip-match>
<ip-protocol>17</ip-protocol>
<ip-dscp>8</ip-dscp>
<ip-ecn>3</ip-ecn>
</ip-match>
<udp-source-port>25364</udp-source-port>
<udp-destination-port>8080</udp-destination-port>
</match>
</flow>
3) Check flow is reconciled in operational:
GET restconf/operational/opendaylight-inventory:nodes/node/openflow:1/table/2
{
"flow-node-inventory:table": [
{
"id": 2,
"flow": [
{
"id": "144",
"opendaylight-flow-statistics:flow-statistics": {
"packet-count": 0,
"duration":
,
"byte-count": 0
},
"priority": 21,
"table_id": 2,
"hard-timeout": 0,
"match": {
"ethernet-match": {
"ethernet-type":
},
"metadata":
,
"ip-match":
,
"ipv6-destination": "fe80::2acf:e9ff:fe21:6431/128",
"ipv6-source": "1234:5678:9abc:def0:fdc0::/76",
"udp-source-port": 25364,
"udp-destination-port": 8080
},
"cookie": 21,
"flags": "",
"instructions": {
"instruction": [
{
"order": 0,
"apply-actions": {
"action": [
{
"order": 0,
"dec-nw-ttl": {}
}
]
}
}
]
},
"idle-timeout": 0
}
],
"opendaylight-flow-table-statistics:flow-table-statistics":
}
]
}
4) Delete flow:
DELETE restconf/config/opendaylight-inventory:nodes/node/openflow:1/table/2/flow/144
5) repeat 2-4 until you see alien ID is step 3) (normally 4-5 times)
GET restconf/operational/opendaylight-inventory:nodes/node/openflow:1/table/2
{
"flow-node-inventory:table": [
{
"id": 2,
"flow": [
{
"id": "#UF$TABLE*2-13",
"opendaylight-flow-statistics:flow-statistics": {
"packet-count": 0,
"duration":
,
"byte-count": 0
},
"priority": 21,
"table_id": 2,
"hard-timeout": 0,
"match": {
"ethernet-match": {
"ethernet-type":
},
"metadata":
,
"ip-match":
,
"ipv6-destination": "fe80::2acf:e9ff:fe21:6431/128",
"ipv6-source": "1234:5678:9abc:def0:fdc0::/76",
"udp-source-port": 25364,
"udp-destination-port": 8080
},
"cookie": 21,
"flags": "",
"instructions": {
"instruction": [
{
"order": 0,
"apply-actions": {
"action": [
{
"order": 0,
"dec-nw-ttl": {}
}
]
}
}
]
},
"idle-timeout": 0
}
],
"opendaylight-flow-table-statistics:flow-table-statistics":
}
]
}