lltable
struct lltable *llt;
llatbl_llt_show(struct lltable *llt)
DB_SHOW_COMMAND(lltable, db_show_lltable)
llatbl_llt_show((struct lltable *)addr);
struct lltable *llt;
htable_foreach_lle(struct lltable *llt, llt_foreach_cb_t *f, void *farg)
htable_link_entry(struct lltable *llt, struct llentry *lle)
struct lltable *llt;
htable_prefix_free_cb(struct lltable *llt, struct llentry *lle, void *farg)
htable_prefix_free(struct lltable *llt, const struct sockaddr *addr,
htable_free_tbl(struct lltable *llt)
llentries_unlink(struct lltable *llt, struct llentries *head)
struct lltable *tbl = lle->lle_tbl;
llentry_update_ifaddr(struct lltable *llt, struct llentry *lle, void *farg)
lltable_update_ifaddr(struct lltable *llt)
lltable_free_cb(struct lltable *llt, struct llentry *lle, void *farg)
lltable_free(struct lltable *llt)
VNET_DEFINE_STATIC(SLIST_HEAD(, lltable), lltables) =
lltable_delete_addr(struct lltable *llt, u_int flags,
struct lltable *llt;
lltable_delete_conditional_cb(struct lltable *llt, struct llentry *lle,
lltable_delete_conditional(struct lltable *llt, llt_match_cb_t *func,
struct lltable *
static void lltable_unlink(struct lltable *llt);
struct lltable *llt;
llt = malloc(sizeof(struct lltable), M_LLTABLE, M_WAITOK | M_ZERO);
static void llentries_unlink(struct lltable *llt, struct llentries *head);
lltable_link(struct lltable *llt)
lltable_unlink(struct lltable *llt)
SLIST_REMOVE(&V_lltables, llt, lltable, llt_link);
struct lltable *
lltable_foreach_lle(struct lltable *llt, llt_foreach_cb_t *f, void *farg)
lltable_dump_af(struct lltable *llt, struct sysctl_req *wr)
lltable_alloc_entry(struct lltable *llt, u_int flags,
lltable_free_entry(struct lltable *llt, struct llentry *lle)
lltable_link_entry(struct lltable *llt, struct llentry *lle)
lltable_unlink_entry(struct lltable *llt, struct llentry *lle)
struct lltable *llt;
lltable_get_ifp(const struct lltable *llt)
lltable_get_af(const struct lltable *llt)
struct lltable *llt;
typedef void (llt_delete_t)(struct lltable *, struct llentry *);
typedef void (llt_prefix_free_t)(struct lltable *,
typedef int (llt_dump_entry_t)(struct lltable *, struct llentry *,
typedef void (llt_free_entry_t)(struct lltable *, struct llentry *);
typedef void (llt_free_tbl_t)(struct lltable *);
typedef int (llt_link_entry_t)(struct lltable *, struct llentry *);
typedef void (llt_post_resolved_t)(struct lltable *, struct llentry *);
typedef int (llt_foreach_cb_t)(struct lltable *, struct llentry *, void *);
typedef int (llt_foreach_entry_t)(struct lltable *, llt_foreach_cb_t *, void *);
typedef bool (llt_match_cb_t)(struct lltable *, struct llentry *, void *);
SLIST_ENTRY(lltable) llt_link;
struct lltable *lltable_allocate_htbl(uint32_t hsize);
void lltable_free(struct lltable *);
void lltable_link(struct lltable *llt);
struct lltable *in_lltable_get(struct ifnet *ifp);
struct lltable *in6_lltable_get(struct ifnet *ifp);
struct lltable *lltable_get(struct ifnet *ifp, int family);
void lltable_update_ifaddr(struct lltable *llt);
struct llentry *lltable_alloc_entry(struct lltable *llt, u_int flags,
void lltable_free_entry(struct lltable *llt, struct llentry *lle);
int lltable_delete_addr(struct lltable *llt, u_int flags,
int lltable_link_entry(struct lltable *llt, struct llentry *lle);
int lltable_unlink_entry(struct lltable *llt, struct llentry *lle);
struct ifnet *lltable_get_ifp(const struct lltable *llt);
int lltable_get_af(const struct lltable *llt);
int lltable_foreach_lle(struct lltable *llt, llt_foreach_cb_t *f,
void lltable_delete_conditional(struct lltable *llt, llt_match_cb_t *func,
lla_lookup(struct lltable *llt, u_int flags, const struct sockaddr *l3addr)
struct lltable *lle_tbl;
static struct lltable *in_lltattach(struct ifnet *);
in_lltable_free_entry(struct lltable *llt, struct llentry *lle)
in_lltable_find_dst(struct lltable *llt, struct in_addr dst)
in_lltable_delete_entry(struct lltable *llt, struct llentry *lle)
in_lltable_alloc(struct lltable *llt, u_int flags, const struct sockaddr *l3addr)
in_lltable_lookup(struct lltable *llt, u_int flags, const struct sockaddr *l3addr)
in_lltable_dump_entry(struct lltable *llt, struct llentry *lle,
in_lltable_post_resolved(struct lltable *llt, struct llentry *lle)
static struct lltable *
struct lltable *llt;
struct lltable *
struct lltable;
struct lltable *ii_llt; /* ARP state */
in6_lltable_free_entry(struct lltable *llt, struct llentry *lle)
in6_lltable_find_dst(struct lltable *llt, const struct in6_addr *dst)
in6_lltable_delete_entry(struct lltable *llt, struct llentry *lle)
in6_lltable_alloc(struct lltable *llt, u_int flags,
in6_lltable_lookup(struct lltable *llt, u_int flags,
in6_lltable_dump_entry(struct lltable *llt, struct llentry *lle,
in6_lltable_post_resolved(struct lltable *llt, struct llentry *lle)
static struct lltable *
struct lltable *llt;
struct lltable *
return (ifp->if_inet6->lltable);
ext->lltable = in6_lltattach(ifp);
in6_lle_match_pub(struct lltable *llt, struct llentry *lle, void *farg)
struct lltable *llt;
lltable_free(ext->lltable);
struct lltable *lltable;
#define LLTABLE6(ifp) ((ifp)->if_inet6->lltable)
dump_lle(struct lltable *llt, struct llentry *lle, void *arg)
dump_llt(struct lltable *llt, struct netlink_walkargs *wa)
struct lltable *llt = lltable_get(ifp, fam);
struct lltable *llt = lltable_get(ifp, family);
struct lltable *llt = lltable_get(attrs.nda_ifp, attrs.ndm_family);
struct lltable *llt = lltable_get(attrs.nda_ifp, attrs.ndm_family);