Files
pf-linux-port/docs/pt-BR
lgcosta 928322edf7 feat(debian13): add host prep script and implementation manual
The manual is the from-zero path on Debian 13 (trixie): packages, the
7.3.4 kernel tree, pf.ko, the userland, the libvirt lab, the gate suite,
the stress test and running PF on the host itself. Every command in it was
executed on the lab's Debian 13.7 host, including the toolchain report
and the kernel.org checksum.

Trixie ships gcc 14 and no gcc-15; the kernel and pf.ko build with gcc
14 unpatched, so the manual documents that instead of the gcc >= 15 the
generic install guide asks for.
2026-11-12 20:11:09 -03:00
..

Documentação do PF-on-Linux (português)

English documentation: docs/en/README.md.

Este é o conjunto de documentação de usuário do port do packet filter do OpenBSD 8.0 (PF) para o Linux 7.3.4 — o engine PF real (pf.c, pf_norm.c, pf_table.c, pf_lb.c, hfsc.c, …) rodando como o módulo out-of-tree pf.ko, controlado pelo pfctl real do OpenBSD sobre a ABI ioctl de /dev/pf.

Índice

Doc O que cobre
guide.md Arquitetura em uma página: componentes, caminho de dados, plano de controle, milestones
install.md Receita de apply/build/install (kernel, módulo, ferramentas)
build.md Pipeline de build em detalhe: fetch → vendorize → kernel → módulo → pfctl
vm-lab.md O lab de validação em libvirt: topologia, recriar/rodar, o que cada um dos 15 gates prova
feature-matrix.md Status por feature: VERIFIED-in-VM / VERIFIED-offline / COMPILES-untested / NOT-ENABLED
pf-guide.md Uso diário: o que funciona hoje em /etc/pf.conf e as divergências a conhecer
screencast.md Os vídeos narrados (inglês e português): fases, pipeline, como regravar
patches.md Conjunto de patches de core do Linux (hoje vazio) + regras e template para futuros 000N-*.patch
caveats.md Divergências conhecidas em relação ao OpenBSD e limitações atuais

Fontes da verdade

Os docs descrevem o código como ele existe nesta árvore. Na dúvida, as referências autoritativas são:

  • docs/superpowers/specs/2026-11-11-pf-linux-port-design.md — design
  • docs/superpowers/plans/2026-11-11-pf-linux-port.md — plano dos milestones (tarefas T1–T19)
  • docs/porting-notes.md — log de staging + registro das divergências (a verdade sobre as divergências da camada de compat)

Vocabulário de status usado nestes docs:

  • VERIFIED-in-VM — exercitado de ponta a ponta no lab libvirt; o gate que prova está nomeado (veja vm-lab.md).
  • VERIFIED-offline — provado por um teste de fixture ou de ABI, não por tráfego.
  • COMPILES-untested — o código é compilado dentro do pf.ko/pfctl mas nenhum gate o exercitou.
  • NOT-ENABLED — o código existe mas a feature está desligada neste build.
  • OUT-OF-SCOPE — fora de escopo por desenho (spec §3).

A suíte do lab está 15/15 verde (./scripts/vm-run-tests.sh).