Lines Matching refs:iphc

82 static int get_ihpc_inlined_size(uint16_t iphc)  in get_ihpc_inlined_size()  argument
86 if (((iphc >> 8) & NET_6LO_DISPATCH_IPHC_MASK) != in get_ihpc_inlined_size()
92 size += tf_inline_size_table[(iphc & NET_6LO_IPHC_TF_MASK) >> in get_ihpc_inlined_size()
95 if (!(iphc & NET_6LO_IPHC_NH_MASK)) { in get_ihpc_inlined_size()
99 if (!(iphc & NET_6LO_IPHC_HLIM_MASK)) { in get_ihpc_inlined_size()
103 if (iphc & NET_6LO_IPHC_CID_MASK) { in get_ihpc_inlined_size()
107 size += sa_inline_size_table[(iphc & NET_6LO_IPHC_SA_MASK) >> in get_ihpc_inlined_size()
110 size += da_inline_size_table[(iphc & NET_6LO_IPHC_DA_MASK) >> in get_ihpc_inlined_size()
269 uint16_t *iphc) in compress_tfl() argument
281 *iphc |= NET_6LO_IPHC_TF_11; in compress_tfl()
286 *iphc |= NET_6LO_IPHC_TF_10; in compress_tfl()
296 *iphc |= NET_6LO_IPHC_TF_01; in compress_tfl()
307 *iphc |= NET_6LO_IPHC_TF_00; in compress_tfl()
324 uint16_t *iphc) in compress_hoplimit() argument
330 *iphc |= NET_6LO_IPHC_HLIM1; in compress_hoplimit()
334 *iphc |= NET_6LO_IPHC_HLIM64; in compress_hoplimit()
338 *iphc |= NET_6LO_IPHC_HLIM255; in compress_hoplimit()
351 uint16_t *iphc) in compress_nh() argument
355 *iphc |= NET_6LO_IPHC_NH_1; in compress_nh()
366 uint8_t *inline_ptr, uint16_t *iphc) in compress_sa() argument
373 *iphc |= NET_6LO_IPHC_SAM_11; in compress_sa()
380 *iphc |= NET_6LO_IPHC_SAM_10; in compress_sa()
390 *iphc |= NET_6LO_IPHC_SAM_01; in compress_sa()
399 uint16_t *iphc) in set_sa_inline() argument
401 *iphc |= NET_6LO_IPHC_SAM_00; in set_sa_inline()
409 struct net_pkt *pkt, uint16_t *iphc, in compress_sa_ctx() argument
413 *iphc |= NET_6LO_IPHC_SAC_1; in compress_sa_ctx()
420 *iphc |= NET_6LO_IPHC_SAM_11; in compress_sa_ctx()
428 *iphc |= NET_6LO_IPHC_SAM_10; in compress_sa_ctx()
438 *iphc |= NET_6LO_IPHC_SAM_01; in compress_sa_ctx()
449 uint16_t *iphc) in compress_da_mcast() argument
451 *iphc |= NET_6LO_IPHC_M_1; in compress_da_mcast()
459 *iphc |= NET_6LO_IPHC_DAM_11; in compress_da_mcast()
471 *iphc |= NET_6LO_IPHC_DAM_10; in compress_da_mcast()
486 *iphc |= NET_6LO_IPHC_DAM_01; in compress_da_mcast()
507 uint8_t *inline_ptr, uint16_t *iphc) in compress_da() argument
514 *iphc |= NET_6LO_IPHC_DAM_11; in compress_da()
522 *iphc |= NET_6LO_IPHC_DAM_10; in compress_da()
532 *iphc |= NET_6LO_IPHC_DAM_01; in compress_da()
541 uint16_t *iphc) in set_da_inline() argument
543 *iphc |= NET_6LO_IPHC_DAM_00; in set_da_inline()
551 struct net_pkt *pkt, uint16_t *iphc, in compress_da_ctx() argument
554 *iphc |= NET_6LO_IPHC_DAC_1; in compress_da_ctx()
560 *iphc |= NET_6LO_IPHC_DAM_11; in compress_da_ctx()
568 *iphc |= NET_6LO_IPHC_DAM_10; in compress_da_ctx()
577 *iphc |= NET_6LO_IPHC_DAM_01; in compress_da_ctx()
729 uint16_t iphc = (NET_6LO_DISPATCH_IPHC << 8); in compress_IPHC_header() local
757 inline_pos = compress_da(ipv6, pkt, inline_pos, &iphc); in compress_IPHC_header()
762 inline_pos = compress_da_mcast(ipv6, inline_pos, &iphc); in compress_IPHC_header()
769 iphc |= NET_6LO_IPHC_CID_1; in compress_IPHC_header()
770 inline_pos = compress_da_ctx(ipv6, inline_pos, pkt, &iphc, in compress_IPHC_header()
775 inline_pos = set_da_inline(ipv6, inline_pos, &iphc); in compress_IPHC_header()
779 inline_pos = compress_sa(ipv6, pkt, inline_pos, &iphc); in compress_IPHC_header()
787 iphc |= NET_6LO_IPHC_SAC_1; in compress_IPHC_header()
788 iphc |= NET_6LO_IPHC_SAM_00; in compress_IPHC_header()
795 inline_pos = compress_sa_ctx(ipv6, inline_pos, pkt, &iphc, in compress_IPHC_header()
797 iphc |= NET_6LO_IPHC_CID_1; in compress_IPHC_header()
801 inline_pos = set_sa_inline(ipv6, inline_pos, &iphc); in compress_IPHC_header()
804 inline_pos = compress_hoplimit(ipv6, inline_pos, &iphc); in compress_IPHC_header()
805 inline_pos = compress_nh(ipv6, inline_pos, &iphc); in compress_IPHC_header()
806 inline_pos = compress_tfl(ipv6, inline_pos, &iphc); in compress_IPHC_header()
809 if (iphc & NET_6LO_IPHC_CID_1) { in compress_IPHC_header()
823 inline_pos -= sizeof(iphc); in compress_IPHC_header()
824 iphc = htons(iphc); in compress_IPHC_header()
825 memmove(inline_pos, &iphc, sizeof(iphc)); in compress_IPHC_header()
837 static inline uint8_t *uncompress_tfl(uint16_t iphc, uint8_t *cursor, in uncompress_tfl() argument
843 switch (iphc & NET_6LO_IPHC_TF_11) { in uncompress_tfl()
894 static inline uint8_t *uncompress_hoplimit(uint16_t iphc, uint8_t *cursor, in uncompress_hoplimit() argument
897 switch (iphc & NET_6LO_IPHC_HLIM_MASK) { in uncompress_hoplimit()
921 static inline uint8_t *uncompress_sa(uint16_t iphc, uint8_t *cursor, in uncompress_sa() argument
931 switch (iphc & NET_6LO_IPHC_SAM_MASK) { in uncompress_sa()
981 static inline uint8_t *uncompress_sa_ctx(uint16_t iphc, uint8_t *cursor, in uncompress_sa_ctx() argument
990 switch (iphc & NET_6LO_IPHC_SAM_MASK) { in uncompress_sa_ctx()
1043 static inline uint8_t *uncompress_da_mcast(uint16_t iphc, uint8_t *cursor, in uncompress_da_mcast() argument
1052 if (iphc & NET_6LO_IPHC_DAC_1) { in uncompress_da_mcast()
1064 switch (iphc & NET_6LO_IPHC_DAM_MASK) { in uncompress_da_mcast()
1127 static inline uint8_t *uncompress_da(uint16_t iphc, uint8_t *cursor, in uncompress_da() argument
1137 switch (iphc & NET_6LO_IPHC_DAM_MASK) { in uncompress_da()
1188 static inline uint8_t *uncompress_da_ctx(uint16_t iphc, uint8_t *cursor, in uncompress_da_ctx() argument
1199 switch (iphc & NET_6LO_IPHC_DAM_MASK) { in uncompress_da_ctx()
1349 uint16_t iphc; in uncompress_IPHC_header() local
1358 iphc = ntohs(UNALIGNED_GET((uint16_t *)pkt->buffer->data)); in uncompress_IPHC_header()
1360 inline_size = get_ihpc_inlined_size(iphc); in uncompress_IPHC_header()
1365 compressed_hdr_size = sizeof(iphc) + inline_size; in uncompress_IPHC_header()
1368 if (iphc & NET_6LO_IPHC_NH_MASK) { in uncompress_IPHC_header()
1369 nhc = *(pkt->buffer->data + sizeof(iphc) + inline_size); in uncompress_IPHC_header()
1408 cursor += sizeof(iphc); in uncompress_IPHC_header()
1410 if (iphc & NET_6LO_IPHC_CID_1) { in uncompress_IPHC_header()
1425 cursor = uncompress_tfl(iphc, cursor, ipv6); in uncompress_IPHC_header()
1427 if (!(iphc & NET_6LO_IPHC_NH_MASK)) { in uncompress_IPHC_header()
1433 cursor = uncompress_hoplimit(iphc, cursor, ipv6); in uncompress_IPHC_header()
1436 if (iphc & NET_6LO_IPHC_SAC_1) { in uncompress_IPHC_header()
1439 if ((iphc & NET_6LO_IPHC_SAM_MASK) == NET_6LO_IPHC_SAM_00) { in uncompress_IPHC_header()
1450 cursor = uncompress_sa_ctx(iphc, cursor, ipv6, src, pkt); in uncompress_IPHC_header()
1457 cursor = uncompress_sa(iphc, cursor, ipv6, pkt); in uncompress_IPHC_header()
1461 if (iphc & NET_6LO_IPHC_M_1) { in uncompress_IPHC_header()
1462 if (iphc & NET_6LO_IPHC_DAC_1) { in uncompress_IPHC_header()
1469 cursor = uncompress_da_mcast(iphc, cursor, ipv6); in uncompress_IPHC_header()
1472 if (iphc & NET_6LO_IPHC_DAC_1) { in uncompress_IPHC_header()
1479 cursor = uncompress_da_ctx(iphc, cursor, ipv6, dst, pkt); in uncompress_IPHC_header()
1485 cursor = uncompress_da(iphc, cursor, ipv6, pkt); in uncompress_IPHC_header()
1489 if (iphc & NET_6LO_IPHC_NH_MASK) { in uncompress_IPHC_header()
1563 int net_6lo_compress(struct net_pkt *pkt, bool iphc) in net_6lo_compress() argument
1565 if (iphc) { in net_6lo_compress()
1595 uint16_t iphc; in net_6lo_uncompress_hdr_diff() local
1607 iphc = ntohs(UNALIGNED_GET((uint16_t *)pkt->buffer->data)); in net_6lo_uncompress_hdr_diff()
1609 inline_size = get_ihpc_inlined_size(iphc); in net_6lo_uncompress_hdr_diff()
1614 compressed_hdr_size = sizeof(iphc) + inline_size; in net_6lo_uncompress_hdr_diff()
1617 if (iphc & NET_6LO_IPHC_NH_MASK) { in net_6lo_uncompress_hdr_diff()
1618 nhc = *(pkt->buffer->data + sizeof(iphc) + inline_size); in net_6lo_uncompress_hdr_diff()