-
Notifications
You must be signed in to change notification settings - Fork 166
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Incorrect call to sys_timeout for real-life IPv6 lifetime of 2 weeks (CON-283) #217
Comments
In fact, we would ignore the RA packets with a lifetime over |
Hmm, ignoring a Route Advertised might actually break things that would use that route! Of course, if this upstream repo is going to solve this properly, then we shall be happy ;-) |
This was closed in CHIP based on a proper fix in PullRequest project-chip/connectedhomeip#25074 Please make sure you pick this one up in the next submodule update? |
I use the docker image of esp-matter and found this in the version I loaded this weekend.
Onboarding the matter light example, I stranded with this error once the Wi-Fi was started.
The cause of this assert failure is because 1209600 s = 2 weeks is bigger than UINT32_MAX/4 msec
Considering that LWIP has decided that this is the MAX, esp-matter has to respect this (right?).
And consider how to deal with such a real-life situation. Set a timeout or not?
It is
/opt/espressif/esp-matter/components/route_hook/src/esp_route_table.c
that needs a fix.There are two options in case the timeout is between UINT32_MAX and UINT32_MAX/4000:
call sys_timeout by adding this in the
if (){}
:if (entry->lifetime_seconds>UINT32_MAX/4000) entry->lifetime_seconds=UINT32_MAX/4000;
not call sys_timeout and replace
if (entry->lifetime_seconds != UINT32_MAX)
with:if (entry->lifetime_seconds<=UINT32_MAX/4000)
Since I cannot decide the proper behaviour (without deepdiving) I leave the choice for fixing this to the espressif team.
Thanks as always for a wonderful ECO system!
PS. please feed this up to the CHIP repo because it is also present in other code:
The text was updated successfully, but these errors were encountered: