Skip to content
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

Add LWIP RIO patch to patch dir. #12623

Merged
merged 5 commits into from
Dec 7, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 3 additions & 13 deletions .github/.wordlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ aef
AES
algs
alloc
ameba
Ameba
amebad
amebaiot
Expand Down Expand Up @@ -88,7 +87,6 @@ BeagleBone
befc
bitbake
bld
ble
BLE
BleApplicationDelegate
BleLayer
Expand Down Expand Up @@ -160,7 +158,6 @@ CHIPTest
CHIPTool
chmod
chrpath
cipd
CIPD
CircleCI
cJTAG
Expand Down Expand Up @@ -331,7 +328,6 @@ ee
EEE
eef
ef
efr
EFR
eg
EjQ
Expand All @@ -347,6 +343,7 @@ eno
entrypoint
enum
env
eq
esd
ESPPORT
Espressif
Expand Down Expand Up @@ -390,7 +387,6 @@ flashdebug
focusable
forkpty
formatOnSave
fota
FOTA
FreeRTOS
FreeRTOSConfig
Expand Down Expand Up @@ -421,7 +417,6 @@ gn
GND
gni
GNinja
gnuarmemb
GNUARMEMB
gnueabihf
googleapis
Expand Down Expand Up @@ -463,7 +458,6 @@ ifdef
ifdefs
IGMP
ihex
im
IM
imager
imagetool
Expand Down Expand Up @@ -501,7 +495,6 @@ itemName
iterable
JDK
jinja
jlink
JLink
JLinkExe
JLinkRTTClient
Expand Down Expand Up @@ -654,6 +647,7 @@ navpad
ncs
nding
NDK
netcmp
netif
netplan
NetworkCommissioning
Expand Down Expand Up @@ -856,12 +850,11 @@ ScriptBinding
SDC
SDHC
SDK
SDK's
sdkconfig
SDK's
SDKs
SDKTARGETSYSROOT
sdl
segger
SEGGER
semver
sendto
Expand Down Expand Up @@ -932,7 +925,6 @@ sysconfdir
SysConfig
sysctl
sysdeps
sysroot
SYSROOT
systemctl
systemd
Expand Down Expand Up @@ -992,7 +984,6 @@ ttyUSB
TvChannel
TXD
txt
uart
UART
udhcpc
UDP
Expand All @@ -1001,7 +992,6 @@ udpPort
ug
ui
uint
unblur
UNBLUR
uncommissioned
unfocus
Expand Down
41 changes: 41 additions & 0 deletions src/lwip/patches/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# LwIP patches

This directory contains patch files for LwIP that enable required or desired
functionality in Matter. Patches that are not yet integrated into mainline LwIP
are provided as a patch file. This file also contains a list of helpful patches
that may not be present in vendor forks of the LwIP codebase

## Un-merged patches

### Route information options (RIO)

Required for wifi devices to support communication with a thread device behind
an open thread border router.

- patch file: rio_patch_updated.patch
- savannah link: https://savannah.nongnu.org/patch/?10114

Troubleshooting: The patch uses the `ip6_addr_net_eq` function, which is a
recent API change on upstream LwIP. The previous version of this function is
`ip6_addr_netcmp`, so this function call may need to be replaced on older forks.

## Important upstream patches

### Malformed neighbor solicitation packet fix

- issue raised here
https://github.com/project-chip/connectedhomeip/issues/9791
- fixed in matter fork by
https://github.com/project-chip/connectedhomeip/pull/10160
- fixed in upstream by
https://git.savannah.nongnu.org/cgit/lwip.git/commit/?id=bc08c1d2b79b4763fc0f8f0bf0ed58e0c2899b3a

### DHCPv6 DNS bug

There was a bug in the DHCPv6 code where if the router sent a DNS using DHCPv6
stateless, it would set the DNS server as an ipv4 address, which ended up being
garbage. This would invalidate the whole DNS table, and lwip does not have a
default backup.

- fixed in upstream here:
https://git.savannah.nongnu.org/cgit/lwip.git/commit/?id=941300c21c45a4dbf1c074b29a9ca3c88c9f6553
Loading