From b00a17059a6b6a23cbdb5168b4fbee29b66fb5a8 Mon Sep 17 00:00:00 2001 From: sg Date: Sat, 5 Mar 2016 15:57:40 +0100 Subject: [PATCH] fixed icmp_send_response with LWIP_HOOK_IP4_ROUTE_SRC enabled --- src/core/ipv4/icmp.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/core/ipv4/icmp.c b/src/core/ipv4/icmp.c index b7228538..9202bb65 100644 --- a/src/core/ipv4/icmp.c +++ b/src/core/ipv4/icmp.c @@ -360,7 +360,15 @@ icmp_send_response(struct pbuf *p, u8_t type, u8_t code) IP_HLEN + ICMP_DEST_UNREACH_DATASIZE); ip4_addr_copy(iphdr_src, iphdr->src); +#ifdef LWIP_HOOK_IP4_ROUTE_SRC + { + ip4_addr_t iphdr_dst; + ip4_addr_copy(iphdr_dst, iphdr->dest); + netif = ip4_route_src(&iphdr_src, &iphdr_dst); + } +#else netif = ip4_route(&iphdr_src); +#endif if (netif != NULL) { /* calculate checksum */ icmphdr->chksum = 0;