Multicast processing based on media access control address

By receiving MAC notification routing messages and sending general membership queries, network devices can solve the problems of multicast service resource waste and delay caused by host device movement, achieving rapid update of multicast forwarding status and efficient resource utilization.

CN120075128APending Publication Date: 2025-05-30JUNIPER NETWORKS INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411741879.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-11-30
Filing Date
2024-11-29
Publication Date
2025-05-30

AI Technical Summary

Technical Problem

In a multicast network environment, the movement of the host device causes unnecessary consumption of packet processing resources and bandwidth of the multicast service, and the host device may not be able to update the multicast forwarding status in time, resulting in delays.

Method used

By receiving the MAC advertisement routing message, the network device can delete the membership of the host device and the multicast group, and send a general membership query through the attachment circuit to update the multicast forwarding status.

Benefits of technology

Quickly stop forwarding multicast services, reduce packet processing resources and bandwidth consumption, reduce multicast stream reception delay, and improve network efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120075128A_ABST
    Figure CN120075128A_ABST
Patent Text Reader

Abstract

The invention relates to multicast processing based on media access control addresses. In some implementations, a network device of a network may discover a media access control (MAC) address of a host device associated with an attachment circuit, to which the host device has moved from another network device of the network. Based on finding a MAC address of a host device that has moved from another network device to the network device, the network device may send a generic membership query through the attachment circuitry. In some implementations, another network device may receive a medium access control (MAC) advertisement routing message indicating that the network device has discovered a MAC address of the host device. Another network device may delete one or more multicast group membership associated with the host device.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] "Multicast" generally refers to the delivery of data to a group of destinations. Multicast data can be sent once on each link of a network, which can save bandwidth. When the path to a destination is split among multiple links, the data can be replicated. Networks can use routers, switches, and other network devices for receiving and forwarding multicast data. Such network devices can receive and / or forward multicast packets through interfaces (e.g., ports). Summary of the Invention

[0002] Some implementations described herein relate to a method. The method can include a first network device receiving a Media Access Control (MAC) advertisement routing message that indicates a second network device has discovered a MAC address of a host device. The method can include the first network device deleting one or more multicast memberships associated with the host device.

[0003] Some implementations described herein relate to a method. The method can include a network device of a network discovering a MAC address of a host device associated with an attached circuit, the host device having moved from another network device of the network to the network device. The method can include, based on discovering the MAC address of the host device that has moved from another network device to the network device, the network device sending a general membership query through the attached circuit.

[0004] Some embodiments described herein relate to a first network device. The first network device can include one or more memories and one or more processors. The one or more processors can be configured to receive a MAC advertisement routing message that indicates a second network device has discovered a MAC address of a host device. The one or more processors can delete one or more multicast memberships associated with the host device. Brief Description of the Drawings

[0005] Figure 1 is a diagram of an example implementation associated with multicast processing based on a MAC address.

[0006] Figure 2 is a diagram of an example environment in which the systems and / or methods described herein can be implemented.

[0007] Figure 3 is a diagram of example components of a device associated with processing multicast traffic based on a MAC address of a host device.

[0008] Figure 4 is a diagram of example components of a device associated with processing multicast traffic based on a MAC address of a host device.

[0009] Figure 5 is a flowchart of an example process associated with processing multicast traffic based on the MAC address of a host device. DETAILED DESCRIPTION

[0010] The following detailed description of example implementations refers to the accompanying drawings. Like reference numerals in different drawings may identify the same or similar elements.

[0011] A multicast source may send multicast data in the form of a multicast stream. The multicast stream may include multicast packets, each multicast packet including a multicast data payload and a header. The multicast data payload may be a data segment from the multicast stream requested by a host device. The header may provide information including the network address of the multicast source and the multicast group address subscribed to by the host device. The multicast stream may be defined as a set of multicast packets that constitute the data being multicast for a particular multicast source and / or multicast group.

[0012] The multicast source may send the multicast stream to a first provider edge device of a network fabric. The network fabric (e.g., one or more network devices in the network fabric) may replicate and / or forward the multicast stream to one or more provider edge devices, and each of the provider edge devices may in turn forward the multicast stream to one or more host devices (e.g., multicast listeners). For example, a second provider edge device may receive the multicast stream and forward the multicast stream to a host device (e.g., an Internet Group Management Protocol (IGMP) host device). In some cases, the network fabric may be an Ethernet Virtual Private Network (EVPN) fabric, and the provider edge devices may include respective EVPN databases storing EVPN routes for the EVPN fabric.

[0013] Each provider edge device may maintain a multicast forwarding state for the corresponding multicast stream. The multicast forwarding state in a routing device may be represented as (S,G) or (*,G). In (S,G), S may refer to the unicast Internet Protocol (IP) address of the multicast source for the multicast stream, and G may refer to the multicast group IP address for which S is the multicast source. The asterisk (*) in the (*,G) notation may be a wildcard that indicates that the multicast forwarding state applies to any multicast source for the multicast group IP address.

[0014] The provider edge device can use Internet Group Management Protocol (IGMP) snooping technology to forward multicast streams. The IGMP snooping technology enables the provider edge device to monitor IGMP traffic from one or more host devices and determine which of the one or more host devices (if any) will receive the multicast stream as determined using the IGMP traffic. For example, the provider edge device can snoop on IGMP membership reports that indicate that a host device will join a multicast group for the multicast stream. In some cases, the provider edge device can include a corresponding IGMP snooping database that stores multicast information (e.g., (S,G) for the multicast stream, interfaces on which the received IGMP traffic is received, etc.).

[0015] Additionally, or alternatively, the provider edge device can use Selective Multicast Ethernet Tag (SMET) forwarding technology to forward multicast streams. The SMET forwarding technology enables the provider edge device to selectively forward multicast traffic based on the presence or absence of one or more host devices that will receive the multicast stream. For example, a second provider edge device can perform IGMP snooping on IGMP traffic from a host device and advertise an Ethernet VPN (EVPN) type 6 SMET route to a first provider edge device such that the first provider edge device can forward the multicast traffic to the second provider edge device (e.g., only to the second provider edge device) based on the EVPN type 6 SMET route. Deploying IGMP snooping technology and SMET forwarding technology in an EVPN fabric can provide optimized forwarding paths for multicast streams.

