/** * Send an icmp 'destination unreachable' packet, called from ip_input() if * the transport layer protocol is unknown and from udp_input() if the local * port is not bound. * * @param p the input packet for which the 'unreachable' should be sent, * p->payload pointing to the IP header * @param t type of the 'unreachable' packet */ void icmp_dest_unreach(struct pbuf *p, enum icmp_dur_type t) { icmp_send_response(p, ICMP_DUR, t); }
/** * Send a 'time exceeded' packet, called from ip_forward() if TTL is 0. * * @param p the input packet for which the 'time exceeded' should be sent, * p->payload pointing to the IP header * @param t type of the 'time exceeded' packet */ void icmp_time_exceeded(struct pbuf *p, enum icmp_te_type t) { icmp_send_response(p, ICMP_TE, t); }
/** * Send an icmp 'destination unreachable' packet, called from ip_input() if * the transport layer protocol is unknown and from udp_input() if the local * port is not bound. * * @param p the input packet for which the 'unreachable' should be sent, * p->payload pointing to the IP header * @param t type of the 'unreachable' packet */ void ICACHE_FLASH_ATTR icmp_dest_unreach(struct pbuf *p, enum icmp_dur_type t) { icmp_send_response(p, ICMP_DUR, t); }
/** * Send a 'time exceeded' packet, called from ip_forward() if TTL is 0. * * @param p the input packet for which the 'time exceeded' should be sent, * p->payload pointing to the IP header * @param t type of the 'time exceeded' packet */ void ICACHE_FLASH_ATTR icmp_time_exceeded(struct pbuf *p, enum icmp_te_type t) { icmp_send_response(p, ICMP_TE, t); }
/** * Send an icmp 'destination unreachable' packet, called from ip_input() if * the transport layer protocol is unknown and from udp_input() if the local * port is not bound. * * @param p the input packet for which the 'unreachable' should be sent, * p->payload pointing to the IP header * @param t type of the 'unreachable' packet */ void icmp_dest_unreach(PBUF *p, enum icmp_dur_type t) { icmp_send_response(p, ICMP_DUR, t); }
/** * Send a 'time exceeded' packet, called from ip_forward() if TTL is 0. * * @param p the input packet for which the 'time exceeded' should be sent, * p->payload pointing to the IP header * @param t type of the 'time exceeded' packet */ void icmp_time_exceeded(PBUF *p, enum icmp_te_type t) { icmp_send_response(p, ICMP_TE, t); }
/** * Send a 'time exceeded' packet, called from ip_forward() if TTL is 0. * * @param p the input packet for which the 'time exceeded' should be sent, * p->payload pointing to the IP header * @param t type of the 'time exceeded' packet */ void icmp_time_exceeded(struct pbuf *p, enum icmp_te_type t) { printf("Error: icmp_time_exceeded\n"); icmp_send_response(p, ICMP_TE, t); }
/** * Send an icmp 'destination unreachable' packet, called from ip_input() if * the transport layer protocol is unknown and from udp_input() if the local * port is not bound. * * @param p the input packet for which the 'unreachable' should be sent, * p->payload pointing to the IP header * @param t type of the 'unreachable' packet */ void icmp_dest_unreach(struct pbuf *p, enum icmp_dur_type t) { printf("Error: icmp_dest_unreach\n"); icmp_send_response(p, ICMP_DUR, t); }
/* 发送一个数据报超时差错报文 */ void icmp_time_exceeded(struct pbuf *p, enum icmp_te_type t) { /* ICMP_TE是ICMP报文的首部的类型字段 */ icmp_send_response(p, ICMP_TE, t); }
/* 发送一个目的地址不可达差错报文 * pbuf是引起差错的报文 * t是要填写的ICMP报文首部的代码字段 */ void icmp_dest_unreach(struct pbuf *p, enum icmp_dur_type t) { /* ICMP_DUR是ICMP报文的首部的类型字段 */ icmp_send_response(p, ICMP_DUR, t); }
/** * Send an icmp 'destination unreachable' packet, called from ip_input() if * the transport layer protocol is unknown and from udp_input() if the local * port is not bound. * * @param p the input packet for which the 'unreachable' should be sent, * p->payload pointing to the IP header * @param t type of the 'unreachable' packet */ void icmp_dest_unreach(struct pbuf *p, enum icmp_dur_type t) { LWIP_DEBUGF(ICMP_DEBUG, ("icmp_dest_unreach\n")); icmp_send_response(p, ICMP_DUR, t); }