1
0
mirror of https://github.com/bgp/bgpq4.git synced 2024-05-11 05:55:05 +00:00

Merge branch 'cjeker-openbgpd-prefix-sets'

This commit is contained in:
Alexandre Snarskii
2018-10-02 19:45:15 +03:00

View File

@@ -691,17 +691,16 @@ bgpq3_print_openbgpd_prefix(struct sx_radix_node* n, void* ff)
f=stdout;
sx_prefix_snprintf(&n->prefix, prefix, sizeof(prefix));
if (!n->isAggregate) {
fprintf(f, "\n\t%s \\", prefix);
fprintf(f, "\n\t%s", prefix);
} else if (n->aggregateLow == n->aggregateHi) {
fprintf(f, "\n\t%s prefixlen = %u \\", prefix, n->aggregateHi);
fprintf(f, "\n\t%s prefixlen = %u", prefix, n->aggregateHi);
} else if (n->aggregateLow > n->prefix.masklen) {
fprintf(f, "\n\t%s prefixlen %u - %u \\",
fprintf(f, "\n\t%s prefixlen %u - %u",
prefix, n->aggregateLow, n->aggregateHi);
} else {
fprintf(f, "\n\t%s prefixlen %u - %u \\",
fprintf(f, "\n\t%s prefixlen %u - %u",
prefix, n->prefix.masklen, n->aggregateHi);
};
needscomma=1;
checkSon:
if(n->son)
bgpq3_print_openbgpd_prefix(n->son, ff);
@@ -1010,7 +1009,7 @@ bgpq3_print_openbgpd_prefixlist(FILE* f, struct bgpq_expander* b)
fprintf(f, "%s=\"", b->name);
}
}
fprintf(f,"prefix { \\");
fprintf(f,"prefix { ");
sx_radix_tree_foreach(b->tree,bgpq3_print_openbgpd_prefix,f);
fprintf(f, "\n\t}");
if(b->name){
@@ -1029,24 +1028,13 @@ int
bgpq3_print_openbgpd_prefixset(FILE* f, struct bgpq_expander* b)
{
bname=b->name ? b->name : "NN";
if (sx_radix_tree_empty(b->tree)) {
fprintf(f, "# generated prefix-set %s (AS %u) is empty\n", bname,
b->asnumber);
if (!b->asnumber)
fprintf(f, "# use -a <asn> to generate \"deny from ASN <asn>\" "
"instead of this list\n");
};
if (!sx_radix_tree_empty(b->tree) || !b->asnumber) {
fprintf(f,"prefix-set %s { \\", b->name);
fprintf(f,"prefix-set %s {", b->name);
if (!sx_radix_tree_empty(b->tree))
sx_radix_tree_foreach(b->tree,bgpq3_print_openbgpd_prefix,f);
fprintf(f, "\n\t}\n");
} else {
fprintf(f, "deny from AS %u\n", b->asnumber);
};
fprintf(f, "\n}\n");
return 0;
};
int
bgpq3_print_cisco_prefixlist(FILE* f, struct bgpq_expander* b)
{