[0016] After the host device is connected to the second provider edge device, the second provider edge device can advertise to the remaining provider edge devices that the host device has been connected to the second provider edge device. For example, the second provider edge device can send a MAC advertisement route message identifying the host device by the MAC address of the host device. For example, the second provider edge device can advertise an EVPN type 2 route that can indicate the location of the host device (identified by the MAC address of the host device). The EVPN type 2 route can be assigned a sequence number (SN), such as SN1.

[0017] In some cases, the provider edge device can include a corresponding MAC forwarding table that associates MAC addresses with the corresponding provider edge devices. For example, in response to receiving a MAC advertisement route message from the second provider edge device, the remaining provider edge devices can update the MAC forwarding table to associate the MAC address of the host device with the second provider edge device.

[0018] The host device can be mobile (e.g., the host device can move (e.g., migrate) from behind one provider edge device to behind another provider edge device). In some cases, the host device can move to a third provider edge device. The third provider edge device can detect the host device and announce to the remaining provider edge devices that the host device has been connected to the third provider edge device. For example, the third provider edge device can announce an EVPN type 2 route with an SN higher than SN1, such as SN2. Based on SN2 being higher than SN1, the remaining provider edge devices can update the MAC forwarding table to associate the MAC address of the host device with the third provider edge device (instead of the second provider edge device).

[0019] In addition, the third provider edge device can probe for IGMP membership reports sent from the host device. Based on the IGMP membership report, the third provider edge device can create a multicast forwarding state for the multicast stream and announce an EVPN type 6 SMET route to the first provider edge device. The EVPN type 6 SMET route can cause the multicast stream to be sent to the third provider edge device. Thus, the third provider edge device can receive the multicast stream and forward the multicast stream to the host device.

[0020] After the host device moves to the third provider edge device, even if no other host devices that will receive the multicast stream are connected to the second provider edge device, the second provider edge device can continue to receive the multicast stream and forward the multicast stream to the access interface (e.g., an access local area network (LAN)). For example, the EVPN type 6 SMET route for the second provider edge device that causes the second provider edge device to receive and forward the multicast stream can remain active.

[0021] For example, the host device may not send an IGMP group leave message to the second provider edge device because the host device does not know that the host device has moved from the second provider edge device to the third provider edge device. If the IGMP group leave message is received by the second provider edge device, the IGMP group leave message can cause the second provider edge device to send a group-specific membership query downstream, determine whether any host devices that will receive the multicast stream are still connected to the second provider edge device, and if not, delete the EVPN type 6 SMET route.

[0022] The host device may not be aware that the host device has moved from a second provider edge device to a third provider edge device because the host device can communicate with the provider edge device via the same access LAN (e.g., emulated by an EVPN fabric). After moving to the third provider edge device in the access LAN from the second provider edge device, the host device can no longer send an IGMP group leave message to the second provider edge device. Thus, the host device can move seamlessly across provider edge devices, continuously refreshing the IGMP reports because the host device will receive the multicast stream.

[0023] Updating the MAC forwarding table to reflect the movement of the host device to the third provider edge device does not prevent the second provider edge device from receiving and forwarding the multicast stream because the MAC forwarding table may "consult" unicast transmissions rather than multicast transmissions.

[0024] After the host device has moved to the third provider edge device, the second provider edge device can continue to receive and forward the multicast stream for an extended period. For example, the second provider edge device may not clear the multicast forwarding state of the multicast stream until the join timeout timer expires (e.g., 210 seconds). For example, if the join timeout timer is 210 seconds, the second provider edge device can continue to receive and forward the multicast stream for up to 210 seconds after the host device has moved from the second provider edge device.

[0025] Thus, after the host device has moved, the first provider edge device can forward the multicast traffic to the second provider edge device, and the second provider edge device can forward the multicast traffic to the access LAN of the second provider edge device. For example, even if the second provider edge device no longer has any host devices that will receive the multicast stream, the first provider edge device and the second provider edge device can forward the multicast traffic. IGMP snooping techniques and SMET forwarding techniques are ineffective in preventing such forwarding.

[0026] Multicast traffic forwarded by a first provider edge device and a second provider edge device may consume packet processing resources. For example, packet processing resources on one or more provider edge devices, an EVPN fabric, and / or access interfaces can generate multicast traffic by replicating multicast packets. Additionally, or alternatively, multicast traffic forwarded by the first provider edge device and the second provider edge device may consume bandwidth. For example, multicast traffic may consume bandwidth on an EVPN fabric and access interfaces. For example, the bandwidth of an access interface (e.g., the number of channels) may be limited. Thus, multicast traffic may affect the overall user experience due to consuming bandwidth that may otherwise be occupied by other multicast traffic being forwarded to host devices. In scenarios where multiple host devices move regularly across provider edge devices (e.g., multicast traffic that causes unnecessary forwarding of large traffic), the consumption of packet processing resources and bandwidth further increases.

[0027] In addition, because the host device does not know that the host device has moved from the second provider edge device to the third provider edge device, the host device may not be able to send an IGMP membership report (e.g., an IGMP join request) to the third provider edge device (e.g., via an attachment circuit (AC)) in a timely manner. For example, after the third provider edge device snoops on an IGMP membership report sent by the host device, it creates a multicast forwarding state and advertises an EVPN type 6 SMET route to attract multicast traffic. The host device may send IGMP membership reports infrequently (e.g., approximately once every sixty seconds). Thus, the host device may experience a delay (e.g., up to approximately sixty seconds) before receiving multicast traffic after moving to a provider edge device.

[0028] Although IGMP has been specifically mentioned above, the problems described herein may exist in other contexts, such as Multicast Listener Discovery (MLD). For example, after a host device moves between provider edge devices, MLD-based multicast traffic may unnecessarily consume packet processing resources and bandwidth, and / or the host device may experience a delay when receiving multicast traffic, as described above.

[0029] Some implementations described herein enable the use of the MAC address of a host device to handle multicast traffic. In some aspects, a provider edge device may use the MAC address of a host device to track host device mobility. For example, a provider edge device from which a host device has moved out may delete one or more multicast memberships and / or send a SMET route withdrawal message in response to receiving a MAC advertisement route message. In some aspects, a provider edge device to which a host device has moved may send a general membership query in response to determining that the host device has moved to the provider edge device. For example, a provider edge device may determine that a host device has moved to the provider edge device by discovering the MAC address of the host device.

