From: Alberto Leiva Popper Date: Fri, 3 Feb 2023 18:44:32 +0000 (-0600) Subject: Bug #83/#89: Print even more data X-Git-Tag: 1.5.4~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=dd3b144e4bf1f6cbd3752dcf507a2dee94038032;p=thirdparty%2FFORT-validator.git Bug #83/#89: Print even more data --- diff --git a/src/output_printer.c b/src/output_printer.c index 570ef2f2..31506894 100644 --- a/src/output_printer.c +++ b/src/output_printer.c @@ -48,8 +48,10 @@ print_roa_csv(struct vrp const *vrp, void *arg) { FILE *out = arg; - if (vrp->addr_fam != AF_INET && vrp->addr_fam != AF_INET6) - pr_crit("Unknown family type"); + if (vrp->addr_fam != AF_INET && vrp->addr_fam != AF_INET6) { + /* pr_crit("Unknown family type"); TODO (issue83) */ + return 0; + } fprintf(out, "AS%u,%s/%u,%u\n", vrp->asn, inet_ntop(vrp->addr_fam, &vrp->prefix, addr_buf, INET6_ADDRSTRLEN), diff --git a/src/rtr/db/db_table.c b/src/rtr/db/db_table.c index 981e25d9..96fdb741 100644 --- a/src/rtr/db/db_table.c +++ b/src/rtr/db/db_table.c @@ -258,19 +258,34 @@ add_roa_deltas(struct hashable_roa *roas1, struct hashable_roa *roas2, void find_bad_vrp(char const *prefix, struct db_table *table) { - struct hashable_roa *cursor; + struct hashable_roa *node; struct hashable_roa *tmp; - uint8_t family; + struct vrp const *vrp; + unsigned int roa_counter; + unsigned int roa_count; + char buffer[INET6_ADDRSTRLEN]; if (table == NULL) return; - HASH_ITER(hh, table->roas, cursor, tmp) { - family = cursor->data.addr_fam; - if (family != AF_INET && family != AF_INET6) { - pr_op_err("%s: VRP corrupted!", prefix); + roa_counter = 0; + roa_count = HASH_COUNT(table->roas); + + HASH_ITER(hh, table->roas, node, tmp) { + vrp = &node->data; + if (vrp->addr_fam != AF_INET && vrp->addr_fam != AF_INET6) { + pr_op_err("%s: VRP corrupted! [%u %s/%u-%u %u] %u/%u", + prefix, + vrp->asn, + addr2str6(&vrp->prefix.v6, buffer), + vrp->prefix_length, + vrp->max_prefix_length, + vrp->addr_fam, + roa_counter, + roa_count); return; } + roa_counter++; } } diff --git a/src/rtr/db/delta.c b/src/rtr/db/delta.c index 99dc64ee..58e049d6 100644 --- a/src/rtr/db/delta.c +++ b/src/rtr/db/delta.c @@ -141,7 +141,7 @@ deltas_add_roa(struct deltas *deltas, struct vrp const *vrp, int op, return deltas_v6_add(get_deltas_array6(deltas, op), &delta.v6); } - pr_val_err("Unknown protocol: [%u %s/%u-%u %u] %c %u %u", + pr_val_err("Unknown protocol: [%u %s/%u-%u %u] %c %u/%u", vrp->asn, addr2str6(&vrp->prefix.v6, buffer), vrp->prefix_length,