diff options
Diffstat (limited to 'openbsc/src/osmo-bsc_nat/bsc_nat_rewrite_trie.c')
-rw-r--r-- | openbsc/src/osmo-bsc_nat/bsc_nat_rewrite_trie.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/openbsc/src/osmo-bsc_nat/bsc_nat_rewrite_trie.c b/openbsc/src/osmo-bsc_nat/bsc_nat_rewrite_trie.c index 57043acc9..faceb59b5 100644 --- a/openbsc/src/osmo-bsc_nat/bsc_nat_rewrite_trie.c +++ b/openbsc/src/osmo-bsc_nat/bsc_nat_rewrite_trie.c @@ -21,6 +21,7 @@ #include <openbsc/nat_rewrite_trie.h> #include <openbsc/debug.h> +#include <openbsc/vty.h> #include <osmocom/core/talloc.h> #include <osmocom/core/utils.h> @@ -238,3 +239,21 @@ void nat_rewrite_dump(struct nat_rewrite *rewrite) { nat_rewrite_dump_rec(&rewrite->rule); } + +static void nat_rewrite_dump_rec_vty(struct vty *vty, struct nat_rewrite_rule *rule) +{ + int i; + if (!rule->empty) + vty_out(vty, "%s,%s%s", rule->prefix, rule->rewrite, VTY_NEWLINE); + + for (i = 0; i < ARRAY_SIZE(rule->rules); ++i) { + if (!rule->rules[i]) + continue; + nat_rewrite_dump_rec_vty(vty, rule->rules[i]); + } +} + +void nat_rewrite_dump_vty(struct vty *vty, struct nat_rewrite *rewrite) +{ + nat_rewrite_dump_rec_vty(vty, &rewrite->rule); +} |