Version 6 (modified by 11 years ago) (diff) | ,
---|
- Introduction
- Variables
- Prerequisites
-
Installation Instructions
- 2. Obtain the software
- 3. Unpack the tarball
- 4. Install curl
- 5. Drop a floodlight jar file in place
- 6. (optional) Update properties file
- 7. (optional) Update logback config
- 8. Create flows files
- 9. Install init.d script
- 10. Start the service
- 11. Set the service to start on boot
- 12. Poke holes in firewalls as needed
- 13. Point switch instances at new controller
Introduction
This page describes how to install the layer1transport service.
Variables
Name | Description | Default Values | Files that use these values |
<version> | Version of layer1transport | ||
<floodlight_jar> | Path to floodlight jar file | ||
<rest_port> | REST API port for FL | 18080 | init.d script, properties file |
<of_port> | OF controller port for FL | 11750 | properties file |
Prerequisites
1. Create openflow user
Create a user named openflow on the system to run this service.
2. Install Floodlight 0.90
Floodlight installation instructions can be found at http://docs.projectfloodlight.org/display/floodlightcontroller/Installation+Guide, and instructions for obtaining the source code can be obtained at http://www.projectfloodlight.org/download/.
Installation Instructions
These are instructions to install the layer1transport service. These instructions were created and tested using an Ubuntu 10.04 system.
2. Obtain the software
The software for the layer1transport service can be downloaded at http://www.gpolab.bbn.com/local-sw/. Download the tarball, and place it in the openflow user's home directory.
3. Unpack the tarball
Unpack the tarball and rename the top level directory
sudo -u openflow tar xvzf /home/openflow/layer1transport-<version>.tar.gz -C /home/openflow sudo -u openflow mkdir /home/openflow/floodlight sudo -u openflow mv /home/openflow/layer1transport-<version>/* /home/openflow/floodlight/
4. Install curl
Make sure that the system has curl installed on it.
5. Drop a floodlight jar file in place
Take the Floodlight 0.9 jar file that you created in the prerequisites section and do the following:
sudo cp <floodlight_jar> /home/openflow/floodlight/src/floodlight.jar sudo chown openflow /home/openflow/floodlight/src/floodlight.jar
6. (optional) Update properties file
If you need to change the <of_port> and/or the <rest_port> that the Floodlight instance binds to, then the modify following lines in /home/openflow/floodlight/config/layer1transport.properties
:
net.floodlightcontroller.restserver.RestApiServer.port = <rest_port> net.floodlightcontroller.core.FloodlightProvider.openflowport = <of_port>
7. (optional) Update logback config
There are three reference logback configurations distributed with this software:
/home/openflow/floodlight/conf/logback_file.xml
: logs floodlight messages to/var/log/floodlight.log
/home/openflow/floodlight/conf/logback_stdout.xml
: logs floodlight messages to stdout/home/openflow/floodlight/conf/logback_syslog.xml
: logs floodlight messages to syslog system
The layer1transport service uses the file /home/openflow/floodlight/conf/logback.xml
, which by default is a symlink that points to logback_file.xml
. If you want to change which configuration you use, or if you want to use an alternate configuration, make modifications now.
8. Create flows files
You will need to create files that define that flows that should be managed by the SFP module in floodlight. The flows files must have a .json
file extension in order to work with this service. The API and the data format are defined in the SFP documentation. Defining the proper flows requires an understanding of your switch platforms, and where administrative flows are needed within the network. Please coordinate with us if you would like help defining these, or if you would like us to sanity check. One you have defined the flows in a set of files, place the files under /home/openflow/floodlight/flows.d/
. Two files are provided as a reference.
Once you have created your flows files, please remove the reference files:
sudo -u openflow rm /home/openflow/floodlight/flows.d/gpo_to_i2_example.json sudo -u openflow rm /home/openflow/floodlight/flows.d/gpo_to_nlr_example.json
9. Install init.d script
Move the init.d script into place and set the appropriate permissions:
sudo mv /home/openflow/floodlight/etc/init.d/layer1transport /etc/init.d/layer1transport sudo chown root:root /etc/init.d/layer1transport
If you changed the <rest_port> from the default value, update the following line in /etc/init.d/layer1transport
:
REST_PORT=<rest_port>
10. Start the service
Start the script if it isn't running already:
sudo service layer1transport start
You can check the status of the script with:
sudo service layer1transport status
11. Set the service to start on boot
Configure the host, either through an OS-specific tool or through a configuration management system, to have the layer1transport service to start up at boot time.
12. Poke holes in firewalls as needed
If you need to poke a hole in the firewall (either in the network or on the controller host itself) for the switch to reach <of_port> on the controller, do this now.
13. Point switch instances at new controller
For each OF instance that needs to have flows installed, point the instance at administrative Floodlight instance that you stood up. How this gets done will depend on the switch platform. You will point the switch at the <of_port>.