【已评审】新增CLI命令以支持交换芯片

背景

新增支持交换管理组件对单板交换芯片的配置与查询CLI命令,用户及现网维护可以灵活配置当前单板交换芯片配置,同样可以查询当前交换芯片配置。

关联ISSUE

整体方案

使用CLI命令查询/设置单板交换芯片;

评审点

新增CLI命令用于查询/设置单板交换芯片;

详细描述

评审点1:新增CLI -t lswm -d agingtime设置/获取老化时间

操作权限:ReadOnly

1. 查询老化时间:

操作权限:ReadOnly

查询说明:

Usage: ipmcget -t lswm -d agingtime

使用示例:

// 查询交换芯片老化时间
ipmcget -t lswm -d agingtime
The mac aging time of SMM is 300s

2. 设置老化时间:

操作权限:BasicSetting
命令格式: ipmcset -t lswm -d agingtime -v <AgingTime>
命令说明: Set lswm l2table aging time
命令提示:

Usage: ipmcset -t lswm -d agingtime -v <AgingTime>
Option : The values of AgingTime can be:
         0: MAC table entries do not age out.
         10 ~ 3600 : aging time 10 to 3600 seconds
Exanple:
    ipmcset -t lswm -d agingtime -v 0
    ipmcset -t lswm -d agingtime -v 300

评审点2:新增CLI接口 -t lswm -d portenable设置端口使能状态

设置端口使能状态:

操作权限:BasicSetting
命令格式: ipmcset -t lswm -d portenable -v <PortName> <enable|disable> [PersistType]
命令说明: Set lswm port enable
命令提示:

Usage: ipmcset -t lswm -d portenable -v <PortName> <enable|disable> [PersistType]
PortName: Port name, such as: BMC_1 MGMT CAS_1
Enable: disable | enable
PersistType: Persist type, 0: not persisted | 1: persisted, This parameter is optional. If it is not specified, the data is not persisted.
Example:
    ipmcset -t lswm -d portenable -v BMC_1 enable
    ipmcset -t lswm -d portenable -v CAS_1 disable 1

评审点3:新增CLI -t lswm -d portspeed设置端口速率

设置端口速率:

操作权限:BasicSetting
命令格式: ipmcset -t lswm -d portspeed -v <PortName> <Speed>
命令说明: Set lswm port speed
命令提示:

Usage: ipmcset -t lswm -d portspeed -v <PortName> <Speed>
Support Port: MGMT
Option : The values of Speed can be:
         10M
         100M
         GE
Example:
    ipmcset -t lswm -d portspeed -v MGMT GE
    ipmcset -t lswm -d portspeed -v MGMT 100M

评审点4:新增CLI -t lswm -d portneg设置端口自协商使能状态

设置端口自协商使能状态:

操作权限:BasicSetting
命令格式: ipmcset -t lswm -d portneg -v <PortName> <enable|disable>
命令说明: Set lswm port negotiation enable
命令提示:

Usage: ipmcset -t lswm -d portneg -v <PortName> <enable|disable>
Support Port: MGMT
Example:
    ipmcset -t lswm -d portneg -v MGMT enable
    ipmcset -t lswm -d portneg -v MGMT disable

评审点5:新增CLI -t lswm -d loopmode设置端口环回模式

设置端口环回模式:

操作权限:BasicSetting
命令格式: ipmcset -t lswm -d loopmode -v <PortName> <LoopMode>
命令说明: Set lswm port loop mode
命令提示:

Usage: ipmcset -t lswm -d loopmode -v <PortName> <LoopMode>
Option : The values of LoopMode can be:
         no_loop
         mag_tx2rx
         mag_tx2rx
         phy_tx2rx
         phy_rx2tx
         mag_rx2tx
         serial_tx2rx
         paral_tx2rx
Example:
    ipmcset -t lswm -d loopmode -v BMC_1 no_loop
    ipmcset -t lswm -d loopmode -v CAS_1 serial_tx2rx

评审点6:新增CLI -t lswm -d portinfo获取端口信息表

操作权限:ReadOnly

查询说明:

Usage: ipmcget -t lswm -d portinfo

使用示例:

// 查询端口信息表
ipmcget -t lswm -d portinfo
| PortId  | PortName      | Enable  | Link  | Duplex  | AutoNegEnable  | Speed     | LoopMode        |
| 1       | MGMT          | enable  | down  | full    | enable         | GE        | no_loop         |
| 2       | CAS_1         | enable  | down  | full    | enable         | GE        | no_loop         |
| 3       | CAS_2         | enable  | down  | full    | enable         | GE        | no_loop         |
| 4       | CAS_3         | enable  | down  | full    | enable         | GE        | no_loop         |
| 5       | CAS_4         | enable  | down  | full    | enable         | GE        | no_loop         |
| 6       | CAS_5         | enable  | down  | full    | enable         | GE        | no_loop         |
| 7       | CAS_6         | enable  | down  | full    | enable         | GE        | no_loop         |
| 8       | CAS_7         | enable  | down  | full    | enable         | GE        | no_loop         |
| 9       | CAS_8         | enable  | down  | full    | enable         | GE        | no_loop         |
| 10      | BMC_1         | enable  | down  | full    | enable         | GE        | no_loop         |
| 11      | BMC_2         | enable  | down  | full    | enable         | GE        | no_loop         |
| 12      | BMC_3         | enable  | down  | full    | enable         | GE        | no_loop         |
| 13      | BMC_4         | enable  | down  | full    | enable         | GE        | no_loop         |
| 14      | BMC_5         | enable  | down  | full    | enable         | GE        | no_loop         |
| 15      | BMC_6         | enable  | down  | full    | enable         | GE        | no_loop         |
| 16      | BMC_7         | enable  | down  | full    | enable         | GE        | no_loop         |
| 17      | BMC_8         | enable  | down  | full    | enable         | GE        | no_loop         |
| 18      | CPORT_1       | enable  | down  | full    | enable         | GE        | no_loop         |
| 19      | CPORT_2       | enable  | down  | full    | enable         | GE        | no_loop         |
| 20      | CPORT_3       | enable  | down  | full    | enable         | GE        | no_loop         |
| 21      | CPORT_4       | enable  | down  | full    | enable         | GE        | no_loop         |
| 22      | CPORT_5       | enable  | down  | full    | enable         | GE        | no_loop         |
| 23      | CPORT_6       | enable  | down  | full    | enable         | GE        | no_loop         |
| 24      | CPORT_7       | enable  | down  | full    | enable         | GE        | no_loop         |
| 25      | CPORT_8       | enable  | down  | full    | enable         | GE        | no_loop         |
| 26      | SMM_SELF      | enable  | down  | full    | enable         | GE        | no_loop         |
| 27      | SMM_OTHER     | enable  | down  | full    | enable         | GE        | no_loop         |
| 28      | SW4_CPORT     | enable  | down  | full    | enable         | GE        | no_loop         |
| 29      | SW5_CPORT     | enable  | down  | full    | enable         | GE        | no_loop         |
| 30      | SW4_10GE      | enable  | down  | full    | enable         | 10GE      | no_loop         |
| 31      | SW5_10GE      | enable  | down  | full    | enable         | 10GE      | no_loop         |

