From aed0267989e6b7a1bf9847ece91cf5b690e0d5d0 Mon Sep 17 00:00:00 2001 From: "Andrey V. Elsukov" Date: Wed, 28 Mar 2018 12:44:28 +0000 Subject: 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 --- sbin/ipfw/ipfw2.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'sbin/ipfw/ipfw2.h') diff --git a/sbin/ipfw/ipfw2.h b/sbin/ipfw/ipfw2.h index 3fe15e93431b..8acc4b9290d1 100644 --- a/sbin/ipfw/ipfw2.h +++ b/sbin/ipfw/ipfw2.h @@ -56,6 +56,12 @@ struct cmdline_opts { }; +enum { + TIMESTAMP_NONE = 0, + TIMESTAMP_STRING, + TIMESTAMP_NUMERIC, +}; + extern struct cmdline_opts co; /* -- cgit v1.2.3