[0030] Thus, by deleting one or more multicast memberships, a provider edge device from which a host device has moved out can quickly stop forwarding multicast traffic, which can reduce packet processing resources and bandwidth consumption. By sending a SMET route withdrawal message, a provider edge device from which a host device has moved out can quickly stop receiving multicast traffic, which can further reduce packet processing resources and bandwidth consumption. By sending a general membership query, a provider edge device to which a host device has moved can reduce the latency before the provider edge device can start receiving multicast traffic and forwarding the multicast traffic to the host device.

[0031] Figure 1 is a diagram of an example implementation 100 associated with multicast processing based on MAC address. As Figure 1 shown, example implementation 100 includes a multicast source device, a plurality of network devices of a network (including a first network device and a second network device), and a host device. The multicast source can be any suitable source of a multicast stream. The network devices can be provider edge devices associated with the network, and the network can be an EVPN including an EVPN fabric. For example, a provider edge device may be associated with an EVPN because the provider edge device is located at the edge of the EVPN. The network devices can be configured to use IGMP snooping techniques and / or SMET forwarding techniques. The host device can be any suitable mobile host device, such as a virtual machine (VM), a handheld host device, an IP television (IPTV) host device, an Internet Protocol version 6 (IPv6) host device, etc. These devices will be described in more detail below in connection with Figures 2 to 4 more detail.

[0032] In some examples, the host device may be connected to the first network device. The first network device may identify the MAC address of the host device and create a multicast forwarding state associated with the host device (e.g., if such a multicast forwarding state has not been created). The multicast forwarding state may be associated with the host device because the multicast forwarding state represents the multicast streams that the host device will receive.

[0033] The first network device can use IGMP snooping technology and / or SMET forwarding technology. For example, the first network device can use IGMP snooping technology to snoop on IGMP reports and identify the MAC address of the host device from the IGMP reports. For example, the first network device can identify the source MAC address of the IGMP report as the MAC address of the host device. The first network device can also use IGMP snooping technology to create a multicast forwarding state associated with the host device. In some examples, the first network device can use SMET forwarding technology to start receiving a multicast stream corresponding to the multicast forwarding state. For example, the first network device can advertise an EVPN type 6 SMET route that causes the multicast stream to be forwarded to the first network device.

[0034] The first network can receive a multicast stream from a multicast source. The multicast source can send the multicast stream to one of the network devices, and that network device in turn forwards the multicast stream to the network, and the network can forward the multicast stream to one or more other network devices including the first network device. For example, the first network device can receive the multicast stream from the network and forward the multicast stream to the host device via the AC over the access network between the first network device and the host device.

[0035] Explicit tracking (e.g., IGMP explicit tracking) may or may not be enabled on the first network device. If explicit tracking is enabled, the first network device can explicitly track multicast parameters in a database associated with IGMP snooping with explicit tracking. The database associated with IGMP snooping with explicit tracking can be local to the first network device. The database associated with IGMP snooping with explicit tracking can also be referred to as the "IGMP snooping database".

[0036] In some aspects, a first network device may store, in an entry of a database associated with IGMP (or MLD) snooping with explicit tracking, the MAC address of a host device, one or more multicast memberships associated with the host device, and an AC of the first network device (e.g., an interface from which a multicast stream is sent to the host device). Thus, the database associated with IGMP snooping with explicit tracking may store (e.g., add, append, etc.) the MAC address of the host device. In some examples, each entry in the database associated with IGMP snooping with explicit tracking may include the MAC address of the host device. Based on identifying the association of one or more multicast memberships with the host device, the first network device may store the MAC address, the one or more multicast memberships, and the AC. For example, in response to determining that one or more multicast memberships are associated with the host device, the first network device may store the MAC address, the one or more multicast memberships, and the AC. One or more multicast memberships may be associated with the host device because the host device may have joined one or more multicast memberships. Thus, in some examples, when using IGMP (or MLD) explicit tracking, after detecting a MAC move, the first network device may remove the explicit tracking entry for the host device (e.g., the explicit tracking may be based on the MAC address of the host device).

[0037] As Figure 1 shown, the host device may move from the first network device to the second network device. For example, the host device may move from the AC of the first network device to the AC of the second network device. For example, the host device may disassociate from the AC of the first network device and associate with the AC of the second network device.

[0038] As shown by reference numeral 110, the second network device may discover the MAC address of the host device. The host device may be associated with an AC (e.g., the AC of the second network device). In some examples, the second network device may use IGMP snooping techniques to discover the MAC address of the host device. For example, the second network device uses IGMP snooping techniques to snooping an IGMP report sent from the host device and identify the MAC address of the host device from the IGMP report. For example, the second network device may identify the source MAC address of the IGMP report as the MAC address of the host device.

[0039] As shown by reference numeral 120, based on discovering the MAC address of the host device, the second network device may send a general membership query through an AC (e.g., the AC of the second network device). For example, discovering the MAC address may trigger the IGMP snooping module on the second network device to issue an IGMP general query on the AC.

[0040] In some aspects, a second network device may receive a membership report associated with a host device. For example, the membership report may be an IGMP membership report requested by the membership report on an AC. For example, based on (e.g., in response to) a general membership query, the second network device may receive the membership report. The membership report may be associated with the host device because the membership report may indicate that the host device will receive a multicast stream. In some aspects, the second network device may update a group membership database based on the membership report (e.g., the second network device may update the group membership database accordingly).

[0041] In some aspects, the second network device may update the membership associated with a host device. For example, the membership may be an IGMP membership. The membership may be associated with the host device because the host device will receive a multicast stream by virtue of the membership.

[0042] In some aspects, based on the membership report, the second network device may send a SMET route advertisement message. For example, the second network device may advertise an EVPN type 6 SMET route that causes a multicast stream to be forwarded to the second network device. Thus, the SMET route advertisement message may enable the second network device to attract multicast traffic (e.g., a multicast stream) for the host device.

[0043] As shown by reference numeral 130, a first network device may receive a MAC advertisement route message. For example, the first network device may receive a MAC advertisement route message from a second network device via a network. The MAC advertisement route message may indicate that the second network device has discovered the MAC address of the host device. For example, the MAC advertisement route message may be part of a MAC (and / or VM) mobility mechanism for indicating the MAC mobility of the host device. The MAC advertisement route message may include the MAC address of the host device.

[0044] As shown by reference numeral 140, the first network device may delete one or more multicast group memberships associated with the host device. For example, the MAC advertisement route message may trigger the IGMP snooping module on the first network device to delete (e.g., clear, refresh, etc.) the corresponding one or more multicast group memberships.

[0045] In some aspects (e.g., when explicit tracking is enabled), the first network can remove one or more multicast memberships by deleting entries from a database associated with IGMP snooping with explicit tracking. For example, in response to a MAC advertisement routing message, the IGMP snooping module can clear one or more multicast memberships in the database. In some examples, the first network device can identify the MAC address of the host device from the MAC advertisement routing message and delete any entry in the database that includes the MAC address of the host device. Accordingly, the first network device can stop forwarding the multicast stream via the AC.

[0046] In some aspects, based on (e.g., in response to) receiving a MAC advertisement routing message, the first network device can send a group-specific membership query for one or more multicast memberships associated with a host device. Such aspects can be employed in scenarios where explicit tracking is not enabled, or where explicit tracking is enabled but the database does not include an entry containing the MAC address of the host device. In some examples, the MAC advertisement routing message can trigger the IGMP snooping module to issue an IGMP group-specific query for all memberships on the AC to which the host device was previously connected.

[0047] In some aspects, the first network device can determine that a response to the group-specific membership query has not been received. For example, the first network device may not have received any IGMP membership reports in response to the group-specific membership query. The absence of a response being received may indicate that there is no host device on the first network device's AC that will receive the multicast stream. Accordingly, based on determining that a response to the group-specific membership query has not been received, the first network device can remove the multicast membership. Accordingly, the first network device can clear stale memberships on the AC, and the first network device can stop forwarding the multicast stream via the AC.

[0048] In some aspects, based on removing one or more multicast memberships, the first network device can send a SMET route withdrawal message. The SMET route withdrawal message can withdraw the EVPN type 6 SMET route that caused the multicast stream to be forwarded to the first network device. For example, the first network device can send a SMET route withdrawal message to the network, and the network can forward the SMET route withdrawal message to the network device connected to the multicast source. Accordingly, the first network device can withdraw the EVPN type 6 SMET route, and the network device connected to the multicast source can stop forwarding the multicast stream to the first network device.

[0049] In some aspects, the first network device may use the IP address of the host device to delete one or more multicast memberships associated with the host device. For example, in an explicit tracking scenario, in response to detecting a MAC move, the first network device may use the IP address of the host device to remove entries. For example, when using IGMP (or MLD) for explicit tracking, after detecting a MAC move, the first network device may remove the explicit tracking entry for the host device (e.g., the explicit tracking may be based on the IP address of the host device).

[0050] Although specifically mentioned in conjunction with Figure 1 IGMP, the techniques described herein may be applied in other contexts, such as MLD. For example, the general query (reference numeral 130) sent by the second network device based on discovering the MAC address of the host device may be an MLD-based general membership query (e.g., an MLD general query). Additionally, or alternatively, one or more multicast memberships deleted by the first network device based on the MAC advertisement routing message (reference numeral 140) may be one or more MLD-based multicast memberships. Further, operations 110 to 140 may be performed in any suitable order.

[0051] Deleting one or more multicast memberships based on the MAC advertisement routing message may enable the first network device to quickly terminate forwarding multicast traffic, which may reduce packet processing resources and / or bandwidth consumption. For example, deleting one or more multicast memberships based on the MAC advertisement routing message increases the bandwidth for other multicast flows to other host devices. Deleting one or more multicast memberships based on the MAC advertisement routing message may enable the first network device to terminate forwarding multicast traffic in a lightweight manner (e.g., in a manner that involves little memory and / or processing resources). Thus, for example, the techniques described herein may be implemented on network devices with low memory and / or processing capabilities, such as network devices in a spine-leaf architecture.

[0052] Storing the MAC address in an entry of a database associated with IGMP or MLD snooping with explicit tracking may enable the first network device to utilize explicit tracking to minimize signaling overhead and reduce the latency for clearing the multicast forwarding state. Sending a group-specific membership query based on receiving the MAC advertisement routing message may enable the first network device to quickly terminate forwarding a multicast flow in a scenario where explicit tracking is not enabled (or explicit tracking is enabled and there is no entry with the MAC address in the database).

[0053] Sending an SMET route revocation message based on deleting one or more multicast memberships can enable a first network device to quickly terminate receiving a multicast stream, which can further reduce packet processing resources and bandwidth consumption. For example, packet processing resources and bandwidth consumption on network devices in the network can be reduced.

[0054] Sending a general membership query based on discovering a MAC address of a host device can enable a second network device to reduce latency before the second network device can start receiving a multicast stream and forwarding the multicast stream to the host device. For example, sending a general membership query can enable the second network device to quickly create a multicast forwarding state for the host device and advertise an SMET route advertisement message to receive the multicast stream on behalf of the host device.

[0055] As indicated above, Figure 1 is provided as an example. Other examples may be different from those described with respect to Figure 1 The number and arrangement of the devices shown in Figure 1 are provided as an example. In practice, there may be more devices, fewer devices, different devices, or differently arranged devices than those shown in Figure 1 In addition, Figure 1 two or more of the devices shown in Figure 1 can be implemented within a single device, or Figure 1 the single device shown in Figure 1 can be implemented as multiple distributed devices. Additionally, or alternatively, Figure 1 a set of devices (e.g., one or more devices) shown in Figure 1 can perform one or more functions described as being performed by another set of devices shown in

[0056] Figure 2 is a diagram of an example environment 200 in which the systems and / or methods described herein can be implemented. As Figure 2 shown, environment 200 can include one or more peer devices 210, a node group 220 (shown as nodes 220-1 to nodes 220-N), and a network 230. The devices of environment 200 can be interconnected via wired connections, wireless connections, or a combination of wired and wireless connections.

[0057] The peer device 210 includes one or more devices capable of receiving and / or providing network services. For example, the peer device 210 may include service delivery devices such as routers, gateways, switches, firewalls, hubs, bridges, reverse proxies, servers (e.g., proxy servers, servers executing virtual machines, etc.), security devices, intrusion detection devices, load balancers, or similar types of devices. In some implementations, the peer device 210 may include endpoint devices that are sources or destinations for network services. For example, the peer device 210 may include computers or similar types of devices. The peer device 210 may receive network services (e.g., payload packets) from other peer devices 210 via the network 230 and / or provide network services to other peer devices 210 (e.g., by routing payload packets using the (multiple) nodes 220 as intermediaries). In some implementations, the peer device 210 may include edge devices located at the edge of one or more networks. For example, the peer device 210 receives network services (e.g., payload packets) from devices external to the network 230 and / or provides network services to devices external to the network 230.

