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

Inconsistent flow IDs between flows in config and operational data stores

    XMLWordPrintable

Details

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

    • 9007
    • High

    Description

      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 }

      }
      ]
      }

      Attachments

        Issue Links

          # Subject Branch Project Status CR V

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: