네트워크 네임스페이스에 vrf 인터페이스 추가

네트워크 네임스페이스에 vrf 인터페이스 추가

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 장치에 대해 별도의 netns가 있습니다. 이제 PE에 VRF 장치를 추가하여 netns나중에 PE에서 zebra를 실행할 수 netns있고 이 네임스페이스에서 사용 가능한 VRF를 사용하려고 합니다.

내가 놓친 것이 있습니까?

답변1

예 실제로 VRF 인터페이스를 추가하는 것은 불가능합니다.netns

다음은 관련 코드입니다. (내가 사용하고 있는 커널 소스에서 - 4.15.0 drivers/net/vrf.c라인 에서 1257)

/* don't allow vrf devices to change network namespaces. */
dev->features |= NETIF_F_NETNS_LOCAL;

답변2

VRF 인터페이스를 네트워크 네임스페이스로 이동할 수는 없지만 네임스페이스에서 생성할 수는 있습니다.

ip netns add foo
ip -n foo link add vrf-red type vrf table 10

관련 정보