[0058] The node 220 includes one or more devices capable of receiving, processing, storing, routing, and / or providing services (e.g., payload packets, files, etc.) in the manner described herein. For example, the node 220 may include routers such as label switching routers (LSRs), label edge routers (LERs), ingress routers, egress routers, provider routers (e.g., provider edge routers, provider core routers, etc.), virtual routers, or other types of routers. Additionally or alternatively, the node 220 may include gateways, switches, firewalls, hubs, bridges, reverse proxies, servers (e.g., proxy servers, cloud servers, data center servers, etc.), load balancers, and / or similar devices.

[0059] In some implementations, the node 220 may be a physical device implemented within a housing (such as a chassis). In some implementations, the node 220 may be a virtual device implemented by one or more computer devices in a cloud computing environment or a data center.

[0060] In some implementations, node 220 may be configured to have one or more segment translation tables. In some implementations, node 220 may receive payload packets from peer device 210. In some implementations, node 220 may encapsulate the payload packets using a Compressed Routing Header (CRH) and may route the IP payload packets to another node 220 using one or more techniques described elsewhere herein. In some implementations, node 220 may be an edge node in network 230. In some implementations, node 220 may be an intermediate node (i.e., a node between two or more edge nodes) in network 230.

[0061] Network 230 includes one or more wired networks and / or wireless networks. For example, network 230 may include a cellular network (e.g., a fifth-generation (5G) network, a fourth-generation (4G) network such as a Long-Term Evolution (LTE) network, a third-generation (3G) network, a Code Division Multiple Access (CDMA) network, a Public Land Mobile Network (PLMN), a LAN, a Wide Area Network (WAN), a Metropolitan Area Network (MAN), a telephone network (e.g., a Public Switched Telephone Network (PSTN)), a private network, an ad hoc network, an intranet, the Internet, a fiber-based network, a cloud computing network, etc., and / or a combination of these networks or other types of networks.

[0062] Figure 2 The number and arrangement of the devices and networks shown are provided as one or more examples. In practice, there may be more devices and / or networks, fewer devices and / or networks, different devices and / or networks, or differently arranged devices and / or networks than those Figure 2 shown. Additionally, two or more of the devices shown may be implemented within a single device, or Figure 2 a single device shown may be implemented as multiple distributed devices. Additionally, or alternatively, a set of devices (e.g., one or more devices) of environment 200 may perform one or more functions described as being performed by another set of devices of environment 200. Figure 2

[0063]

[0063] Figure 3 is a diagram of example components of device 300 associated with processing multicast traffic based on the MAC address of a host device. Device 300 may correspond to peer device 210 and / or node 220. In some implementations, peer device 210 and / or node 220 may include one or more devices 300 and / or one or more components of device 300. As Figure 3 shown, device 300 may include bus 310, processor 320, memory 330, input component 340, output component 350, and / or communication component 360.

[0064] Bus 310 may include one or more components that enable wired and / or wireless communication between components of device 300. Bus 310 may couple Figure 3 two or more components together, such as via operative coupling, communication coupling, electrical coupling, and / or electro-coupling. For example, bus 310 may include electrical connections (e.g., wires, traces, and / or leads) and / or a wireless bus. Processor 320 may include a central processing unit, a graphics processing unit, a microprocessor, a controller, a microcontroller, a digital signal processor, a field programmable gate array, an application specific integrated circuit, and / or another type of processing component. Processor 320 may be implemented in hardware, firmware, or a combination of hardware and software. In some implementations, processor 320 may include one or more processors that can be programmed to perform one or more operations or processes described elsewhere herein.

[0065] Memory 330 may include volatile memory and / or non-volatile memory. For example, memory 330 may include random access memory (RAM), read only memory (ROM), a hard disk drive, and / or another type of memory (e.g., flash memory, magnetic memory, and / or optical memory). Memory 330 may include internal memory (e.g., RAM, ROM, or a hard disk drive) and / or removable memory (e.g., removable via a universal serial bus connection). Memory 330 may be a non-transitory computer-readable medium. Memory 330 may store information related to the operation of device 300, one or more instructions, and / or software (e.g., one or more software applications). In some implementations, memory 330 may include one or more memories that are coupled (e.g., communication coupled) to one or more processors (e.g., processor 320), such as via bus 310. The communication coupling between processor 320 and memory 330 may enable processor 320 to read and / or process information stored in memory 330 and / or store information in memory 330.

[0066] Input component 340 may enable device 300 to receive input, such as user input and / or sensed input. For example, input component 340 may include a touch screen, a keyboard, a keypad, a mouse, buttons, a microphone, switches, sensors, a global positioning system sensor, a global navigation satellite system sensor, an accelerometer, a gyroscope, and / or an actuator. Output component 350 may enable device 300 to provide output, such as via a display, a speaker, and / or a light emitting diode. Communication component 360 may enable device 300 to communicate with other devices via a wired connection and / or a wireless connection. For example, communication component 360 may include a receiver, a transmitter, a transceiver, a modem, a network interface card, and / or an antenna.

[0067] Device 300 may perform one or more operations or processes described herein. For example, a non-transitory computer-readable medium (e.g., memory 330) may store a set of instructions (e.g., one or more instructions or code) for execution by processor 320. Processor 320 may execute the set of instructions to perform one or more operations or processes described herein. In some implementations, the execution of the instruction set by one or more processors 320 causes one or more processors 320 and / or device 300 to perform one or more operations or processes described herein. In some implementations, hardwired circuitry may be used in place of or in combination with the instructions to perform one or more operations or processes described herein. Additionally or alternatively, processor 320 may be configured to perform one or more operations or processes described herein. Thus, the implementations described herein are not limited to any particular combination of hardware circuitry and software.

[0068] Figure 3 The number and arrangement of components shown are provided as an example. Device 300 may include more components, fewer components, different components, or components arranged differently than those shown. Additionally or alternatively, a set of components (e.g., one or more components) of device 300 may perform one or more functions described as being performed by another set of components of device 300. Figure 3 The number and arrangement of components shown are provided as an example. Device 300 may include more components, fewer components, different components, or components arranged differently than those shown. Additionally or alternatively, a set of components (e.g., one or more components) of device 300 may perform one or more functions described as being performed by another set of components of device 300.

[0069] Figure 4 is a diagram of example components of device 400 associated with handling multicast traffic based on the MAC address of a host device. Device 400 may correspond to peer device 210 and / or node 220. In some implementations, peer device 210 and / or node 220 may include one or more device 400s and / or one or more components of device 400. As Figure 4 shown, device 400 may include one or more input components 410-1 through input component 410-B (B≥1) (collectively referred to hereinafter as input components 410 and individually as input component 410), switching component 420, one or more output components 430-1 through output component 430-C (C≥1) (collectively referred to hereinafter as output components 430 and individually as output component 430), and controller 440.

[0070] The input component 410 can be one or more points of attachment for a physical link and can be one or more ingress points for incoming traffic, such as packets. The input component 410 can process incoming traffic, such as by performing data link layer encapsulation or decapsulation. In some implementations, the input component 410 can send and / or receive packets. In some implementations, the input component 410 can include an input line card that includes one or more packet processing components (e.g., in the form of integrated circuits), such as one or more interface cards (IFCs), packet forwarding components, line card controller components, input ports, processors, memories, and / or input queues. In some implementations, the device 400 can include one or more input components 410.

[0071] The switching component 420 can interconnect the input component 410 and the output component 430. In some implementations, the switching component 420 can be implemented via one or more crossbars, via a bus, and / or via shared memory. The shared memory can act as a temporary buffer to store packets from the input component 410 before the packets are ultimately scheduled for delivery to the output component 430. In some implementations, the switching component 420 can enable the input component 410, the output component 430, and / or the controller 440 to communicate with each other.

[0072] The output component 430 can store packets and can schedule packets for transmission on an output physical link. The output component 430 can support data link layer encapsulation or decapsulation and / or various higher-level protocols. In some implementations, the output component 430 can send packets and / or receive packets. In some implementations, the output component 430 can include an output line card that includes one or more packet processing components (e.g., in the form of integrated circuits), such as one or more IFCs, packet forwarding components, line card controller components, output ports, processors, memories, and / or output queues. In some implementations, the device 400 can include one or more output components 430. In some implementations, the input component 410 and the output component 430 can be implemented by the same set of components (e.g., the input / output component can be a combination of the input component 410 and the output component 430).

[0073] The controller 440 includes a processor in the form of, for example, a central processing unit (CPU), a graphics processing unit (GPU), an accelerated processing unit (APU), a microprocessor, a microcontroller, a digital signal processor (DSP), a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), and / or another type of processor. The processor is implemented in hardware, firmware, or a combination of hardware and software. In some embodiments, the controller 440 may include one or more processors that can be programmed to perform functions.

