EVPN

  1. EVPN
    1. NX-OS CLI
  2. Type 1 route
    1. Single-active
    2. All-Active ingress replication
    3. All-Active LDP P2MP
    4. Aliasing
    5. Format
  3. Type 2 route
    1. Format
  4. Type 3 route
    1. Format
    2. BGP encapsulation extended community
  5. Type 4 route
    1. Format
  6. Type 5 route
    1. Format
    2. Router MAC extended community
  7. IRB
  8. L3VPN service
  9. VXLAN EVPN
  10. ARP suppression
    1. NX-OS CLI
  11. IGMP VXLAN
    1. NX-OS CLI
  12. MAC mobility
    1. NX-OS CLI
  13. Auto RD/RT
    1. NX-OS CLI
  14. Anycast VTEP
    1. NX-OS CLI
  15. Multisite BGW
    1. NX-OS CLI
  16. DHCP
    1. NX-OS CLI
  17. L3VPN
    1. NX-OS CLI
  18. Leaking
    1. Downstream VNI
  19. Tenant routed multicast
    1. NX-OS CLI
    2. Type 6 route format (selective multicast ethernet tag)
    3. Type 7 route format (multicast join synch)
    4. Type 8 route format (multicast leave synch)

EVPN

  • RFC 7432
  • AFI = 25, SAFI = 70
  • features:
    1. all-active multihoming
    2. control plane MAC learning
    3. ARP/ND flooding optimization
    4. default gateway community (not possible for F&L because intercepting ARP reply on anycast MAC does not create BGP Update, thus remote leaf does not receive ARP reply from local node)
  • split-horizon as in VPLS
  • on CAM update PE sends BGP Update: MAC + VPN label
  • ESI – ethernet segment identifier (10 bytes)
  • types:
    1. VLAN-based
      • per VLAN, 1:1 VLAN-VNI
      • tag can be omitted
    2. VLAN-aware:
      • several VLAN, 1:N VNI-VLAN
      • tag is mandatory
  • requires store&forward mode
  • EVI – EVPN instance
  • ESI – ethernet segment identifier

NX-OS CLI

; EVPN control plane for VXLAN
(config)# nv overlay evpn
(config)# evpn
(config-evpn)# vni <L2VNI>
(config-evpn-evi)# rd auto
(config-evpn-evi)# route-target both auto

; 1 MAC for all GW on VTEP
(config)# fabric forwarding anycast-gateway-mac <MAC>
(config-vrf)# vni <L3VNI>
(config-vrf)# rd auto
(config-vrf)# address-family ipv4 unicast

; VPNv4 RT, evpn – Type 2/5 route
(config-vrf-af-ipv4)# route-target both auto [evpn]
; on SVI, L3VNI, accepts packets on interface without address
(config-if)# ip forward

; on SVI fof L2VNI
(config-if)# fabric forwarding mode anycast-gateway
; for Type 5 routes
(config-router)# address-family ipv4 unicast
(config-router)# address-family l2vpn evpn

(config-router)# vrf <VRF>
(config-router-vrf)# address-family ipv4 unicast
; deprecated
(config-router-vrf-af)# advertise l2vpn evpn
(config-router-neighbor)# address-family ipv4 unicast
(config-router-neighbor)# address-family l2vpn evpn
(config-router-neighbor-af)# send-community extended
# show l2route evpn mac all

; VNI + VTEP + router MAC
# show nve internal bgp rnh database

Type 1 route

  • Ethernet auto-discovery route
  • ESI + VLAN + label ESI
  • CE-PE = ethernet segment (ES)
  • ES attached to the same CE have to have equal ESI, unique in EVPN domain
  • designated forwarder (DF):
    1. only DF sends BUM towards CE
    2. learns and announces MAC
    3. elected via Type 4 routes
  • ESI label:
    1. in case of MC-LAG, per-ESI Type 1 route (sets multihoming mode)
    2. pushed by non-DF PE on sending traffic into core
      • if ingress replication – set only towards DF, MPLS stack = {ESI label, IM label, transport label}
      • if P2MP LDP – BUM sent within P2MP LDP with label stack {ESI label, P2MP label}, PHP disabled; non-ES PE just pops ESI label (no drop)
    3. DF does not send traffic back to same ES
    4. non-DF sends traffic to DF as well so it could forward it to other segments
  • MAC Mass Withdrawal: on PE-CE going down PE sends Withdraw for per-ESI Type 1 route ⇒ clear relevant entries on other PEs
  • Aliasing label:
    1. announced by PE fo every ES, per-EVI label
    2. other PEs can sent traffic to ES via several PEs attached to ES, one of which has announced Type 2 route – load-balancing
    3. All-Active (indicated in community) or backup path
    4. per-EVI Type 1 route
    5. no used unless per-ESI Type 1 route is received (sets multihoming mode)

Single-active

All-Active ingress replication

All-Active LDP P2MP

Aliasing

CE1 sends traffic only to RE1 via MC-LAG

Format

 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
                                +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                               RD                              |
+                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                              ESI                              |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Ethernet tag ID                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    MPLS label                 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Type 2 route

  • MAC/IP advertisement route
  • MAC address + VLAN + VPN label + ESI
  • optionally can contain IP address ⇒ reduces ARP/ND flood + host-route routing
  • MAC and MAC+IP NLRI separate: on ARP flush MAC entry remains valid
  • after MAC move new PE increments sequence number (default = 0) and sends Update
  • MAC address damping:
    1. timer is started on sending MAC Update (180s default)
    2. if several MAC moves (5 by default) occur during timer being active – suppress sending MAC updates
  • learning through dataplane (MAC only), ARP, ND, DHCP
  • entry is removed only on BGP Withdraw (if received via BGP), ARP timeout (L3), CAM timeout (L2)
  • if CAM entry expires with ARP still active ⇒ remove ARP ⇒ refresh ARP via unicast

Format

 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
                                +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                               RD                              |
+                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                              ESI                              |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Ethernet tag ID                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MAC addr len  |                                               |
+-+-+-+-+-+-+-+-+          MAC address          +-+-+-+-+-+-+-+-+
|                                               |  IP addr len  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
\                                                               \
/                           IP address                          /
\                                                               \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|               MPLS label 1 (L2VNI)            |               \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+               /
\                      MPLS label 2 (L3VNI)                     \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

IP address: 0,4,16 bytes long
MPLS label 2: optional, 3 bytes long

Ethernet tag ID:

  • 0 for VLAN-based
  • VLAN for VLAN-aware

Type 3 route

  • inclusive multicast ethernet tag route
  • uses P2MP LSP or ingress replication
  • not used with multicast VXLAN underlay
  • BUM transport, PE discovery
  • generated by each PE with VPN label
  • per VLAN

Format

 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
                                +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                               RD                              |
+                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                              ESI                              |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Ethernet tag ID                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  IP addr len  |                                               \
+-+-+-+-+-+-+-+-+           IP address                          /
\                                                               \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

IP address: 4 or 16 bytes long

BGP encapsulation extended community

 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      0x03     |      0x0c     |            Reserved           |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            Reserved           |          Tunnel type          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Types:

  • 1: L2TPv3
  • 2: GRE
  • 7: IPIP
  • 8: VXLAN
  • 9: NVGRE
  • 10: MPLS
  • 11: MPLS in GRE
  • 12: VXLAN GPE

Type 4 route

  • ethernet segment route
  • DF election per VLAN, auto-balancing
  • timers:
    1. DF election:
      • 3s
      • has to match on PEs
  • after DF election:
    1. increasing sorted list of originator IP, starting from 0
    2. DF number for VLAN: V % N = i, V – VLAN, N – number of PEs, i – number of PE to become DF
    3. if BD contains several VLANs, lower VLAN is used
  • ESI = 0 by default (not multihomed)
  • distinguish ES:
    • community: BGP filtering
      • subtype = 0x02
      • ESI part
    • ESI: ultimate filtering

Format

 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
                                +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                               RD                              |
+                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                              ESI                              |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  IP addr len  |                                               \
+-+-+-+-+-+-+-+-+        Originating router IP address          /
\                                                               \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

IP address: 4 or 16 bytes long

Type 5 route

  • IP prefix route
  • distributes prefixes instead of VPNv4 (especially with VXLAN since L3VPN is not used)
  • used with anycast GW (discover silent host) and for external prefix injection (IRB)
  • models:
    1. interface-less:
      • NX-OS
      • router MAC community
      • gateway IP = 0
    2. interface-full
      • gateway IP + router MAC in Type 2 route or router MAC community + router MAC in Type 2 route
      • no VNI in Type 5 route

Format

 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
                                +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                               RD                              |
