Skip to content

Commit

Permalink
[OIS] Fix IPv6 in SDK component
Browse files Browse the repository at this point in the history
Create patch to fix getting IPv6 address in LwIP
component.

Signed-off-by: ATmobica <artur.tynecki@arm.com>
  • Loading branch information
ATmobica committed Jul 10, 2023
1 parent e3d104e commit 2478f2c
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 0 deletions.
1 change: 1 addition & 0 deletions .github/workflows/examples-openiotsdk.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ jobs:

- name: Set up platform environment
run: |
git apply --directory='third_party/open-iot-sdk/sdk/' config/openiotsdk/cmake/sdk.patch
scripts/setup/openiotsdk/python_env_setup.sh -p $TEST_PYTHON_VENV --controller --pyedmgr
scripts/setup/openiotsdk/network_setup.sh -n $TEST_NETWORK_NAME up
Expand Down
27 changes: 27 additions & 0 deletions config/openiotsdk/cmake/sdk.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
diff --git a/components/connectivity/lwip/lwip_cmsis_port/src/lwip_stack.c b/components/connectivity/lwip/lwip_cmsis_port/src/lwip_stack.c
index 95e3afc..cac5ef6 100644
--- a/components/connectivity/lwip/lwip_cmsis_port/src/lwip_stack.c
+++ b/components/connectivity/lwip/lwip_cmsis_port/src/lwip_stack.c
@@ -64,13 +64,7 @@ static const ip_addr_t *get_ipv6_addr(const struct netif *netif)
}

for (int i = 0; i < LWIP_IPV6_NUM_ADDRESSES; i++) {
- if (ip6_addr_isvalid(netif_ip6_addr_state(netif, i)) && !ip6_addr_islinklocal(netif_ip6_addr(netif, i))) {
- return netif_ip_addr6(netif, i);
- }
- }
-
- for (int i = 0; i < LWIP_IPV6_NUM_ADDRESSES; i++) {
- if (ip6_addr_isvalid(netif_ip6_addr_state(netif, i))) {
+ if (!ip6_addr_isany(netif_ip6_addr(netif, i))) {
return netif_ip_addr6(netif, i);
}
}
@@ -222,6 +216,7 @@ static err_t ethernet_interface_bringup(netif_context_t *context)

#if LWIP_IPV6
netif_create_ip6_linklocal_address(&context->lwip_netif, (u8_t)(context->lwip_netif.hwaddr_len == ETH_HWADDR_LEN));
+ context->lwip_netif.ip6_autoconfig_enabled = 1;
#endif /* LWIP_IPV6 */

context->connected = CONNECTION_STATUS_CONNECTING;

0 comments on commit 2478f2c

Please sign in to comment.