[0074] In some embodiments, the controller 440 may include RAM, ROM, and / or another type of dynamic or static storage device (e.g., flash memory, magnetic memory, optical memory, etc.) that stores information and / or instructions for use by the controller 440.

[0075] In some implementations, the controller 440 may communicate with other devices, networks, and / or systems connected to the device 400 to exchange information about the network topology. The controller 440 may create a routing table based on the network topology information, may create a forwarding table based on the routing table, and may forward the forwarding table to the input component 410 and / or the output component 430. The input component 410 and / or the output component 430 may use the forwarding table to perform a route lookup for incoming packets and / or outgoing packets.

[0076] The controller 440 may execute one or more of the processes described herein. In response to executing software instructions stored by a non-transitory computer-readable medium, the controller 440 may execute these processes. The computer-readable medium is defined herein as a non-transitory memory device. The memory device includes a memory space within a single physical storage device or a memory space spread across multiple physical storage devices.

[0077] The software instructions may be read into the memory and / or storage component associated with the controller 440 from another computer-readable medium or from another device via a communication interface. When the software instructions are executed, the software instructions stored in the memory and / or storage component associated with the controller 440 may cause the controller 440 to execute one or more of the processes described herein. Additionally or alternatively, hardwired circuitry may be used in place of or in combination with the software instructions to execute one or more of the processes described herein. Thus, the implementations described herein are not limited to any particular combination of hardware circuitry and software.

[0078] Figure 4 The number and arrangement of the components shown are provided as an example. In practice, the device 400 may include more than Figure 4more components, fewer components, different components, or components arranged differently than those shown. Additionally, or alternatively, a set of components (e.g., one or more components) of device 400 may perform one or more functions described as being performed by another set of components of device 400.

[0079] Figure 5 is a flowchart of an example process 500 associated with handling multicast traffic based on a host device's MAC address. In some implementations, Figure 5 one or more process blocks of are performed by a first network device (e.g., Figure 1 the first network device of). In some implementations, Figure 5 one or more process blocks of are performed by another device or group of devices separate from or including the first network device, such as a peer device (e.g., peer device 210) and / or a node (e.g., node 220). Additionally or alternatively, Figure 5 one or more process blocks of may be performed by one or more components of device 300 (such as processor 320, memory 330, input component 340, output component 350, and / or communication component 360), and / or by one or more components in device 400 (such as input component 410, switching component 420, output component 430, and / or controller 440).

[0080] As Figure 5 shown, process 500 may include receiving a MAC advertisement routing message that indicates that a second network device has discovered the MAC address of a host device (block 510). For example, the first network device may receive a MAC advertisement routing message that indicates that a second network device has discovered the MAC address of a host device, as described above.

[0081] As Figure 5 further shown, process 500 may include deleting one or more multicast memberships associated with the host device (block 520). For example, the first network device may delete one or more multicast memberships associated with the host device, as described above.

[0082] Process 500 may include additional implementations, such as any single implementation described below or any combination of implementations and / or in conjunction with one or more other processes described elsewhere herein.

[0083] In a first implementation, process 500 includes storing, by a first network device, a MAC address, one or more multicast memberships associated with a host device, and an AC of the first network device in an entry of a database associated with IGMP or MLD snooping with explicit tracking, based on identifying an association of one or more multicast memberships with the host device.

[0084] In a second implementation, alone or in combination with the first implementation, deleting one or more multicast memberships associated with a host device includes deleting the entry from the database.

[0085] In a third implementation, alone or in combination with one or more of the first and second implementations, process 500 includes sending, by the first network device, a group-specific membership query for a multicast membership among one or more multicast memberships associated with a host device, based on receiving a MAC advertisement routing message.

