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
..
2017-11-27 15:37:16 +00:00
2017-11-20 19:49:47 +00:00
2018-01-19 15:32:27 +00:00
2017-12-30 00:26:42 +00:00
2018-01-26 00:58:32 +00:00
2017-11-27 15:37:16 +00:00
2017-11-27 15:37:16 +00:00
2017-11-27 15:37:16 +00:00
2018-01-29 09:27:32 +00:00
2018-02-15 03:22:53 +00:00
2017-12-27 03:23:58 +00:00
2018-02-20 05:35:00 +00:00
2018-02-27 21:59:23 +00:00
2017-11-20 19:49:47 +00:00
2018-03-17 12:59:55 +00:00
2018-02-08 23:06:58 +00:00
2018-02-13 19:28:02 +00:00
2018-02-06 08:35:09 +00:00
2017-10-31 00:07:04 +00:00
2017-11-18 14:26:50 +00:00
2017-11-27 15:37:16 +00:00
2018-03-17 12:59:55 +00:00
2017-11-30 08:28:17 +00:00
2018-03-17 12:59:55 +00:00
2018-01-26 00:58:32 +00:00
2017-11-27 15:37:16 +00:00
2018-03-02 19:07:32 +00:00
2017-11-27 15:37:16 +00:00
2018-01-26 00:58:32 +00:00
2017-11-27 15:37:16 +00:00
2017-11-27 15:37:16 +00:00
2017-11-27 15:37:16 +00:00
2018-03-27 15:29:32 +00:00
2018-02-27 10:54:15 +00:00
2017-11-10 07:52:58 +00:00
2018-03-28 12:44:28 +00:00
2017-11-27 15:37:16 +00:00
2017-11-27 15:37:16 +00:00
2017-11-27 15:37:16 +00:00
2017-11-27 15:37:16 +00:00
2017-11-27 15:37:16 +00:00
2018-01-09 06:51:41 +00:00
2017-10-31 00:07:04 +00:00
2017-11-27 15:37:16 +00:00
2017-11-27 15:37:16 +00:00
2017-11-20 19:49:47 +00:00
2017-11-27 15:37:16 +00:00
2018-03-27 14:31:42 +00:00
2017-11-20 19:49:47 +00:00
2017-11-27 15:37:16 +00:00
2017-11-27 15:37:16 +00:00
2017-11-20 19:49:47 +00:00
2017-11-20 19:49:47 +00:00
2017-11-20 19:49:47 +00:00
2017-11-20 19:49:47 +00:00
2017-11-27 15:37:16 +00:00
2017-10-31 00:07:04 +00:00
2018-03-17 12:59:55 +00:00
2018-01-05 05:34:14 +00:00
2017-11-27 15:37:16 +00:00
2017-11-20 19:49:47 +00:00
2017-11-27 15:37:16 +00:00
2018-03-13 15:29:13 +00:00
2018-01-27 22:57:01 +00:00
2017-10-31 00:07:04 +00:00
2017-11-20 19:49:47 +00:00
2017-11-20 19:49:47 +00:00
2018-03-17 12:59:55 +00:00
2017-11-27 15:37:16 +00:00
2017-12-20 16:02:11 +00:00
2017-11-30 20:33:45 +00:00
2017-03-04 11:33:01 +00:00
2018-03-17 12:59:55 +00:00
2018-02-24 21:25:56 +00:00
2017-12-28 05:34:24 +00:00
2017-10-31 00:07:04 +00:00
2018-03-27 16:38:32 +00:00
2017-10-31 00:07:04 +00:00
2017-11-20 19:49:47 +00:00
2018-01-02 09:02:42 +00:00
2017-11-27 15:37:16 +00:00
2017-11-20 19:49:47 +00:00
2017-11-20 19:49:47 +00:00
2018-03-09 23:37:19 +00:00
2016-05-04 23:20:53 +00:00
2018-03-17 12:59:55 +00:00
2017-11-20 19:49:47 +00:00
2017-10-31 00:07:04 +00:00
2018-02-12 14:44:21 +00:00
2018-02-22 12:31:28 +00:00