a partir do início de 2019, bpfilter ainda está em desenvolvimento e ainda não é utilizável. O esqueleto básico está aqui e pode até ser ativado em grãos 4.18+, mas não faz muito por enquanto, uma vez que não está completo. O código necessário para traduzir as regras do iptables para o bytecode BPF, embora submetido ao longo do RFC original, não chegou ao kernel neste momento.uma vez que esteja pronto, não deve haver nenhum equipamento específico necessário. Bpfilter provavelmente vai ser habilitado com algo como modprobe bpfilter
e, em seguida, a idéia é substituir, de forma transparente, o back-end, deixando a frente intocado: então iptables
deve ser a única ferramenta necessária para a manipulação de regras, sem qualquer opção específica necessária. Além disso, o bpftool
permite inspecionar os programas eBPF (incluindo regras iptables traduzidas por bpfilter) carregados no núcleo.
pode verificar isto se quiser no vídeo seguinte (declaração de exoneração de responsabilidade: por minha empresa), que mostra como nós usamos bpfilter com uma regra clássica iptables (nós tínhamos remendado o kernel com o código do RFC; e executando o bpfilter.ko no console não será necessário na versão final).
Você ainda pode anexar programas BPF ao gancho XDP (ao nível do driver), mesmo sem usar bpfilter, para obter um desempenho muito melhor do que o que o netfilter oferece. No entanto, você teria que reescrever completamente suas regras como programas C, compilá-las em eBPF com clang, e carregá-las com, por exemplo, a ferramenta ip
(do iproute2). Não sei se isto combina com o teu “conjunto de recursos”. Dependendo de quão forte é a sua necessidade, outra opção drástica poderia ser mover o seu processamento de pacotes para o espaço do Usuário e para reimplentar a sua configuração com o framework DPDK.