全ポートの状態一括表示

本設定例では、ルーターのL2MSコントローラー機能・Luaスクリプト機能と、L2スイッチのL2MSスレーブ機能を使用しています。

ルーターの対応機種は、RTX1210RTX1200(Open in new windowRev.10.01.16以降)、RTX810NVR700WNVR510NVR500
FWX120です。

L2スイッチの対応機種は、SWX2300-8GSWX2300-16GSWX2300-24GSWX2200-8GSWX2200-24G
SWX2200-8PoESWX2100-8GSWX2100-16Gです。

L2MSコントローラー(ルーター)とL2MSスレーブ(L2スイッチ)の対応リビジョンは、Open in new window 技術資料「L2MS」でご確認ください。

図 全ポートの状態一括表示

スイッチのポート使用状況を確認する設定例です。
Luaスクリプトを使用して、スイッチのポートごとのリンクアップ/ダウン状態を取得し、ルーターのコンソールに出力します。
本設定例で使用するLuaスクリプトは、リンクの状態を表示した後に自動的に終了します。そのため、ポートの使用状況を確認するたびに実行する必要があります。
なお、Luaスクリプトを実行する際は、luaコマンドを使用します。Luaスクリプトファイル名に続けて、スイッチのMACアドレスまたはスイッチまでの接続ポートの経路情報を指定してください。

実行例:lua /swx_lua_status_ports.lua 00:a0:de:aa:bb:cc

対応機種のうち、設定例を掲載している機種は、以下のとおりです。

機種 掲載内容 備考
ルーター

RTX1210 RTX1200 RTX810 NVR700W NVR510 NVR500 FWX120

コマンド設定例
Luaスクリプト例

L2MSコントローラー機能、
Luaスクリプト機能

L2スイッチ

SWX2200-8G SWX2200-24G SWX2200-8PoE SWX2100-8G SWX2100-16G

L2MSスレーブ機能

LANインタフェースの設定
(LAN1ポートを使用)

ip lan1 address 192.168.100.1/24

DHCPの設定

dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.100.2-192.168.100.191/24

スイッチの設定

switch control use lan1 on

スイッチの機種を取得する関数

function switch_model_read(sw)
  local rtn, str
  local cmd = "switch control function get model-name " .. sw
  rtn, str = rt.command(cmd)
  if (not rtn) or (not str) then
    str = string.format("failed to get model name : %s¥r¥n", sw)
  end
  return rtn, str
end

メインルーチン

local rtn, str, port_num, len
sw = arg[1]

-- Which model ?
rtn, str = switch_model_read(sw)
if (not rtn) or (not str) then
  if (str) then
    print(str)
  end
  return
end

if (string.find(str, "SWX2200-8G", 1, true)) then
  port_num = 8
elseif (string.find(str, "SWX2200-24G", 1, true)) then
  port_num = 24
elseif (string.find(str, "SWX2200-8PoE", 1, true)) then
  port_num = 8
elseif (string.find(str, "SWX2100-8G", 1, true)) then
  port_num = 16
elseif (string.find(str, "SWX2100-16G", 1, true)) then
  port_num = 8
else
  print(str)
  return
end

-- check the port status
for i = 1, port_num do
  local cmd = string.format("switch control function get status-port-speed "..
                   "%d %s", i, sw)
  rtn, str = rt.command(cmd)
  if (not rtn) or (not str) then
    return
  end
  len = string.len(str) - 2
  str = string.sub(str, 1, len)
  print("port " .. i .. " : " .. str)
end

【ご注意】

本設定例は、設定の参考例を示したもので、動作を保証するものではございません。
ご利用いただく際には、十分に評価・検証を実施してください。

ページトップへ戻るReturn to Top