icmp6_nodeinfo
struct icmp6_nodeinfo *nip;
nip = (struct icmp6_nodeinfo *)outpack;
mynireply(const struct icmp6_nodeinfo *nip)
struct icmp6_nodeinfo *ni;
ni = (struct icmp6_nodeinfo *)buf;
pr_suptypes(struct icmp6_nodeinfo *ni, size_t nilen)
pr_nodeaddr(struct icmp6_nodeinfo *ni, int nilen)
nilen -= sizeof(struct icmp6_nodeinfo);
struct icmp6_nodeinfo *ni;
ni = (struct icmp6_nodeinfo *)icp;
ni = (struct icmp6_nodeinfo *)icp;
static void pr_suptypes(struct icmp6_nodeinfo *, size_t);
static void pr_nodeaddr(struct icmp6_nodeinfo *, int);
static int mynireply(const struct icmp6_nodeinfo *);
struct icmp6_nodeinfo *ni6, *nni6;
int replylen = sizeof(struct ip6_hdr) + sizeof(struct icmp6_nodeinfo);
ni6 = (struct icmp6_nodeinfo *)(mtod(m, caddr_t) + off);
subjlen = m->m_pkthdr.len - off - sizeof(struct icmp6_nodeinfo);
m_copydata(m, off + sizeof(struct icmp6_nodeinfo),
if (m->m_len < off + sizeof(struct icmp6_nodeinfo) +
sizeof(struct icmp6_nodeinfo) + subjlen);
ni6 = (struct icmp6_nodeinfo *)(mtod(m, caddr_t) + off);
sizeof(struct icmp6_nodeinfo));
VNET_DEFINE_STATIC(int, icmp6_nodeinfo) = 0;
#define V_icmp6_nodeinfo VNET(icmp6_nodeinfo)
CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmp6_nodeinfo), 0,
nni6 = (struct icmp6_nodeinfo *)(mtod(n, struct ip6_hdr *) + 1);
bcopy((caddr_t)ni6, (caddr_t)nni6, sizeof(struct icmp6_nodeinfo));
sizeof(struct ip6_hdr) + sizeof(struct icmp6_nodeinfo));
sizeof(struct ip6_hdr) + sizeof(struct icmp6_nodeinfo);
sizeof(struct icmp6_nodeinfo) + copied;
static int ni6_addrs(struct icmp6_nodeinfo *, struct mbuf *,
static int ni6_store_addrs(struct icmp6_nodeinfo *, struct icmp6_nodeinfo *,
ni6_addrs(struct icmp6_nodeinfo *ni6, struct mbuf *m, struct ifnet **ifpp,
ni6_store_addrs(struct icmp6_nodeinfo *ni6, struct icmp6_nodeinfo *nni6,
else if (icmp6len >= sizeof(struct icmp6_nodeinfo))
if (m->m_len < off + sizeof(struct icmp6_nodeinfo)) {
sizeof(struct icmp6_nodeinfo));