draft-ietf-bess-evpn-igmp-mld-proxy-08.txt   draft-ietf-bess-evpn-igmp-mld-proxy-09.txt 
skipping to change at page 1, line 15 skipping to change at page 1, line 15
Intended status: Standards Track M. Mishra Intended status: Standards Track M. Mishra
Expires: October 21, 2021 Cisco Systems Expires: October 21, 2021 Cisco Systems
K. Patel K. Patel
Arrcus Arrcus
J. Drake J. Drake
W. Lin W. Lin
Juniper Networks Juniper Networks
April 19, 2021 April 19, 2021
IGMP and MLD Proxy for EVPN IGMP and MLD Proxy for EVPN
draft-ietf-bess-evpn-igmp-mld-proxy-08 draft-ietf-bess-evpn-igmp-mld-proxy-09
Abstract Abstract
Ethernet Virtual Private Network (EVPN) solution is becoming Ethernet Virtual Private Network (EVPN) solution is becoming
pervasive in data center (DC) applications for Network Virtualization pervasive in data center (DC) applications for Network Virtualization
Overlay (NVO) and DC interconnect (DCI) services, and in service Overlay (NVO) and DC interconnect (DCI) services, and in service
provider (SP) applications for next generation virtual private LAN provider (SP) applications for next generation virtual private LAN
services. services.
This draft describes how to support efficiently endpoints running This draft describes how to support efficiently endpoints running
skipping to change at page 11, line 35 skipping to change at page 11, line 35
Because the LAG flow hashing algorithm used by the CE is unknown at Because the LAG flow hashing algorithm used by the CE is unknown at
the PE, in an All-Active redundancy mode it must be assumed that the the PE, in an All-Active redundancy mode it must be assumed that the
CE can send a given IGMP message to any one of the multi-homed PEs, CE can send a given IGMP message to any one of the multi-homed PEs,
either DF or non-DF; i.e., different IGMP Membership Request messages either DF or non-DF; i.e., different IGMP Membership Request messages
can arrive at different PEs in the redundancy group and furthermore can arrive at different PEs in the redundancy group and furthermore
their corresponding Leave messages can arrive at PEs that are their corresponding Leave messages can arrive at PEs that are
different from the ones that received the Join messages. Therefore, different from the ones that received the Join messages. Therefore,
all PEs attached to a given ES must coordinate IGMP Membership all PEs attached to a given ES must coordinate IGMP Membership
Request and Leave Group (x,G) state, where x may be either '*' or a Request and Leave Group (x,G) state, where x may be either '*' or a
particular source S, for each BD on that ES. This allows the DF for particular source S, for each BD on that ES. This allows the DF for
that [ES,BD] to correctly advertise or withdraw a Selective Multicast that (ES,BD) to correctly advertise or withdraw a Selective Multicast
Ethernet Tag (SMET) route for that (x,G) group in that BD when Ethernet Tag (SMET) route for that (x,G) group in that BD when
needed. All-Active multihoming PEs for a given ES MUST support IGMP needed. All-Active multihoming PEs for a given ES MUST support IGMP
synchronization procedures described in this section if they need to synchronization procedures described in this section if they need to
perform IGMP proxy for hosts connected to that ES. perform IGMP proxy for hosts connected to that ES.
6.1. Local IGMP/MLD Join Synchronization 6.1. Local IGMP/MLD Join Synchronization
When a PE, either DF or non-DF, receives on a given multihomed ES When a PE, either DF or non-DF, receives on a given multihomed ES
operating in All-Active redundancy mode, an IGMP Membership Report operating in All-Active redundancy mode, an IGMP Membership Report
for (x,G), it determines the BD to which the IGMP Membership Report for (x,G), it determines the BD to which the IGMP Membership Report
belongs. If the PE doesn't already have local IGMP Membership belongs. If the PE doesn't already have local IGMP Membership
Request (x,G) state for that BD on that ES, it MUST instantiate local Request (x,G) state for that BD on that ES, it MUST instantiate local
IGMP Membership Request (x,G) state and MUST advertise a BGP IGMP IGMP Membership Request (x,G) state and MUST advertise a BGP IGMP
Join Synch route for that [ES,BD]. Local IGMP IGMP Membership Join Synch route for that (ES,BD). Local IGMP IGMP Membership
Request (x, G) state refers to IGMP Membership Request (x,G) state Request (x, G) state refers to IGMP Membership Request (x,G) state
that is created as a result of processing an IGMP Membership Report that is created as a result of processing an IGMP Membership Report
for (x,G). for (x,G).
The IGMP Join Synch route MUST carry the ES-Import RT for the ES on The IGMP Join Synch route MUST carry the ES-Import RT for the ES on
which the IGMP Membership Report was received. Thus it MUST only be which the IGMP Membership Report was received. Thus it MUST only be
imported by the PEs attached to that ES and not any other PEs. imported by the PEs attached to that ES and not any other PEs.
When a PE, either DF or non-DF, receives an IGMP Join Synch route it When a PE, either DF or non-DF, receives an IGMP Join Synch route it
installs that route and if it doesn't already have IGMP Membership installs that route and if it doesn't already have IGMP Membership
Request(x,G) state for that [ES,BD], it MUST instantiate that IGMP Request(x,G) state for that (ES,BD), it MUST instantiate that IGMP
Membership Request(x,G) state - i.e., IGMP Membership Request(x,G) Membership Request(x,G) state - i.e., IGMP Membership Request(x,G)
state is the union of the local IGMP Join (x,G) state and the state is the union of the local IGMP Join (x,G) state and the
installed IGMP Join Synch route. If the DF did not already advertise installed IGMP Join Synch route. If the DF did not already advertise
(originate) a SMET route for that (x,G) group in that BD, it MUST do (originate) a SMET route for that (x,G) group in that BD, it MUST do
so now. so now.
When a PE, either DF or non-DF, deletes its local IGMP Membership When a PE, either DF or non-DF, deletes its local IGMP Membership
Request(x, G) state for that [ES,BD], it MUST withdraw its BGP IGMP Request(x, G) state for that (ES,BD), it MUST withdraw its BGP IGMP
Join Synch route for that [ES,BD]. Join Synch route for that (ES,BD).
When a PE, either DF or non-DF, receives the withdrawal of an IGMP When a PE, either DF or non-DF, receives the withdrawal of an IGMP
Join Synch route from another PE it MUST remove that route. When a Join Synch route from another PE it MUST remove that route. When a
PE has no local IGMP Membership Request(x,G) state and it has no PE has no local IGMP Membership Request(x,G) state and it has no
installed IGMP Join Synch routes, it MUST remove IGMP Membership installed IGMP Join Synch routes, it MUST remove IGMP Membership
Request(x,G) state for that [ES,BD]. If the DF no longer has IGMP Request(x,G) state for that (ES,BD). If the DF no longer has IGMP
Membership Request(x,G) state for that BD on any ES for which it is Membership Request(x,G) state for that BD on any ES for which it is
DF, it MUST withdraw its SMET route for that (x,G) group in that BD. DF, it MUST withdraw its SMET route for that (x,G) group in that BD.
In other words, a PE advertises an SMET route for that (x,G) group in In other words, a PE advertises an SMET route for that (x,G) group in
that BD when it has IGMP Membership Request (x,G) state in that BD on that BD when it has IGMP Membership Request (x,G) state in that BD on
at least one ES for which it is DF and it withdraws that SMET route at least one ES for which it is DF and it withdraws that SMET route
when it does not have IGMP Membership Request(x,G) state in that BD when it does not have IGMP Membership Request(x,G) state in that BD
on any ES for which it is DF. on any ES for which it is DF.
6.2. Local IGMP/MLD Leave Group Synchronization 6.2. Local IGMP/MLD Leave Group Synchronization
When a PE, either DF or non-DF, receives, on a given multihomed ES When a PE, either DF or non-DF, receives, on a given multihomed ES
operating in All-Active redundancy mode, an IGMP Leave Group message operating in All-Active redundancy mode, an IGMP Leave Group message
for (x,G) from the attached CE, it determines the BD to which the for (x,G) from the attached CE, it determines the BD to which the
IGMPv2 Leave Group belongs. Regardless of whether it has IGMP IGMPv2 Leave Group belongs. Regardless of whether it has IGMP
Membership Request (x,G) state for that [ES,BD], it initiates the Membership Request (x,G) state for that (ES,BD), it initiates the
(x,G) leave group synchronization procedure, which consists of the (x,G) leave group synchronization procedure, which consists of the
following steps: following steps:
1. It computes the Maximum Response Time, which is the duration of 1. It computes the Maximum Response Time, which is the duration of
(x,G) leave group synchronization procedure. This is the product (x,G) leave group synchronization procedure. This is the product
of two locally configured values, Last Member Query Count and of two locally configured values, Last Member Query Count and
Last Member Query Interval (described in Section 3 of [RFC2236]), Last Member Query Interval (described in Section 3 of [RFC2236]),
plus a delta corresponding to the time it takes for a BGP plus a delta corresponding to the time it takes for a BGP
advertisement to propagate between the PEs attached to the advertisement to propagate between the PEs attached to the
multihomed ES (delta is a consistently configured value on all multihomed ES (delta is a consistently configured value on all
skipping to change at page 13, line 17 skipping to change at page 13, line 17
2. It starts the Maximum Response Time timer. Note that the receipt 2. It starts the Maximum Response Time timer. Note that the receipt
of subsequent IGMP Leave Group messages or BGP Leave Synch routes of subsequent IGMP Leave Group messages or BGP Leave Synch routes
for (x,G) do not change the value of a currently running Maximum for (x,G) do not change the value of a currently running Maximum
Response Time timer and are ignored by the PE. Response Time timer and are ignored by the PE.
3. It initiates the Last Member Query procedure described in 3. It initiates the Last Member Query procedure described in
Section 3 of [RFC2236]; viz, it sends a number of Group-Specific Section 3 of [RFC2236]; viz, it sends a number of Group-Specific
Query (x,G) messages (Last Member Query Count) at a fixed Query (x,G) messages (Last Member Query Count) at a fixed
interval (Last Member Query Interval) to the attached CE. interval (Last Member Query Interval) to the attached CE.
4. It advertises an IGMP Leave Synch route for that that [ES,BD]. 4. It advertises an IGMP Leave Synch route for that that (ES,BD).
This route notifies the other multihomed PEs attached to the This route notifies the other multihomed PEs attached to the
given multihomed ES that it has initiated an (x,G) leave group given multihomed ES that it has initiated an (x,G) leave group
synchronization procedure; i.e., it carries the ES-Import RT for synchronization procedure; i.e., it carries the ES-Import RT for
the ES on which the IGMP Leave Group was received. It also the ES on which the IGMP Leave Group was received. It also
contains the Maximum Response Time. contains the Maximum Response Time.
5. When the Maximum Response Timer expires, the PE that has 5. When the Maximum Response Timer expires, the PE that has
advertised the IGMP Leave Synch route withdraws it. advertised the IGMP Leave Synch route withdraws it.
6.2.1. Remote Leave Group Synchronization 6.2.1. Remote Leave Group Synchronization
When a PE, either DF or non-DF, receives an IGMP Leave Synch route it When a PE, either DF or non-DF, receives an IGMP Leave Synch route it
installs that route and it starts a timer for (x,G) on the specified installs that route and it starts a timer for (x,G) on the specified
[ES,BD] whose value is set to the Maximum Response Time in the (ES,BD) whose value is set to the Maximum Response Time in the
received IGMP Leave Synch route. Note that the receipt of subsequent received IGMP Leave Synch route. Note that the receipt of subsequent
IGMPv2 Leave Group messages or BGP Leave Synch routes for (x,G) do IGMPv2 Leave Group messages or BGP Leave Synch routes for (x,G) do
not change the value of a currently running Maximum Response Time not change the value of a currently running Maximum Response Time
timer and are ignored by the PE. timer and are ignored by the PE.
6.2.2. Common Leave Group Synchronization 6.2.2. Common Leave Group Synchronization
If a PE attached to the multihomed ES receives an IGMP Membership If a PE attached to the multihomed ES receives an IGMP Membership
Report for (x,G) before the Maximum Response Time timer expires, it Report for (x,G) before the Maximum Response Time timer expires, it
advertises a BGP IGMP Join Synch route for that [ES,BD]. If it advertises a BGP IGMP Join Synch route for that (ES,BD). If it
doesn't already have local IGMP Membership Request(x, G) state for doesn't already have local IGMP Membership Request(x, G) state for
that [ES, BD], it instantiates local IGMP Membership Request (x,G) that (ES,BD), it instantiates local IGMP Membership Request (x,G)
state. If the DF is not currently advertising (originating) a SMET state. If the DF is not currently advertising (originating) a SMET
route for that (x,G) group in that BD, it does so now. route for that (x,G) group in that BD, it does so now.
If a PE attached to the multihomed ES receives an IGMP Join Synch If a PE attached to the multihomed ES receives an IGMP Join Synch
route for (x,G) before the Maximum Response Time timer expires, it route for (x,G) before the Maximum Response Time timer expires, it
installs that route and if it doesn't already have IGMP Membership installs that route and if it doesn't already have IGMP Membership
Request (x,G) state for that BD on that ES, it instantiates that IGMP Request (x,G) state for that BD on that ES, it instantiates that IGMP
Membership Request (x,G) state. If the DF has not already advertised Membership Request (x,G) state. If the DF has not already advertised
(originated) a SMET route for that (x,G) group in that BD, it does so (originated) a SMET route for that (x,G) group in that BD, it does so
now. now.
When the Maximum Response Timer expires a PE that has advertised an When the Maximum Response Timer expires a PE that has advertised an
IGMP Leave Synch route, withdraws it. Any PE attached to the IGMP Leave Synch route, withdraws it. Any PE attached to the
multihomed ES, that started the Maximum Response Time and has no multihomed ES, that started the Maximum Response Time and has no
local IGMP Membership Request (x,G) state and no installed IGMP Join local IGMP Membership Request (x,G) state and no installed IGMP Join
Synch routes, it removes IGMP Membership Request (x,G) state for that Synch routes, it removes IGMP Membership Request (x,G) state for that
[ES,BD]. If the DF no longer has IGMP Membership Request (x,G) state (ES,BD). If the DF no longer has IGMP Membership Request (x,G) state
for that BD on any ES for which it is DF, it withdraws its SMET route for that BD on any ES for which it is DF, it withdraws its SMET route
for that (x,G) group in that BD. for that (x,G) group in that BD.
6.3. Mass Withdraw of Multicast join Sync route in case of failure 6.3. Mass Withdraw of Multicast join Sync route in case of failure
A PE which has received an IGMP Membership Request, would have synced A PE which has received an IGMP Membership Request, would have synced
the IGMP Join by the procedure defined in section 6.1. If a PE with the IGMP Join by the procedure defined in section 6.1. If a PE with
local join state goes down or the PE to CE link goes down, it would local join state goes down or the PE to CE link goes down, it would
lead to a mass withdraw of multicast routes. Remote PEs (PEs where lead to a mass withdraw of multicast routes. Remote PEs (PEs where
these routes were remote IGMP Joins) SHOULD NOT remove the state these routes were remote IGMP Joins) SHOULD NOT remove the state
skipping to change at page 30, line 43 skipping to change at page 30, line 43
Community sub-types registry. Community sub-types registry.
0x09 Multicast Flags Extended Community [this document] 0x09 Multicast Flags Extended Community [this document]
0x0A EVI-RT Type 0 [this document] 0x0A EVI-RT Type 0 [this document]
0x0B EVI-RT Type 1 [this document] 0x0B EVI-RT Type 1 [this document]
0x0C EVI-RT Type 2 [this document] 0x0C EVI-RT Type 2 [this document]
IANA is requested to allocate a new codepoint from the EVPN Extended IANA is requested to allocate a new codepoint from the EVPN Extended
Community sub-types registry for the following. Community sub-types registry for the following.
0x0D EVI-RT Type 3 [this document] 0x0D EVI-RT Type 3 [this document]
IANA has allocated the following EVPN route types from the EVPN Route IANA has allocated the following EVPN route types from the EVPN Route
Type registry. Type registry.
6 - Selective Multicast Ethernet Tag Route 6 - Selective Multicast Ethernet Tag Route
7 - Multicast Join Synch Route 7 - Multicast Join Synch Route
8 - Multicast Leave Synch Route 8 - Multicast Leave Synch Route
The Multicast Flags Extended Community contains a 16-bit Flags field. The Multicast Flags Extended Community contains a 16-bit Flags field.
The bits are numbered 0-15, from high-order to low-order. The bits are numbered 0-15, from high-order to low-order.
 End of changes. 13 change blocks. 
14 lines changed or deleted 14 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/