Andrey V. Elsukov aed0267989 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
2018-03-28 12:44:28 +00:00
..
2018-01-29 09:27:32 +00:00
2018-02-20 05:35:00 +00:00
2018-03-17 12:59:55 +00:00
2017-10-31 00:07:04 +00:00
2018-03-17 12:59:55 +00:00
2018-03-17 12:59:55 +00:00
2017-10-31 00:07:04 +00:00
2017-10-31 00:07:04 +00:00
2018-03-17 12:59:55 +00:00
2018-01-27 22:57:01 +00:00
2018-03-17 12:59:55 +00:00
2018-03-17 12:59:55 +00:00
2017-10-31 00:07:04 +00:00
2018-03-27 16:38:32 +00:00
2018-03-17 12:59:55 +00:00
2018-02-12 14:44:21 +00:00