Skip to content

Conversation

@decsny
Copy link
Member

@decsny decsny commented Nov 11, 2024

Previously, ipv6 being disabled was a dependency of the hw acceleration of the checksums for the nxp enet driver, because this ethernet has an errata causing icmpv6 checksum to not be supported (see #73518). Now, there is a new config type in ethernet api added in #73985 for checksum types, so we can re-enable hardware acceleration for ipv6 by implementing this type in the get_config api in this driver.

@decsny decsny requested a review from hakehuang November 11, 2024 22:42
@decsny decsny changed the title drivers: nxp_enet: Add get_config for ipv6 chksum drivers: nxp_enet: Add get_config to re-enable ipv6 checksum accleration Nov 11, 2024
@zephyrbot zephyrbot added area: Ethernet platform: NXP Drivers NXP Semiconductors, drivers labels Nov 11, 2024
@decsny decsny changed the title drivers: nxp_enet: Add get_config to re-enable ipv6 checksum accleration drivers: nxp_enet: Add get_config to re-enable ipv6 checksum acceleration Nov 11, 2024
Comment on lines +344 to +320
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: alignment

@hakehuang
Copy link
Contributor

hakehuang commented Nov 12, 2024

@decsny , with this PR.
in frdm_k64f, ipv6 does not work, and network only work when I hot plug the ethernet cable([00:00:15.021,000] net_icmpv6: ICMPv6 handling failure (-5)).

uart:~$
[00:00:03.713,000] <inf> phy_mc_ksz8081: PHY 0 is up
[00:00:03.713,000] <inf> phy_mc_ksz8081: PHY (0) Link speed 100 Mb, full duplex

*** Booting Zephyr OS build v4.0.0-rc3-1-gc879bbe27396 ***
[00:00:03.715,000] <inf> net_config: Initializing network
[00:00:03.715,000] <inf> net_config: Waiting interface 1 (0x20000df0) to be up...
[00:00:12.216,000] <inf> eth_nxp_enet_mac: Link is down
[00:00:15.019,000] <inf> eth_nxp_enet_mac: Link is up
[00:00:15.019,000] <inf> phy_mc_ksz8081: PHY 0 is up
[00:00:15.019,000] <inf> phy_mc_ksz8081: PHY (0) Link speed 100 Mb, full duplex

[00:00:15.020,000] <inf> net_config: Interface 1 (0x20000df0) coming up
[00:00:15.020,000] <inf> net_config: IPv4 address: 192.0.2.1
[00:00:15.021,000] <err> net_icmpv6: ICMPv6 handling failure (-5)
[00:00:15.122,000] <inf> net_config: IPv6 address: fd9a:9616:b8e9:0:4:9fff:fe96:eb61
uart:~$
[00:00:02.910,000] <inf> phy_mc_ksz8081: PHY 0 is up
[00:00:02.910,000] <inf> phy_mc_ksz8081: PHY (0) Link speed 100 Mb, full duplex

*** Booting Zephyr OS build v4.0.0-rc3-1-gc879bbe27396 ***
[00:00:02.912,000] <inf> net_config: Initializing network
[00:00:02.912,000] <inf> net_config: Waiting interface 1 (0x20000df0) to be up...
uart:~$

@decsny decsny marked this pull request as draft November 12, 2024 12:01
@decsny
Copy link
Member Author

decsny commented Nov 12, 2024

@hakehuang k64f is the platform I tested on, and I used the echo server example you put originally on your issue #73518, which now works, are you saying, it doesn't work if the cable is connected before boot?

@hakehuang
Copy link
Contributor

hakehuang commented Nov 12, 2024

it doesn't work if the cable is connected before boot?
@decsny
this is a common problem I find this in main branch as well. but the ICMPv6 handling failure (-5)) is found on this PR.
I report one issue #81274 which is introduced by 6984fd8

Previously, ipv6 being disabled was a dependency of the hw acceleration
of the checksums for the nxp enet driver, because this ethernet has an
errata causing icmpv6 checksum to not be supported. Now, there is a new
config type in ethernet api for checksum types, so we can re-enable
hardware acceleration for ipv6 by implementing this type in the
get_config api in this driver.

Signed-off-by: Declan Snyder <[email protected]>
@decsny decsny force-pushed the feature/nxp_enet_ipv6_accel branch from c879bbe to 74988a3 Compare November 18, 2024 19:12
@decsny decsny marked this pull request as ready for review November 18, 2024 19:12
@hakehuang
Copy link
Contributor

regression test pass

@nashif nashif merged commit 9863dc9 into zephyrproject-rtos:main Nov 20, 2024
25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: Ethernet platform: NXP Drivers NXP Semiconductors, drivers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants