= Flashing NEC Switches = NEC provides two models of switch that supports !OpenFlow, the IP8800/S3640-24T2XW and the IP8800/S3640-48T2XW. The switches must be manually flashed with !OpenFlow capable firmware to make them !OpenFlow capable. This page explains how to flash the switch to make it !OpenFlow capable. == Materials Needed == The SD card must contain the following for the switch to be able to boot off of it: * !OpenFlow capable firmware (k.img) * Software license for !OpenFlow capable firmware (license.dat) * Configuration file for !OpenFlow specific features (openflow.conf) == Overview == These are the general steps required to get the switch up and running as an !OpenFlow device: 1. Create VLANs 1. Create openflow.conf 1. Save k.img, license.dat, and openflow.conf onto SD card 1. Cold boot switch off of SD card 1. Enjoy = Some Caveats = == The SD card == NEC provides a certified SD card with the switch. They recommend that you only use this card. == The License == Each license is specific to a certain switch; a switch will not boot properly if the license is missing, misnamed, or if the license for the wrong switch is used. Sometimes the license is labeled with a specific switch's serial number instead of being labeled "license.dat." In that case, the serial number can be found on a silver sticker on the front of the switch, or by typing `show version` at the terminal: {{{ # show ver Date 2000/01/09 01:20:34 UTC Model: AX3640S-48T2XW S/W: OS-L3L Ver. 10.7 H/W: Main board AX-3640-48T2XW-L [WA03CL48T2XWS0E0693K007:80330300:111:1B514-1B512] Module slot1 PS-M(AC) AX-F2430-PSA01 [WA0PSA010000C110093D006] Module slot2 FAN-M AX-F2430-FAN01 [WA1FAN010000C140093D004] }}} In this case, "WA03CL48T2XWS0E0693K007" is the serial number and should match the name of the correct license for this specific switch. '''Note: ''' If the license is named after the switch's serial number, the license must be renamed to "license.dat." == Creating the openflow.conf file == openflow.conf is a simple text file that contains !OpenFlow specific configurations. The following are the three parameters you can specify in the file. === `no-save` === when specified in the .conf file, configuration changes won't be saved to the SD card. ''' Specifying this parameter in openflow.conf will prevent you from creating and removing virtual switches from the CLI. ''' === `double-wide-mode` === When specified, all ten !OpenFlow specific header fields will be matched. === `setvsi` === '' more detailed use of this parameter can be found in the [wiki:Documentation/OpenFlow/VirtualSwitch virtual switch] article. '' Creates an instance of a [wiki:Documentation/OpenFlow/VirtualSwitch virtual switch]. You can also use this configuration command from the CLI. `setvsi` is followed by several parameters: `setvsi [ ] [dpid ] [hwlimit ] [max-backoff ] [echo-interval ]` to get `setvsi` working at minimal, you need only the following parameters: `setvsi [dpid ]` == Example openflow.conf file == openflow.conf resides in /mnt/ once the switch is booted. {{{ > cat /mnt/openflow.conf double-wide-mode setvsi 1 1,2,3,4,9.1 tcp 172.16.4.180 dpid 0x0123456789ab setvsi 2 5-8,9.2 tcp 172.16.4.64 dpid 0x01234567abcd setvsi 3 15-18,19.2 tcp 172.16.4.64 dpid 0x01234567abcd }}} Note that the `no-save` option is omitted to make editing from the CLI easier.