RTNETLINK答案:无效参数,mininet上的MPLS

时间:2017-10-26 12:48:30

标签: linux ubuntu mininet

我正在尝试在mininet上应用MPLS,我能够安装iproute2,我遇到的问题是当我尝试使用格式的任何命令时

ip -f mpls xxx

我总是收到错误。

我能够进行一条路线

mininet> r1 ip route add 10.0.4.0/24 encap mpls 400 via inet 172.16.1.2
mininet> r1 ip route show
10.0.1.0/24 dev r1-eth0 proto kernel scope link src 10.0.1.1 
10.0.4.0/24  encap mpls  400 via 172.16.1.2 dev r1-eth1 
172.16.1.0/24 dev r1-eth1 proto kernel scope link src 172.16.1.1 

但我无法使用mpls

的正确命令看到它
mininet> r1 ip -f mpls route show
mininet> 

当我尝试交换标签时,我收到错误

mininet> r5 ip -f mpls route add 400 as 405 via inet 172.16.8.2
RTNETLINK answers: Invalid argument

任何帮助将不胜感激。

更新

我通过更改/ proc / sys / net / mpls / platform_labels上的值解决了我的问题,此处设置的值将是可以使用的最高标签值

1 个答案:

答案 0 :(得分:0)

我通过更改/ proc / sys / net / mpls / platform_labels上的值解决了我的问题,此处设置的值将是可以使用的最高标签值

但请记住,我必须为我的mininet网络上的所有设备设置此值,以及加载mpls模块和任何参数

* modprobe mpls_router
* modprobe mpls_gso
* modprobe mpls_iptunnel
* sysctl -w net.mpls.platform_labels=1048575
* sysctl -w net.mpls.conf.*-eth#.input=1 #for every interface that speaks mpls

我认为在内核中执行它会为所有人激活它,但显然它必须在网络上的每个设备中完成