Version 4 (modified by 14 years ago) ( diff ) | ,
---|
The Big Switch Controller
This page describes the controller by Big Switch Networks. The controller uses a REST API that leverages HTTP control messages to let an admin manipulate flows.
Installation/Setup
The controller may be reached from ofc, accessible as user native
, password native101
from orbit-lab.org.
The controller is a KVM guest currently named bigswitchcontroller-110405. You can confirm this through virsh
or virt-manager
. The latter is a GUI, and more straight forward.
The default user is admin
. The controller will then ask you for a password and network configurations. The password has been set to native101
, and the following used for the network setup:
- IP address: 172.16.0.14
- netmask: 255.255.0.0
- gateway: 172.16.0.1
- nameserver: 172.16.0.9
- domain: orbit-lab.org
once configured, you should be able to ssh to it from the outside.
BigOS CLI
This is the main interface to the Big Switch controller. From here, you can query for various information, such as controller state and the switches connected to it.
Logging in
From gw.orbit-lab.org, ssh to kvm-big
as user admin
, password native101. You should see something like below:
~$ ssh kvm-big -l admin admin@kvm-big's password: Last login: Sat Feb 12 07:19:47 2011 from 10.50.0.12 BigShell (bigsh) v0.1 (c) by Big Switch Networks. default controller is: 127.0.0.1:8000 172.16.0.14>
The caret is the prompt for the CLI, which follows syntax similar to Cisco IOS. To see available commands, just type "?". For example, to see the list of OpenFlow switches connected to the controller, type show switch
:
172.16.0.14> show switch Switch DPID Active Last Connect Time IP Address Socket Address Max Packets Max Tables -----------------------|------|-------------------|------------|-------------------|-----------|---------- 00:00:00:00:00:00:00:01 True 2011-02-14 02:25:53 172.16.0.241 /172.16.0.241:52683 256 3 00:00:00:10:10:20:32:30 False 2011-02-09 07:36:59 172.16.0.253 /172.16.0.253:63202 256 2 00:00:00:10:10:22:32:32 True 2011-02-14 02:25:30 172.16.0.253 /172.16.0.253:62957 256 2 00:00:00:10:10:24:32:34 True 2011-02-10 15:56:57 172.16.0.4 /172.16.0.4:59345 256 2
More information on each switch can be found by context switch to the DPID's of the switches:
172.16.0.14> show switch 00:00:00:10:10:22:32:32 desc Serial # Vendor Make Model SW Version --------|---------------|--------------------------|--------|---------- None NEC Corporation Reference Userspace Switch sw-sb-01
Here, we have switched to the context of a switch whose DPID is 00:00:00:10:10:22:32:32, in order to look up general information about it.
The REST API
Flow manipulation is done by logging onto the controller, entering debug mode, and issuing HTTP control messages (e.g. PUT, GET, DELETE) using curl
. Here we'll describe how to use the REST API through an example based on the REST documents (linked at the bottom of the page) and e-mail exchanges.
Some prep work
- Enter debug mode. In order to use the REST API, you must be at the Linux shell. Type "debug bash" to switch out of the CLI.
172.16.0.14> debug bash ***** Warning: this is a debug command - use caution! ***** ***** Type "exit" or Ctrl-D to return to the BigOS CLI ***** bsn@bigswitchcontroller:~$
- open port 8000. Allow connections to port 8000 with the command
sudo ufw allow 8000
. You'll be using this port to talk to the controller usingcurl
.
Attachments (1)
-
Screenshot.png
(27.3 KB
) - added by 14 years ago.
initial configuration of controller
Download all attachments as: .zip