Escolar Documentos
Profissional Documentos
Cultura Documentos
Function
Chaining
Demo
Brady Johnson
brady.allen.johnson@ericsson.com
Ricardo Noriega
ricardo.noriega.de.soto@ericsson.com
July 7, 2015
SFC Demo Introduction
➢ Motivation
Be able to easily setup and use ODL SFC
➢ Graphically shows which Service Chain a client is using
○ Each Service Function adds a different HTTP header
○ An Apache Web Server detects the HTTP headers and returns different web pages
○ Clients assigned to different Service Chains use a web browser to navigate to the same
Web Server, but get different results depending on the Service Chain used
➢ The demo includes the following
○ ODL SFC Lithium RC2 release Karaf distribution
○ SFC JSON Rest configuration for 3 Service Chains, 2 Service Functions and 2 Forwarders
○ Python scripts to set everything up
■ rest_sender.py sends JSON config to ODL SFC RestConf
■ sfcofl2_mininet.py starts entire NW topology in mininet
■ update_tor.py simulate Neutron node connectivity
■ client_tool.py configure which Service Chains each client uses
■ All scripts and JSON configs can be found in SFC git master: sfc-test/sfcofl2_demo/
Client3
if (hdr1 and hdr2)
return purple page
else if (hdr1)
return blue page
else if (hdr2)
SFF1 SFF2 return red page
else
(OVS-OF) (OVS-OF) return default page
OpenFlow 1.3
Legend:
SFF: Service Function Forwarder Service Service Service
SF: Service Function Chain 1 Chain 2 Chain 3
Squid: HTTP Header Enrichment
This NW topology is a logical view
Getting started with the Demo
Getting the Demo
● Currently, the demo is available here Download Vagrant tarball
● VirtualBox 4.0 or newer is required. Download Virtual Box
● Vagrant 1.7 or newer is required. Download Vagrant
● Once until the vagrant script completes and the prompt returns you will see the Desktop.
○ Login (vagrant/vagrant)
○ See next slide about using the demo
● Using the mininet terminal, start the apache web server, Squid Service Functions, and client browser:
○ source env_setup.sh
○ A web browser should pop up
○ Navigate to the following webpage with the browser: Notice: its been reported that
■ http://10.10.0.1/index.html sometimes the images take
(you may need to refresh the page several times to update the cache) several minutes to load. We have
○ Notice the browser title changes before the actual web page is displayed identified this problem and will
upload a solution soon.
Using the demo manually
As mentioned previously, the goal of this demo is to allow people to easily start and use SFC.
Here are some more in-depth customizations that can be done with the demo.
● Using the sfcofl2_mininet.py script:
○ The default demo network topology can be started as follows:
■ /home/vagrant/sfcofl2/launch_mininet.sh
○ If you dont want to start the SFs with Squid, the SFs can be simulated with switches using loopback mode:
■ use the same command found in launch_mininet.sh, and add the “-L” command-line option
○ Adding more clients
■ Use the same command found in launch_mininet.sh, and add “-C 2” for 2 clients