Dodanie interfejsu VRF do sieciowej przestrzeni nazw


Próbuję dodać interfejs VRF do przestrzeni nazw sieci w systemie Linux. dostaję
RTNETLINK answers: invalid argument.

Używam jądra w wersji 4.15.0 z kernel.org.
Poniżej znajduje się dokładna lista uruchamianych przeze mnie poleceń i powiązane dane wyjściowe.
$IP link add vrf-red type vrf table 10
$IP netns add foo
$IP link set vrf-red netns foo
RTNETLINK answers: Invalid argument

Czy to nie jest obsługiwane? Jeśli tak, jaki jest tego powód?
Przykład użycia: próbuję skonfigurować dwa urządzenia PE na tym samym komputerze z systemem Linux, więc mam osobne sieci dla każdego urządzenia PE. Teraz chcę dodać urządzenie VRF do PE.
       netns
żeby później móc biegać powiedzmy zebra na WF
       netns
i użyje VRF dostępnego w tej przestrzeni nazw.
Czy jest coś, czego mi brakuje?
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Chociaż nie możesz przenieść interfejsu VRF do przestrzeni nazw sieci, możesz w niej tworzyć:
ip netns add foo
ip -n foo link add vrf-red type vrf table 10
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Tak, naprawdę niemożliwe jest dodanie interfejsu VRF do
         netns
Poniżej znajduje się odpowiedni kod - (ze źródeł jądra, których używam - 4.15.0 in
         drivers/net/vrf.c
linia
         1257
)
/* don't allow vrf devices to change network namespaces. */
dev->features |= NETIF_F_NETNS_LOCAL;

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się