O Kernel Linux acaba de dar um salto gigantesco rumo à era das redes de ultra‑alta velocidade. Com a entrada do driver Broadcom BNGE Ethernet na net‑next tree, administrada por Jakub Kicinski, o ecossistema open source passa a contar, pela primeira vez, com suporte nativo a links de 50/100/200/400/800 Gbps no novo módulo bng_en.ko. Na prática, isso significa que servidores, clusters de IA/ML (Inteligência Artificial/Machine Learning), soluções de Big Data e ambientes de HPC (High Performance Computing) poderão extrair todo o potencial de largura de banda oferecido pelos controladores Broadcom BCM5770X – chips que estavam restritos, até então, a implementações proprietárias ou patches fora da árvore principal.
Mesmo tratando‑se de uma submissão inicial, o patch — com pouco mais de 4 mil linhas — estabelece toda a infraestrutura crítica: detecção PCIe, registro Devlink, canal de comunicação com o firmware (HWRM), criação do dispositivo de rede e gerenciamento de recursos da Physical Function (PF). Os caminhos de dados Tx/Rx, o gerenciamento de link e as operações avançadas de Ethtool/Devlink virão em séries posteriores, mas a fundação já está pronta e consolidada.
O futuro da Ethernet: Broadcom BNGE e a era dos 800 Gbps no Linux
A chegada da Ethernet de 800 Gbps ao mainline Linux não é apenas um número impressionante: representa a consolidação de um novo patamar de throughput, latência e eficiência energética para datacenters que precisam mover petabytes em tempo real. Tecnologias como RoCE (RDMA over Converged Ethernet), malhas de GPU para treinamento de modelos LLM e back‑ends de armazenamento distribuído deixam de esbarrar em gargalos de I/O e passam a escalar de forma quase linear.
A demanda por ultra‑alta velocidade em datacenters e cargas de trabalho intensivas
Nos últimos anos, workloads de IA, pipelines de Big Data e microsserviços de altíssima densidade elevaram a taxa de transferência de rede a prioridade máxima. Em clusters de treinamento, cada nó pode exigir dezenas de gigabits sustentados apenas para sincronizar gradientes; em HPC, a etapa de checkpoint consome largura de banda brutal durante janelas curtas. Ao oferecer 200/400/800 Gbps por porta, o BCM5770X reduz drasticamente o número de interfaces necessárias, simplifica a topologia de leaf‑spine e diminui a latência east‑west.
Broadcom BCM5770X: o hardware por trás da inovação

