Lines Matching refs:ipaddr
150 static inline void iphc_uncompress_eui64_lladdr(struct in6_addr *ipaddr, in iphc_uncompress_eui64_lladdr() argument
157 ipaddr->s6_addr[0] = 0xFE; in iphc_uncompress_eui64_lladdr()
158 ipaddr->s6_addr[1] = 0x80; in iphc_uncompress_eui64_lladdr()
159 memcpy(&ipaddr->s6_addr[8], lladdr, EUI64_ADDR_LEN); in iphc_uncompress_eui64_lladdr()
163 ipaddr->s6_addr[8] ^= 0x02; in iphc_uncompress_eui64_lladdr()
166 static inline void iphc_uncompress_802154_lladdr(struct in6_addr *ipaddr, in iphc_uncompress_802154_lladdr() argument
175 iphc_uncompress_eui64_lladdr(ipaddr, eui64); in iphc_uncompress_802154_lladdr()
184 ipaddr->s6_addr[0] = 0xFE; in iphc_uncompress_802154_lladdr()
185 ipaddr->s6_addr[1] = 0x80; in iphc_uncompress_802154_lladdr()
186 ipaddr->s6_addr[11] = 0xFF; in iphc_uncompress_802154_lladdr()
187 ipaddr->s6_addr[12] = 0xFE; in iphc_uncompress_802154_lladdr()
188 ieee802154_le16_to_be16(&ipaddr->s6_addr16[7], in iphc_uncompress_802154_lladdr()
204 struct in6_addr *ipaddr, u8 address_mode, in uncompress_addr() argument
213 fail = lowpan_fetch_skb(skb, ipaddr->s6_addr, 16); in uncompress_addr()
218 ipaddr->s6_addr[0] = 0xFE; in uncompress_addr()
219 ipaddr->s6_addr[1] = 0x80; in uncompress_addr()
220 fail = lowpan_fetch_skb(skb, &ipaddr->s6_addr[8], 8); in uncompress_addr()
225 ipaddr->s6_addr[0] = 0xFE; in uncompress_addr()
226 ipaddr->s6_addr[1] = 0x80; in uncompress_addr()
227 ipaddr->s6_addr[11] = 0xFF; in uncompress_addr()
228 ipaddr->s6_addr[12] = 0xFE; in uncompress_addr()
229 fail = lowpan_fetch_skb(skb, &ipaddr->s6_addr[14], 2); in uncompress_addr()
236 iphc_uncompress_802154_lladdr(ipaddr, lladdr); in uncompress_addr()
239 iphc_uncompress_eui64_lladdr(ipaddr, lladdr); in uncompress_addr()
254 ipaddr->s6_addr, 16); in uncompress_addr()
263 struct in6_addr *ipaddr, in uncompress_context_based_src_addr() argument
288 ipaddr->s6_addr, 16); in uncompress_context_based_src_addr()
297 struct in6_addr *ipaddr, in lowpan_uncompress_multicast_daddr() argument
307 fail = lowpan_fetch_skb(skb, ipaddr->s6_addr, 16); in lowpan_uncompress_multicast_daddr()
313 ipaddr->s6_addr[0] = 0xFF; in lowpan_uncompress_multicast_daddr()
314 fail = lowpan_fetch_skb(skb, &ipaddr->s6_addr[1], 1); in lowpan_uncompress_multicast_daddr()
315 fail |= lowpan_fetch_skb(skb, &ipaddr->s6_addr[11], 5); in lowpan_uncompress_multicast_daddr()
321 ipaddr->s6_addr[0] = 0xFF; in lowpan_uncompress_multicast_daddr()
322 fail = lowpan_fetch_skb(skb, &ipaddr->s6_addr[1], 1); in lowpan_uncompress_multicast_daddr()
323 fail |= lowpan_fetch_skb(skb, &ipaddr->s6_addr[13], 3); in lowpan_uncompress_multicast_daddr()
329 ipaddr->s6_addr[0] = 0xFF; in lowpan_uncompress_multicast_daddr()
330 ipaddr->s6_addr[1] = 0x02; in lowpan_uncompress_multicast_daddr()
331 fail = lowpan_fetch_skb(skb, &ipaddr->s6_addr[15], 1); in lowpan_uncompress_multicast_daddr()
344 ipaddr->s6_addr, 16); in lowpan_uncompress_multicast_daddr()
588 static u8 lowpan_compress_addr_64(u8 **hc_ptr, const struct in6_addr *ipaddr, in lowpan_compress_addr_64() argument
593 if (is_addr_mac_addr_based(ipaddr, lladdr)) { in lowpan_compress_addr_64()
596 } else if (lowpan_is_iid_16_bit_compressable(ipaddr)) { in lowpan_compress_addr_64()
598 lowpan_push_hc_data(hc_ptr, &ipaddr->s6_addr16[7], 2); in lowpan_compress_addr_64()
604 lowpan_push_hc_data(hc_ptr, &ipaddr->s6_addr16[4], 8); in lowpan_compress_addr_64()
712 const struct in6_addr *ipaddr) in lowpan_iphc_mcast_addr_compress() argument
716 if (lowpan_is_mcast_addr_compressable8(ipaddr)) { in lowpan_iphc_mcast_addr_compress()
719 lowpan_push_hc_data(hc_ptr, &ipaddr->s6_addr[15], 1); in lowpan_iphc_mcast_addr_compress()
721 } else if (lowpan_is_mcast_addr_compressable32(ipaddr)) { in lowpan_iphc_mcast_addr_compress()
724 lowpan_push_hc_data(hc_ptr, &ipaddr->s6_addr[1], 1); in lowpan_iphc_mcast_addr_compress()
725 lowpan_push_hc_data(hc_ptr, &ipaddr->s6_addr[13], 3); in lowpan_iphc_mcast_addr_compress()
727 } else if (lowpan_is_mcast_addr_compressable48(ipaddr)) { in lowpan_iphc_mcast_addr_compress()
730 lowpan_push_hc_data(hc_ptr, &ipaddr->s6_addr[1], 1); in lowpan_iphc_mcast_addr_compress()
731 lowpan_push_hc_data(hc_ptr, &ipaddr->s6_addr[11], 5); in lowpan_iphc_mcast_addr_compress()
735 lowpan_push_hc_data(hc_ptr, ipaddr->s6_addr, 16); in lowpan_iphc_mcast_addr_compress()