[0086] In a fourth implementation, alone or in combination with one or more of the first through third implementations, process 500 includes determining that a response to the group-specific membership query has not been received, and deleting one or more multicast memberships associated with a host device includes deleting one or more multicast memberships associated with the host device based on determining that a response to the group-specific membership query has not been received.

[0087] In a fifth implementation, alone or in combination with one or more of the first through fourth implementations, deleting one or more multicast memberships associated with a host device includes deleting one or more multicast memberships associated with the host device using the IP address of the host device.

[0088] In a sixth implementation, alone or in combination with one or more of the first through fifth implementations, the first network device is a first provider edge device associated with EVPN, and the second network device is a second provider edge device associated with EVPN.

[0089] In a seventh implementation, alone or in combination with one or more of the first through sixth implementations, the host device is a virtual machine.

[0090] Although Figure 5 example blocks of process 500 are shown, in some implementations, process 500 includes more blocks, fewer blocks, different blocks, or blocks arranged differently than Figure 5 those depicted. Additionally, or alternatively, two or more blocks of process 500 may be executed in parallel.

[0091] The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the implementation to the exact forms disclosed. Modifications and variations can be made in light of the foregoing disclosure, or can be obtained from practice of the embodiments.

[0092] As used herein, a service or content can include a set of packets. A packet can refer to a communication structure for communicating information, such as a protocol data unit (PDU), a service data unit (SDU), a network packet, a datagram, a segment, a message, a block, a frame (e.g., an Ethernet frame), a portion of any of the foregoing, and / or another type of formatted or unformatted data unit that can be transmitted over a network.

[0093] As used herein, the term "component" is intended to be broadly interpreted as hardware, firmware, or a combination of hardware and software. It is clear that the systems and / or methods described herein can be implemented in different forms of hardware, firmware, and / or combinations of hardware and software. The actual specific control hardware or software code used to implement the systems and / or methods is not a limitation on the implementation. Thus, the operations and behaviors of the systems and / or methods are described herein without reference to specific software code - it should be understood that the systems and / or methods can be implemented using software and hardware based on the description herein.

[0094] Although specific combinations of features are recited in the claims and / or specific combinations of features are disclosed in the specification, such combinations are not intended to limit the disclosure of various implementations. In fact, many of these features can be combined in ways not specifically recited in the claims and / or not specifically disclosed in the specification. Although each dependent claim listed below may directly depend on only one claim, the disclosure of various implementations includes each dependent claim in combination with all other claims in the claim set. As used herein, the phrase "at least one" in reference to a list of items refers to any combination of those items, including a single member. For example, "at least one of: a, b, or c" is intended to cover a, b, c, a - b, a - c, b - c, and a - b - c, as well as any combination with multiple identical items.

[0095] When a "processor" or "one or more processors" (or another device or component, such as a "controller" or "one or more controllers") is described or recited (within a single claim or across multiple claims) as performing multiple operations or being configured to perform multiple operations, such language is intended to broadly cover a variety of processor architectures and environments. For example, unless expressly stated otherwise (e.g., by using "a first processor" and "a second processor" or other language that differentiates processors in the claim), such language is intended to cover a single processor that performs or is configured to perform all of the operations, a group of processors that collectively perform or are configured to perform all of the operations, a first processor that performs or is configured to perform a first operation, and a second processor that performs or is configured to perform a second operation, or any combination of processors that perform or are configured to perform the operations. For example, when a claim has the form "one or more processors: perform X; perform Y; and perform Z," the claim should be interpreted as "one or more processors to perform X; one or more (possibly different) processors to perform Y; and one or more (also possibly different) processors to perform Z."

[0096] Unless expressly described otherwise, any element, act, or instruction used herein should not be construed as critical or essential. Additionally, as used herein, the articles "a" and "an" are intended to include one or more items and may be used interchangeably with "one or more." Additionally, as used herein, the article "the" is intended to include one or more items referenced in conjunction with the article "the" and may be used interchangeably with "one or more." Additionally, as used herein, the term "set" is intended to include one or more items (e.g., related items, unrelated items, or a combination of related and unrelated items) and may be used interchangeably with "one or more." In cases where only one item is intended, the phrase "only one" or similar language is used. Additionally, as used herein, the terms "having," "have," "containing," etc. are intended to be open-ended terms. Additionally, unless expressly stated, the phrase "based on" is intended to mean "at least partially based on." Additionally, as used herein, the term "or" when used in a series is intended to be inclusive and may be used interchangeably with "and / or" unless expressly stated otherwise (e.g., if used in conjunction with "either" or "only one of...").

[0097] Some example implementations of the present disclosure are listed below.

[0098] Example 1. A method, comprising:

[0099] receiving, by a first network device, a media access control (MAC) advertisement routing message, the MAC advertisement routing message indicating that a second network device has discovered a MAC address of a host device; and

[0100] Delete, by a first network device, one or more multicast memberships associated with a host device.

[0101] Example 2. The method according to Example 1 further includes:

[0102] Based on identifying the association of one or more multicast memberships with the host device, store, by the first network device, a MAC address, one or more multicast memberships associated with the host device, and an attachment circuit of the first network device in an entry of a database associated with the Internet Group Management Protocol (IGMP) with explicit tracking or multicast listener discovery (MLD) snooping.

[0103] Example 3. The method according to Example 2, wherein deleting one or more multicast memberships associated with the host device includes: deleting an entry from the database.

[0104] Example 4. The method according to Example 1 further includes:

[0105] Based on receiving a MAC advertisement routing message, send, by the first network device, a group-specific membership query for a multicast membership among one or more multicast memberships associated with the host device.

[0106] Example 5. The method according to Example 4 further includes:

[0107] Determine that a response to the group-specific membership query has not been received,

[0108] wherein deleting one or more multicast memberships associated with the host device includes: deleting the multicast membership based on determining that a response to the group-specific membership query has not been received.

[0109] Example 6. The method according to Example 1, wherein deleting one or more multicast memberships associated with the host device includes using an Internet Protocol (IP) address of the host device to delete one or more multicast memberships associated with the host device.

[0110] Example 7. The method according to Example 1, wherein the first network device is a first provider edge device associated with an Ethernet Virtual Private Network (EVPN), and wherein the second network device is a second provider edge device associated with the EVPN.

[0111] Example 8. The method according to Example 1, wherein the host device is a virtual machine.

[0112] Example 9. A method includes:

