Ethernet II (ethernet2)
- Layer: L2 (data link)
- Header: 14 octets (fixed)
- Minimum frame: 60 octets
- Notes: Encapsulation and tunnels, L2 control protocols, SRv6 SRH / SR-MPLS (P2), User-defined protocols (protocols.d)
Reached from
| Lower layer | Selector | Value |
|---|---|---|
ipv6 | next_header | 143 (0x8f) |
ipv6_hopopts | next_header | 143 (0x8f) |
ipv6_route | next_header | 143 (0x8f) |
ipv6_srh | next_header | 143 (0x8f) |
ipv6_frag | next_header | 143 (0x8f) |
ipv6_dstopts | next_header | 143 (0x8f) |
vxlan | flags | (any other value) |
gre | protocol_type | 25944 (0x6558) |
nvgre | protocol_type | 25944 (0x6558) |
geneve | protocol_type | 25944 (0x6558) |
Fields
| Field | Type | Default | Auto | Description |
|---|---|---|---|---|
dst | mac | ff:ff:ff:ff:ff:ff | Destination MAC address. | |
src | mac | 02:00:00:00:00:01 | Source MAC address. | |
ethertype | enum(16) | 34997 (local_experimental) | Protocol number of the next layer (see Next layer) | EtherType of the next layer (Auto from the layer above; 0x88b5 = local experimental with no known next layer). A value up to 0x05ff is an IEEE 802.3 length. |
ethertype
| Value | Name |
|---|---|
| 2048 (0x0800) | ipv4 |
| 2054 (0x0806) | arp |
| 33024 (0x8100) | vlan |
| 34825 (0x8809) | slow_protocols |
| 34525 (0x86dd) | ipv6 |
| 34887 (0x8847) | mpls |
| 34888 (0x8848) | mpls_multicast |
| 34915 (0x8863) | pppoe_discovery |
| 34916 (0x8864) | pppoe_session |
| 34958 (0x888e) | eapol |
| 34984 (0x88a8) | qinq |
| 34997 (0x88b5) | local_experimental |
| 35020 (0x88cc) | lldp |
| 35045 (0x88e5) | macsec |
| 35063 (0x88f7) | ptp |
| 35074 (0x8902) | cfm |
Next layer
The next layer is selected by ethertype; when the field is Auto the builder writes the value of the protocol stacked above.
| Value | Protocol | Note |
|---|---|---|
| 2048 (0x0800) | ipv4 | |
| 34525 (0x86dd) | ipv6 | |
| 2054 (0x0806) | arp | |
| 33024 (0x8100) | dot1q | |
| 34984 (0x88a8) | dot1ad | |
| 35020 (0x88cc) | lldp | |
| 34958 (0x888e) | eapol | |
| 34915 (0x8863) | pppoe_discovery | |
| 34916 (0x8864) | pppoe_session | |
| 34887 (0x8847) | mpls | |
| 34888 (0x8848) | mpls | |
| 35045 (0x88e5) | macsec | |
| 35063 (0x88f7) | ptp | |
| 35063 (0x88f7) | ptp_sync | |
| 35063 (0x88f7) | ptp_delay_req | |
| 35063 (0x88f7) | ptp_pdelay_req | |
| 35063 (0x88f7) | ptp_pdelay_resp | |
| 35063 (0x88f7) | ptp_follow_up | |
| 35063 (0x88f7) | ptp_delay_resp | |
| 35063 (0x88f7) | ptp_pdelay_resp_follow_up | |
| 35063 (0x88f7) | ptp_announce | |
| 35063 (0x88f7) | ptp_signaling | |
| 35063 (0x88f7) | ptp_management | |
| 35074 (0x8902) | cfm | |
| 35074 (0x8902) | cfm_ccm | |
| 35074 (0x8902) | cfm_lbr | |
| 35074 (0x8902) | cfm_lbm | |
| 35074 (0x8902) | cfm_ltr | |
| 35074 (0x8902) | cfm_ltm | |
| 35074 (0x8902) | cfm_ais | |
| 35074 (0x8902) | cfm_lck | |
| 35074 (0x8902) | cfm_tst | |
| 35074 (0x8902) | cfm_raps | |
| 35074 (0x8902) | cfm_lmr | |
| 35074 (0x8902) | cfm_lmm | |
| 35074 (0x8902) | cfm_1dm | |
| 35074 (0x8902) | cfm_dmr | |
| 35074 (0x8902) | cfm_dmm | |
| 35074 (0x8902) | cfm_csf | |
| 35074 (0x8902) | cfm_1sl | |
| 35074 (0x8902) | cfm_slr | |
| 35074 (0x8902) | cfm_slm | |
| 0 (0x0000) – 1535 (0x05ff) | dot3 | re-decodes this layer |
First 8 bits of the payload when ethertype = 34825 (0x8809)
| Value | Protocol |
|---|---|
| 1 (0x01) | lacp |
| 2 (0x02) | marker |
| 3 (0x03) | efm_oam |
| 3 (0x03) | efm_oam_information |
| 3 (0x03) | efm_oam_event_notification |
| 3 (0x03) | efm_oam_variable_request |
| 3 (0x03) | efm_oam_variable_response |
| 3 (0x03) | efm_oam_loopback_control |
| 3 (0x03) | efm_oam_organization_specific |
| 10 (0x0a) | esmc |
Sample templates
- interop-bfd-session-up —
templates/interop/bfd-session-up.wpg.yaml - interop-ldp-link-hello —
templates/interop/ldp-link-hello.wpg.yaml - interop-ospfv2-hello-2way —
templates/interop/ospfv2-hello-2way.wpg.yaml - interop-pim-hello-neighbor —
templates/interop/pim-hello-neighbor.wpg.yaml - interop-ripv2-response-route —
templates/interop/ripv2-response-route.wpg.yaml - interop-vrrpv3-preempt —
templates/interop/vrrpv3-preempt.wpg.yaml - arp-bad-address-lengths —
templates/malformed/arp-bad-lengths.wpg.yaml - bad-fcs —
templates/malformed/bad-fcs.wpg.yaml - bad-ipv4-checksum —
templates/malformed/ipv4-bad-checksum.wpg.yaml - bad-ipv4-ihl —
templates/malformed/ipv4-bad-ihl.wpg.yaml - bad-ipv4-total-length —
templates/malformed/ipv4-total-length-too-long.wpg.yaml - bad-ipv4-total-length-short —
templates/malformed/ipv4-total-length-too-short.wpg.yaml - truncated-ipv4-udp —
templates/malformed/ipv4-truncated.wpg.yaml - bad-ipv6-payload-length —
templates/malformed/ipv6-bad-payload-length.wpg.yaml - bad-tcp-checksum —
templates/malformed/tcp-bad-checksum.wpg.yaml - bad-udp-checksum —
templates/malformed/udp-bad-checksum.wpg.yaml - bad-udp-length —
templates/malformed/udp-bad-length.wpg.yaml - frame-with-fcs —
templates/protocols/frame/fcs-auto.wpg.yaml - jumbo-frame-9000 —
templates/protocols/frame/jumbo-9000.wpg.yaml - min-frame-padded —
templates/protocols/frame/min-frame-60.wpg.yaml - runt-frame-unpadded —
templates/protocols/frame/no-padding-runt.wpg.yaml - arp-gratuitous —
templates/protocols/l2/arp-gratuitous.wpg.yaml - arp-reply —
templates/protocols/l2/arp-reply.wpg.yaml - arp-request —
templates/protocols/l2/arp-request.wpg.yaml - dot1ad-qinq-frame —
templates/protocols/l2/dot1ad.wpg.yaml - dot1q-frame —
templates/protocols/l2/dot1q.wpg.yaml - eth-ii-frame —
templates/protocols/l2/ethernet2.wpg.yaml - macsec —
templates/protocols/l2/macsec.wpg.yaml - icmpv4-echo-request —
templates/protocols/l3/icmpv4-echo.wpg.yaml - icmpv6-echo-request —
templates/protocols/l3/icmpv6-echo.wpg.yaml - ipv4-dscp-ecn-matrix —
templates/protocols/l3/ipv4-dscp-ecn-matrix.wpg.yaml - ipv4-fragments —
templates/protocols/l3/ipv4-fragment.wpg.yaml - ipv4-router-alert —
templates/protocols/l3/ipv4-router-alert.wpg.yaml - ipv4-udp —
templates/protocols/l3/ipv4.wpg.yaml - ipv6-dstopts —
templates/protocols/l3/ipv6-dstopts.wpg.yaml - ipv6-ext-chain —
templates/protocols/l3/ipv6-ext-chain.wpg.yaml - ipv6-fragment —
templates/protocols/l3/ipv6-frag.wpg.yaml - ipv6-hopopts-router-alert —
templates/protocols/l3/ipv6-hopopts.wpg.yaml - ipv6-routing-type2 —
templates/protocols/l3/ipv6-routing.wpg.yaml - ipv6-udp —
templates/protocols/l3/ipv6.wpg.yaml - ndp-neighbor-advertisement —
templates/protocols/l3/ndp-na.wpg.yaml - ndp-neighbor-solicitation —
templates/protocols/l3/ndp-ns.wpg.yaml - ndp-router-advertisement —
templates/protocols/l3/ndp-ra.wpg.yaml - ndp-redirect —
templates/protocols/l3/ndp-redirect.wpg.yaml - ndp-router-solicitation —
templates/protocols/l3/ndp-rs.wpg.yaml - sctp-abort —
templates/protocols/l4/sctp-abort.wpg.yaml - sctp-data —
templates/protocols/l4/sctp-data.wpg.yaml - sctp-heartbeat —
templates/protocols/l4/sctp-heartbeat.wpg.yaml - sctp-init-ack —
templates/protocols/l4/sctp-init-ack.wpg.yaml - sctp-init —
templates/protocols/l4/sctp-init.wpg.yaml - sctp-over-udp —
templates/protocols/l4/sctp-over-udp.wpg.yaml - sctp-sack —
templates/protocols/l4/sctp-sack.wpg.yaml - sctp-shutdown —
templates/protocols/l4/sctp-shutdown.wpg.yaml - tcp-data-psh-ack —
templates/protocols/l4/tcp-data.wpg.yaml - tcp-syn-options —
templates/protocols/l4/tcp-syn.wpg.yaml - udp-over-ipv6 —
templates/protocols/l4/udp-ipv6.wpg.yaml - udp-datagram —
templates/protocols/l4/udp.wpg.yaml - diameter-ccr-initial —
templates/protocols/mobile/diameter-ccr-initial.wpg.yaml - diameter-cer —
templates/protocols/mobile/diameter-cer.wpg.yaml - gtpv2-create-session-request —
templates/protocols/mobile/gtpv2-create-session-request.wpg.yaml - gtpv2-create-session-response —
templates/protocols/mobile/gtpv2-create-session-response.wpg.yaml - gtpv2-echo-request —
templates/protocols/mobile/gtpv2-echo-request.wpg.yaml - ldp-hello —
templates/protocols/mpls/ldp-hello.wpg.yaml - ldp-initialization —
templates/protocols/mpls/ldp-initialization.wpg.yaml - ldp-label-mapping —
templates/protocols/mpls/ldp-label-mapping.wpg.yaml - ldp-label-withdraw —
templates/protocols/mpls/ldp-label-withdraw.wpg.yaml - ldp-targeted-hello —
templates/protocols/mpls/ldp-targeted-hello.wpg.yaml - rsvp-hello —
templates/protocols/mpls/rsvp-hello.wpg.yaml - rsvp-path-err —
templates/protocols/mpls/rsvp-path-err.wpg.yaml - rsvp-path-tear —
templates/protocols/mpls/rsvp-path-tear.wpg.yaml - rsvp-te-path —
templates/protocols/mpls/rsvp-te-path.wpg.yaml - rsvp-te-resv —
templates/protocols/mpls/rsvp-te-resv.wpg.yaml - sr-mpls-entropy —
templates/protocols/mpls/sr-mpls-entropy.wpg.yaml - bfd-auth —
templates/protocols/oam/bfd-auth.wpg.yaml - bfd-multihop-ipv6 —
templates/protocols/oam/bfd-multihop-ipv6.wpg.yaml - bfd-single-hop —
templates/protocols/oam/bfd-single-hop.wpg.yaml - cfm-ccm —
templates/protocols/oam/cfm-ccm.wpg.yaml - cfm-generic —
templates/protocols/oam/cfm-generic.wpg.yaml - cfm-lbm —
templates/protocols/oam/cfm-lbm.wpg.yaml - cfm-lbr —
templates/protocols/oam/cfm-lbr.wpg.yaml - cfm-ltm —
templates/protocols/oam/cfm-ltm.wpg.yaml - cfm-ltr —
templates/protocols/oam/cfm-ltr.wpg.yaml - efm-oam-event —
templates/protocols/oam/efm-oam-event.wpg.yaml - efm-oam-generic —
templates/protocols/oam/efm-oam-generic.wpg.yaml - efm-oam-information —
templates/protocols/oam/efm-oam-information.wpg.yaml - efm-oam-loopback —
templates/protocols/oam/efm-oam-loopback.wpg.yaml - efm-oam-organization-specific —
templates/protocols/oam/efm-oam-organization-specific.wpg.yaml - efm-oam-variable-request —
templates/protocols/oam/efm-oam-variable-request.wpg.yaml - efm-oam-variable-response —
templates/protocols/oam/efm-oam-variable-response.wpg.yaml - erps-raps-nr-rb —
templates/protocols/oam/erps-raps-nr-rb.wpg.yaml - erps-raps-sf —
templates/protocols/oam/erps-raps-sf.wpg.yaml - micro-bfd —
templates/protocols/oam/micro-bfd.wpg.yaml - y1731-1dm —
templates/protocols/oam/y1731-1dm.wpg.yaml - y1731-1sl —
templates/protocols/oam/y1731-1sl.wpg.yaml - y1731-ais —
templates/protocols/oam/y1731-ais.wpg.yaml - y1731-csf —
templates/protocols/oam/y1731-csf.wpg.yaml - y1731-dmm —
templates/protocols/oam/y1731-dmm.wpg.yaml - y1731-dmr —
templates/protocols/oam/y1731-dmr.wpg.yaml - y1731-lck —
templates/protocols/oam/y1731-lck.wpg.yaml - y1731-lmm —
templates/protocols/oam/y1731-lmm.wpg.yaml - y1731-lmr —
templates/protocols/oam/y1731-lmr.wpg.yaml - y1731-slm —
templates/protocols/oam/y1731-slm.wpg.yaml - y1731-slr —
templates/protocols/oam/y1731-slr.wpg.yaml - y1731-tst —
templates/protocols/oam/y1731-tst.wpg.yaml - srv6-end-dx2-hmac —
templates/protocols/srv6/srv6-end-dx2-hmac.wpg.yaml - srv6-h-encaps-ipv4 —
templates/protocols/srv6/srv6-h-encaps-ipv4.wpg.yaml - srv6-srh-udp —
templates/protocols/srv6/srv6-srh-udp.wpg.yaml - esmc-event-dnu —
templates/protocols/timing/esmc-event-dnu.wpg.yaml - esmc-ql-prc —
templates/protocols/timing/esmc-ql-prc.wpg.yaml - ptp-announce-udp —
templates/protocols/timing/ptp-announce-udp.wpg.yaml - ptp-delay-req-udp —
templates/protocols/timing/ptp-delay-req-udp.wpg.yaml - ptp-delay-resp-udp —
templates/protocols/timing/ptp-delay-resp-udp.wpg.yaml - ptp-follow-up-l2 —
templates/protocols/timing/ptp-follow-up-l2.wpg.yaml - ptp-generic —
templates/protocols/timing/ptp-generic.wpg.yaml - ptp-management-get —
templates/protocols/timing/ptp-management-get.wpg.yaml - ptp-pdelay-req-l2 —
templates/protocols/timing/ptp-pdelay-req-l2.wpg.yaml - ptp-pdelay-resp-follow-up-l2 —
templates/protocols/timing/ptp-pdelay-resp-follow-up-l2.wpg.yaml - ptp-pdelay-resp-l2 —
templates/protocols/timing/ptp-pdelay-resp-l2.wpg.yaml - ptp-signaling-unicast —
templates/protocols/timing/ptp-signaling-unicast.wpg.yaml - ptp-sync-two-step-l2 —
templates/protocols/timing/ptp-sync-two-step-l2.wpg.yaml - rtcp-feedback-app —
templates/protocols/voip/rtcp-feedback-app.wpg.yaml - rtcp-rr-bye —
templates/protocols/voip/rtcp-rr-bye.wpg.yaml - rtcp-sr-sdes —
templates/protocols/voip/rtcp-sr-sdes.wpg.yaml - rtp-pcmu —
templates/protocols/voip/rtp-pcmu.wpg.yaml - sip-invite —
templates/protocols/voip/sip-invite.wpg.yaml - sip-register —
templates/protocols/voip/sip-register.wpg.yaml - scenario-arp-sweep-slash22 —
templates/scenarios/arp-sweep-slash22.wpg.yaml - scenario-dhcp-discover-flood —
templates/scenarios/dhcp-discover-flood.wpg.yaml - scenario-frame-size-sweep —
templates/scenarios/frame-size-sweep.wpg.yaml - scenario-jumbo-udp-mtu-probe —
templates/scenarios/jumbo-udp-mtu-probe.wpg.yaml - scenario-mac-flood —
templates/scenarios/mac-flood.wpg.yaml - scenario-ndp-ns-sweep —
templates/scenarios/ndp-ns-sweep.wpg.yaml - scenario-ping-sweep-pattern —
templates/scenarios/ping-sweep-pattern.wpg.yaml - scenario-qinq-service-sweep —
templates/scenarios/qinq-service-sweep.wpg.yaml - scenario-ipv6-ra-flood —
templates/scenarios/ra-flood.wpg.yaml - sr-mpls-prefix-sid-sweep —
templates/scenarios/sr-mpls-prefix-sid-sweep.wpg.yaml - scenario-tcp-syn-port-scan —
templates/scenarios/tcp-syn-port-scan.wpg.yaml - scenario-ttl-sweep —
templates/scenarios/ttl-sweep.wpg.yaml - scenario-udp-qos-matrix —
templates/scenarios/udp-qos-matrix.wpg.yaml - scenario-vlan-arp-sweep —
templates/scenarios/vlan-arp-sweep.wpg.yaml - scenario-vlan-id-sweep —
templates/scenarios/vlan-id-sweep.wpg.yaml - scenario-vlan-syn-flood —
templates/scenarios/vlan-syn-flood.wpg.yaml