ip6_hdr
ETHER_HEADER_LENGTH + offsetof(struct ip6_hdr, ip6_nxt),
NetBufferPrepend<ip6_hdr> header(buffer);
NetBufferField<uint16, sizeof(ip6_hdr)
uint16 checksum = gBufferModule->checksum(buffer, sizeof(ip6_hdr),
buffer->size - sizeof(ip6_hdr), false);
return mtu - sizeof(ip6_hdr);
uint16 packetLength = header.PayloadLength() + sizeof(ip6_hdr);
>= (int)sizeof(ip6_hdr)) {
&header, sizeof(ip6_hdr)) == B_OK
uint16 offset = sizeof(struct ip6_hdr);
- sizeof(ip6_hdr) + sizeof(ip6_frag);
struct ip6_hdr header;
pr_retip((struct ip6_hdr *)(icp + 1), end);
pr_retip((struct ip6_hdr *)(icp + 1), end);
pr_retip((struct ip6_hdr *)(icp + 1), end);
pr_retip((struct ip6_hdr *)(icp + 1), end);
pr_iph(struct ip6_hdr *ip6)
static void pr_iph(struct ip6_hdr *);
pr_retip(struct ip6_hdr *ip6, u_char *end)
static void pr_retip(struct ip6_hdr *, u_char *);
get_udphdr(struct ip6_hdr *ip6, u_char *lim)
cp += sizeof(struct ip6_hdr);
static struct udphdr *get_udphdr(struct ip6_hdr *, u_char *);
struct ip6_hdr *hip;
hip = (struct ip6_hdr *)(icp + 1);
struct ip6_hdr *ip6;
if (__predict_false(m->m_len < pi->ipi_ehdrlen + sizeof(struct ip6_hdr))) {
if (__predict_false((m = m_pullup(m, pi->ipi_ehdrlen + sizeof(struct ip6_hdr))) == NULL))
ip6 = (struct ip6_hdr *)(m->m_data + pi->ipi_ehdrlen);
pi->ipi_ip_hlen = sizeof(struct ip6_hdr);
struct ip6_hdr *ip6 = (struct ip6_hdr *)(m->m_data + pi->ipi_ehdrlen);
pi->ipi_ip_hlen = sizeof(struct ip6_hdr);
if (__predict_false(m->m_len < pi->ipi_ehdrlen + sizeof(struct ip6_hdr))) {
if (__predict_false((m = m_pullup(m, pi->ipi_ehdrlen + sizeof(struct ip6_hdr))) == NULL))
if (__predict_false(m->m_len < pi->ipi_ehdrlen + sizeof(struct ip6_hdr) + sizeof(struct tcphdr))) {
if (__predict_false((m = m_pullup(m, pi->ipi_ehdrlen + sizeof(struct ip6_hdr) + sizeof(struct tcphdr))) == NULL))
offsetof(struct ip6_hdr, ip6_flow), sizeof(flow),
struct ip6_hdr ip6;