我试图在Linux中向网络命名空间添加一个VRF接口。我得到了
RTNETLINK answers: invalid argument.我使用的内核版本是来自kernel.org的4.15.0
下面是我正在运行的命令和相关输出的确切列表
$IP link add vrf-red type vrf table 10
$IP netns add foo
$IP link set vrf-red netns foo
RTNETLINK answers: Invalid argument这不支持吗?若然,理由何在?
用例:我试图在同一个Linux盒中设置两个PE设备,因此我为每个PE设备都设置了一个单独的网络。现在,我想向PE netns添加一个VRF设备,这样以后我就可以在PE netns中运行例如斑马,它将使用这个命名空间中可用的VRF。
我遗漏了什么吗?
发布于 2018-03-01 10:06:06
是的,在netns中添加VRF接口确实是不可能的。
下面是相关的代码-(来自我在drivers/net/vrf.c行1257中使用的内核源代码- 4.15.0 )
/* don't allow vrf devices to change network namespaces. */
dev->features |= NETIF_F_NETNS_LOCAL;发布于 2019-01-03 17:24:27
虽然不能将VRF接口移动到网络命名空间,但可以在命名空间中创建:
ip netns add foo
ip -n foo link add vrf-red type vrf table 10https://serverfault.com/questions/899289
复制相似问题