Published using Google Docs
Untitled document
Updated automatically every 5 minutes

neutron-sfc

Project scope:

Chain Encapsulation:

Default encapsulation is MPLS , facilitating a proprietary “SCH” header (essentially each chain is given it’s own MPLS label). encapsulation is done within the integration bridge (so traffic to VM is stripped from any SCH encapsulation).

For tunneled ports , overlay protocol carries the ethernet + MPLS fields

Apparently SCH is chosen over NSH for the reason that NSH is not officially supported in OVS. planning to support other encapsulations (probably if/when officially supported in OVS)  

Architecture:

APIs:

(CLI,Horizon)

Syntax:

neutron port-pair-create [-h]

        [--description <description>]

        --ingress <port-id>

        --egress <port-id>

        [--service-function-parameters <parameter>] PORT-PAIR-NAME

neutron port-pair-group-create [-h]

        [--description <description>]

        --port-pairs <port-pair-id> PORT-PAIR-GROUP-NAME

neutron flow-classifier-create [-h]

        [--description <description>]

        [--protocol <protocol>]

        [--ethertype <Ethertype>]

        [--source-port <Minimum source protocol port>:<Maximum source protocol port>]

        [--destination-port <Minimum destination protocol port>:<Maximum destination protocol port>]

        [--source-ip-prefix <Source IP prefix>]

        [--destination-ip-prefix <Destination IP prefix>]

        [--logical-source-port <Neutron source port>]

        [--logical-destination-port <Neutron destination port>]

        [--l7-parameters <L7 parameter>] FLOW-CLASSIFIER-NAME

neutron port-chain-create [-h]

        [--description <description>]

         --port-pair-group <port-pair-group-id>

        [--flow-classifier <classifier-id>]

        [--chain-parameters <chain-parameter>] PORT-CHAIN-NAME

Future plans (as presented by the team):

Follow up: