|From:||Zayzay, Edman G|
|Subject:||Re: [lwip-users] [EXTERNAL] IPv6 support and mDNS|
|Date:||Fri, 2 Sep 2022 12:48:41 +0000|
You don’t really need to deactivate any of the flags mentioned below. I had the same problem and was able to get around it by modifying the function icmp6_input () in icmp6.c. There is a case statement, ICMP6_TYPE_EREQ, you can simply add a check to see if ping is enabled before this code is executed. If not, don’t execute. This is how I was able to get around the problem. Hope it helps. You may need to create your sub functions to set your flags to let you know if you want to enable or disable pings.
Edman G. H Zayzay
Principal Embedded Software Engineer
Energy Automation Solutions (EAS)
I develop a device which has mDNS. Now, I have to add support for IPv6.
As a first step to support IPv6, I want to have a functional ping6 with the device.
I have a code that can ping the device but I had to deactivate `LWIP_IPV6_MLD` and `LWIP_MDNS_RESPONDER`. If I don't deactivate them the device answers with "ip6_input: packet not for us."
For a reason I don't understand, the test related to the comment /* match packet against an interface, i.e. is this packet for us? */ failed.
Deactivating `LWIP_MDNS_RESPONDER` will disable mDNS, which is not OK.
The project doesn't compile without `LWIP_IPV6_MLD` but with `LWIP_MDNS_RESPONDER`.
I have another concern:
Can someone explain me the following behaviour ? If pinging has worked with a specific code and I changed the code trying to remove all the unnessary changes to make it works (see upper), the ping is still working the same day, but the day after the ping doesn't work anymore with the latter code.
To make the latter code works again, I have first to test with the previous one (the "dirty" one).
I am pinging with an Ubuntu laptop.
Thanks in advance for your help,
|[Prev in Thread]||Current Thread||[Next in Thread]|