tcpdump mailing list archives

Re: Fwd: Wrong bytes for DSA To_CPU code.


From: Shady Atef via tcpdump-workers <tcpdump-workers () lists tcpdump org>
Date: Wed, 28 Jul 2021 16:45:18 +0200

--- Begin Message --- From: Shady Atef <shadyoatef () gmail com>
Date: Wed, 28 Jul 2021 16:45:18 +0200
Thank you for the clarifications, Andrew.

I have an extra question, does the CPU ports use Priority flow control
(PFC) using the PRI field in the DSA  tag ?
Shall a device sending DSA frames to another one react to pause frames and
so on ?
I think no, it doesn't make sense for me. But I can't find anything the
confirms or denies that.

Thanks.

On Wed, Jul 28, 2021 at 2:27 AM Andrew Lunn <andrew () lunn ch> wrote:

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 <shadyoatef () 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



-- 
*Regards*
*Shady Atef .*

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

Current thread: