--- Begin Message ---
On Sun, Jul 25, 2021 at 11:11:41PM +0200, Shady Atef via tcpdump-workers wrote:
> Date: Sun, 25 Jul 2021 23:11:41 +0200
> From: Shady Atef <shadyoa...@gmail.com>
> To: tcpdump-workers@lists.tcpdump.org
> Subject: Fwd: Wrong bytes for DSA To_CPU code.
> 
> I think the following page on the website has something wrong.
> It lists b17,b16 and b12 as the code field for the To_CPU frames. While in
> the `print_dsa.c` or the Linux kernel implementation, b18, b17 and b12 are
> used.

The kernel gets it correct.

> Another question, I work in a team building verification tool for Ethernet
> designs.
> Is there a method to differentiate between the normal Ethernet frames and
> DSA-tagged one ?

By looking at the frame itself? You can detect EDSA frames, since they
have an Ethertype value which indicates EDSA. But the value is not
registered with IEEE as far as i know. And the switches allow the
value to be configured, so a vendor crap driver could use a different
value. DSA you cannot detect in a reliable way. Maybe using heuristics
you can hunt around for something that looks like an IP header, see
that all frames use the same offset, and imply there is some extra
header in there. But i think it will be hard to say what that header
is. If you have looked at the tag drivers in Linux, you will notice
DSA is not the only tagger to use 4 bytes. 

If you are dong the capture on Linux, you can determine what tagging
protocol is in use of an interface from a file under
/sys/class/net/.../tagging.

> In other words, can a port multiplex between the two types
> ? or each port in a DSA device is known to utilize tagging or not ?

Marvell SOHO switches using {E}DSA will have all frames using
{E}DSA. It is possible at runtime in Linux to configure which of
{E}DSA is used, depending on the hardware capabilities, but you won't
see a stream of frames mixing them.

When you are talking about 'Linux DSA', as opposed to 'Marvell DSA',
the majority of switches will have all frames with tags. However it is
not a hard rule. The sja1105 does some funky things for example.

    Andrew

--- End Message ---
_______________________________________________
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers

Reply via email to