スイッチの操作

$Date: 2017/06/02 10:38:38 $


はじめに

L2MSのスレーブとして動作しているヤマハスイッチに対して、マスターから設定を行ったり動作状態を取得したりすることを「スイッチを操作する」と呼びます。

本文書では、ヤマハルーターをマスターとした際に、コマンドでスイッチを操作する方法について解説します。

SWX2300をマスターとした際の、スイッチの操作方法についてはSWX2300の技術資料を参照してください。


コマンドの概要

スイッチを操作するコマンドはswitch control function set、switch control function get、switch control function executeの3つです。それぞれのコマンドの役割は次の通りです。

switch control function set

スイッチが持つ機能に対して設定を行う場合に使用するもので「実行内容が保存されるコマンド」です。つまり、マスターからこのコマンドを実行した後show configでその内容が表示されます。使用例としては「ポートの通信速度を設定する」、「省電力機能の設定をする」などです。

switch control function get

このコマンドには大きく分けて2つの役割があります。

1つはスイッチの動作状態を取得する役割です。show statusで始まるコマンドに相当します。使用例としては「ポートのリンク状態を取得する」、「ポートで受信したパケット数を取得する」などです。

もう1つはスイッチの設定内容を取得する役割です。show configでも設定内容を表示することができますが、違う部分もあります。まず、switch control function setで設定した値をこのコマンドで取得することができます。この場合、取得できる値はshow configで表示される内容と同一です。それに加えてswitch control function setで設定していない項目の値も取得することができます。この場合、取得できる値は初期値となります。

switch control function execute

スイッチに対して特定の動作を実行させるコマンドです。switch control function setコマンドと似ていますが、違いは実行内容が保存されないという点です。使用例としては「スイッチを再起動する」、「スイッチのMACアドレステーブルをクリアする」などです。


用語の定義

用語 説明
マスター(コントローラー) L2MSのスレーブとして動作している、ヤマハネットワーク機器の管理を行う機器
ネットワーク内のヤマハスイッチ、ヤマハ無線APを管理する
スレーブ L2MSのマスターによって管理されるヤマハスイッチ、およびヤマハ無線AP
マスターから設定の確認や変更を行うことができる

従来はL2MSのスレーブの管理を行う機器を「コントローラー」と呼称していましたが、機能を拡張していく中でより相応しい名称「マスター」に変更しました。


コマンドの使用方法

コマンドの書式について

スイッチを操作するコマンドの書式は以下のようになっています。

switch control function set FUNCTION [INDEX] VALUE
no switch control function set FUNCTION [INDEX]
switch control function get FUNCTION [INDEX] [SWITCH]
switch control function execute FUNCTION [INDEX] [SWITCH]

FUNCTION
操作する機能の名称を指定します。機能の一覧および詳細はコマンドリファレンスに記載されています。
INDEX
このパラメータは機能に操作対象が複数存在する場合に指定します。例えばポートの通信速度を設定するport-speedという機能では、設定対象としてポート番号を指定する必要があります。
VALUE
機能に対する設定値を入力します。設定値が複数存在することはありません。switch control function setを実行できる機能に対してswitch control function getを実行するとこの値が表示されます。
SWITCH
操作するスイッチを指定します。このパラメータを省略する場合は事前にswitch selectコマンドを実行する必要があります。また、switch control function setno switch control function setについては必ずswitch selectコマンドを実行する必要があります。

no switch control function setコマンドを実行した場合は、show configの表示内容から削除されると同時に当該機能の設定値が初期値に戻ります。

コマンドの使用例

