Lines Matching refs:ip6hdr
140 struct ip6_hdr *ip6hdr; in lowpan6_compress_headers() local
163 ip6hdr = (struct ip6_hdr *)inptr; in lowpan6_compress_headers()
164 ip_addr_copy_from_ip6_packed(ip6dst, ip6hdr->dest); in lowpan6_compress_headers()
166 ip_addr_copy_from_ip6_packed(ip6src, ip6hdr->src); in lowpan6_compress_headers()
203 if (IP6H_FL(ip6hdr) == 0) { in lowpan6_compress_headers()
206 if (IP6H_TC(ip6hdr) == 0) { in lowpan6_compress_headers()
211 buffer[lowpan6_header_len++] = IP6H_TC(ip6hdr); in lowpan6_compress_headers()
214 if (((IP6H_TC(ip6hdr) & 0x3f) == 0)) { in lowpan6_compress_headers()
218 buffer[lowpan6_header_len] = IP6H_TC(ip6hdr) & 0xc0; in lowpan6_compress_headers()
219 buffer[lowpan6_header_len++] |= (IP6H_FL(ip6hdr) >> 16) & 0x0f; in lowpan6_compress_headers()
220 buffer[lowpan6_header_len++] = (IP6H_FL(ip6hdr) >> 8) & 0xff; in lowpan6_compress_headers()
221 buffer[lowpan6_header_len++] = IP6H_FL(ip6hdr) & 0xff; in lowpan6_compress_headers()
224 buffer[lowpan6_header_len++] = IP6H_TC(ip6hdr); in lowpan6_compress_headers()
225 buffer[lowpan6_header_len++] = (IP6H_FL(ip6hdr) >> 16) & 0x0f; in lowpan6_compress_headers()
226 buffer[lowpan6_header_len++] = (IP6H_FL(ip6hdr) >> 8) & 0xff; in lowpan6_compress_headers()
227 buffer[lowpan6_header_len++] = IP6H_FL(ip6hdr) & 0xff; in lowpan6_compress_headers()
233 if (IP6H_NEXTH(ip6hdr) == IP6_NEXTH_UDP) { in lowpan6_compress_headers()
237 buffer[lowpan6_header_len++] = IP6H_NEXTH(ip6hdr); in lowpan6_compress_headers()
241 if (IP6H_HOPLIM(ip6hdr) == 255) { in lowpan6_compress_headers()
243 } else if (IP6H_HOPLIM(ip6hdr) == 64) { in lowpan6_compress_headers()
245 } else if (IP6H_HOPLIM(ip6hdr) == 1) { in lowpan6_compress_headers()
249 buffer[lowpan6_header_len++] = IP6H_HOPLIM(ip6hdr); in lowpan6_compress_headers()
320 if (IP6H_NEXTH(ip6hdr) == IP6_NEXTH_UDP) { in lowpan6_compress_headers()
399 struct ip6_hdr *ip6hdr; in lowpan6_decompress_hdr() local
411 ip6hdr = (struct ip6_hdr *)decomp_buffer; in lowpan6_decompress_hdr()
445 IP6H_VTCFL_SET(ip6hdr, 6, lowpan6_buffer[lowpan6_offset], header_temp); in lowpan6_decompress_hdr()
453 IP6H_VTCFL_SET(ip6hdr, 6, lowpan6_buffer[lowpan6_offset] & 0xc0, header_temp); in lowpan6_decompress_hdr()
459 IP6H_VTCFL_SET(ip6hdr, 6, lowpan6_buffer[lowpan6_offset],0); in lowpan6_decompress_hdr()
466 IP6H_VTCFL_SET(ip6hdr, 6, 0, 0); in lowpan6_decompress_hdr()
473 IP6H_NEXTH_SET(ip6hdr, lowpan6_buffer[lowpan6_offset++]); in lowpan6_decompress_hdr()
478 IP6H_NEXTH_SET(ip6hdr, 0); in lowpan6_decompress_hdr()
484 IP6H_HOPLIM_SET(ip6hdr, lowpan6_buffer[lowpan6_offset++]); in lowpan6_decompress_hdr()
487 IP6H_HOPLIM_SET(ip6hdr, 1); in lowpan6_decompress_hdr()
490 IP6H_HOPLIM_SET(ip6hdr, 64); in lowpan6_decompress_hdr()
493 IP6H_HOPLIM_SET(ip6hdr, 255); in lowpan6_decompress_hdr()
504 MEMCPY(&ip6hdr->src.addr[0], lowpan6_buffer + lowpan6_offset, 16); in lowpan6_decompress_hdr()
509 ip6hdr->src.addr[0] = PP_HTONL(0xfe800000UL); in lowpan6_decompress_hdr()
510 ip6hdr->src.addr[1] = 0; in lowpan6_decompress_hdr()
512 MEMCPY(&ip6hdr->src.addr[2], lowpan6_buffer + lowpan6_offset, 8); in lowpan6_decompress_hdr()
517 ip6hdr->src.addr[0] = PP_HTONL(0xfe800000UL); in lowpan6_decompress_hdr()
518 ip6hdr->src.addr[1] = 0; in lowpan6_decompress_hdr()
519 ip6hdr->src.addr[2] = PP_HTONL(0x000000ffUL); in lowpan6_decompress_hdr()
521 ip6hdr->src.addr[3] = lwip_htonl(0xfe000000UL | (lowpan6_buffer[lowpan6_offset] << 8) | in lowpan6_decompress_hdr()
527 ip6hdr->src.addr[0] = PP_HTONL(0xfe800000UL); in lowpan6_decompress_hdr()
528 ip6hdr->src.addr[1] = 0; in lowpan6_decompress_hdr()
530 ip6hdr->src.addr[2] = PP_HTONL(0x000000ffUL); in lowpan6_decompress_hdr()
531 ip6hdr->src.addr[3] = lwip_htonl(0xfe000000UL | (src->addr[0] << 8) | src->addr[1]); in lowpan6_decompress_hdr()
533 ip6hdr->src.addr[2] = lwip_htonl(((src->addr[0] ^ 2) << 24) | (src->addr[1] << 16) | in lowpan6_decompress_hdr()
535 ip6hdr->src.addr[3] = lwip_htonl((src->addr[4] << 24) | (src->addr[5] << 16) | in lowpan6_decompress_hdr()
548 ip6hdr->src.addr[0] = 0; in lowpan6_decompress_hdr()
549 ip6hdr->src.addr[1] = 0; in lowpan6_decompress_hdr()
550 ip6hdr->src.addr[2] = 0; in lowpan6_decompress_hdr()
551 ip6hdr->src.addr[3] = 0; in lowpan6_decompress_hdr()
565 ip6hdr->src.addr[0] = lowpan6_contexts[i].addr[0]; in lowpan6_decompress_hdr()
566 ip6hdr->src.addr[1] = lowpan6_contexts[i].addr[1]; in lowpan6_decompress_hdr()
567 …ontext compression found @%d: %8"X32_F", %8"X32_F"\n", (int)i, ip6hdr->src.addr[0], ip6hdr->src.ad… in lowpan6_decompress_hdr()
576 MEMCPY(&ip6hdr->src.addr[2], lowpan6_buffer + lowpan6_offset, 8); in lowpan6_decompress_hdr()
581 ip6hdr->src.addr[2] = PP_HTONL(0x000000ffUL); in lowpan6_decompress_hdr()
582 …ip6hdr->src.addr[3] = lwip_htonl(0xfe000000UL | (lowpan6_buffer[lowpan6_offset] << 8) | lowpan6_bu… in lowpan6_decompress_hdr()
589 ip6hdr->src.addr[2] = PP_HTONL(0x000000ffUL); in lowpan6_decompress_hdr()
590 ip6hdr->src.addr[3] = lwip_htonl(0xfe000000UL | (src->addr[0] << 8) | src->addr[1]); in lowpan6_decompress_hdr()
592 …ip6hdr->src.addr[2] = lwip_htonl(((src->addr[0] ^ 2) << 24) | (src->addr[1] << 16) | (src->addr[2]… in lowpan6_decompress_hdr()
593 …ip6hdr->src.addr[3] = lwip_htonl((src->addr[4] << 24) | (src->addr[5] << 16) | (src->addr[6] << 8)… in lowpan6_decompress_hdr()
615 MEMCPY(&ip6hdr->dest.addr[0], lowpan6_buffer + lowpan6_offset, 16); in lowpan6_decompress_hdr()
620 ip6hdr->dest.addr[0] = lwip_htonl(0xff000000UL | (lowpan6_buffer[lowpan6_offset++] << 16)); in lowpan6_decompress_hdr()
621 ip6hdr->dest.addr[1] = 0; in lowpan6_decompress_hdr()
622 ip6hdr->dest.addr[2] = lwip_htonl(lowpan6_buffer[lowpan6_offset++]); in lowpan6_decompress_hdr()
623 …ip6hdr->dest.addr[3] = lwip_htonl((lowpan6_buffer[lowpan6_offset] << 24) | (lowpan6_buffer[lowpan6… in lowpan6_decompress_hdr()
628 ip6hdr->dest.addr[0] = lwip_htonl(0xff000000UL | (lowpan6_buffer[lowpan6_offset++] << 16)); in lowpan6_decompress_hdr()
629 ip6hdr->dest.addr[1] = 0; in lowpan6_decompress_hdr()
630 ip6hdr->dest.addr[2] = 0; in lowpan6_decompress_hdr()
631 …ip6hdr->dest.addr[3] = lwip_htonl((lowpan6_buffer[lowpan6_offset] << 16) | (lowpan6_buffer[lowpan6… in lowpan6_decompress_hdr()
636 ip6hdr->dest.addr[0] = PP_HTONL(0xff020000UL); in lowpan6_decompress_hdr()
637 ip6hdr->dest.addr[1] = 0; in lowpan6_decompress_hdr()
638 ip6hdr->dest.addr[2] = 0; in lowpan6_decompress_hdr()
639 ip6hdr->dest.addr[3] = lwip_htonl(lowpan6_buffer[lowpan6_offset++]); in lowpan6_decompress_hdr()
658 ip6hdr->dest.addr[0] = lowpan6_contexts[i].addr[0]; in lowpan6_decompress_hdr()
659 ip6hdr->dest.addr[1] = lowpan6_contexts[i].addr[1]; in lowpan6_decompress_hdr()
664 ip6hdr->dest.addr[0] = PP_HTONL(0xfe800000UL); in lowpan6_decompress_hdr()
665 ip6hdr->dest.addr[1] = 0; in lowpan6_decompress_hdr()
672 MEMCPY(&ip6hdr->dest.addr[0], lowpan6_buffer + lowpan6_offset, 16); in lowpan6_decompress_hdr()
677 MEMCPY(&ip6hdr->dest.addr[2], lowpan6_buffer + lowpan6_offset, 8); in lowpan6_decompress_hdr()
682 ip6hdr->dest.addr[2] = PP_HTONL(0x000000ffUL); in lowpan6_decompress_hdr()
683 …ip6hdr->dest.addr[3] = lwip_htonl(0xfe000000UL | (lowpan6_buffer[lowpan6_offset] << 8) | lowpan6_b… in lowpan6_decompress_hdr()
689 ip6hdr->dest.addr[2] = PP_HTONL(0x000000ffUL); in lowpan6_decompress_hdr()
690 ip6hdr->dest.addr[3] = lwip_htonl(0xfe000000UL | (dest->addr[0] << 8) | dest->addr[1]); in lowpan6_decompress_hdr()
692 …ip6hdr->dest.addr[2] = lwip_htonl(((dest->addr[0] ^ 2) << 24) | (dest->addr[1] << 16) | dest->addr… in lowpan6_decompress_hdr()
693 …ip6hdr->dest.addr[3] = lwip_htonl((dest->addr[4] << 24) | (dest->addr[5] << 16) | dest->addr[6] <<… in lowpan6_decompress_hdr()
713 IP6H_NEXTH_SET(ip6hdr, IP6_NEXTH_UDP); in lowpan6_decompress_hdr()
766 IP6H_PLEN_SET(ip6hdr, datagram_size - IP6_HLEN); in lowpan6_decompress_hdr()