Lines Matching refs:serr
408 struct sock_exterr_skb *serr; in ip_icmp_error() local
414 serr = SKB_EXT_ERR(skb); in ip_icmp_error()
415 serr->ee.ee_errno = err; in ip_icmp_error()
416 serr->ee.ee_origin = SO_EE_ORIGIN_ICMP; in ip_icmp_error()
417 serr->ee.ee_type = icmp_hdr(skb)->type; in ip_icmp_error()
418 serr->ee.ee_code = icmp_hdr(skb)->code; in ip_icmp_error()
419 serr->ee.ee_pad = 0; in ip_icmp_error()
420 serr->ee.ee_info = info; in ip_icmp_error()
421 serr->ee.ee_data = 0; in ip_icmp_error()
422 serr->addr_offset = (u8 *)&(((struct iphdr *)(icmp_hdr(skb) + 1))->daddr) - in ip_icmp_error()
424 serr->port = port; in ip_icmp_error()
428 ipv4_icmp_error_rfc4884(skb, &serr->ee.ee_rfc4884); in ip_icmp_error()
441 struct sock_exterr_skb *serr; in ip_local_error() local
457 serr = SKB_EXT_ERR(skb); in ip_local_error()
458 serr->ee.ee_errno = err; in ip_local_error()
459 serr->ee.ee_origin = SO_EE_ORIGIN_LOCAL; in ip_local_error()
460 serr->ee.ee_type = 0; in ip_local_error()
461 serr->ee.ee_code = 0; in ip_local_error()
462 serr->ee.ee_pad = 0; in ip_local_error()
463 serr->ee.ee_info = info; in ip_local_error()
464 serr->ee.ee_data = 0; in ip_local_error()
465 serr->addr_offset = (u8 *)&iph->daddr - skb_network_header(skb); in ip_local_error()
466 serr->port = port; in ip_local_error()
478 static inline bool ipv4_datagram_support_addr(struct sock_exterr_skb *serr) in ipv4_datagram_support_addr() argument
480 return serr->ee.ee_origin == SO_EE_ORIGIN_ICMP || in ipv4_datagram_support_addr()
481 serr->ee.ee_origin == SO_EE_ORIGIN_LOCAL || serr->port; in ipv4_datagram_support_addr()
519 struct sock_exterr_skb *serr; in ip_recv_error() local
546 serr = SKB_EXT_ERR(skb); in ip_recv_error()
548 if (sin && ipv4_datagram_support_addr(serr)) { in ip_recv_error()
551 serr->addr_offset); in ip_recv_error()
552 sin->sin_port = serr->port; in ip_recv_error()
557 memcpy(&errhdr.ee, &serr->ee, sizeof(struct sock_extended_err)); in ip_recv_error()
561 if (ipv4_datagram_support_cmsg(sk, skb, serr->ee.ee_origin)) { in ip_recv_error()