MACアドレスが00:a0:de:01:02:03、経路がlan1:3であるスイッチのポート3の通信速度を100BASE-TX全二重に設定する方法を解説します。使用する機能はport-speedです。なお、当機能に関する詳細はコマンドリファレンスを参照してください。

  1. 最初にswitch selectでスイッチを指定します。
    # switch select 00:a0:de:01:02:03
    switch(00:a0:de:01:02:03)#
    
  2. 何も設定されていない状態でport-speedをgetすると、初期値が表示されます。
    switch(00:a0:de:01:02:03)# switch control function get port-speed 3
    auto
    switch(00:a0:de:01:02:03)#
    
  3. ポート3の通信速度を100BASE-TX全二重に設定します。
    switch(00:a0:de:01:02:03)# switch control function set port-speed 3 100-fdx
    switch(00:a0:de:01:02:03)#
    
  4. show configでは次のように表示されます。
    switch select 00:a0:de:01:02:03
     switch control function set port-speed 3 100-fdx
    
  5. この状態でport-speedをgetすると100-fdxが表示されます。
    switch(00:a0:de:01:02:03)# switch control function get port-speed 3
    100-fdx
    switch(00:a0:de:01:02:03)#
    
  6. switch selectで経路を指定してgetした場合も同様です。
    switch(00:a0:de:01:02:03)# switch select lan1:3
    switch(lan1:3)# switch control function get port-speed 3
    100-fdx
    switch(lan1:3)#
    

設定の同期

同期の仕組み

スイッチがマスターの制御下にある時、マスターと配下のスイッチの設定内容は常に同期しています。

スイッチが接続されている状態でswitch control function setコマンドを実行すると、設定内容はマスターとスイッチの両方に保存されます。

また、スイッチが接続されていない状態でも当コマンドを実行することができます。この場合、設定内容はマスターにのみ保存されます。その後スイッチを接続すると、その内容が転送されます。なお、switch control function getswitch control function executeをスイッチが接続されていない状態で実行するとエラーになります。

同期はマスターからスイッチへの一方向であり、スイッチは常にマスターに設定されているconfigで動作します。

マスターにスイッチを接続した場合、最初にマスターとスイッチの設定内容が一致しているかどうかを調べます。一致していない場合は以下の処理が行われます。

例として事前にマスターに以下のconfigが設定されている場合を考えます。

switch select lan1:3
 switch control function set system-name sales              ... (a)
 switch control function set port-speed 2 100-fdx           ... (a)
 switch control function set port-speed 5 10-hdx            ... (a)
switch select lan2
 switch control function set system-name development        ... (b)
 switch control function set port-speed 4 100-hdx           ... (b)

lan1のポート3にスイッチを接続した場合、同期処理によって上記configの (a) の部分が転送されます。またlan2に接続した場合には (b) の部分が転送されます。このように経路指定で設定をした場合、どのようなMACアドレスを持つスイッチを接続しても、経路が一致していれば設定が転送されます。

マスターは配下のスイッチの設定内容を定期的に監視しており、マスターが持つconfigとの不整合を検出した場合に同期処理を行います。

同期処理には時間を要することがあります (数十秒〜数分)。同期処理中にスイッチは他の操作を受け付けることができません。コマンドを実行した場合、以下のような応答が表示されます。

エラー: スイッチは他の処理を行っています

この場合、コマンドはエラー扱いとなりマスターのconfigに保存されません。

同期処理の開始と終了はそれぞれ以下のSYSLOGで確認することができます。

[SWCTL] lan1:3(00:a0:de:01:02:03): sync start
[SWCTL] lan1:3(00:a0:de:01:02:03): sync done

経路指定で設定を行っている場合には、スイッチの接続ポートを変えただけで同期処理が開始されることに注意してください。

同一のスイッチに対する重複設定

MACアドレスと経路、それぞれの指定方法による設定が同一のスイッチを対象としてしまうことがあります。この場合は、MACアドレス指定による設定が優先されます。

例として、マスターに以下のconfigが設定されている場合を考えます。

switch select 00:a0:de:01:02:03
 switch control function set port-speed 2 100-fdx       ... (a)
 switch control function set port-speed 5 10-hdx        ... (b)
switch select lan1:3
 switch control function set port-speed 3 100-hdx       ... (c)
 switch control function set port-auto-crossover 4 off  ... (d)

lan1のポート3にMACアドレスが00:a0:de:01:02:03であるスイッチを接続した場合、転送される設定は (a)、(b) となります。この状態で (a)、(b) の設定を削除すると同期処理が開始され (c)、(d) の設定が転送されます。このとき (a)、(b) の設定値は初期値に戻ります。

次に (c)、(d) の設定のみがある状態でスイッチを接続した場合を考えます。

