装备测试项介绍
配置简化
按照st测试组环境需要的物料太多,需要简化环境复现或验证问题,这里提供几种情况的配置方法,注意vlan不能用1,因为vlan1内不能广播。
任意两个端口互相打流
例如A B两个口,需要将两个口配置到一个vlan中,配置如下:
system
vlan 100
port A
port B
两个端口接测试仪打流即可,注意两个口打入的流量目的mac和原mac要相反,先短时间打流保证mac地址学习到,然后清除端口计数开始打流。
打入流量环回转发
对于要通过打流的方式来判断某一端口是连接器、phy、mac有问题需要打入流量环回转发。
例如A口打入流量,B口环回,过程如下:
需要通过debug port mapping sl x确认B口的unit id 和port name,
[H3C-probe]debug port mapping sl 9
[Interface] [Unit] [Port] [Name] [Combo?] [Active?] [IfIndex] [MID] [Link]
===============================================================================
FGE9/0/1 1 25 xl25 no no 0x62da 371 down(
shut)
FGE9/0/2 0 13 xl13 no no 0x62db 368 down(
shut)
FGE9/0/3 0 21 xl21 no no 0x62dc 368 down(
配置B口环回
[H3C-probe]bcm slot 9 chip 1 port/xl25/lb=mac
或
[H3C-probe]bcm slot 9 chip 1 port/xl25/lb=phy
取消环回
[H3C-probe]bcm slot 9 chip 1 port/xl25/lb=none
设置vlan及静态mac
Vlan 100
Vlan 101
interface A
port link-type hybrid
port hybrid vlan 100 101 untagged
port hybrid pvid vlan 100
mac-address static 0-0-1 vlan 101
interface B
port link-type hybrid
port hybrid vlan 100 101 untagged
port hybrid pvid vlan 101
mac-address static 0-0-1 vlan 100
配置测试仪从A口打入目的mac为0-0-1,原为0-0-2的ip报文,注意根据实际需要调整报文长度。
需要从环境板引入流量
如果测试仪和要定位问题的单板端口类型不匹配,就需要一个环境板引入流量。例如流量从A B口打入,需要测试C D口,配置如下:
vlan 100
port A
port C
vlan 101
port B
port D
两个口打入的流量目的mac和原mac要相反,先短时间打流保证mac地址学习到,然后清除端口计数开始打流。
通用的流量配置脚本
对于要测试一批端口的情况,例如要一个芯片的所有口都参与转发,上面的配置简化就不适用了,这里提供两种tcl脚本,利用vtp里的tcl执行器可以自动生成配置。
下面是可以生成一个单板连续n(偶数)个端口的配置脚本,前两个端口接测试仪,其它的端口两两互联。
测试仪报文要求,第一个口打入的流量目的mac是0-0-1,原mac是0-0-2的IP报文;第二个口打入的流量目的mac是0-0-2,原mac是0-0-1的IP报文。
#槽位号
set slotid 2 单板所在的槽位,可修改
#单板的端口个数
set portbegin 1 连续的起始端口,可修改
set portend 10 连续的结束端口,可修改
set portnum [expr $portend - $portbegin + 1]
tputs "#"
tputs "vlan 2 to 3900"
tputs "#"
tputs "undo mac-address mac-learning enable"
tputs "undo stp global enable"
tputs "undo lldp global enable"
#端口类型一致按照1 2 | 3 4顺序排列的单板通用配置
set slot $slotid
set vlan [expr $slot*100+2]
for { set port $portbegin } { $port <= $portend } { incr port } {
tputs "#"
tputs "interface Ten-GigabitEthernet$slot/0/$port"
#tputs "interface FortyGigE$slot/0/$port"
#tputs "interface HundredGigE$slot/0/$port"
#号为注释符号,根据实际情况选择用哪种接口类型
tputs " port access vlan $vlan"
tputs " mac-address static 0-0-2 vlan $vlan"
incr vlan
incr port
}
set vlan [expr $slot*100+1]
for { set port [expr $portbegin+1] } { $port <= $portend } { incr port } {
tputs "#"
tputs "interface Ten-GigabitEthernet$slot/0/$port"
#tputs "interface FortyGigE$slot/0/$port"
#tputs "interface HundredGigE$slot/0/$port"
if {[expr $portbegin+1] == $port} {
tputs " port access vlan [expr $vlan+($portnum/2)]"
tputs " mac-address static 0-0-1 vlan [expr $vlan+($portnum/2)]"
} else {
tputs " port access vlan $vlan"
tputs " mac-address static 0-0-1 vlan $vlan"
}
incr vlan
incr port
}
下面的脚本可以生产一个单板连续n个端口的环回配置。
测试仪报文要求,第一个口打入的流量目的mac是0-0-1,原mac是0-0-2的IP报文
#槽位号
set slot 2
#单板的端口个数
set portbegin 1
set portnum 11
set vid 100
tputs "#"
tputs "vlan 2 to 3900"
tputs "#"
tputs "undo mac-address mac-learning enable"
tputs "undo stp global enable"
tputs "undo lldp global enable"
for { set port $portbegin } { $port <= $portnum } { incr port } {
tputs "#"
#tputs "interface Ten-GigabitEthernet$slot/0/$port"
#tputs "interface FortyGigE$slot/0/$port"
tputs "interface HundredGigE$slot/0/$port"
tputs " port link-type hybrid"
tputs " undo port hybrid vlan 1"
if {100 == $vid} {
tputs " port hybrid vlan [expr 100 + $portnum ] [expr $vid + 1] untagged"
} else {
tputs " port hybrid vlan $vid [expr $vid + 1] untagged"
}
tputs " port hybrid pvid vlan [expr $vid + 1]"
if {100 == $vid} {
tputs " mac-address static 0-0-1 vlan [expr 100 + $portnum]"
} else {
tputs " mac-address static 0-0-1 vlan $vid"
}
if {100 != $vid} {
tputs " loopback internal"
}
incr vid