Bug 282074 - IPv6 is brokon on Quartz64 (RK3566)
Summary: IPv6 is brokon on Quartz64 (RK3566)
Status: In Progress
Alias: None
Product: Base System
Classification: Unclassified
Component: arm (show other bugs)
Version: CURRENT
Hardware: arm64 Any
: --- Affects Only Me
Assignee: Peter Jeremy
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-10-14 09:35 UTC by Peter Jeremy
Modified: 2024-11-25 05:21 UTC (History)
1 user (show)

See Also:
linimon: mfc-stable14?
linimon: mfc-stable13?


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Peter Jeremy freebsd_committer freebsd_triage 2024-10-14 09:35:08 UTC
When configured with ACCEPT_RTADV, the eqos NIC in the RK3566 does not receive packets addressed to 33:33:00:00:00:01 and therefore does not see NDP packets needed to participate in IPv6.

Explicitly placing the NIC in promiscuous mode (e.g. using tcpdump) works.

Using mtest(8) to add and remove 33:33:00:00:00:01 shows that the address appears to be configured in the NIC but packets addressed to that MAC aren't getting passed into the kernel (not seen by tcpdump).
Comment 1 Peter Jeremy freebsd_committer freebsd_triage 2024-10-15 08:44:50 UTC
I've created https://reviews.freebsd.org/D47115 with a fix.
Comment 2 commit-hook freebsd_committer freebsd_triage 2024-10-16 07:23:50 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/src/commit/?id=bf8d4cfe347b34a9ca21e2cdab5f9bba09be73bf

commit bf8d4cfe347b34a9ca21e2cdab5f9bba09be73bf
Author:     Peter Jeremy <peterj@FreeBSD.org>
AuthorDate: 2024-10-16 07:20:30 +0000
Commit:     Peter Jeremy <peterj@FreeBSD.org>
CommitDate: 2024-10-16 07:20:30 +0000

    eqos: Fix group address filtering.

    The hash filter table order in the GMAC matches the order of the top
    bit of the hashed destination address. See the description of
    GMAC_MAC_Hash_table_Reg0 in RK3568 TRM part 2, section 20.4.2.

    PR:             282074
    Reviewed by:    manu
    MFC after:      7 days
    Differential Revision:  https://reviews.freebsd.org/D47115

 sys/dev/eqos/if_eqos.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)