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 */