Uploaded image for project: 'OpenFlowPlugin'
  1. OpenFlowPlugin
  2. OPNFLWPLUG-930

Inconsistent flow IDs between flows in config and operational data stores

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Nitrogen-SR1
    • None
    • General
    • None
    • Operating System: All
      Platform: All

    • 9007
    • High

      While using both Nitrogen and master, I am running into a problem with how the Openflow plugin writes the Flow IDs in Operational. The Flow IDs are as expected in the config data store, but when the flows get installed in an OVS bridge and consequently written to the operational data store, the Flow IDs arent the same.

      This appears to happen only for the flows that have the NSH (Network Service Headers) Nicira extensions.

      Here is a summary of the flow IDs inconsistency:

      curl -H "Content-Type: application/json" -X GET --user admin:admin http://localhost:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:99999963124801/table/4 | python -m json.tool | grep \"id\"

      "id": "nextHop_255_8388627",
      "id": "nextHop_255_19",
      "id": "matchAny_4_10",
      "id": 4

      curl -H "Content-Type: application/json" -X GET --user admin:admin http://localhost:8181/restconf/operational/opendaylight-inventory:nodes/node/openflow:99999963124801/table/4 | python -m json.tool | grep \"id\"

      "id": "matchAny_4_10",
      "id": "#UF$TABLE*4-3",
      "id": "#UF$TABLE*4-4",
      "id": 4

      And here is a complete dump of the config and operational flows:

      --------------------
      Config data store
      --------------------

      curl -H "Content-Type: application/json" -X GET --user admin:admin http://localhost:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:99999963124801/table/4 | python -m json.tool

      {
      "flow-node-inventory:table": [
      {
      "flow": [
      {
      "barrier": false,
      "cookie": 20,
      "cookie_mask": 20,
      "flags": "",
      "flow-name": "nextHop_255_8388627",
      "hard-timeout": 0,
      "id": "nextHop_255_8388627",
      "idle-timeout": 0,
      "instructions": {
      "instruction": [
      {
      "apply-actions": {
      "action": [
      {
      "openflowplugin-extension-nicira-action:nx-reg-load": {
      "dst":

      { "end": 31, "nx-tun-ipv4-dst": [ null ], "start": 0 }

      ,
      "value": 167772170
      },
      "order": 0
      }
      ]
      },
      "order": 0
      },
      {
      "go-to-table":

      { "table_id": 10 }

      ,
      "order": 1
      }
      ]
      },
      "match": {
      "openflowplugin-extension-general:extension-list": [
      {
      "extension": {
      "openflowplugin-extension-nicira-match:nxm-nx-nsp":

      { "value": 8388627 }

      },
      "extension-key": "openflowplugin-extension-nicira-match:nxm-nx-nsp-key"
      },
      {
      "extension": {
      "openflowplugin-extension-nicira-match:nxm-nx-nsi":

      { "nsi": 255 }

      },
      "extension-key": "openflowplugin-extension-nicira-match:nxm-nx-nsi-key"
      }
      ]
      },
      "priority": 550,
      "strict": false,
      "table_id": 4
      },
      {
      "barrier": false,
      "cookie": 20,
      "cookie_mask": 20,
      "flags": "",
      "flow-name": "nextHop_255_19",
      "hard-timeout": 0,
      "id": "nextHop_255_19",
      "idle-timeout": 0,
      "instructions": {
      "instruction": [
      {
      "apply-actions": {
      "action": [
      {
      "openflowplugin-extension-nicira-action:nx-reg-load": {
      "dst":

      { "end": 31, "nx-tun-ipv4-dst": [ null ], "start": 0 }

      ,
      "value": 167772170
      },
      "order": 0
      }
      ]
      },
      "order": 0
      },
      {
      "go-to-table":

      { "table_id": 10 }

      ,
      "order": 1
      }
      ]
      },
      "match": {
      "openflowplugin-extension-general:extension-list": [
      {
      "extension": {
      "openflowplugin-extension-nicira-match:nxm-nx-nsp":

      { "value": 19 }

      },
      "extension-key": "openflowplugin-extension-nicira-match:nxm-nx-nsp-key"
      },
      {
      "extension": {
      "openflowplugin-extension-nicira-match:nxm-nx-nsi":

      { "nsi": 255 }

      },
      "extension-key": "openflowplugin-extension-nicira-match:nxm-nx-nsi-key"
      }
      ]
      },
      "priority": 550,
      "strict": false,
      "table_id": 4
      },
      {
      "barrier": false,
      "cookie": 20,
      "cookie_mask": 20,
      "flags": "",
      "flow-name": "matchAny_4_10",
      "hard-timeout": 0,
      "id": "matchAny_4_10",
      "idle-timeout": 0,
      "instructions": {
      "instruction": [
      {
      "go-to-table":

      { "table_id": 10 }

      ,
      "order": 0
      }
      ]
      },
      "match": {},
      "priority": 5,
      "strict": false,
      "table_id": 4
      }
      ],
      "id": 4
      }
      ]
      }

      ---------------
      Operational
      ---------------

      curl -H "Content-Type: application/json" -X GET --user admin:admin http://localhost:8181/restconf/operational/opendaylight-inventory:nodes/node/openflow:99999963124801/table/4 | python -m json.tool

      {
      "flow-node-inventory:table": [
      {
      "flow": [
      {
      "cookie": 20,
      "cookie_mask": 0,
      "flags": "",
      "hard-timeout": 0,
      "id": "matchAny_4_10",
      "idle-timeout": 0,
      "instructions": {
      "instruction": [
      {
      "go-to-table":

      { "table_id": 10 }

      ,
      "order": 0
      }
      ]
      },
      "match": {},
      "opendaylight-flow-statistics:flow-statistics": {
      "byte-count": 0,
      "duration":

      { "nanosecond": 464000000, "second": 102 }

      ,
      "packet-count": 0
      },
      "priority": 5,
      "table_id": 4
      },
      {
      "cookie": 20,
      "cookie_mask": 0,
      "flags": "",
      "hard-timeout": 0,
      "id": "#UF$TABLE*4-3",
      "idle-timeout": 0,
      "instructions": {
      "instruction": [
      {
      "apply-actions": {
      "action": [
      {
      "openflowplugin-extension-nicira-action:nx-reg-load": {
      "dst":

      { "end": 31, "nx-tun-ipv4-dst": [ null ], "start": 0 }

      ,
      "value": 167772170
      },
      "order": 0
      }
      ]
      },
      "order": 0
      },
      {
      "go-to-table":

      { "table_id": 10 }

      ,
      "order": 1
      }
      ]
      },
      "match": {
      "openflowplugin-extension-general:extension-list": [
      {
      "extension": {
      "openflowplugin-extension-nicira-match:nxm-nx-nsp":

      { "value": 19 }

      },
      "extension-key": "openflowplugin-extension-nicira-match:nxm-nx-nsp-key"
      },
      {
      "extension": {
      "openflowplugin-extension-nicira-match:nxm-nx-nsi":

      { "nsi": 255 }

      },
      "extension-key": "openflowplugin-extension-nicira-match:nxm-nx-nsi-key"
      }
      ]
      },
      "opendaylight-flow-statistics:flow-statistics": {
      "byte-count": 0,
      "duration":

      { "nanosecond": 464000000, "second": 102 }

      ,
      "packet-count": 0
      },
      "priority": 550,
      "table_id": 4
      },
      {
      "cookie": 20,
      "cookie_mask": 0,
      "flags": "",
      "hard-timeout": 0,
      "id": "#UF$TABLE*4-4",
      "idle-timeout": 0,
      "instructions": {
      "instruction": [
      {
      "apply-actions": {
      "action": [
      {
      "openflowplugin-extension-nicira-action:nx-reg-load": {
      "dst":

      { "end": 31, "nx-tun-ipv4-dst": [ null ], "start": 0 }

      ,
      "value": 167772170
      },
      "order": 0
      }
      ]
      },
      "order": 0
      },
      {
      "go-to-table":

      { "table_id": 10 }

      ,
      "order": 1
      }
      ]
      },
      "match": {
      "openflowplugin-extension-general:extension-list": [
      {
      "extension": {
      "openflowplugin-extension-nicira-match:nxm-nx-nsp":

      { "value": 8388627 }

      },
      "extension-key": "openflowplugin-extension-nicira-match:nxm-nx-nsp-key"
      },
      {
      "extension": {
      "openflowplugin-extension-nicira-match:nxm-nx-nsi":

      { "nsi": 255 }

      },
      "extension-key": "openflowplugin-extension-nicira-match:nxm-nx-nsi-key"
      }
      ]
      },
      "opendaylight-flow-statistics:flow-statistics": {
      "byte-count": 0,
      "duration":

      { "nanosecond": 464000000, "second": 102 }

      ,
      "packet-count": 0
      },
      "priority": 550,
      "table_id": 4
      }
      ],
      "id": 4,
      "opendaylight-flow-table-statistics:flow-table-statistics":

      { "active-flows": 3, "packets-looked-up": 0, "packets-matched": 0 }

      }
      ]
      }

            ecelgp Luis Gomez
            ebrjohn Brady Johnson
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: