HomeFreeBSD

MFC r331668:

Description

MFC r331668:

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:		[[ https://bugs.freebsd.org/222705 | 222705 ]]

Details

Provenance
aeAuthored on
Parents
rS332399: [tests] change tests/sys/acl/run to run on perl 5.26
Branches
Unknown
Tags
Unknown

Event Timeline

dheerajk_netapp.com added inline comments.
/stable/11/sbin/ipfw/ipfw2.c
2077

print_instruction checks for the flags HAVE_SRCIP or HAVE_DSTIP. Shouldn't the flag be set before print_instruction is invoked i.e. before line 2051?