linux内核支持多少vrf,哪些系统资源限制了vrf数量?
Linux内核现在支持全新的vrf(虚拟路由和转发)体系结构,这与旧的网络名称空间解决方案不同 问题:linux内核支持多少vrf,哪些系统资源限制了vrf数量?,linux,networking,linux-kernel,routing,Linux,Networking,Linux Kernel,Routing,Linux内核现在支持全新的vrf(虚拟路由和转发)体系结构,这与旧的网络名称空间解决方案不同 问题: linux内核支持多少vrf 什么系统资源限制vrf容量 我是内核源代码的新手,找不到关于上面两个问题的信息 我编写了一个脚本来添加4096 vrf,并将vrf设备设置在openswitch x86 docker容器中,一切正常 脚本: def main(): for i in range(0, 4096): cmd("ip link add vrf%d type vr
def main():
for i in range(0, 4096):
cmd("ip link add vrf%d type vrf table %d"%(i,i))
sleep(50)
cmd("ip link set dev vrf%d up"%i)
sleep(50)
main()
日志:
root@switch:~#ip链路添加vrf0类型vrf表0
root@switch:~#ip链路设置dev vrf0已启动
...
root@switch:~#ip链路添加vrf4095类型vrf表4095
root@switch:~#ip链路设置dev vrf4095已启动
root@switch:~#ip-d链接显示类型vrf vrf4095
4098:vrf4095:mtu 1500 qdisc pfifo_快速状态未知模式默认组默认qlen 1000
链接/以太22:78:87:9d:ca:81 brd ff:ff:ff:ff:ff:ff乱交0
vrf表4095 addrgenmode eui64
root@switch:~#ip-d链接显示类型vrf | grep“NOARP,MASTER”| wc
4097 61455 485311
root@switch:~#uname-a
Linux switch 4.4.0-45-generic#66 Ubuntu SMP周三10月19日14:12:37 UTC 2016 x86_64 GNU/Linux
我的推荐人:
您可以创建的VRF的数量似乎没有限制,唯一的限制是内存大小(为您创建的每个VRF netdev分配内存)和ifindex类型限制(它是int,通常是32位),非常高
root@switch:~# ip link add vrf0 type vrf table 0
root@switch:~# ip link set dev vrf0 up
...
root@switch:~# ip link add vrf4095 type vrf table 4095
root@switch:~# ip link set dev vrf4095 up
root@switch:~# ip -d link show type vrf vrf4095
4098: vrf4095: <NOARP,MASTER,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 1000
link/ether 22:78:87:9d:ca:81 brd ff:ff:ff:ff:ff:ff promiscuity 0
vrf table 4095 addrgenmode eui64
root@switch:~# ip -d link show type vrf | grep "NOARP,MASTER" | wc
4097 61455 485311
root@switch:~# uname -a
Linux switch 4.4.0-45-generic #66-Ubuntu SMP Wed Oct 19 14:12:37 UTC 2016 x86_64 GNU/Linux