nh_control
find_nhgrp(struct nh_control *ctl, const struct nhgrp_priv *key)
link_nhgrp(struct nh_control *ctl, struct nhgrp_priv *grp_priv)
grp_priv->nh_control = ctl;
unlink_nhgrp(struct nh_control *ctl, struct nhgrp_priv *key)
nhg_priv_ret->nh_control = NULL;
consider_resize(struct nh_control *ctl, uint32_t new_gr_bucket, uint32_t new_idx_items)
nhgrp_ctl_alloc_default(struct nh_control *ctl, int malloc_flags)
nhgrp_ctl_init(struct nh_control *ctl)
nhgrp_ctl_free(struct nh_control *ctl)
nhgrp_ctl_unlink_all(struct nh_control *ctl)
static void consider_resize(struct nh_control *ctl, uint32_t new_gr_buckets,
struct nh_control *ctl;
ctl = nhg_priv->nh_control;
struct nh_control *ctl;
ctl = rh->nh_control;
if (wn[i].nh->nh_priv->nh_control != ctl) {
nhg_priv->nh_control = ctl;
struct nh_control *ctl = key->nh_control;
get_nhgrp(struct nh_control *ctl, struct weightened_nhop *wn, int num_nhops,
append_nhops(struct nh_control *ctl, const struct nhgrp_object *gr_orig,
struct nh_control *ctl = rh->nh_control;
struct nh_control *ctl = rh->nh_control;
struct nh_control *ctl = rh->nh_control;
static struct nhgrp_priv *get_nhgrp(struct nh_control *ctl,
struct nh_control *ctl;
ctl = rh->nh_control;
struct nh_control *ctl = rh->nh_control;
struct nh_control *nh_control; /* parent control structure */
bool nhgrp_ctl_alloc_default(struct nh_control *ctl, int malloc_flags);
struct nhgrp_priv *find_nhgrp(struct nh_control *ctl, const struct nhgrp_priv *key);
int link_nhgrp(struct nh_control *ctl, struct nhgrp_priv *grp_priv);
struct nhgrp_priv *unlink_nhgrp(struct nh_control *ctl, struct nhgrp_priv *key);
rh->nh_control = ctl;
destroy_ctl(struct nh_control *ctl)
struct nh_control *ctl;
ctl = __containerof(ctx, struct nh_control, ctl_epoch_ctx);
struct nh_control *ctl;
ctl = rh->nh_control;
consider_resize(struct nh_control *ctl, uint32_t new_nh_buckets, uint32_t new_idx_items)
link_nhop(struct nh_control *ctl, struct nhop_priv *nh_priv)
nh_priv->nh_control = ctl;
unlink_nhop(struct nh_control *ctl, struct nhop_priv *nh_priv_del)
find_nhop(struct nh_control *ctl, const struct nhop_priv *nh_priv)
struct nh_control *ctl;
ctl = malloc(sizeof(struct nh_control), M_NHOP, M_WAITOK | M_ZERO);
struct nh_control;
struct nh_control *ctl;
ctl = rh->nh_control;
struct nh_control *ctl = iter->rh->nh_control;
struct nh_control *ctl = iter->rh->nh_control;
struct nh_control *ctl = iter->rh->nh_control;
struct nh_control *ctl;
ctl = rh->nh_control;
struct nh_control *ctl;
ctl = rh->nh_control;
tmp_priv = find_nhop(rnh->nh_control, nh->nh_priv);
*perror = finalize_nhop(rnh->nh_control, nh, true);
return (finalize_nhop(rnh->nh_control, nh, false));
finalize_nhop(struct nh_control *ctl, struct nhop_object *nh, bool link)
struct nh_control *ctl;
ctl = nh_priv->nh_control;
static int finalize_nhop(struct nh_control *ctl, struct nhop_object *nh, bool link);
struct nhop_priv *find_nhop(struct nh_control *ctl,
int link_nhop(struct nh_control *ctl, struct nhop_priv *nh_priv);
struct nhop_priv *unlink_nhop(struct nh_control *ctl, struct nhop_priv *nh_priv);
struct nh_control *nh_control; /* backreference to the rnh */
int nhgrp_ctl_init(struct nh_control *ctl);
void nhgrp_ctl_free(struct nh_control *ctl);
void nhgrp_ctl_unlink_all(struct nh_control *ctl);
struct nh_control;
struct nh_control *nh_control; /* nexthop subsystem data */