其他测试脚本
来源:互联网 发布:linux动态打印日志 编辑:程序博客网 时间:2024/05/01 10:50
transit脚本实现
# P device : SWAP
# MPLS Packets ingressed at GE1 with tunnel labels 0x1111 and VC label 0x2222 0x3333# 00 00 00 00 02 22 00 00 00 00 00 BB 81 00 00 0B 88 47 01 11 10 40 02 22 21 40 03 33 30 40 45 00 00 62 00 00 00 00 40 72 E2 00 C6 13 0B 02 C6 13 01 01
#------------------------------------------------------------------------------------------------------------
sdk 6.6 版本的,需要vpn_id>=0x3000, 之前5.5 的配置为0x2000就可以 20140918
2014.11.22
输入报文格式 mpls报文,没有携带vlanid=1的tag
目的mac
源mac
8847
标签1
标签2
目的mac
源mac
继续结论 : 这个脚本使用于以下两种情况
输入 1 : 携带8100 0001 的mpls报文交换,输出报文不带8100 0001 的mpls报文
输入2 : 不携带 8100 0001的mpls报文交换,输出报文不携带8100 0001 的mpls报文。
关键在于这里没有重新创建tag模式的vlan 1 相关端口没有以tag的方式加入
cint
cint_reset();
int unit=0;
bcm_port_t port_1 = 11 ;
bcm_port_t port_2 = 12;
bcm_gport_t gport_1, gport_2;
bcm_port_gport_get(unit, port_1, &gport_1);
printf("gport_1=0x%x\n", gport_1);
bcm_port_gport_get(unit, port_2, &gport_2);
printf("gport_2=0x%x\n", gport_2);
bcm_switch_control_set(0, bcmSwitchL3EgressMode, 1);
bcm_vlan_control_set(0, bcmVlanTranslate, 1);
bcm_switch_control_set(0, bcmSwitchL2StaticMoveToCpu, 1);
exit;
l3 intf add vlan=1 mac=0x10 intf=10
l3 egress add mac=0x110 intf=10 port=0x800000c
因为到第二块板子没有洪范,更换地址 2014.11.22
l3 intf add vlan=1 mac=0x01 intf=10
l3 egress add mac=0x1616 intf=10 port=0x800000c
/*switch 操作*/
mpls tunnel switch add action=0 IngLabel=0x999 EgrLabel=0xabcde EgrObject=100002
mpls tunnel l2 add mac=0x10 vlan=1
/*注意要设置下satation*/
ApiSetDefaultMplsStation
看看创建vlan 1 的情况
如果创建vlan1 ,且将相关端口加入vlan1 ,那么输出的经过mpls交换后的报文,携带vlan tag
报文格式为
目的mac
源mac
8100
0001
8847
标签1
标签2
此种情况对端口1进来的mpls报文是否携带vlan=1的tag 适用。
cint
cint_reset();
int unit=0;
bcm_port_t port_1 = 11 ;
bcm_port_t port_2 = 12;
bcm_gport_t gport_1, gport_2;
bcm_port_gport_get(unit, port_1, &gport_1);
printf("gport_1=0x%x\n", gport_1);
bcm_port_gport_get(unit, port_2, &gport_2);
printf("gport_2=0x%x\n", gport_2);
bcm_switch_control_set(0, bcmSwitchL3EgressMode, 1);
bcm_vlan_control_set(0, bcmVlanTranslate, 1);
bcm_switch_control_set(0, bcmSwitchL2StaticMoveToCpu, 1);
bcm_vlan_create(0,1);
print bcm_vlan_gport_add(0, 1, gport_1, 0);
print bcm_vlan_gport_add(0, 1, gport_2, 0);
exit;
l3 intf add vlan=1 mac=0x10 intf=10
l3 egress add mac=0x110 intf=10 port=0x800000c
action: 0 swap 2 pop
/*POP 操作*/
mpls tunnel switch add action=0 IngLabel=0x11 EgrLabel=0xabcde EgrObject=100002
mpls tunnel l2 add mac=0x10 vlan=1
/*注意要设置下satation*/
ApiSetDefaultMplsStation
port+vlan egress
# P device : SWAP
# MPLS Packets ingressed at GE1 with tunnel labels 0x1111 and VC label 0x2222 0x3333
# 00 00 00 00 02 22 00 00 00 00 00 BB 81 00 00 0B 88 47 01 11 10 40 02 22 21 40 03 33 30 40 45 00 00 62 00 00 00 00 40 72 E2 00 C6 13 0B 02 C6 13 01 01
#------------------------------------------------------------------------------------------------------------
sdk 6.6 版本的,需要vpn_id>=0x3000, 之前5.5 的配置为0x2000就可以 20140918
cint
cint_reset();
int unit=0;
bcm_port_t port_1 = 11 ;
bcm_port_t port_2 = 12;
bcm_gport_t gport_1, gport_2;
bcm_port_gport_get(unit, port_1, &gport_1);
printf("gport_1=0x%x\n", gport_1);
bcm_port_gport_get(unit, port_2, &gport_2);
printf("gport_2=0x%x\n", gport_2);
bcm_switch_control_set(0, bcmSwitchL3EgressMode, 1);
bcm_vlan_control_set(0, bcmVlanTranslate, 1);
bcm_switch_control_set(0, bcmSwitchL2StaticMoveToCpu, 1);
/*egress AC 侧的VLAN必须创建和添加
l3 intf add vlan=21 mac=0x10 intf=10 否则在这句会提示参数不对2015 020*/
bcm_vlan_create(0,21);
print bcm_vlan_gport_add(0, 21, gport_1, 0);
bcm_vlan_create(0, 23);
print bcm_vlan_gport_add(0, 23, gport_2, 0);
exit;
//l3 intf add vlan=21 mac=0x10 intf=10 这个参数传21 也没问题。 2015 0203
l3 intf add vlan=23 mac=0x10 intf=10
l3 egress add mac=0x110 intf=10 port=0x800000c
mpls vpn create vpws VPN=0x3000
mpls vpn port add vpn=0x3000 portmatch=portvlan port=0x800000b vlan=21 IntfFlaGs=CouNTed
mpls vpn port add vpn=0x3000 portmatch=Label port=0x800000c \
egrobj=100002 IntfFlaGs=Network,ControlWord,EgressTunnel VCTermLabel=0x777 VCInitLabel=0x777
/*POP 操作*/
mpls tunnel switch add action=2 IngLabel=0x888 vpn=0x3000
/*下面这条命令可有可无 2015 0205*/
mpls tunnel l2 add mac=0x10 vlan=21
执行完之后加一条这个命令,可以放在任何位置 20150205
ApiSetDefaultMplsStation
2015 0205 再次test success!!!!! 已经支持控制字 controlword
vpls 一条AC两条PW输出
测试用例2
从ge9输入用户报文,从ge10,ge11 同时输出mpls报文,实现点到多点的通信 vpls实现
cint
cint_reset();
int unit=0;
bcm_port_t port_1 = 11 ;
bcm_port_t port_2 = 12;
bcm_port_t port_3 = 13;
bcm_gport_t gport_1, gport_2,gport_3;
bcm_port_gport_get(unit, port_1, &gport_1);
printf("gport_1=0x%x\n", gport_1);
bcm_port_gport_get(unit, port_2, &gport_2);
printf("gport_2=0x%x\n", gport_2);
bcm_port_gport_get(unit, port_3, &gport_3);
printf("gport_3=0x%x\n", gport_3);
bcm_switch_control_set(0, bcmSwitchL3EgressMode, 1);
bcm_vlan_control_set(0, bcmVlanTranslate, 1);
bcm_switch_control_set(0, bcmSwitchL2StaticMoveToCpu, 1);
bcm_vlan_create(0,21);
print bcm_vlan_gport_add(0, 21, gport_1, 0);
bcm_vlan_create(0, 23);
print bcm_vlan_gport_add(0, 23, gport_2, 0);
bcm_vlan_create(0, 24);
print bcm_vlan_gport_add(0, 24, gport_3, 0);
exit;
l3 intf add vlan=23 mac=0x10 intf=10
l3 egress add mac=0x010000000010 intf=10 port=0x800000c
l3 intf add vlan=24 mac=0x10 intf=11
l3 egress add mac=0x010000000010 intf=11 port=0x800000d
mpls tunnel init set EgrTunnelLabel=0x555 EgrLabelOptions=1 EgrTTL=44 intf=10
mpls tunnel init set EgrTunnelLabel=0x555 EgrLabelOptions=1 EgrTTL=44 intf=11
mpls vpn create vpls vpn=0x7014 BcastGroup=7
mpls mcast group create vpls McastGroup=6
mpls vpn port add vpn=0x7014 portmatch=portvlan port=0x800000b vlan=21 IntfFlaGs=CouNTed
mpls mcast group port add McastGroup=0x03000006 MplsPort=0x18000001
mpls vpn port add vpn=0x7014 portmatch=Label port=0x800000c \
egrobj=100002 IntfFlaGs=Network,EgressTunnel VCTermLabel=0x777 VCInitLabel=0x666
mpls vpn port add vpn=0x7014 portmatch=Label port=0x800000d \
egrobj=100003 IntfFlaGs=Network,EgressTunnel VCTermLabel=0x777 VCInitLabel=0x666
mpls mcast group port add McastGroup=0x03000006 MplsPort=0x18000002
mpls mcast group port add McastGroup=0x03000006 MplsPort=0x18000003
多播MAC添加到多播组中,这里的MAC 其实是用户报文的目的MAC
mpls mcast group addr McastGroup=0x03000006 Mac=0x010000000066 vpn=0x7014
想实现单播报文通过,下面这个命令式不行的
mpls mcast group addr McastGroup=0x03000006 Mac=0x000000000066 vpn=0x7014
/*
mpls mcast group port add McastGroup=0x03000003 MplsPort=0x18000001
mpls mcast group port add McastGroup=0x03000003 MplsPort=0x18000002
mpls mcast group port add McastGroup=0x03000003 MplsPort=0x18000003
mpls mcast group addr McastGroup=0x03000003 Mac=0x010000000066 vpn=0x7001
*/
/*POP 标签有关*/
/*VPN 必须要有,否则提示参数失败
BCM.0> mpls tunnel switch add action=2 IngLabel=0x888
MPLS_CLI: Error: bcm_mpls_tunnel_switch_add failed, Invalid parameter
*/
mpls tunnel switch add action=2 IngLabel=0x888 vpn=0x7014
/*这一条不是必须的 10.13*/
mpls tunnel l2 add mac=0x10 vlan=23
ApiSetDefaultMplsStation
注意最后要设置下default station
- 其他测试脚本
- 测试脚本
- 测试脚本
- 脚本测试
- 测试脚本
- 软件测试技术---其他测试
- 其他测试分类
- 运行其他脚本,加载关卡
- 其他需要测试的实例
- 一个测试脚本,测试lvm
- 在delphi中使用其他语言脚本
- python-调用其他的python脚本
- linux脚本和其他命令篇
- shell 包含其他shell脚本的方法
- uboot配置过程(mkconfig脚本+其他)
- 【Unity】动态调用其他脚本的函数
- 7. 引用其他脚本 (sourcing)
- RFT测试脚本
- 阿里电视游戏开发者沙龙召开 把脉电视游戏新方向
- Java对象的序列化与反序列化
- Js 实现图片放大功能
- Mysql使用技巧
- 反射
- 其他测试脚本
- Android之GPS定位详解
- linux常用命令(54):kill命令
- 详细解说STL hash_map系列
- 整合Struts2和spring3的时候,sturts2配置文件没问题,能找到action,但页面空白
- 关于输入法键盘的Enter键
- 关于Activity切换动画——overridePendingTransition
- test
- 人这一生