On 1/17/2019 6:56 PM, Guy Harris wrote:
> On Jan 17, 2019, at 2:39 PM, Florian Fainelli <f.faine...@gmail.com> wrote:
> 
>> DSA currently supports the following tagging protocols (details can be
>> found under net/dsa/tag_*.c in Linux source for exactly length and offset
>> within the Ethernet frame):
> 
> Unfortunately, tag_brcm.c, for example, doesn't give *enough* details - it 
> has a bunch of uncommented #defines (some of which suggest overlap between 
> fields in the same byte of the tag) and some code that doesn't handle all the 
> fields in both ingress and egress tags.
> 
> Can you construct "ASCII-art" diagrams and explanatory text, of the sort seen 
> in, for example:
> 
>       http://www.tcpdump.org/linktypes/LINKTYPE_LINUX_SLL.html
> 
> for the tags?

Most certainly, I can only answer for the Broadcom tags, since I am not
very familiar with the other protocols, and I am hoping someone else
could fill in for Intel/Qualcomm/Mediatek etc.

We have two different formats, presented below. Let me know if you need
more details on each field and I can expand.

Egress (switch to management port) format:

+----------------------------------------------------------+
| Ethernet Destination address (6 octets)                  |
+----------------------------------------------------------+
+----------------------------------------------------------+
| Ethernet Source address (6 octets)                       |
+----------------------------------------------------------+
+----------------------------------------------------------+
| OPcode[7:5] | Traffic class[4:2] | Tag enforcement [1:0] |
+----------------------------------------------------------+
| Time stamp [7] | Unused                                  |
+----------------------------------------------------------+
+----------------------------------------------------------+
| Reserved [7:1]                        | Desination map[1]|
+----------------------------------------------------------+
+----------------------------------------------------------+
| Destination map [7:0]                                    |
+----------------------------------------------------------+
+----------------------------------------------------------+
| Ethernet Type/Length (2 bytes)                           |
+----------------------------------------------------------+
+----------------------------------------------------------+
| Ethernet payload                                         |
.                                                          .
.                                                          .
.                                                          .

Ingress (management port to switch) format

+----------------------------------------------------------+
| Ethernet Destination address (6 octets)                  |
+----------------------------------------------------------+
+----------------------------------------------------------+
| Ethernet Source address (6 octets)                       |
+----------------------------------------------------------+
+----------------------------------------------------------+
| OPcode[7:5] | Reserved[4:0]                              |
+----------------------------------------------------------+
| Classification ID [7:0]                                  |
+----------------------------------------------------------+
+----------------------------------------------------------+
| Reason code [7:0]                                        |
+----------------------------------------------------------+
+----------------------------------------------------------+
| Traffic class [7:5] | Source port number [4:0]           |
+----------------------------------------------------------+
+----------------------------------------------------------+
| Ethernet Type/Length (2 bytes)                           |
+----------------------------------------------------------+
+----------------------------------------------------------+
| Ethernet payload                                         |
.                                                          .
.                                                          .
.                                                          .
-- 
Florian
_______________________________________________
tcpdump-workers mailing list
tcpdump-workers@lists.tcpdump.org
https://lists.sandelman.ca/mailman/listinfo/tcpdump-workers

Reply via email to