Changes between Version 5 and Version 6 of Software/eAM/qNetwork


Ignore:
Timestamp:
Apr 5, 2013, 4:43:45 PM (11 years ago)
Author:
nkiran
Comment:

Proposed uniform command prompt labeling for switch CLIs. Added in current AM functions to discuss revisions

Legend:

Unmodified
Added
Removed
Modified
  • Software/eAM/qNetwork

    v5 v6  
    11= Switch Control Service =
     2
     3[[PageOutline(2-100,Contents)]]
    24
    35ORBIT provides OMF based "Aggregate Manager" for configuration of networking devices in the testbed (Network AM). The HTTP based service can be accessed by an experimenter from within the SB9, including from the console and all of the nodes, at the following address:
     
    6264
    6365
    64 == Pronto 3290 Management ==
    65 
    66 
     66== Pronto 3290 Management (Work In Progress) ==
     67
     68'''Note:''' This space is currently being used to plan for the next version of the switching service that can provide management support for accessing a richer set of operational modes being made available on the current and future switches.
    6769
    6870SB9 switch u-boot config:
     
    8688}}}
    8789
    88 Command Prompts:
     90=== Current Command Prompts ===
    8991
    9092Indigo:
     
    108110}}}
    109111
     112=== Proposed Command Prompts ===
     113
     114==== Syntax ====
     115
     116{{{
     117<3-letter switch mode>-<version tag>.sw<switch id>.<sandbox or grid>.orbit-lab.org>
     118}}}
     119
     120where '<', '>' are used as section delimiters, except for the last one which concludes the command prompt label.
     121
     122
     123Below are examples of the proposed command prompts for switches in different modes:
     124
     125{{{
     126
     127Pronto 3240, 3290 switches:
     128--------------------------
     129
     130Pica8 mode:
     131pi8-v1.sw1.sb9.orbit-lab.org>
     132
     133Indigo mode:
     134ind-v1.sw1.sb9.orbit-lab.org>
     135
     136Pica8's OVS mode:
     137ovs-v1.sw1.sb9.orbit-lab.org>
     138
     139NEC switches:
     140------------
     141This is the regular mode on top of which it can support a hybrid mode:
     142nec-v1.sw1.grid.orbit-lab.org>
     143
     144}}}
     145
     146
     147=== Current Network AM Functions ===
     148
     149{{{
     150<services>
     151  <serviceGroup name='network' prefix='/network'>
     152    <info>Service to tabulate statistics and data flow for switches.</info>
     153    <service name='addOpenFlow'>
     154      <info>Start OpenFlow switch. vlanId is mandatory, other parameters omit for edit vlan</info>
     155      <args>
     156        <arg isRequired='true' name='port' value='conPort'>
     157          <info>TCP port number of the controller.</info>
     158        </arg>
     159        <arg isRequired='false' name='dpid' value='[dpid]'>
     160          <info>OpenFlow switch id (12 hex digits).</info>
     161        </arg>
     162        <arg isRequired='true' name='ip' value='ip'>
     163          <info>IP address of the controller.</info>
     164        </arg>
     165        <arg isRequired='false' name='listofports' value='[listOfPorts]'>
     166          <info>Port numbers belongs to OpenFlow vlan. Use for NEC switch.</info>
     167        </arg>
     168        <arg isRequired='false' name='vlanid' value='[vlanId]'>
     169          <info>vlan id for OpenFlow switch. Use for NEC switch.</info>
     170        </arg>
     171        <arg isRequired='true' name='switch' value='switch'>
     172          <info>IP Address or Hostname of switch.</info>
     173        </arg>
     174        <arg isRequired='false' name='mode' value='[conMode]'>
     175          <info>Transport protocol of secure channel. Use for NEC switch.</info>
     176        </arg>
     177      </args>
     178    </service>
     179    <service name='addvlan'>
     180      <info>This service allows to add VLAN of a given switch. Swich has to be defined as trunk</info>
     181      <args>
     182        <arg isRequired='true' name='port' value='port'>
     183          <info>Port number.</info>
     184        </arg>
     185        <arg isRequired='true' name='vlan' value='vlan'>
     186          <info>New VLAN ID or array of VLAN IDs.</info>
     187        </arg>
     188        <arg isRequired='true' name='switch' value='switch'>
     189          <info>IP Address or Hostname of switch.</info>
     190        </arg>
     191      </args>
     192    </service>
     193    <service name='configure'>
     194      <info>This service configures switch with default parameters (only Pronto switch has this feature).</info>
     195      <args>
     196        <arg isRequired='true' name='switch' value='switch'>
     197          <info>IP Address or Hostname of switch.</info>
     198        </arg>
     199      </args>
     200    </service>
     201    <service name='deleteOpenFlow'>
     202      <info>This service changes mode for switch (only Pronto switch has this feature).</info>
     203      <args>
     204        <arg isRequired='true' name='switch' value='switch'>
     205          <info>IP Address or Hostname of switch.</info>
     206        </arg>
     207      </args>
     208    </service>
     209    <service name='delvlan'>
     210      <info>This service allows to add VLAN of a given switch. Swich has to be defined as trunk</info>
     211      <args>
     212        <arg isRequired='true' name='port' value='port'>
     213          <info>Port number.</info>
     214        </arg>
     215        <arg isRequired='true' name='vlan' value='vlan'>
     216          <info>New VLAN ID or array of VLAN IDs.</info>
     217        </arg>
     218        <arg isRequired='true' name='switch' value='switch'>
     219          <info>IP Address or Hostname of switch.</info>
     220        </arg>
     221      </args>
     222    </service>
     223    <service name='disablePort'>
     224      <info>This service enables or disables the interface.</info>
     225      <args>
     226        <arg isRequired='true' name='port' value='port'>
     227          <info>Port number.</info>
     228        </arg>
     229        <arg isRequired='true' name='switch' value='switch'>
     230          <info>IP Address or Hostname of switch.</info>
     231        </arg>
     232        <arg isRequired='true' name='disable' value='disable'>
     233          <info>true disables , false enables port.</info>
     234        </arg>
     235      </args>
     236    </service>
     237    <service name='getmode'>
     238      <info>Shows switch mode - implemented only for Pronto switch.</info>
     239      <args>
     240        <arg isRequired='true' name='switch' value='switch'>
     241          <info>IP Address or Hostname of switch to query.</info>
     242        </arg>
     243      </args>
     244    </service>
     245    <service name='getvlan'>
     246      <info>This service gets interface vlan configuration.</info>
     247      <args>
     248        <arg isRequired='true' name='port' value='port'>
     249          <info>Port number (interface) to view vlan configuration</info>
     250        </arg>
     251        <arg isRequired='true' name='switch' value='switch'>
     252          <info>IP Address or Hostname of switch to query.</info>
     253        </arg>
     254      </args>
     255    </service>
     256    <service name='getvsi'>
     257      <info>Start OpenFlow switch.</info>
     258      <args>
     259        <arg isRequired='true' name='vlanid' value='vlanId'>
     260          <info>vlan id for OpenFlow switch.</info>
     261        </arg>
     262        <arg isRequired='true' name='switch' value='switch'>
     263          <info>IP Address or Hostname of switch.</info>
     264        </arg>
     265      </args>
     266    </service>
     267    <service name='listConfigurations'>
     268      <info>This service stores switch configuration to database.</info>
     269    </service>
     270    <service name='reset'>
     271      <info>This service restore default configuration from specified file.</info>
     272      <args>
     273        <arg isRequired='true' name='switch' value='switch'>
     274          <info>IP Address or Hostname of switch.</info>
     275        </arg>
     276      </args>
     277    </service>
     278    <service name='restore'>
     279      <info>This service restore configuration from database to given switch.</info>
     280      <args>
     281        <arg isRequired='true' name='switch' value='switch'>
     282          <info>IP Address or Hostname of switch.</info>
     283        </arg>
     284        <arg isRequired='true' name='name' value='name'>
     285          <info>Name of configuration.</info>
     286        </arg>
     287      </args>
     288    </service>
     289    <service name='rstp'>
     290      <info>This service enables or disables the Spanning Tree Protocol.</info>
     291      <args>
     292        <arg isRequired='true' name='vlan' value='vlan'>
     293          <info>VLAN.</info>
     294        </arg>
     295        <arg isRequired='true' name='switch' value='switch'>
     296          <info>IP Address or Hostname of switch.</info>
     297        </arg>
     298        <arg isRequired='true' name='enable' value='enable'>
     299          <info>true enables, false disables Spanning Tree Protocol.</info>
     300        </arg>
     301      </args>
     302    </service>
     303    <service name='setvlan'>
     304      <info>This service allows remote VLAN configuration of a given switch.</info>
     305      <args>
     306        <arg isRequired='true' name='port' value='port'>
     307          <info>Port number.</info>
     308        </arg>
     309        <arg isRequired='true' name='vlan' value='vlan'>
     310          <info>New VLAN ID or array of VLAN IDs.</info>
     311        </arg>
     312        <arg isRequired='false' name='native' value='[native]'>
     313          <info>Native VLAN ID</info>
     314        </arg>
     315        <arg isRequired='true' name='switch' value='switch'>
     316          <info>IP Address or Hostname of switch.</info>
     317        </arg>
     318        <arg isRequired='false' name='mode' value='[mode]'>
     319          <info>acces or trunk</info>
     320        </arg>
     321      </args>
     322    </service>
     323    <service name='showConfiguration'>
     324      <info>This service gets switch configuration to database.</info>
     325      <args>
     326        <arg isRequired='true' name='name' value='name'>
     327          <info>Name of configuration.</info>
     328        </arg>
     329      </args>
     330    </service>
     331    <service name='status'>
     332      <info>This service outputs Port data based on IP Address or Hostname.</info>
     333      <args>
     334        <arg isRequired='true' name='port' value='port'>
     335          <info>Port to view statistics on (use 0 for all ports)</info>
     336        </arg>
     337        <arg isRequired='true' name='switch' value='switch'>
     338          <info>IP Address or Hostname of switch to query.</info>
     339        </arg>
     340      </args>
     341    </service>
     342    <service name='statusOLD'>
     343      <info>This service outputs Port data based on IP Address or Hostname.</info>
     344      <args>
     345        <arg isRequired='true' name='port' value='port'>
     346          <info>Port to view status on</info>
     347        </arg>
     348        <arg isRequired='true' name='switch' value='switch'>
     349          <info>IP Address or Hostname of switch to query.</info>
     350        </arg>
     351      </args>
     352    </service>
     353    <service name='store'>
     354      <info>This service stores switch configuration to database.</info>
     355      <args>
     356        <arg isRequired='true' name='switch' value='switch'>
     357          <info>IP Address or Hostname of switch.</info>
     358        </arg>
     359        <arg isRequired='true' name='name' value='name'>
     360          <info>Name of configuration.</info>
     361        </arg>
     362      </args>
     363    </service>
     364  </serviceGroup>
     365</services>
     366}}}
     367
    110368=== TODO to fix web service (and OF setup) for SB9 data switch ===
    111369
     
    113371 1. In Indigo mode, there is a race condition between the ofprotocol service starting and the find-env script being able to pull all boot params - I think. Consequently, the ofprotocol service that talks to the controller is running blind. The reason I think it's a race condn. is since we see those boot params set when we print env vars, but the ofprotocol svc hasn't picket them up. The current fix is to restart ofprotocol with alternate script that sources the env params. So, we either fix the race condition, or we instruct the web service to execute the workaround.
    114372 1. Establish repository for FTP based loading of OF image, and set up corresponding u-boot configuration.
    115