+                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                              ESI                              |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Ethernet tag ID                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IP prefix len |                                               \
+-+-+-+-+-+-+-+-+            IP prefix                          /
\                                                               \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
\                                                               \
/                          GW IP address                        /
\                                                               \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    MPLS label                 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

IP prefix, IP GW: 4 or 16 bytes long

Router MAC extended community

 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      0x06     |      0x03     |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                           Router MAC                          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Gateway IP

  • anycast GW address for interface-full core-facing IRB
  • 0 for interface-less model and interface-full unnumbered core-facing IRB

IRB

  • sync:
    1. auto:
      • all PEs announce MAC+IP to their gateways
      • default-gateway community in Type 2 route makes PE to consider remote MACs for IRB as their own
      • one IP and several MACs
    2. manual:
      • one MAC on all IRB
  • types:
    1. asymmetric:
      • bridge-route-bridge
      • does not use L3NI
      • all VTEP know all MAC – high TCAM utilization
    2. symmetric:
      • bridge-route-route-bridge
      • uses L3VNI
      • NX-OS

L3VPN service

  • every PE has to have IRB (otherwise site cannot exit VLAN)
  • on receiving ARP request/reply Update is generated:
    1. MAC: switching within domain
    2. MAC+IP
    3. IPv4/VPNv4 /32
  • if PE has MAC+IP for dst, it injects entry into RIB ⇒ EVPN preferred over L3VPN

VXLAN EVPN

  • does not require L3 IRB on every PE
  • uses Type 5 route
  • uses separate VNI per VRF for L3 forwarding
  • PIM-SM, PIM-BD in underlay

ARP suppression

  • uses Type 2 route to reply for ARP locally and unicast
  • if no information available – flood

NX-OS CLI

(config)# interface nve 1
(config-if-nve)# member vni <n>
(config-if-nve-vni)# suppress-arp
(config-if-nve-vni)# suppress-unknown-unicast

IGMP VXLAN

  • IGMP report is forwarded via VTEP ⇒ if at least one receiver active, all VTEPs receive traffic
  • by default VTEP is in OIL unconditionally

NX-OS CLI

; off default, snooping for VXLAN VLANs
(config)# ip igmp snooping vxlan

; off default, stops sending mcast to VTEP without Join ≡ removes VTEP from OIL
(config)# ip igmp snooping disable-nve-static-router-port

MAC mobility

  • uses sequence number BGP extended community
  • trigger MAC Withdraw on MAC movement to another ESI
  • accelerates MAC move because hypervisor sends RARP or GARP
  • uses MAC address dampening to detect and mitigate duplicate MAC
  • on deleting BGP NLRI corresponding ARP and MAC entries are removed as well

NX-OS CLI

; 5 and 180s by default
(config)# fabric forwarding dup-host-ip-addr-detection <moves> <timeout>

Auto RD/RT

  • RD = loopback0 IP + VRF-ID (1.1.1.1:3); loopback 0 ≡ BGP RID
  • RT = ASN + VNI (65501:50000)

NX-OS CLI

; rewrites RT for eBGP
(config-router-neighbor-af)# rewrite-evpn-rt-asn

Anycast VTEP

  • vPC multihoming, VXLAN config has to match
  • orphan ports:
    • L3 connectivity between VTEP is required with OR
    • announce unique VTEP address in Type 5 route
  • SoO for loop protection
  • by default BGP Update from primary address (PIP) with secondary next-hop (VIP)
  • designated forwarder for mcast:
    • lower cost to RP
    • vPC primary
    • traffic to/from orphan goes through peer-link to DF (VLAN 4041)
  • PIM Join is sent from VIP – filtering by RPF
  • if peer-link is down while keepalive is active, secondary disables its VTEP loopback (attached to NVE)

NX-OS CLI

; off by default, use physical IP in Type 5 route 
(config-router-af)# advertise-pip

Multisite BGW

  • only HER for BUM towards external network (both vPC BGW and anycast BGW)
  • drops traffic from unknown peers (no BGP Update from them) ⇒ protection from rogue traffic
  • uses PIP (not VIP) as IP source; exception – directly connected Type 5 route
    • isolated BGW:
      1. all site-external interfaces – down
      2. stop announcing VIP into site-internal, only PIP is active
      3. withdraw Type 4 route ⇒ DF reelection

NX-OS CLI

; ID matches on BGP from same site
(config)# evpn multisite border-gateway <ID>
; rewrites nexthop and router MAC
(config-router-neighbor)# peer-type fabric-external
; on site external links on BGW
(config-if)# evpn multisite dci-tracking

