HomeFreeBSD

Rework ipfw rules parsing and printing code.

Description

Rework ipfw rules parsing and printing code.

Introduce show_state structure to keep information about printed opcodes.
Split show_static_rule() function into several smaller functions. Make
parsing and printing opcodes into several passes. Each printed opcode
is marked in show_state structure and will be skipped in next passes.
Now show_static_rule() function is simple, it just prints each part
of rule separately: action, modifiers, proto, src and dst addresses,
options. The main goal of this change is avoiding occurrence of wrong
result of ifpw show command, that can not be parsed by ipfw(8).
Also now it is possible to make some simple static optimizations
by reordering of opcodes in the rule.

PR: 222705
Discussed with: melifaro
MFC after: 2 weeks
Sponsored by: Yandex LLC

Details

Provenance
aeAuthored on Mar 28 2018, 12:44 PM
Parents
rGf4043145f233: ZFS vn_rele_async: catch up with the use of refcount(9) for the vnode use count
Branches
Unknown
Tags
Unknown

Event Timeline