Skip to content

oopt user manual

Wataru Ishida edited this page Aug 17, 2018 · 9 revisions

oopt

oopt is a CLI to configure OOPTOS system. This document explains how to use oopt.

system related commands

init, reboot, stop, status are system related commands.

oopt init

init command initialize the system. All configuration will be reverted to the factory default. This command fails if the system is already initialized. To force the initialization, add -f.

oopt reboot

reboot command reboots the OOPTOS system (not OS). Internally it reboots OOPTOS containers with existing configurations. This command doesn't touch existing configuration. To clear all the changes you made, use oopt init -f.

oopt stop

stop command stops the OOPTOS system. Internally it stops OOPTOS containers. To restart the containers, use oopt reboot.

oopt status

status command shows OOPTOS container status. Internally it just executing kubectl get pods for now. To get more detailed information, use kubectl instead.

configuration system commands

commit, diff, dump are configuration system commands. oopt is using git internally to manage the configuration history. Every configuration changes which are done by configuration commands are staged and not reflected into the hardware until commit command is executed.

oopt commit

commit command commits the accumulated configuration changes to the hardware. It also creates internal git commit.

oopt diff

diff command shows the current accumulated configuration changes. It is a good practice to use this command before executing commit to confirm the changes are what you are expecting.

oopt dump

dump command shows the whole current running configuration combined with accumulated configuration changes.

configuration commands

optical-module, port, interface are configuration commands.

Reading system configuration in OOPTOS user manual is recommended to understand how these commands work together.

Executing a configuration command without any argument dumps the list of the current running configuration. Passing a name as the 1st argument dumps the current running configuration for it. Adding configuration arguments after the name configures the specific component.

For example,

running optical-module command without any argument.

$ oopt optical-module
{
   "config": {
      "name": "Opt8"
   },
   "name": "Opt8"
}
{
   "config": {
      "name": "Opt1"
   },
   "name": "Opt1"
}
{
   "config": {
      "name": "Opt2"
   },
   "name": "Opt2"
}
{
   "config": {
      "name": "Opt3"
   },
   "name": "Opt3"
}
{
   "config": {
      "name": "Opt4"
   },
   "name": "Opt4"
}
{
   "config": {
      "name": "Opt5"
   },
   "name": "Opt5"
}
{
   "config": {
      "name": "Opt6"
   },
   "name": "Opt6"
}
{
   "config": {
      "name": "Opt7"
   },
   "name": "Opt7"
}

passing a name as 1st argument.

$ oopt optical-module Opt1
{
   "config": {
      "name": "Opt1"
   },
   "name": "Opt1"
}

adding configuration arguments.

$ oopt optical-module Opt1 modulation-type DP_16QAM

Following is a complete list of all configuration commands.

You can also use -h option to show help messages.

oopt optical-module

  • oopt optical-module <name> state

    show state of the optical module

  • oopt optical-module <name> frequency

    • oopt optical-module <name> frequency channel <channel number>

      set frequency channel. see the datasheet of the transceiver for the mapping of the channel number and the actual frequency

    • oopt optical-module <name> frequency grid [GRID_50GHZ|GRID_33GHZ|GRID_25GHZ|GRID_100GHZ]

      set frequency grid.

  • oopt optical-module <name> modulation-type [DP_QPSK|DP_16QAM]

    set modulation type. DP_QPSK can handle 1x100GbE, DP_16QAM can handle 2x100GbE.

  • oopt optical-module <name> prbs [on|off]

    enable/disable line side PRBS. When PRBS is on, the link between Ethernet ASIC and optical-module gets down. You may only turn on PRBS when you want to test the optical fiber link.

  • oopt optical-module <name> losi [on|off]

    enable/disable hardware level loss of signal detection(LOSI). Normally, you don't need to enable this because transyncd (software) is periodically checking the link state. Turn on only when you know what you are doing.

  • oopt optical-module <name> enable

    enable this optical module.

  • oopt optical-module <name> disable

    disable this optical module.

oopt port

  • oopt port <name> breakout-mode

    • oopt port <name> breakout-mode channel-speed [SPEED_100GB|SPEED_10GB|SPEED_40GB|SPEED_50GB|SPEED_25GB]
    • oopt port <name> breakout-mode num-channels [1|4]
  • oopt port <name> description <description message>

    set operational description message for the port

oopt interface

  • oopt interface <name> optical-module-connection

    optical-module-connection command configures the connection between client ports and optical modules

    • oopt interface <name> optical-module-connection optical-module name <optical-module-name>

    • oopt interface <name> optical-module-connection optical-module channel [A|B]

      configure which channel A or B to connnect.

      When the optical module is configured to use DP_QPSK, only A channel is valid.

    • oopt interface <name> optical-module-connection id <id>

      <id> must be greater than 100 and lower than 4000

    • oopt interface <name> optical-module-connection clear

      clears optical module connection

  • oopt interface <name> description <description message>

    set operational description message for the interface

  • oopt interface <name> state

    show state of the interface