A família BCM5770X traz MACs multi‑lane capazes de operar em serdes PAM4 de 100 Gbps por par, somando até oito lanes em modo agregação para chegar aos 800 Gbps. O chip expõe uma controladora PCIe Gen 5 x16, buffers de bolso de vários megabytes e motores dedicados para RSS (Receive Side Scaling), TSO (TCP Segmentation Offload), LRO/GRO e UDP GSO. Todo esse arsenal é orquestrado via o protocolo HWRM, compartilhado com o driver bnxt_en, o que facilita a reutilização de utilitários e ferramentas já maduras no espaço Broadcom.
A submissão inicial do driver BNGE: a base para o suporte completo
Para manter o conjunto revisável (~5 k linhas), a equipe da Broadcom, liderada por Vikas Gupta, dividiu o desenvolvimento em fases. A merge request introduz:
- Identificação e probe/remove PCIe para múltiplos device IDs.
- Estrutura Devlink completa, habilitando esqueleto de health reporting e futuras self‑tests.
- Canal HWRM com alocação de buffers DMA, tokens de espera e verificação de timeouts.
- Criação do netdevice com suporte a MSI‑X e inicialização de MAC address.
- Gerenciamento de rings de transmissão/recepção, filas de conclusão e até 16 k IRQs virtuais.
Esses elementos formam a espinha dorsal para que, nas próximas iterações, seja possível acoplar as rotinas de fast path, estatísticas finas de per‑queue e mecanismos avançados de link training.
Infraestrutura e inicialização: PCIe, Devlink e comunicação com firmware (HWRM)
O módulo bng_en.ko começa habilitando máscaras DMA 64 bit via dma_set_mask_and_coherent()
, mapeia os BARs correspondentes (com destaque para o doorbell BAR) e registra‑se no Devlink antes mesmo de expor o net_device
. O driver envia, logo na sequência, o comando HWRM_VER_GET para descobrir versão de firmware, recursos disponíveis e workarounds requeridos. Caso o firmware esteja desatualizado, a pilha reporta o evento via extack, evitando panes silenciosas.
Gerenciamento de recursos de Função Física (PF): anéis e IRQs
Cada PF pode anunciar milhares de queues e dezenas de milhares de completion rings, mas o driver aloca apenas o conjunto mínimo viável pelas macros BNGE_DEFAULT_TX_RINGS e BNGE_DEFAULT_RX_RINGS, ajustáveis via Sysfs. As interrupções são associadas utilizando vetor MSI‑X, respeitando a capacidade PCI_MSIX_FLAGS_QSIZE descoberta em tempo de inicialização. O código também reserva espaços contíguos de context memory (ctx_mem) e de ring memory (ring_mem_info), garantindo alinhamento cache‑line e evitando false sharing.
Otimizações de baixo nível para Tx/Rx datapaths e operações de ethtool/devlink
Embora os caminhos de dados cheguem apenas na próxima série, o alicerce já suporta:
- Coalescing de interrupções configurável por queue.
- Tabelas RSS de 512 entradas com perfis baseados em Toeplitz.
- Flags de TPA para Large Receive Offload adaptativo.
- Espaço reservado para RoCE v2 e NVGRE.
- Hooks de Devlink health prontos para monitorar watchdog resets do firmware.
Impacto e benefícios para o ecossistema Linux: IA/ML, Big Data e HPC
Ao entrar diretamente no tree net‑next, o BNGE acelera a adoção pelas grandes distribuições empresariais: RHEL, SUSE, Ubuntu e Debian costumam puxar o próximo kernel estável logo após o freeze. Dessa forma, provedores de cloud poderão oferecer instâncias bare‑metal de 800 Gbps sem depender de DKMS fechado, eliminando vendor lock‑in e reduzindo o ciclo de patching. Para a comunidade HPC, o driver abre caminho para pilhas MPI/OFI sobre Ethernet, simplificando clusters que antes exigiam InfiniBand.
Desempenho e largura de banda: impulsionando workloads de próxima geração
Benchmarks internos da Broadcom (ainda não publicados) sugerem que uma única porta BCM5770X é capaz de sustentar mais de 190 Mpps em pacotes de 64 bytes com latência menor que 1 µs em perfil de tráfego L2. Em fluxos TCP longos, o uso de TSO/GRO mantém o overhead de CPU abaixo de 3 % por núcleo, graças ao pipeline de offload implementado no ASIC. Para conjuntos de dados de Big Data, o throughput linear reduz o tempo de shuffle em frameworks como Spark e Hadoop.
Colaboração Broadcom‑Kernel Linux: um compromisso com o open source
A reutilização do protocolo bnxt_hsi.h e o alinhamento do estilo de código às diretrizes do subsystem netdev evidenciam a estratégia “upstream first” da Broadcom. Sob a mentoria de David S. Miller e Paolo Abeni, o time respondeu rapidamente a reviews de nomes como Vadim Fedorenko, adotando o padrão devm_*()
para alocações e incrementando mensagens de erro via extack. Esse fluxo transparente garante que bugs sejam identificados precocemente pelo kernel test robot e reduz dívidas técnicas.
Arquitetura do driver BNGE: complexidade e eficiência
Gerenciamento de recursos de hardware e firmware
A camada bnge_resc.c negocia, com o firmware, pools de VNICs, fatias de SR‑IOV e backing store em DDR própria do controlador. O mecanismo usa comandos HWRM_FUNC_BACKING_STORE_QCAPS/CFG_V2, permitindo dividir rings entre funções virtuais sem reinicializar o dispositivo.
Integração com subsistemas de rede existentes (Devlink, Ethtool)
Operações básicas de Ethtool já expõem versão de driver, número de queues e board ID. No Devlink, o info_get
traz serial number, ID de placa obtido via VPD (Vital Product Data) e versão do ASIC — dados essenciais para asset management em larga escala.
Otimizações para ring memory e context memory
Blocos de ring memory são páginas de 4 k agrupadas em chunks contíguos e alinhadas a 2 MB para aproveitar huge TLBs do servidor. Já a context memory mantém metadata de conexão em SRAM interna, reduzindo PCIe round‑trips em 35 % nos testes preliminares.
Conclusão: Kernel Linux e Broadcom BNGE – pavimentando o caminho para a conectividade de ultra‑alta velocidade
O driver Broadcom BNGE marca um divisor de águas para o Kernel Linux. Ele não só habilita velocidades que até pouco tempo pareciam exclusivas de appliances proprietários, mas também cria a base para que a comunidade evolua rumo a interfaces terabit‑scale com a mesma flexibilidade que desfruta hoje em 10 GbE e 25 GbE. Ao unir open source, desempenho extremo e roadmap claro de funcionalidades, o BNGE reforça o papel do Linux como plataforma de escolha para a próxima geração de datacenters, supercomputadores e serviços de IA.