Uploaded image for project: 'sfc'
  1. sfc
  2. SFC-182

RSP selects incorrect SFF locator, for SFF hosting more than one SF

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Oxygen
    • unspecified
    • General
    • None
    • Operating System: All
      Platform: All

    • 7399

      If more than one SF is attached to single SFF and SFC is setup with one or more of those SFs, Rendered service Path is setting the same SFF locator for all hops. It seems to choose SFF locator of first SF in the SF dictionary of SFF for all hops.

      Example,

      Lets say there are 3 SFs, SF1, SF2, SF3 all attached to single SFF, SFF1.
      Setup SFC with SF1->SF2-SF3, create SFP (round robin Sched) and RSP.
      The RSP shows service-function-forwarder-locator: SFF1-2-dpl for all the hops.

      Configuration Details below
      --------------------------------

      Service-Nodes
      ----------
      {
      "service-nodes": {
      "service-node": [

      { "name": "Node05-SN-Client", "ip-mgmt-address": "172.16.9.32" }

      ,

      { "name": "Node06-SN-SF3", "ip-mgmt-address": "172.16.9.53" }

      ,

      { "name": "Node05-SN-Server", "ip-mgmt-address": "172.16.9.42" }

      ,

      { "name": "Node06-SN-SF2", "ip-mgmt-address": "172.16.9.43" }

      ,

      { "name": "Node06-SN-SFF", "ip-mgmt-address": "172.16.9.23" }

      ,

      { "name": "Node06-SN-SF1", "ip-mgmt-address": "172.16.9.33" }

      ]
      }
      }

      -----------------

      Service Function

      {
      "service-functions": {
      "service-function": [
      {
      "name": "SF3",
      "sf-data-plane-locator": [

      { "name": "SF3-dpl", "ip": "172.16.9.53", "port": 6633, "service-function-forwarder": "Node06-SFF1", "transport": "service-locator:vxlan-gpe" }

      ],
      "nsh-aware": true,
      "rest-uri": "http://172.16.9.53:5000",
      "ip-mgmt-address": "172.16.9.53",
      "type": "nat"
      },
      {
      "name": "SF1",
      "sf-data-plane-locator": [

      { "name": "SF1-dpl", "ip": "172.16.9.33", "port": 6633, "service-function-forwarder": "Node06-SFF1", "transport": "service-locator:vxlan-gpe" }

      ],
      "nsh-aware": true,
      "rest-uri": "http://172.16.9.33:5000",
      "ip-mgmt-address": "172.16.9.33",
      "type": "dpi"
      },
      {
      "name": "SF2",
      "sf-data-plane-locator": [

      { "name": "SF2-dpl", "ip": "172.16.9.43", "port": 6633, "service-function-forwarder": "Node06-SFF1", "transport": "service-locator:vxlan-gpe" }

      ],
      "nsh-aware": true,
      "rest-uri": "http://172.16.9.43:5000",
      "ip-mgmt-address": "172.16.9.43",
      "type": "firewall"
      }
      ]
      }
      }

      -----------------

      service function forwarder

      {
      "service-function-forwarders": {
      "service-function-forwarder": [
      {
      "name": "Node05-SFF1",
      "service-node": "Node05-SN-Client",
      "sff-data-plane-locator": [
      {
      "name": "Node05-SFF1-1-dpl",
      "data-plane-locator":

      { "transport": "service-locator:vxlan-gpe", "ip": "172.16.9.32", "port": 6633 }

      ,
      "service-function-forwarder-ovs:ovs-options":

      { "nshc4": "flow", "nshc3": "flow", "nshc2": "flow", "nsi": "flow", "nshc1": "flow", "exts": "gpe", "remote-ip": "flow", "key": "flow", "dst-port": "6633", "nsp": "flow" }

      }
      ],
      "service-function-forwarder-ovs:ovs-bridge":

      { "bridge-name": "br-sfc" }

      },
      {
      "name": "Node06-SFF1",
      "service-function-dictionary": [
      {
      "name": "SF2",
      "sff-sf-data-plane-locator":

      { "sf-dpl-name": "SF2-dpl", "sff-dpl-name": "Node06-SFF1-2-dpl" }

      },
      {
      "name": "SF3",
      "sff-sf-data-plane-locator":

      { "sf-dpl-name": "SF3-dpl", "sff-dpl-name": "Node06-SFF1-3-dpl" }

      },
      {
      "name": "SF1",
      "sff-sf-data-plane-locator":

      { "sf-dpl-name": "SF1-dpl", "sff-dpl-name": "Node06-SFF1-1-dpl" }

      }
      ],
      "service-node": "Node06-SN-SFF",
      "sff-data-plane-locator": [
      {
      "name": "Node06-SFF1-2-dpl",
      "data-plane-locator":

      { "transport": "service-locator:vxlan-gpe", "ip": "172.16.9.23", "port": 6633 }

      ,
      "service-function-forwarder-ovs:ovs-options":

      { "nshc4": "flow", "nshc3": "flow", "nshc2": "flow", "nsi": "flow", "nshc1": "flow", "exts": "gpe", "remote-ip": "flow", "key": "flow", "dst-port": "6633", "nsp": "flow" }

      },
      {
      "name": "Node06-SFF1-3-dpl",
      "data-plane-locator":

      { "transport": "service-locator:vxlan-gpe", "ip": "172.16.9.23", "port": 6633 }

      ,
      "service-function-forwarder-ovs:ovs-options":

      { "nshc4": "flow", "nshc3": "flow", "nshc2": "flow", "nsi": "flow", "nshc1": "flow", "exts": "gpe", "remote-ip": "flow", "key": "flow", "dst-port": "6633", "nsp": "flow" }

      },
      {
      "name": "Node06-SFF1-1-dpl",
      "data-plane-locator":

      { "transport": "service-locator:vxlan-gpe", "ip": "172.16.9.23", "port": 6633 }

      ,
      "service-function-forwarder-ovs:ovs-options":

      { "nshc4": "flow", "nshc3": "flow", "nshc2": "flow", "nsi": "flow", "nshc1": "flow", "exts": "gpe", "remote-ip": "flow", "key": "flow", "dst-port": "6633", "nsp": "flow" }

      }
      ],
      "service-function-forwarder-ovs:ovs-bridge":

      { "bridge-name": "br-sfc" }

      },
      {
      "name": "Node05-SFF2",
      "service-node": "Node05-SN-Server",
      "sff-data-plane-locator": [
      {
      "name": "Node05-SFF2-1-dpl",
      "data-plane-locator":

      { "transport": "service-locator:vxlan-gpe", "ip": "172.16.9.42", "port": 6633 }

      ,
      "service-function-forwarder-ovs:ovs-options":

      { "nshc4": "flow", "nshc3": "flow", "nshc2": "flow", "nsi": "flow", "nshc1": "flow", "exts": "gpe", "remote-ip": "flow", "key": "flow", "dst-port": "6633", "nsp": "flow" }

      }
      ],
      "service-function-forwarder-ovs:ovs-bridge":

      { "bridge-name": "br-sfc" }

      }
      ]
      }
      }

      -----------------

      service function chain

      {
      "service-function-chains": {
      "service-function-chain": [
      {
      "name": "Node06-SFC1",
      "symmetric": true,
      "sfc-service-function": [

      { "name": "SF1", "type": "dpi" }

      ,

      { "name": "SF2", "type": "firewall" }

      ]
      },
      {
      "name": "Node06-SFC2",
      "symmetric": true,
      "sfc-service-function": [

      { "name": "SF1", "type": "dpi" }

      ,

      { "name": "SF2", "type": "firewall" }

      ,

      { "name": "SF3", "type": "nat" }

      ]
      }
      ]
      }
      }

      -----------

      service function path

      {
      "service-function-paths": {
      "service-function-path": [

      { "name": "Node06-SFC1-SFP", "context-metadata": "NSH1", "symmetric": true, "service-chain-name": "Node06-SFC1", "starting-index": 255 }

      ,

      { "name": "Node06-SFC2-SFP", "context-metadata": "NSH1", "symmetric": true, "service-chain-name": "Node06-SFC2", "starting-index": 255 }

      ]
      }
      }

      --------------

      Rendered Service Path

      {
      "rendered-service-paths": {
      "rendered-service-path": [
      {
      "name": "RSP-Node06-SFC1",
      "service-chain-name": "Node06-SFC1",
      "transport-type": "service-locator:vxlan-gpe",
      "symmetric-path-id": 8389162,
      "starting-index": 255,
      "path-id": 554,
      "parent-service-function-path": "Node06-SFC1-SFP",
      "context-metadata": "NSH1",
      "rendered-service-path-hop": [

      { "hop-number": 0, "service-function-forwarder": "Node06-SFF1", "service-function-forwarder-locator": "Node06-SFF1-2-dpl", "service-index": 255, "service-function-name": "SF1" }

      ,

      { "hop-number": 1, "service-function-forwarder": "Node06-SFF1", "service-function-forwarder-locator": "Node06-SFF1-2-dpl", "service-index": 254, "service-function-name": "SF2" }

      ]
      },
      {
      "name": "RSP-Node06-SFC2-Reverse",
      "service-chain-name": "Node06-SFC2",
      "transport-type": "service-locator:vxlan-gpe",
      "symmetric-path-id": 590,
      "starting-index": 255,
      "path-id": 8389198,
      "parent-service-function-path": "Node06-SFC2-SFP",
      "context-metadata": "NSH1",
      "rendered-service-path-hop": [

      { "hop-number": 0, "service-function-forwarder": "Node06-SFF1", "service-function-forwarder-locator": "Node06-SFF1-2-dpl", "service-index": 255, "service-function-name": "SF3" }

      ,

      { "hop-number": 1, "service-function-forwarder": "Node06-SFF1", "service-function-forwarder-locator": "Node06-SFF1-2-dpl", "service-index": 254, "service-function-name": "SF2" }

      ,

      { "hop-number": 2, "service-function-forwarder": "Node06-SFF1", "service-function-forwarder-locator": "Node06-SFF1-2-dpl", "service-index": 253, "service-function-name": "SF1" }

      ]
      },
      {
      "name": "RSP-Node06-SFC2",
      "service-chain-name": "Node06-SFC2",
      "transport-type": "service-locator:vxlan-gpe",
      "symmetric-path-id": 8389198,
      "starting-index": 255,
      "path-id": 590,
      "parent-service-function-path": "Node06-SFC2-SFP",
      "context-metadata": "NSH1",
      "rendered-service-path-hop": [

      { "hop-number": 0, "service-function-forwarder": "Node06-SFF1", "service-function-forwarder-locator": "Node06-SFF1-2-dpl", "service-index": 255, "service-function-name": "SF1" }

      ,

      { "hop-number": 1, "service-function-forwarder": "Node06-SFF1", "service-function-forwarder-locator": "Node06-SFF1-2-dpl", "service-index": 254, "service-function-name": "SF2" }

      ,

      { "hop-number": 2, "service-function-forwarder": "Node06-SFF1", "service-function-forwarder-locator": "Node06-SFF1-2-dpl", "service-index": 253, "service-function-name": "SF3" }

      ]
      },
      {
      "name": "RSP-Node06-SFC1-Reverse",
      "service-chain-name": "Node06-SFC1",
      "transport-type": "service-locator:vxlan-gpe",
      "symmetric-path-id": 554,
      "starting-index": 255,
      "path-id": 8389162,
      "parent-service-function-path": "Node06-SFC1-SFP",
      "context-metadata": "NSH1",
      "rendered-service-path-hop": [

      { "hop-number": 0, "service-function-forwarder": "Node06-SFF1", "service-function-forwarder-locator": "Node06-SFF1-2-dpl", "service-index": 255, "service-function-name": "SF2" }

      ,

      { "hop-number": 1, "service-function-forwarder": "Node06-SFF1", "service-function-forwarder-locator": "Node06-SFF1-2-dpl", "service-index": 254, "service-function-name": "SF1" }

      ]
      }
      ]
      }
      }

      --------------

            ebrjohn Brady Johnson
            swati.deshpande@serro.com Swati Deshpande
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: