rib_entry
rde_generate_updates(struct rib_entry *re, struct prefix *newpath,
struct rib_entry dummy_re = { .prefix = &dummy_pt };
sizeof(struct rib_entry)));
stats->rib_cnt * sizeof(struct rib_entry) +
stats->rib_cnt * sizeof(struct rib_entry), UINT64_MAX);
stats->rib_cnt * sizeof(struct rib_entry) +
stats->rib_cnt * sizeof(struct rib_entry), UINT64_MAX);
stats->rib_cnt * sizeof(struct rib_entry) +
static int mrt_dump_entry_v2(struct mrt *, struct rib_entry *, uint32_t);
mrt_dump_entry_v2_rib(struct rib_entry *re, struct ibuf **nb, struct ibuf **apb,
mrt_dump_entry_v2(struct mrt *mrt, struct rib_entry *re, uint32_t snum)
mrt_dump_upcall(struct rib_entry *re, void *ptr)
static void network_dump_upcall(struct rib_entry *, void *);
static void network_flush_upcall(struct rib_entry *, void *);
static void flowspec_flush_upcall(struct rib_entry *, void *);
static void flowspec_dump_upcall(struct rib_entry *, void *);
pathid_conflict(struct rib_entry *re, uint32_t pathid)
struct rib_entry *re;
struct rib_entry *re;
rde_dump_upcall(struct rib_entry *re, void *ptr)
struct rib_entry *re;
rde_softreconfig_in(struct rib_entry *re, void *bula)
rde_softreconfig_out(struct rib_entry *re, void *arg)
rde_softreconfig_sync_reeval(struct rib_entry *re, void *arg)
rde_softreconfig_sync_fib(struct rib_entry *re, void *bula)
rde_rpki_softreload(struct rib_entry *re, void *bula)
network_dump_upcall(struct rib_entry *re, void *ptr)
network_flush_upcall(struct rib_entry *re, void *ptr)
flowspec_flush_upcall(struct rib_entry *re, void *ptr)
flowspec_dump_upcall(struct rib_entry *re, void *ptr)
static void rde_softreconfig_out(struct rib_entry *, void *);
static void rde_softreconfig_in(struct rib_entry *, void *);
static void rde_softreconfig_sync_reeval(struct rib_entry *, void *);
static void rde_softreconfig_sync_fib(struct rib_entry *, void *);
struct rib_entry *re;
struct rib_entry *ctx_re;
void (*ctx_rib_call)(struct rib_entry *, void *);
void mrt_dump_upcall(struct rib_entry *, void *);
void rde_generate_updates(struct rib_entry *, struct prefix *,
RB_HEAD(rib_tree, rib_entry);
TAILQ_HEAD(rib_queue, rib_entry);
RB_ENTRY(rib_entry) rib_e;
TAILQ_ENTRY(rib_entry) rib_queue;
struct prefix *prefix_best(struct rib_entry *);
void prefix_evaluate(struct rib_entry *, struct prefix *,
struct rib_entry *rib_get(struct rib *, struct pt_entry *);
struct rib_entry *rib_get_addr(struct rib *, struct bgpd_addr *, int);
struct rib_entry *rib_match(struct rib *, struct bgpd_addr *);
void (*)(struct rib_entry *, void *),
void (*)(struct rib_entry *, void *),
void rib_dequeue(struct rib_entry *);
re_rib(struct rib_entry *re)
void (*)(struct rib_entry *, void *),
struct prefix *prefix_bypeer(struct rib_entry *, struct rde_peer *,
static inline struct rib_entry *
void up_generate_updates(struct rde_peer *, struct rib_entry *);
void up_generate_addpath(struct rde_peer *, struct rib_entry *);
void up_generate_addpath_all(struct rde_peer *, struct rib_entry *,
void prefix_insert(struct prefix *, struct prefix *, struct rib_entry *);
void prefix_remove(struct prefix *, struct rib_entry *);
prefix_insert(struct prefix *new, struct prefix *ep, struct rib_entry *re)
prefix_remove(struct prefix *old, struct rib_entry *re)
prefix_best(struct rib_entry *re)
prefix_evaluate(struct rib_entry *re, struct prefix *new, struct prefix *old)
struct rib_entry *re = prefix_re(p);
peer_generate_update(struct rde_peer *peer, struct rib_entry *re,
rde_generate_updates(struct rib_entry *re, struct prefix *newpath,
struct rib_entry *re;
peer_flush_upcall(struct rib_entry *re, void *arg)
peer_dump_upcall(struct rib_entry *re, void *ptr)
struct rib_entry *re;
struct rib_entry *re;
void (*call)(struct rib_entry *, void *), void (*done)(void *, uint8_t))
struct rib_entry *re, *next;
prefix_bypeer(struct rib_entry *re, struct rde_peer *peer, uint32_t path_id)
prefix_link(struct prefix *p, struct rib_entry *re, struct pt_entry *pt,
struct rib_entry *re = prefix_re(p);
struct rib_entry *re, *xre;
struct rib_entry *
struct rib_entry xre, *re;
struct rib_entry *
struct rib_entry *
struct rib_entry *re;
struct rib_entry *
struct rib_entry *re;
rib_remove(struct rib_entry *re)
rib_empty(struct rib_entry *re)
rib_dequeue(struct rib_entry *re)
static struct rib_entry *
struct rib_entry *re = NULL;
struct rib_entry *re, *next;
struct rib_entry *rib_add(struct rib *, struct pt_entry *);
static inline int rib_compare(const struct rib_entry *,
const struct rib_entry *);
static void rib_remove(struct rib_entry *);
static inline int rib_empty(struct rib_entry *);
struct rib_entry *re = ctx->ctx_re;
RB_PROTOTYPE(rib_tree, rib_entry, rib_e, rib_compare);
RB_GENERATE(rib_tree, rib_entry, rib_e, rib_compare);
void (*upcall)(struct rib_entry *, void *), void (*done)(void *, uint8_t),
unsigned int count, void *arg, void (*upcall)(struct rib_entry *, void *),
struct rib_entry xre;
static inline struct rib_entry *
re_lock(struct rib_entry *re)
static inline struct rib_entry *
re_unlock(struct rib_entry *re)
re_is_locked(struct rib_entry *re)
re_is_queued(struct rib_entry *re)
static void prefix_link(struct prefix *, struct rib_entry *,
struct rib_entry *re;
struct rib_entry *re;
rib_compare(const struct rib_entry *a, const struct rib_entry *b)
up_generate_updates(struct rde_peer *peer, struct rib_entry *re)
up_generate_addpath(struct rde_peer *peer, struct rib_entry *re)
up_generate_addpath_all(struct rde_peer *peer, struct rib_entry *re,