统一显示所有端口的状态

本设定例可以确认SWX2200的各个端口的使用状况。
使用Lua脚本来获取SWX2200每个端口的连接、关闭的状态、在RTX1200的控制台上输出结果。
由于在本设定例中使用的Lua脚本,在显示完链接状态后会自动结束,因此每次想对SWX2200的端口使用状况进行确认时,需要重新运行此脚本。
在执行Lua脚本时的格式为:lua指令,Lua脚本文件名,SWX2200的MAC地址或SWX2200的接续端口路径信息。
执行例:lua /swx2200_lua_status_ports_rtx1200.lua 00:a0:de:aa:bb:cc

RTX1200的设定例

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

SWX2200的设定

switch control use lan1 on

Lua 脚本的设定例

获取交换机机型的函数

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]

-- 8G or 24G ?
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
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

网络相关产品

服务支持

事业绍介