Depois de encontrar um exemplo sem marcação (em russo!), consegui corrigir eu mesmo, usando uma versão simplificada dos comandos ngctl
em minha pergunta que apenas retorna pacotes não correspondentes diretamente de volta para ipfw
:
ngctl -f- <<-__END__
mkpeer ipfw: bpf $cookie filter
name ipfw:$cookie CLASSIFIER
mkpeer CLASSIFIER: tag matched tag_bad
name CLASSIFIER:matched TAGGER
msg CLASSIFIER: setprogram { thisHook="filter" ifNotMatch="filter" ifMatch="matched" $prog }
msg TAGGER: sethookin { thisHook="tag_bad" ifNotMatch="tag_bad" }
msg TAGGER: sethookout { thisHook="tag_bad" tag_cookie=$mtag_ipfw tag_id=$tag }
msg CLASSIFIER: setprogram { thisHook="matched" ifMatch="filter" ifNotMatch="filter" bpf_prog_len=1 bpf_prog=[ { code=6 k=65535 } ] }
__END__