wiki:Internal/OpenFlow/VirtualSwitch

Version 6 (modified by akoshibe, 15 years ago) ( diff )

The virtual switch

Virtual switches are the main service offered by the OpenFlow capable switch that make overlay networks possible. When created, a virtual switch will behave as an OpenFlow device, manipulating packets according to the flow tables it is given from the controller. by default, there are no virtual switches set up on the IP8800. You have to create them either by specifying them in openflow.conf or by using the command setvsi through the CLI. Here we talk about the latter way of creating virtual switches.

Overview

This article covers:

  • Summary of CLI commands used in virtual switching
  • Virtual switch setup from CLI (as opposed to directly editing openflow.conf)
  • Making the switch and controller work
  • The official NEC guide for the OpenFlow capable IP8800/S3640 (attachment)

CLI Commands

The commands for virtual switching will not be found among the usual list of commands when you type ? at the terminal. Command completion doesn't work either, so you have to type out the whole command. The full list of commands, along with their flags, are found on the NEC guide.

when openflow.conf gets messed up (6/22)

One method to rewrite the OpenFlow configuration is to delete openflow.conf directly through the switch, then use the setvsi command to set the new virtual switches up. This should be unnecessary, but it happened to be effective when old configurations did not seem to go away despite editing the .conf file using a PC.

> cd /mnt/
> rm openflow.conf 
remove 'openflow.conf'? y
> setvsi 1 1,3,5,7,9,11,13,15,2.1 tcp 172.16.4.224 dpid 0x0123456789ab
> setvsi 2 17,19,21,23,25,27,29,31,2.2 tcp 172.16.4.180 dpid 0x012345678abc
> setvsi 3 33,35,37,39,41,43,45,47,2.3 tcp 172.16.4.64 dpid 0x01234567abcd
> showswitch
vlan    ports                                           secure channel      
----    -----                                           --------------      
1       1, 3, 5, 7, 9, 11, 13, 15, 2.1                  disconnected        
2       17, 19, 21, 23, 25, 27, 29, 31, 2.2             disconnected        
3       33, 35, 37, 39, 41, 43, 45, 47, 2.3             disconnected        

The updated contents of openflow.conf:

setvsi 1 1,3,5,7,9,11,13,15,2.1 tcp 172.16.4.224 dpid 0x0123456789ab
setvsi 2 17,19,21,23,25,27,29,31,2.2 tcp 172.16.4.180 dpid 0x012345678abc
setvsi 3 33,35,37,39,41,43,45,47,2.3 tcp 172.16.4.64 dpid 0x01234567abcd

However, it seems like it is not possible to set double-wide-mode, or no-save through the CLI. These have to be added by editing openflow.conf using the PC.

Virtual switches without controllers (7/8)

*Without the controller, virtual switches basically don't do anything. Plus, if you have a group of ports, and they share a VLAN, if even one port out of the group is configured to be a virtual switch, the whole group of ports cease to function as a regular switch.

*If some ports of the switch are meant to be left as legacy switches, it seems better to not include the trunk info when using the setvsi command. Including the trunk port in setvsi when there is no controller will mess up functionality of the trunk as well.

go back to OpenFlow index

Attachments (2)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.