nd_defrouter
struct nd_defrouter *dr;
if (dr == TAILQ_FIRST(&nd_defrouter)) {
TAILQ_REMOVE(&nd_defrouter, dr, dr_entry);
TAILQ_INSERT_TAIL(&nd_defrouter, dr, dr_entry);
struct nd_drhead nd_defrouter;
struct nd_defrouter *dr, any;
dr = TAILQ_FIRST(&nd_defrouter);
struct nd_defrouter *dr, *next;
if ((dr = TAILQ_FIRST(&nd_defrouter)) != NULL) {
defrtrlist_del(TAILQ_FIRST(&nd_defrouter));
TAILQ_INIT(&nd_defrouter);
struct nd_defrouter *dr;
for (dr = TAILQ_FIRST(&nd_defrouter); dr;
struct nd_defrouter *dr;
dr = TAILQ_FIRST(&nd_defrouter);
struct nd_defrouter *t;
struct nd_defrouter *dr, *ndr, drany;
if ((dr = TAILQ_FIRST(&nd_defrouter)) != NULL) {
dr = TAILQ_FIRST(&nd_defrouter);
TAILQ_HEAD(nd_drhead, nd_defrouter);
TAILQ_ENTRY(nd_defrouter) dr_entry;
struct nd_defrouter *router;
extern struct nd_drhead nd_defrouter;
void defrouter_addreq (struct nd_defrouter *);
void defrouter_delreq (struct nd_defrouter *, int);
void defrtrlist_del (struct nd_defrouter *);
int prelist_update(struct nd_prefix *, struct nd_defrouter *,
int nd6_prelist_add(struct nd_prefix *, struct nd_defrouter *,
struct nd_defrouter *defrouter_lookup(struct in6_addr *, struct ifnet *);
struct nd_defrouter *dr;
if (TAILQ_FIRST(&nd_defrouter) == NULL)
struct nd_defrouter *dr;
struct nd_defrouter dr0;
defrouter_addreq(struct nd_defrouter *new)
struct nd_defrouter *
struct nd_defrouter *dr;
for (dr = TAILQ_FIRST(&nd_defrouter); dr;
defrouter_delreq(struct nd_defrouter *dr, int dofree)
defrtrlist_del(struct nd_defrouter *dr)
struct nd_defrouter *deldr = NULL;
if (dr == TAILQ_FIRST(&nd_defrouter))
TAILQ_REMOVE(&nd_defrouter, dr, dr_entry);
struct nd_defrouter *dr, anydr;
for (dr = TAILQ_FIRST(&nd_defrouter); dr;
TAILQ_REMOVE(&nd_defrouter, dr, dr_entry);
TAILQ_INSERT_HEAD(&nd_defrouter, dr, dr_entry);
if ((dr = TAILQ_FIRST(&nd_defrouter))) {
static struct nd_defrouter *
defrtrlist_update(struct nd_defrouter *new)
struct nd_defrouter *dr, *n;
n = (struct nd_defrouter *)kmalloc(sizeof(*n), M_IP6NDP,
TAILQ_INSERT_TAIL(&nd_defrouter, n, dr_entry);
if (TAILQ_FIRST(&nd_defrouter) == n)
static struct nd_defrouter *defrtrlist_update (struct nd_defrouter *);
pfxrtr_lookup(struct nd_prefix *pr, struct nd_defrouter *dr)
pfxrtr_add(struct nd_prefix *pr, struct nd_defrouter *dr)
struct nd_defrouter *);
nd6_prelist_add(struct nd_prefix *pr, struct nd_defrouter *dr,
static void pfxrtr_add (struct nd_prefix *, struct nd_defrouter *);
prelist_update(struct nd_prefix *new, struct nd_defrouter *dr, struct mbuf *m)