From cff9e937fd0ed42b88be1deb5e1aa9fe301caabd Mon Sep 17 00:00:00 2001 From: Jan Maria Matejka Date: Mon, 30 Apr 2018 12:49:22 +0200 Subject: [PATCH] Filter: instruction names --- filter/f-util.c | 16 ++++++++++++++++ filter/filter.h | 1 + 2 files changed, 17 insertions(+) diff --git a/filter/f-util.c b/filter/f-util.c index 68aecd73..6170760b 100644 --- a/filter/f-util.c +++ b/filter/f-util.c @@ -77,6 +77,22 @@ f_generate_roa_check(struct rtable_config *table, struct f_inst *prefix, struct return &ret->i; } +static const char * const f_instruction_name_str[] = { +#define F(c,a,b) \ + [c] = #c, +FI__LIST +#undef F +}; + +const char * +f_instruction_name(enum f_instruction_code fi) +{ + if (fi < FI__MAX) + return f_instruction_name_str[fi]; + else + bug("Got unknown instruction code: %d", fi); +} + char * filter_name(struct filter *filter) { diff --git a/filter/filter.h b/filter/filter.h index bc330aba..694bdfd7 100644 --- a/filter/filter.h +++ b/filter/filter.h @@ -78,6 +78,7 @@ enum f_instruction_code { c, FI__LIST #undef F + FI__MAX, } PACKED; struct f_inst { /* Instruction */