Lines Matching refs:serr

395 	struct sock_exterr_skb *serr;  in ip_icmp_error()  local
401 serr = SKB_EXT_ERR(skb); in ip_icmp_error()
402 serr->ee.ee_errno = err; in ip_icmp_error()
403 serr->ee.ee_origin = SO_EE_ORIGIN_ICMP; in ip_icmp_error()
404 serr->ee.ee_type = icmp_hdr(skb)->type; in ip_icmp_error()
405 serr->ee.ee_code = icmp_hdr(skb)->code; in ip_icmp_error()
406 serr->ee.ee_pad = 0; in ip_icmp_error()
407 serr->ee.ee_info = info; in ip_icmp_error()
408 serr->ee.ee_data = 0; in ip_icmp_error()
409 serr->addr_offset = (u8 *)&(((struct iphdr *)(icmp_hdr(skb) + 1))->daddr) - in ip_icmp_error()
411 serr->port = port; in ip_icmp_error()
424 struct sock_exterr_skb *serr; in ip_local_error() local
440 serr = SKB_EXT_ERR(skb); in ip_local_error()
441 serr->ee.ee_errno = err; in ip_local_error()
442 serr->ee.ee_origin = SO_EE_ORIGIN_LOCAL; in ip_local_error()
443 serr->ee.ee_type = 0; in ip_local_error()
444 serr->ee.ee_code = 0; in ip_local_error()
445 serr->ee.ee_pad = 0; in ip_local_error()
446 serr->ee.ee_info = info; in ip_local_error()
447 serr->ee.ee_data = 0; in ip_local_error()
448 serr->addr_offset = (u8 *)&iph->daddr - skb_network_header(skb); in ip_local_error()
449 serr->port = port; in ip_local_error()
461 static inline bool ipv4_datagram_support_addr(struct sock_exterr_skb *serr) in ipv4_datagram_support_addr() argument
463 return serr->ee.ee_origin == SO_EE_ORIGIN_ICMP || in ipv4_datagram_support_addr()
464 serr->ee.ee_origin == SO_EE_ORIGIN_LOCAL || serr->port; in ipv4_datagram_support_addr()
502 struct sock_exterr_skb *serr; in ip_recv_error() local
529 serr = SKB_EXT_ERR(skb); in ip_recv_error()
531 if (sin && ipv4_datagram_support_addr(serr)) { in ip_recv_error()
534 serr->addr_offset); in ip_recv_error()
535 sin->sin_port = serr->port; in ip_recv_error()
540 memcpy(&errhdr.ee, &serr->ee, sizeof(struct sock_extended_err)); in ip_recv_error()
544 if (ipv4_datagram_support_cmsg(sk, skb, serr->ee.ee_origin)) { in ip_recv_error()