lsa_link
off = sizeof(lsa->hdr) + sizeof(struct lsa_link);
struct lsa_link link;
struct lsa_link lsa_link;
if ((buf = ibuf_dynamic(sizeof(lsa_hdr) + sizeof(lsa_link),
if (ibuf_add_zero(buf, sizeof(lsa_hdr) + sizeof(lsa_link)) == -1)
lsa_link.lladdr = ia->addr;
LSA_24_SETHI(lsa_link.opts, iface->priority);
LSA_24_SETLO(lsa_link.opts, options);
lsa_link.opts = htonl(lsa_link.opts);
lsa_link.numprefix = htonl(num_prefix);
if (ibuf_set(buf, sizeof(lsa_hdr), &lsa_link, sizeof(lsa_link)) == -1)
struct lsa_link lsa_link;
if (l - sizeof(lsa_hdr) < sizeof(lsa_link))
memcpy(&lsa_link, (char *)imsg.data +
sizeof(lsa_hdr), sizeof(lsa_link));
nbr->link_options = lsa_link.opts &
prefix_tree_add(struct prefix_tree *tree, struct lsa_link *lsa)
void prefix_tree_add(struct prefix_tree *, struct lsa_link *);
struct lsa_link *llink;
llink = (struct lsa_link *)(buf + sizeof(lsa->hdr));
off = sizeof(lsa->hdr) + sizeof(struct lsa_link);