Part Number: TMDS64EVM
Other Parts Discussed in Thread: AM6442
Hello,
I have a problem with proper initialization of ICSSG two port ethernet switch mode. I'm using commands from documentation for latest SDK. One thing I cannot overcome is dropping multicast packets, SMV traffic to be specific (ether type 0x88BA). My setup is as below:
PC <-> EVM (switch mode) <-> AM6442 custom board
Custom board is sending PTP packets, SMV packets and as an additional test ICMP ping. If I strictly follow switch mode configuration order on EVM described in documentation (with physical interfaces already up):
ip link add name br0 type bridge
ip link set dev eth1 master br0
ip link set dev eth2 master br0
ip link set dev br0 up
bridge vlan add dev br0 vid 1 pvid untagged self
and watch traffic on Wireshark on PC, I can see different behavior in differenct scenarios:
- enable switch mode with PC on EVM eth1, custom board on EVM eth2 (already connected on boot) - in this case I can see SMV, PTP ICMP traffic is forwarded both ways, also after switching cables on eth1 and eth2 ports
- enable switch mode with custom board on EVM eth1, PC on EVM eth2 - first ~20 SMV packets forwarded, then all SMV dropped, PTP and ICMP forwarded properly
- configure switch mode and connect eth afterwards - all SMV dropped, PTP and ICMP forwarded properly
I tried playing with VLAN configuration, FDBs, MDBs, multicast flooding and cut through forwarding, but these setting didn't seem to have any influence on filtering once SMV dropping is noticed.
Another thing is if after configuring switch mode and noticing SMV being dropped I first disable both physical interfaces and then bring them back up (which causes ICSSG firmware to reload), I can see that whole traffic including SMV is being forwarded but only from port that was brought up later to the one that was brought up first, to be specific.:
ifconfig eth1 down
ifconfig eth2 down
ifconfig eth1 up
ifconfig eth2 up
will cause only forwarding traffic from eth2 to eth1. EVM itself still responds to ping on both ports, but both devices connected to EVM can't reach each other.
I see this behavior of switch mode on both EVM board running image from 12.0 SDK and custom AM6442 board with Yocto build using kernel 6.18.13 and icssg0 instead of icssg1 used by EVM.
The main question is do I miss something in the configuration of switch mode? Is it ICSSG binary or driver bug? Also which behavior is expected, dropping multicast traffic or forwarding it? Any other think I could test or check to find a root cause of these differences?
Best regards,
Mateusz

