0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-12-23 02:01:55 +00:00

fixup! fixup! rt-feed-by-fib: addr to trie

This commit is contained in:
katerina.kubecova 2023-10-02 12:05:06 +02:00
parent 4de40e6767
commit 3e7e61ec6c
2 changed files with 4 additions and 7 deletions

View File

@ -318,14 +318,11 @@ channel_roa_out_changed(struct settle *se)
{ {
log_msg(L_DEBUG "trie walk %N", &net); log_msg(L_DEBUG "trie walk %N", &net);
pos++; pos++;
pxc++; pxc++;
} }
TRIE_WALK_END; TRIE_WALK_END;
/* TODO: use the information about what roa has changed */
struct f_trie_node4 n4 = (struct f_trie_node4) s->trie->root.v4; struct f_trie_node4 n4 = (struct f_trie_node4) s->trie->root.v4;
log_msg(L_DEBUG "channel changed %i", n4.accept); log_msg(L_DEBUG "channel changed %i", n4.accept);
c->refeed_pending = 1; c->refeed_pending = 1;
@ -339,7 +336,7 @@ channel_export_one_roa(struct rt_export_request *req, const net_addr *net, struc
net_addr* copy = lp_alloc(s->linpool, sizeof(net_addr)); net_addr* copy = lp_alloc(s->linpool, sizeof(net_addr));
net_copy(copy, net); net_copy(copy, net);
struct f_trie * trie = f_new_trie(s->linpool, 0); struct f_trie * trie = f_new_trie(s->linpool, 0);
if (net->type == NET_IP4 || net->type == NET_VPN4 || net->type == NET_ROA4){ if ( net->type == NET_IP4 || net->type == NET_VPN4 || net->type == NET_ROA4 ){
trie_add_prefix(trie, net, net_pxlen(net), 48); trie_add_prefix(trie, net, net_pxlen(net), 48);
} }
else trie_add_prefix(trie, net, net_pxlen(net), 128); else trie_add_prefix(trie, net, net_pxlen(net), 128);

View File

@ -4345,7 +4345,7 @@ rt_feed_by_fib(void *data)
FIB_ITERATE_START(&tab->fib, fit, net, n) FIB_ITERATE_START(&tab->fib, fit, net, n)
{ {
if ((c->h.req->prefilter.addr_mode == TE_ADDR_NONE) || trie_match_net( c->h.req->prefilter.net_filter_trie, n->n.addr) )/*net_in_netX(n->n.addr, c->h.req->addr)) net n trie_match_net(const struct f_trie *t, const net_addr *n)*/ if ( (c->h.req->prefilter.addr_mode == TE_ADDR_NONE) || trie_match_net( c->h.req->prefilter.net_filter_trie, n->n.addr) )
{ {
if (!rt_prepare_feed(c, n, &block)) if (!rt_prepare_feed(c, n, &block))
{ {