Linux: Ativar CONFIG_NET_VRF

Criado em 23 set. 2019  ·  4Comentários  ·  Fonte: raspberrypi/linux

Isso ajudaria a utilizar ainda mais o novo poder no lado da rede.

Poderíamos construir roteadores melhores etc.

Comentários muito úteis

Obrigado - para cada recurso adicionado, temos que comparar os benefícios com os custos, e um resumo completo como esse aumenta muito as chances de um recurso ser adicionado.

O fato de que adicionar CONFIG_NET_VRF=m apenas faz com que um módulo seja construído (não há mudanças no kernel estático) é o ponto mais importante, e ajuda que o módulo tenha modestos 30kB.

Veja https://github.com/raspberrypi/linux/commit/ae5fd2ed5556b09c2cce6e25e0067854e50855ae.

Todos 4 comentários

  1. Por favor, explique o que é NET_VRF e por que o queremos.
  2. Qual o impacto da ativação da opção de configuração na memória livre após a inicialização (com o recurso ativo e inativo em tempo de execução, se aplicável)?
  3. Como 2, mas para desempenho de rede - iperf seria um teste adequado.
  1. Por favor, explique o que é NET_VRF e por que o queremos.

Para isolar interfaces de rede em diferentes VRFs, também conhecidos como "roteadores" virtuais. Ajuda a isolar o tráfego em um dispositivo. Por exemplo, nas zonas "vermelho", "verde" e "azul". Assim, podemos utilizar o raspberry PI como um roteador doméstico melhor ou para projetos do Freifunk.

Explicação completa http://man7.org/linux/man-pages/man8/ip-vrf.8.html

No meu exemplo, você pode ver que eth0 pertence a uma instância de roteamento diferente, portanto, mantém sua própria tabela de roteamento e pode agir independentemente dos outros dispositivos. O que é muito útil se você quiser isolar, por exemplo, a interface upstream do seu tráfego de produção que está passando por uma VPN.

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master vrf_external state UP group default qlen 1000
    link/ether dc:a6:32:04:bb:ab brd ff:ff:ff:ff:ff:ff
    inet 192.168.20.191/24 brd 192.168.20.255 scope global dynamic eth0
       valid_lft 10773sec preferred_lft 10773sec
    inet6 2003:dc:df12:b602:dea6:32ff:fe04:bbab/64 scope global dynamic mngtmpaddr
       valid_lft 85935sec preferred_lft 13935sec
    inet6 fe80::dea6:32ff:fe04:bbab/64 scope link
       valid_lft forever preferred_lft forever
4: vrf_external: <NOARP,MASTER,UP,LOWER_UP> mtu 65536 qdisc noqueue state UP group default qlen 1000
    link/ether c2:26:06:9a:fe:45 brd ff:ff:ff:ff:ff:ff
10: br-welt: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether dc:a6:32:04:bb:ab brd ff:ff:ff:ff:ff:ff
    inet 10.80.205.157/21 brd 10.80.207.255 scope global dynamic br-welt
       valid_lft 526sec preferred_lft 526sec
    inet6 2001:608:a01:109:dea6:32ff:fe04:bbab/64 scope global dynamic mngtmpaddr
       valid_lft 1491sec preferred_lft 891sec
    inet6 fe80::dea6:32ff:fe04:bbab/64 scope link
       valid_lft forever preferred_lft forever

E aqui você vê as diferentes tabelas de roteamento:

root@raspi-4GB:~# ip ro sh table 1023
default via 192.168.20.1 dev eth0 
broadcast 192.168.20.0 dev eth0 proto kernel scope link src 192.168.20.191 
192.168.20.0/24 dev eth0 proto kernel scope link src 192.168.20.191 
local 192.168.20.191 dev eth0 proto kernel scope host src 192.168.20.191 
broadcast 192.168.20.255 dev eth0 proto kernel scope link src 192.168.20.191 
root@raspi-4GB:~# ip ro sh
default via 10.80.200.8 dev br-welt 
10.80.200.0/21 dev br-welt proto kernel scope link src 10.80.205.157 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 

Você pode assistir ao desempenho dos PIs aqui (desculpe apenas na v6):
https://raspi-4gb.awnx.space

  1. Qual o impacto da ativação da opção de configuração na memória livre após a inicialização (com o recurso ativo e inativo em tempo de execução, se aplicável)?

Não vi diferenças no meu raspberry PI4 com o recurso ativado.

  1. Como 2, mas para desempenho de rede - iperf seria um teste adequado.

O desempenho da rede só é afetado se você habilitar um VRF e estiver na faixa de sub kbit/s pelo menos nos meus testes.

Obrigado - para cada recurso adicionado, temos que comparar os benefícios com os custos, e um resumo completo como esse aumenta muito as chances de um recurso ser adicionado.

O fato de que adicionar CONFIG_NET_VRF=m apenas faz com que um módulo seja construído (não há mudanças no kernel estático) é o ponto mais importante, e ajuda que o módulo tenha modestos 30kB.

Veja https://github.com/raspberrypi/linux/commit/ae5fd2ed5556b09c2cce6e25e0067854e50855ae.

Esta página foi útil?
0 / 5 - 0 avaliações