Lines Matching refs:serr
417 struct sock_exterr_skb *serr; in ip_icmp_error() local
423 serr = SKB_EXT_ERR(skb); in ip_icmp_error()
424 serr->ee.ee_errno = err; in ip_icmp_error()
425 serr->ee.ee_origin = SO_EE_ORIGIN_ICMP; in ip_icmp_error()
426 serr->ee.ee_type = icmp_hdr(skb)->type; in ip_icmp_error()
427 serr->ee.ee_code = icmp_hdr(skb)->code; in ip_icmp_error()
428 serr->ee.ee_pad = 0; in ip_icmp_error()
429 serr->ee.ee_info = info; in ip_icmp_error()
430 serr->ee.ee_data = 0; in ip_icmp_error()
431 serr->addr_offset = (u8 *)&(((struct iphdr *)(icmp_hdr(skb) + 1))->daddr) - in ip_icmp_error()
433 serr->port = port; in ip_icmp_error()
437 ipv4_icmp_error_rfc4884(skb, &serr->ee.ee_rfc4884); in ip_icmp_error()
449 struct sock_exterr_skb *serr; in ip_local_error() local
465 serr = SKB_EXT_ERR(skb); in ip_local_error()
466 serr->ee.ee_errno = err; in ip_local_error()
467 serr->ee.ee_origin = SO_EE_ORIGIN_LOCAL; in ip_local_error()
468 serr->ee.ee_type = 0; in ip_local_error()
469 serr->ee.ee_code = 0; in ip_local_error()
470 serr->ee.ee_pad = 0; in ip_local_error()
471 serr->ee.ee_info = info; in ip_local_error()
472 serr->ee.ee_data = 0; in ip_local_error()
473 serr->addr_offset = (u8 *)&iph->daddr - skb_network_header(skb); in ip_local_error()
474 serr->port = port; in ip_local_error()
486 static inline bool ipv4_datagram_support_addr(struct sock_exterr_skb *serr) in ipv4_datagram_support_addr() argument
488 return serr->ee.ee_origin == SO_EE_ORIGIN_ICMP || in ipv4_datagram_support_addr()
489 serr->ee.ee_origin == SO_EE_ORIGIN_LOCAL || serr->port; in ipv4_datagram_support_addr()
527 struct sock_exterr_skb *serr; in ip_recv_error() local
554 serr = SKB_EXT_ERR(skb); in ip_recv_error()
556 if (sin && ipv4_datagram_support_addr(serr)) { in ip_recv_error()
559 serr->addr_offset); in ip_recv_error()
560 sin->sin_port = serr->port; in ip_recv_error()
565 memcpy(&errhdr.ee, &serr->ee, sizeof(struct sock_extended_err)); in ip_recv_error()
569 if (ipv4_datagram_support_cmsg(sk, skb, serr->ee.ee_origin)) { in ip_recv_error()