Lines Matching refs:serr

374 	struct sock_exterr_skb *serr;  in ip_icmp_error()  local
380 serr = SKB_EXT_ERR(skb); in ip_icmp_error()
381 serr->ee.ee_errno = err; in ip_icmp_error()
382 serr->ee.ee_origin = SO_EE_ORIGIN_ICMP; in ip_icmp_error()
383 serr->ee.ee_type = icmp_hdr(skb)->type; in ip_icmp_error()
384 serr->ee.ee_code = icmp_hdr(skb)->code; in ip_icmp_error()
385 serr->ee.ee_pad = 0; in ip_icmp_error()
386 serr->ee.ee_info = info; in ip_icmp_error()
387 serr->ee.ee_data = 0; in ip_icmp_error()
388 serr->addr_offset = (u8 *)&(((struct iphdr *)(icmp_hdr(skb) + 1))->daddr) - in ip_icmp_error()
390 serr->port = port; in ip_icmp_error()
403 struct sock_exterr_skb *serr; in ip_local_error() local
419 serr = SKB_EXT_ERR(skb); in ip_local_error()
420 serr->ee.ee_errno = err; in ip_local_error()
421 serr->ee.ee_origin = SO_EE_ORIGIN_LOCAL; in ip_local_error()
422 serr->ee.ee_type = 0; in ip_local_error()
423 serr->ee.ee_code = 0; in ip_local_error()
424 serr->ee.ee_pad = 0; in ip_local_error()
425 serr->ee.ee_info = info; in ip_local_error()
426 serr->ee.ee_data = 0; in ip_local_error()
427 serr->addr_offset = (u8 *)&iph->daddr - skb_network_header(skb); in ip_local_error()
428 serr->port = port; in ip_local_error()
440 static inline bool ipv4_datagram_support_addr(struct sock_exterr_skb *serr) in ipv4_datagram_support_addr() argument
442 return serr->ee.ee_origin == SO_EE_ORIGIN_ICMP || in ipv4_datagram_support_addr()
443 serr->ee.ee_origin == SO_EE_ORIGIN_LOCAL || serr->port; in ipv4_datagram_support_addr()
482 struct sock_exterr_skb *serr; in ip_recv_error() local
510 serr = SKB_EXT_ERR(skb); in ip_recv_error()
512 if (sin && ipv4_datagram_support_addr(serr)) { in ip_recv_error()
515 serr->addr_offset); in ip_recv_error()
516 sin->sin_port = serr->port; in ip_recv_error()
521 memcpy(&errhdr.ee, &serr->ee, sizeof(struct sock_extended_err)); in ip_recv_error()
525 if (ipv4_datagram_support_cmsg(sk, skb, serr->ee.ee_origin)) { in ip_recv_error()