; on internal interface, A-BGW
(config-if)# evpn multisite fabric-tracking

; interface for external VIP ≠ internal VIP; NVE; shut down for isolated BGW
(config-if)# multisite border-gateway interface <intf>

(config-if)# multisite ingress-replication

DHCP

  • relay inserts anycast GW in giaddr
  • changing giaddr may influence DHCP server subnet selection
  • option 82:
    1. circuit-ID: VNI
    2. remote-ID: switch MAC
    3. link selection: subnet
    • 1 and 3 can be used for correct subnet selection, depends on DHCP server

NX-OS CLI

; address in giaddr
(config-if)# ip dhcp relay source-interface <intf>

L3VPN

  • translate Type 2/5 route into VPNv4/v6

NX-OS CLI

; VPN AFI, EVPN → VPN, reoriginate replaces RT for local value
(config-router-neighbor-af)# import l2vpn evpn [reoriginate]

; EVPN AFI, VPN → EVPN
(config-router-neighbor-af)# import vpn unicast [reoriginate]

Leaking

  • through RT as in L3VPN
  • source VNI used for encapsulation ⇒ must be present everywhere (routing between VRFs only on last hop)

Downstream VNI

  • VTEP announces its VNI for Type 2/5 routes
  • like VPN label
  • used along with Type 3 routes

Tenant routed multicast

  • always-route, even within the subnet ⇒ decreases TTL
  • anycast RP in underlay
  • ngMVPN BGP in overlay, distributed RP, PIM-SM, PIM-SSM
  • distributed RP in overlay on leafs, info about sources exchanged via MVPN
  • Type 6 routes are used to pass IGMP snooping info, Type 7/8 routes – for multihoming
  • no support for FEX

NX-OS CLI

(config)# feature ngmvpn
(config)# advertise evpn multicast

(config)# interface nve 1
(config-if-nve)# member vni <L3VNI> associate-vrf

; default MDT
(config-if-nve-vni)# mcast-group <IP>

; source for MVPN, same for all DR
(config-if-nve)# mcast-routing override source-interface <intf>

; on default, sends Source Active on connecting the source
(config)# ip multicast overlay-spt-only

; in L2/L3 mcast DR
(config)# ip multicast overlay-distributed-dr
(config-router-neighbor)# address-family ipv4 mvpn
(config-router-neighbor-af)# send-community extended
(config-router-vrf)# address-family ipv4 unicast

; RT for C-Multicast
(config-router-vrf-af)# route-target both auto mvpn

Type 6 route format (selective multicast ethernet tag)

 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               RD                              |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Ethernet tag ID                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Mcast src len |                                               \
+-+-+-+-+-+-+-+-+           Multicast source address            /
\                                                               \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Mcast grp len |                                               \
+-+-+-+-+-+-+-+-+           Multicast group address             /
\                                                               \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Orig rtr len  |                                               \
+-+-+-+-+-+-+-+-+          Originator router address            /
\                                                               \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Flags      |
+-+-+-+-+-+-+-+-+

Flags:

  • 0x01: support IGMPv1/MLDv1
  • 0x02: IGMPv2/MLDv2
  • 0x04: IGMPv3
  • 0x08: I/E, 0 = include group, 1 = exclude group

Type 7 route format (multicast join synch)

 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
                                +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                               RD                              |
+                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                              ESI                              |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Ethernet tag ID                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Mcast src len |                                               \
+-+-+-+-+-+-+-+-+           Multicast source address            /
\                                                               \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Mcast grp len |                                               \
+-+-+-+-+-+-+-+-+           Multicast group address             /
\                                                               \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Orig rtr len  |                                               \
+-+-+-+-+-+-+-+-+          Originator router address            /
\                                                               \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|    Flags      |
+-+-+-+-+-+-+-+-+

Type 8 route format (multicast leave synch)

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
                                +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                               RD                              |
+                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                               |                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               +
|                              ESI                              |
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Ethernet tag ID                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Mcast src len |                                               \
+-+-+-+-+-+-+-+-+           Multicast source address            /
\                                                               \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Mcast grp len |                                               \
+-+-+-+-+-+-+-+-+           Multicast group address             /
\                                                               \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Orig rtr len  |                                               \
+-+-+-+-+-+-+-+-+          Originator router address            /
\                                                               \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                   Leave Group Synchronization                 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+         
| Max Resp time |     Flags     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+