Lines Matching defs:serr
415 struct sock_exterr_skb *serr;
421 serr = SKB_EXT_ERR(skb);
422 serr->ee.ee_errno = err;
423 serr->ee.ee_origin = SO_EE_ORIGIN_ICMP;
424 serr->ee.ee_type = icmp_hdr(skb)->type;
425 serr->ee.ee_code = icmp_hdr(skb)->code;
426 serr->ee.ee_pad = 0;
427 serr->ee.ee_info = info;
428 serr->ee.ee_data = 0;
429 serr->addr_offset = (u8 *)&(((struct iphdr *)(icmp_hdr(skb) + 1))->daddr) -
431 serr->port = port;
435 ipv4_icmp_error_rfc4884(skb, &serr->ee.ee_rfc4884);
447 struct sock_exterr_skb *serr;
463 serr = SKB_EXT_ERR(skb);
464 serr->ee.ee_errno = err;
465 serr->ee.ee_origin = SO_EE_ORIGIN_LOCAL;
466 serr->ee.ee_type = 0;
467 serr->ee.ee_code = 0;
468 serr->ee.ee_pad = 0;
469 serr->ee.ee_info = info;
470 serr->ee.ee_data = 0;
471 serr->addr_offset = (u8 *)&iph->daddr - skb_network_header(skb);
472 serr->port = port;
484 static inline bool ipv4_datagram_support_addr(struct sock_exterr_skb *serr)
486 return serr->ee.ee_origin == SO_EE_ORIGIN_ICMP ||
487 serr->ee.ee_origin == SO_EE_ORIGIN_LOCAL || serr->port;
525 struct sock_exterr_skb *serr;
552 serr = SKB_EXT_ERR(skb);
554 if (sin && ipv4_datagram_support_addr(serr)) {
557 serr->addr_offset);
558 sin->sin_port = serr->port;
563 memcpy(&errhdr.ee, &serr->ee, sizeof(struct sock_extended_err));
567 if (ipv4_datagram_support_cmsg(sk, skb, serr->ee.ee_origin)) {