用于 MPLS 配置的 iproute2 命令

iproute2 commands for MPLS configuration

试图找出如何在 Linux 内核 4.1 中使用 iproute2 管理静态标签交换 MPLS 路由。

我知道 iproute2 对 MPLS 的支持现在可能不完整 [2]。

任何人都可以阐明 iproute2-4.1.1 当前能够做什么吗?

这是我目前的发现:

Documentation/networking/mpls-sysctl.txt

/proc/sys/net/mpls/platform_labels /proc/sys/net/mpls/conf//输入

加载mpls模块

sudo modprobe mpls_router 

寻找 sysctl 支持

sysctl -a --pattern mpls 
net.mpls.conf.eth0.input = 0 
net.mpls.conf.eth1.input = 0 
net.mpls.conf.lo.input = 0 
net.mpls.platform_labels = 0 

启用 mpls 支持

sudo sysctl -w net.mpls.conf.eth0.input=1 
sudo sysctl -w net.mpls.conf.eth1.input=1 
sudo sysctl -w net.mpls.platform_labels=1000 

推??? (如何添加前缀推送操作?)

sudo ip route add 1.1.1.1/32 via mpls 100/200/300 dev eth0 

交换??? (如何添加标签交换操作?)

sudo ip -f mpls route add 10 via mpls 100/200/300 dev eth0 

噗??? (如何添加标签弹出动作?)

???

显示??? (如何显示标签交换路由?)

???

谁能帮帮我。 提前致谢。

有点晚了,但希望它能帮助别人。你可以找到它们 here:

将 10.10.10.10/32 路由到 192.168.1.2,标签为 100:

ip route add 10.10.10.10/32 encap mpls 100 via inet 192.168.1.2

标签将 100 换成 200 并发送到 192.168.2.2:

ip -f mpls route add 100 as 200 via inet 192.168.2.2

解封标签 300 并在本地传送:

ip -f mpls route add 300 dev lo

要显示 MPLS 路由,您可以执行以下操作:

ip -f mpls route show

如果您的 iproute2 版本不支持这些命令,您可以从这里获取:

https://www.kernel.org/pub/linux/utils/net/iproute2/iproute2-4.6.0.tar.gz

然后

./configure && make && make install