0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2025-01-15 13:31:54 +00:00

TMP: drop bmp_proto_list

This commit is contained in:
Maria Matejka 2024-08-27 14:59:15 +02:00
parent ab1f7f1138
commit afce92ac77
2 changed files with 15 additions and 27 deletions

View File

@ -56,9 +56,6 @@
#include "nest/iface.h"
#include "nest/route.h"
// List of BMP instances
static list STATIC_LIST_INIT(bmp_proto_list);
#define HASH_PEER_KEY(n) n->bgp
#define HASH_PEER_NEXT(n) n->next
#define HASH_PEER_EQ(b1,b2) b1 == b2
@ -727,26 +724,6 @@ bmp_peer_up(ea_list *bgp,
DG_UNLOCK(p->p.pool->domain);
}
void
bmp_peer_up_jour(int bmp_id, ea_list *bgp,
const byte *tx_open_msg, uint tx_open_length,
const byte *rx_open_msg, uint rx_open_length)
{
int need_unlock = 1;
if (DG_IS_LOCKED(p->p.pool->domain))
need_unlock = 0;
else
DG_LOCK(p->p.pool->domain);
struct bmp_proto *p; node *n;
WALK_LIST2(p, n, bmp_proto_list, bmp_node)
if (p->p.id == bmp_id)
bmp_peer_up_(p, bgp, true, tx_open_msg, tx_open_length, rx_open_msg, rx_open_length);
if (need_unlock)
DG_UNLOCK(p->p.pool->domain);
}
static void
bmp_peer_init(struct bmp_proto *p, ea_list *bgp_attr)
{
@ -1024,6 +1001,7 @@ bmp_peer_down_(struct bmp_proto *p, const struct bgp_proto *bgp,
bmp_remove_peer(p, bp);
}
#if 0
void
bmp_peer_down(const struct bgp_proto *bgp,
int err_class, int code, int subcode, const byte *data, int length)
@ -1041,6 +1019,7 @@ bmp_peer_down(const struct bgp_proto *bgp,
if (need_unlock)
DG_UNLOCK(p->p.pool->domain);
}
#endif
static void
bmp_send_termination_msg(struct bmp_proto *p,
@ -1331,8 +1310,12 @@ bmp_postconfig(struct proto_config *CF)
}
void
fc_for_bmp_recipient(void *rec)
fc_for_bmp_recipient(void *_p)
{
struct bmp_proto *p = _p;
ASSERT_DIE(birdloop_inside(p->p.loop));
//log("received update, locked %i", locking_stack.service);
struct lfjour_item *last_up;
struct proto_pending_update *pupdate;
@ -1355,7 +1338,9 @@ fc_for_bmp_recipient(void *rec)
const byte *rx_open_msg = ea_get_adata(pupdate->proto_attr, &ea_bgp_remote_open_msg)->data;
int l_len = ea_get_int(pupdate->proto_attr, &ea_bgp_remote_open_msg_len, 0);
int r_len = ea_get_int(pupdate->proto_attr, &ea_bgp_remote_open_msg_len, 0);
bmp_peer_up(proto_state_table->attrs[id], tx_open_msg, l_len, rx_open_msg, r_len);
bmp_peer_up_(p, proto_state_table->attrs[id], tx_open_msg, l_len, rx_open_msg, r_len);
/* !!! or bmp_peer_down_() or ignore if irrelevant */
}
@ -1364,7 +1349,7 @@ fc_for_bmp_recipient(void *rec)
}
void
create_bmp_recipient(struct proto *P)
create_bmp_recipient(struct bmp_proto *p)
{
struct lfjour_recipient *r = mb_allocz(&root_pool, sizeof(struct lfjour_recipient));
log("recipient %x", r);
@ -1436,7 +1421,7 @@ bmp_start(struct proto *P)
tm_start(p->connect_retry_timer, CONNECT_INIT_TIME);
log("end of start locked %i", locking_stack.service);
create_bmp_recipient(P);
create_bmp_recipient(p);
return PS_START;
}

View File

@ -73,6 +73,9 @@ struct bmp_proto {
list update_msg_queue; // Stores all composed BGP UPDATE MSGs
bool started; // Flag that stores running status of BMP instance
int sock_err; // Last socket error code
struct lfjour_recipient proto_state_reader; // Reader of protocol states
event proto_state_changed;
};
struct bmp_peer {