switch select lan1:3
 switch control function set port-speed 3 100-hdx       ... (c)
 switch control function set port-auto-crossover 4 off  ... (d)

lan1のポート3にMACアドレスが00:a0:de:01:02:03であるスイッチを接続すると (c)、(d) の設定が転送されます。

ここで (a) の設定を追加すると、MACアドレス指定による設定が優先されるので同期処理が開始され (a) の設定が転送されます。(c)、(d) の設定値は初期値に戻ります。

switch select 00:a0:de:01:02:03
 switch control function set port-speed 2 100-fdx       ... (a)
switch select lan1:3
 switch control function set port-speed 3 100-hdx       ... (c)
 switch control function set port-auto-crossover 4 off  ... (d)

同期処理が完了すると、次のコマンドを入力できます。引き続き (b) の設定を追加すると、その内容がスイッチに転送されます。

switch select 00:a0:de:01:02:03
 switch control function set port-speed 2 100-fdx       ... (a)
 switch control function set port-speed 5 10-hdx        ... (b)
switch select lan1:3
 switch control function set port-speed 3 100-hdx       ... (c)
 switch control function set port-auto-crossover 4 off  ... (d)

スイッチに適用されている設定 (switch select) は、show status switch controlコマンドで確認することができます。

誤った設定について

マスターにスイッチを接続しない状態で事前にswitch control function setコマンドを入力しておく場合、それが正しい設定なのか否かわからないことがあります。例えば、ポート10に対するport-speedの設定を入力したが、実際に接続したスイッチは8ポートであったというような場合です。

上記のように、スイッチを接続した結果設定の誤りが判明した場合、その設定はconfigから自動的に削除されます。ただしsaveは実行されないため、フラッシュROMには削除前のconfigが残っています。

他社スイッチが混在する構成での同期

他社スイッチの配下に複数のヤマハスイッチが接続されている場合の同期処理について説明します。

マスターには以下のconfigが設定されているものとします。以降の説明では当configをconfig (A)と記述します。

switch select lan1:3
 switch control function set port-speed 3 100-fdx
 switch control function set port-auto-crossover 4 off

以下のような構成で、他社スイッチの配下にヤマハスイッチAを接続すると、当該スイッチはconfig (A)で同期されます。

+------------------+
|     マスター     |
+--------+---------+
         | lan1 port 3
         |
+--------+---------+
|   他社スイッチ   |
+--------+---------+
         | port 2
         |
+--------+---------+
| ヤマハスイッチA  |
+------------------+

次に、他社スイッチの配下にヤマハスイッチBを追加で接続します。

+------------------+
|     マスター     |
+--------+---------+
         | lan1 port 3
         |
+--------+---------+ port 5
|   他社スイッチ   +------------+
+--------+---------+            |
         | port 2               |
         |                      |
+--------+---------+   +--------+---------+
| ヤマハスイッチA  |   | ヤマハスイッチB  |
+------------------+   +------------------+

この場合の動作は以下の通りです。

続けて、ヤマハスイッチAのLANケーブルを抜くと、ヤマハスイッチBはconfig (A)で同期されます。

+------------------+
|     マスター     |
+--------+---------+
         | lan1 port 3
         |
+--------+---------+ port 5
|   他社スイッチ   +------------+
+--------+---------+            |
                                |
                                |
                       +--------+---------+
                       | ヤマハスイッチB  |
                       +------------------+

設定の削除

switch control function defaultコマンドを使用するとスイッチの設定をまとめて削除することができます。以下のconfigを例として説明します。lan1のポート3にMACアドレスが00:a0:de:01:02:03であるスイッチが接続されているものとします。

switch select 00:a0:de:01:02:03
 switch control function set port-speed 2 100-fdx       ... (a)
 switch control function set port-speed 5 10-hdx        ... (b)
switch select lan1:3
 switch control function set port-speed 3 100-hdx       ... (c)
 switch control function set port-auto-crossover 4 off  ... (d)

switch control function defaultコマンドを実行した場合は、スイッチに適用される設定に変更がない場合でも必ず同期処理が行われます。

スイッチを接続していない状態で当コマンドを実行した場合、bothオプションを指定してもMACアドレスと経路の設定が同時に削除されることはありません。


関連情報