[0113] A network device of a network discovers a Media Access Control (MAC) address of a host device associated with an attachment circuit, where the host device has moved from another network device of the network to the network device; and

[0114] Based on the discovery of the MAC address of the host device that has moved from another network device to the network device, the network device sends a general membership query through the attachment circuit.

[0115] Example 10. The method according to Example 9 further includes:

[0116] Based on the general membership query, the network device receives a membership report associated with the host device; and

[0117] Updating a group membership database based on the membership report.

[0118] Example 11. The method according to Example 9, wherein the host device is a virtual machine.

[0119] Example 12. The method according to Example 9, wherein the network is an Ethernet Virtual Private Network (EVPN).

[0120] Example 13. A first network device includes:

[0121] One or more memories; and

[0122] One or more processors for:

[0123] Receiving a Media Access Control (MAC) advertisement routing message, the MAC advertisement routing message indicating that a second network device has discovered the MAC address of the host device; and

[0124] Deleting one or more multicast group memberships associated with the host device.

[0125] Example 14. The first network device according to Example 13, wherein the one or more processors are further for:

[0126] Based on identifying the association of one or more multicast group memberships with the host device, storing the MAC address, one or more multicast group memberships associated with the host device, and the attachment circuit of the first network device in an entry of a database associated with Internet Group Management Protocol (IGMP) with explicit tracking or Multicast Listener Discovery (MLD) snooping.

[0127] Example 15. The first network device according to Example 14, wherein, in order to delete one or more multicast group memberships associated with the host device, the one or more processors are for deleting the entry from the database.

[0128] Example 16. The first network device according to Example 13, wherein the one or more processors are further configured to:

[0129] Send a group - specific membership query based on receiving a MAC advertisement routing message.

[0130] Example 17. The first network device according to Example 16, wherein the one or more processors are further configured to:

[0131] Determine that a response to the group - specific membership query has not been received,

[0132] wherein, in order to delete one or more multicast group memberships associated with a host device, the one or more processors are configured to: delete one or more multicast group memberships associated with the host device based on determining that a response to the group - specific membership query has not been received.

[0133] Example 18. The first network device according to Example 13, wherein, in order to delete one or more multicast group memberships associated with a host device, the one or more processors are configured to: use the Internet Protocol (IP) address of the host device to delete one or more multicast group memberships associated with the host device.

[0134] Example 19. The first network device according to Example 13, wherein the first network device is a first Provider Edge (PE) device associated with an Ethernet Virtual Private Network (EVPN), and wherein the second network device is a second PE device associated with the EVPN.

[0135] Example 20. The first network device according to Example 13, wherein the host device is a virtual machine.

Claims

1. A method comprising: Receiving, by the first network device, a media access control MAC advertisement routing message, the MAC advertisement routing message indicating that the second network device has discovered a MAC address of the host device; as well as One or more multicast group memberships associated with the host device are deleted by the first network device.

2. The method according to claim 1, further comprising: Based on identifying the association of the one or more multicast group memberships with the host device, the first network device stores the MAC address, the one or more multicast group memberships associated with the host device, and the attachment circuit of the first network device in an entry of a database associated with Internet Group Management Protocol IGMP with explicit tracking or Multicast Listener Discovery MLD snooping.

3. The method of claim 2, wherein deleting the one or more multicast group memberships associated with the host device comprises: The entry is deleted from the database.

4. The method according to claim 1, further comprising: Based on receiving the MAC advertisement routing message, a group-specific membership query is sent by the first network device for a multicast group membership of the one or more multicast group memberships associated with the host device.

5. The method according to claim 4, further comprising: determining that a response to the group-specific membership query has not been received, Wherein deleting the one or more multicast group memberships associated with the host device comprises deleting the multicast group membership based on determining that the response to the group-specific membership query has not been received.

6. The method of claim 1, wherein deleting the one or more multicast group memberships associated with the host device comprises deleting the one or more multicast group memberships associated with the host device using an Internet Protocol (IP) address of the host device.

7. The method of claim 1, wherein the first network device is a first provider edge device associated with an Ethernet virtual private network (EVPN), and wherein the second network device is a second provider edge device associated with the EVPN. The method of claim 1 , wherein the host device is a virtual machine.

9. A method comprising: discovering, by a network device of a network, a media access control (MAC) address of a host device associated with an attachment circuit, the host device having moved to the network device from another network device of the network; as well as A generic membership query is sent by the network device through the attachment circuit based on discovering the MAC address of the host device has moved from the other network device to the network device.

10. The method according to claim 9, further comprising: receiving, by the network device, a membership report associated with the host device based on the general membership query; as well as A group membership database is updated based on the membership report. The method of claim 9 , wherein the host device is a virtual machine.

12. The method of claim 9, wherein the network is an Ethernet Virtual Private Network (EVPN).

13. A first network device, comprising: one or more memories; as well as One or more processors to: receiving a media access control MAC advertisement routing message indicating that the second network device has discovered a MAC address of the host device; and One or more multicast group memberships associated with the host device are deleted.

14. The first network device of claim 13, wherein the one or more processors are further configured to: Based on identifying the association of the one or more multicast group memberships with the host device, the MAC address, the one or more multicast group memberships associated with the host device, and the attachment circuit of the first network device are stored in an entry of a database associated with Internet Group Management Protocol (IGMP) with explicit tracking or Multicast Listener Discovery (MLD) snooping.

15. The first network device of claim 14, wherein to delete the one or more multicast group memberships associated with the host device, the one or more processors are operable to delete the entry from the database.

16. The first network device of claim 13, wherein the one or more processors are further configured to: Based on receiving the MAC Advertisement Routing message, a group-specific membership query is sent.

17. The first network device of claim 16, wherein the one or more processors are further configured to: determining that a response to the group-specific membership query has not been received, Wherein, in order to delete the one or more multicast group memberships associated with the host device, the one or more processors are configured to: delete the one or more multicast group memberships associated with the host device based on determining that the response to the group-specific membership query has not been received.

18. A first network device according to claim 13, wherein in order to delete the one or more multicast group memberships associated with the host device, the one or more processors are used to: use the Internet Protocol (IP) address of the host device to delete the one or more multicast group memberships associated with the host device.

19. The first network device of claim 13, wherein the first network device is a first provider edge (PE) device associated with an Ethernet virtual private network (EVPN), and wherein the second network device is a second PE device associated with the EVPN.

20. The first network device of claim 13, wherein the host device is a virtual machine.