linux 中vlan if 虚接口调试方法,及注册

2021/12/28 7:07:26

本文主要是介绍linux 中vlan if 虚接口调试方法,及注册,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

//root/rtk-9310/kernel/uClinux/user/switch/sdk/diag/src/diag_vlan.c + RTK_MS_SDK_API_UserGuide(63).pdf 调试RTL api接口。

port based vlan configure: //Note:配置access/trunk/hybrid端口vlan属性。
vlan create vlan-table vid
vlan set accept-frame-type outer port all
vlan set accept-frame-type inner port all
vlan set pvid-mode outer port 7 untag-and-priority-tag
vlan set pvid-mode inner port 7 untag-and-priority-tag
vlan set vlan-table vid 1 member 22,28
vlan set vlan-table vid 1 untag-port 0-21,27
vlan set pvid outer port 7 1
vlan set pvid inner port 7 1 //Note: 对于交换芯片来说,inner vlan指紧挨着mac地址的vlan,mac -> layer-4, 报文层数由里到外。
vlan get vlan-table vid 2
Vlan 2
Member Ports : 0-28
Untag Ports : 0-6,8,10-28
Tag Ports : 7,9
Fid : 0
Stg : 0
UBCAST hkey : UC_LOOKUP_ON_VID
MCAST hkey : UC_LOOKUP_ON_VID
Profile index : 0

RTL9300升级: RTL9300# # upgrade runtimeforce vmlinux.bix

恒茂验证:

Switch(config)# interface vlan 10
register_vlan_device: ALREADY had VLAN registered //Note:核心信息。
Switch(config-if-vlan10)#

测试步骤:
交换机(10) <------------------> 网络 <-----------------> ubuntu虚拟机

交换机:
0、交换机10端口pvid设置非1,允许vlan1通过。
1、内核注册vlan if 端口。 //可以通过根文件系统中vconfig 或者 ioctl来注册(struct vlan_ioctl_args ifr; socket(AF_INET, SOCK_STREAM, 0) ioctl(int_fd, SIOCSIFVLAN, &ifr))
2、与cpu端口对接的交换机端口加入到对应vlan 1,允许通过; //interface vlan 1 ; register_vlan_device: ALREADY had VLAN registered
3、vlan if端口配置ip地址。//可以通过根文件系统中ifconfig 或者ioctl来配置。 //ifconfig eth0.1 3.3.3.4 netmask 255.0.0.0

ubuntu虚拟机:
1、安装vconfig工具;
2、利用vconfig + ifconfig来注册vlan if接口 + 配置ip地址。

测试效果:
Switch(config)# ping 3.3.3.3
Reply from 3.3.3.3 : bytes=56: icmp_seq=0 ttl=64 time<1.0 ms
Reply from 3.3.3.3 : bytes=56: icmp_seq=1 ttl=64 time<1.0 ms



这篇关于linux 中vlan if 虚接口调试方法,及注册的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程