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