评审点7:新增CLI -t lswm -d l2table获取ARL表

操作权限:ReadOnly

查询说明:

Usage: ipmcget -t lswm -d l2table

使用示例:

// 获取l2table
ipmcget -t lswm -d l2table
|Mac                     |Vlan          |Port          |Static  |
|00:00:00:01:01:01       |4090          |BMC_1         |N       |
|00:00:00:01:01:01       |4094          |SMM_OTHER     |Y       |

评审点8:新增CLI -t lswm -d portstatistics 获取端口统计信息

操作权限:ReadOnly

查询说明:

Usage: ipmcget -t lswmain -d portstatistics -v <PortName>
PortName: Port name, such as BMC_1, CAS_1, MGMT

使用示例:

// 获取端口统计
ipmcget -t lswm -d portstatistics -v mgmt
GoodOctetsRx                  :0
GoodOctetsTx                  :0
UcPktsRx                      :0
UcPktsTx                      :0
CollisionFrames               :0
BrdPktsRxs                    :0
BrdPktsTxs                    :0
McPktsRx                      :0
McPktsTx                      :0
Pkts64OctetsRx                :0
Pkts65to127OctetsRx           :0
Pkts128to255OctetsRx          :0
Pkts256to511OctetsRx          :0
Pkts512to1023OctetsRx         :0
Pkts1024tomaxOoctetsRx        :0
PauseRx                       :0
PauseTx                       :0
MacTxErr                      :0
DropEvents                    :0
UndersizePkts                 :0
FragmentsPkts                 :0
OversizePkts                  :0
JabberPkts                    :0
MacRxError                    :0
CrcAlignError                 :0
FcsError                      :0
Get port statistics successfully.

评审点9:新增CLI -t lswm -d omchannel 设置/获取om通道模式

1. 获取om通道模式:

操作权限:ReadOnly

查询说明:

Usage: ipmcget -t lswm -d omchannel

使用示例:

// 获取om通道模式
ipmcget -t lswm -d omchannel
Current mode : 1(OM PXE install mode)
Remain time : 6 hour 4 min

2. 设置om通道模式

操作权限:BasicSetting

命令格式: ipmcset -t lswm -d omchannel -v <OmMode> [TimeOut]
命令说明: Set omchannel mode
命令提示:

Usage: ipmcset -t lswm -d omchannel -v <OmMode> [TimeOut]
Example:
ipmcset -t lswm -d omchannel -v 0
ipmcset -t lswm -d omchannel -v 1 20

评审点10:新增CLI接口 -t lswm -d othersmmportenable设置对端交换芯片端口使能状态

设置对端交换芯片端口使能状态:

操作权限:BasicSetting
命令格式: ipmcset -t lswm -d othersmmportenable -v <PortName> <enable|disable>
命令说明: Set lswm other smm port enable
命令提示:

Usage: ipmcset -t lswm -d othersmmportenable -v <PortName> <enable|disable>
PortName: Port name, such as: BMC_1 MGMT CAS_1
Enable: disable | enable

Example:
    ipmcset -t lswm -d othersmmportenable -v BMC_1 enable
    ipmcset -t lswm -d othersmmportenable -v CAS_1 disable

评审结论

评审点1, 同意新增CLI命令ipmcset/ipmcget -t lswm -d agingtime命令;
评审点2, 同意新增CLI命令ipmcset -t lswm -d portenable命令;
评审点3, 同意新增CLI命令ipmcset -t lswm -d portspeed命令;
评审点4, 同意新增CLI命令ipmcset -t lswm -d portneg命令;
评审点5, 同意新增CLI命令ipmcset -t lswm -d loopmode命令;
评审点6, 同意新增CLI命令ipmcget -t lswm -d portinfo命令;
评审点7, 同意新增CLI命令ipmcget -t lswm -d l2table命令;
评审点8, 同意新增CLI命令ipmcget -t lswm -d portstatistics命令;
评审点9, 同意新增CLI命令ipmcset/ipmcget -t lswm -d omchannel命令;
评审点10, 同意新增CLI命令ipmcset -t lswm -d othersmmportenable命令;

遗留问题

  1. 端口自协商的命名要精简为PortNeg (已闭环)