=== SFC-OVS integration ==== Overview SFC-OVS provides integration of SFC with Open vSwitch (OVS) devices. Integration is realized through mapping of SFC objects (like SF, SFF, Classifier, etc.) to OVS objects (like Bridge, TerminationPoint=Port/Interface). The mapping takes care of automatic instantiation (setup) of corresponding object whenever its counterpart is created. For example, when a new SFF is created, the SFC-OVS plugin will create a new OVS bridge and when a new OVS Bridge is created, the SFC-OVS plugin will create a new SFF. The feature is intended for SFC users willing to use Open vSwitch as underlying network infrastructure for deploying RSPs (Rendered Service Paths). ==== SFC-OVS Architecture SFC-OVS uses the OVSDB MD-SAL Southbound API for getting/writing information from/to OVS devices. From the user perspective SFC-OVS acts as a layer between SFC DataStore and OVSDB. .SFC-OVS integration into ODL image::sfc/sfc-ovs-architecture-user.png[width=250] ==== Configuring SFC-OVS .Configuration steps: . Run ODL distribution (run karaf) . In karaf console execute: +feature:install odl-sfc-ovs+ . Configure Open vSwitch to use ODL as a manager, using following command: +ovs-vsctl set-manager tcp::6640+ ==== Tutorials ===== Verifying mapping from OVS to SFF ====== Overview This tutorial shows the usual workflow when OVS configuration is transformed to corresponding SFC objects (in this case SFF). ====== Prerequisities * Open vSwitch installed (ovs-vsctl command available in shell) * SFC-OVS feature configured as stated above ====== Instructions .In shell execute: . +ovs-vsctl set-manager tcp::6640+ . +ovs-vsctl add-br br1+ . +ovs-vsctl add-port br1 testPort+ ====== Verification .There are two possible ways to verify if SFF was created: a. visit SFC User Interface: +http://:8181/sfc/index.html#/sfc/serviceforwarder+ b. use pure RESTCONF and send GET request to URL: +http://:8181/restconf/config/service-function-forwarder:service-function-forwarders+ There should be SFF, which name will be ending with 'br1' and the SFF should containt two DataPlane locators: 'br1' and 'testPort'. ===== Verifying mapping from SFF to OVS ====== Overview This tutorial shows the usual workflow during creation of OVS Bridge with use of SFC APIs. ====== Prerequisities * Open vSwitch installed (ovs-vsctl command available in shell) * SFC-OVS feature configured as stated above ====== Instructions .Steps: . In shell execute: +ovs-vsctl set-manager tcp::6640+ . Send POST request to URL: +http://:8181/restconf/operations/service-function-forwarder-ovs:create-ovs-bridge+ Use Basic auth with credentials: "admin", "admin" and set +Content-Type: application/json+. The content of POST request should be following: ---- { "input": { "name": "br-test", "ovs-node": { "ip": "" } } } ---- Open_vSwitch_ip_address is IP address of machine, where Open vSwitch is installed. ====== Verification In shell execute: +ovs-vsctl show+. There should be Bridge with name 'br-test' and one port/interface called 'br-test'. Also, corresponding SFF for this OVS Bridge should be configured, which can be verified through SFC User Interface or RESTCONF as stated in previous tutorial.