panda's tech note

Ethernet

Line rate

For minimum-sized (60-byte) ethernet frame with

  • 12 bytes for inter-frame gap
  • 8 bytes for preamble
  • 4 bytes for FCS
Speed Linerate [Mpps]
1 GbE 1.488
2.5 GbE 3.720
5 GbE 7.440
10 GbE 14.881
25 GbE 37.292
40 GbE 59.524
50 GbE 74.405
100 GbE 148.810

Ethernet frame header

Ethernet

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination MAC address                                       |
+                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               | Source MAC address            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ethertype                     | (Payload)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

802.1Q

 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination MAC address                                       |
+                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               | Source MAC address            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TPID                          | PCP |D| VID                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ethertype                     | (Payload)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  • Tag protocol identifier (TPID); 16 bits: Typically 0x8100
  • Tag control information (TCI); 16 bits
    • Priority code print (PCP); 3 bits
    • Drop eligible indicator (DEI); 1 bits
    • VLAN identifier (VID); 12 bits

Typical Ethertype

  • 0x8100: IEEE 802.1Q
  • 0x0800: IPv4
  • 0x0806: Address Resolution Protocol (ARP)
  • 0x22f3: IETF TRILL Protocol
  • 0x86dd: IPv6
  • 0x9100: Double tagging