Lines Matching defs:serr

310 	struct sock_exterr_skb *serr;
321 serr = SKB_EXT_ERR(skb);
322 serr->ee.ee_errno = err;
323 serr->ee.ee_origin = SO_EE_ORIGIN_ICMP6;
324 serr->ee.ee_type = icmph->icmp6_type;
325 serr->ee.ee_code = icmph->icmp6_code;
326 serr->ee.ee_pad = 0;
327 serr->ee.ee_info = info;
328 serr->ee.ee_data = 0;
329 serr->addr_offset = (u8 *)&(((struct ipv6hdr *)(icmph + 1))->daddr) -
331 serr->port = port;
336 ipv6_icmp_error_rfc4884(skb, &serr->ee.ee_rfc4884);
347 struct sock_exterr_skb *serr;
366 serr = SKB_EXT_ERR(skb);
367 serr->ee.ee_errno = err;
368 serr->ee.ee_origin = SO_EE_ORIGIN_LOCAL;
369 serr->ee.ee_type = 0;
370 serr->ee.ee_code = 0;
371 serr->ee.ee_pad = 0;
372 serr->ee.ee_info = info;
373 serr->ee.ee_data = 0;
374 serr->addr_offset = (u8 *)&iph->daddr - skb_network_header(skb);
375 serr->port = fl6->fl6_dport;
422 static inline bool ipv6_datagram_support_addr(struct sock_exterr_skb *serr)
424 return serr->ee.ee_origin == SO_EE_ORIGIN_ICMP6 ||
425 serr->ee.ee_origin == SO_EE_ORIGIN_ICMP ||
426 serr->ee.ee_origin == SO_EE_ORIGIN_LOCAL || serr->port;
436 struct sock_exterr_skb *serr)
438 if (serr->ee.ee_origin == SO_EE_ORIGIN_ICMP ||
439 serr->ee.ee_origin == SO_EE_ORIGIN_ICMP6)
442 if (serr->ee.ee_origin == SO_EE_ORIGIN_LOCAL)
457 struct sock_exterr_skb *serr;
484 serr = SKB_EXT_ERR(skb);
486 if (sin && ipv6_datagram_support_addr(serr)) {
490 sin->sin6_port = serr->port;
492 const struct ipv6hdr *ip6h = container_of((struct in6_addr *)(nh + serr->addr_offset),
501 ipv6_addr_set_v4mapped(*(__be32 *)(nh + serr->addr_offset),
508 memcpy(&errhdr.ee, &serr->ee, sizeof(struct sock_extended_err));
512 if (ip6_datagram_support_cmsg(skb, serr)) {