Upstream multicast hop (UMH) extensions for anycast deployments
An example egress network device includes at least one computer processor and a memory. The memory includes instructions that cause the at least one computer processor to receive messages from each of a plurality of ingress network devices. Each message specifies a multicast source as an anycast address that belongs to two or more sources, a multicast group, and a customer site identifier that uniquely identifies a customer network device via which the anycast address is reachable. The instructions cause the at least one computer processor to select, based on the customer site identifiers, one of the plurality of ingress network devices to which to send a multicast join message of a plurality of multicast join messages for the multicast source and multicast group. The instructions cause the at least one computer processor to send the multicast join message to the selected one of the plurality of ingress network devices.
1 . An ingress network device comprising:
processing circuitry; and
memory comprising instructions that when executed by the processing circuitry cause the processing circuitry to:
receive, from a customer network device via which a multicast source device is reachable, a customer site identifier (ID) that uniquely identifies the customer network device, the customer site ID comprising a router ID of the customer network device;
store data associating the customer site ID with the customer network device; and
send, to an egress network device of the network, a message that specifies; the customer site ID via an extended community attribute, a multicast source as an anycast address that belongs to two or more different multicast sources including the multicast source device, and a multicast group.
2 . The ingress network device of claim 1 , wherein prior to receiving the customer site ID, the instructions cause the processing circuitry to query the customer network device to obtain the router ID.
3 . The ingress network device of claim 1 , wherein as part of storing the data associating the customer site ID with the customer network device, the instructions cause the processing circuitry to store data associating the customer site ID with a link or port of the ingress network device that is coupled to the customer network device.
4 . The ingress network device of claim 1 , wherein as part of storing the data associating the customer site ID with the customer network device, the instructions cause the processing circuitry to store data associating the customer site ID with an IP address associated with the customer network device.
5 . The ingress network device of claim 1 , wherein the instructions further cause the processing circuitry to:
receive, from the egress network device, a multicast join message for the anycast address and the multicast group; and
send a plurality of flows from the multicast source device in response to receiving the multicast join message.
6 . The ingress network device of claim 1 , wherein the message comprises an auto discovery message for the multicast source and the multicast group.
7 . The ingress network device of claim 1 , wherein the message comprises one of a Border Gateway Protocol (BGP) Multicast Virtual Private Network (MVPN) Type-1 route or a BGP MVPN Type-5 route.
8 . The ingress network device of claim 1 , wherein the customer site ID uniquely identifies a customer network.
9 . A method comprising:
receiving, by an ingress network device of a network, a customer site identifier (ID) that uniquely identifies a customer network device via which a multicast source device is reachable, the customer site ID comprising a router ID of the customer network device;
storing, by the ingress network device, data associating the customer site ID with the customer network device; and
sending, by the ingress network device and to an egress network device of the network, a message that specifies; the customer site ID via an extended community attribute, a multicast source as an anycast address that belongs to two or more different sources, and a multicast group.
10 . The method of claim 9 , further comprising querying, by the ingress network device, the customer network device to obtain the router ID.
11 . The method of claim 9 , wherein storing the data associating the customer site ID with the customer network device comprises storing data associating the customer site ID with a link or port of the ingress network device that is coupled to the customer network device.
12 . The method of claim 9 , wherein storing the data associating the customer site ID with the customer network device comprises storing data associating the customer site ID with an IP address associated with the customer network device.
13 . The method of claim 9 , further comprising:
receiving, by the ingress network device and from the egress network device, a multicast join message for the anycast address and the multicast group; and
sending, by the ingress network device, a plurality of flows from the multicast source device in response to receiving the multicast join message.
14 . The method of claim 9 , wherein the message comprises an auto discovery message for the multicast source and the multicast group.
15 . The method of claim 9 , wherein the message comprises one of a Border Gateway Protocol (BGP) Multicast Virtual Private Network (MVPN) Type-1 route or a BGP MVPN Type-5 route.
16 . An egress network device comprising:
processing circuitry; and
memory comprising instructions that when executed by the processing circuitry cause the processing circuitry to:
receive a plurality of messages including a corresponding message from each of a plurality of ingress network devices for a network, wherein each of the plurality of messages specifies an anycast address that belongs to two or more different multicast sources, a multicast group, and a respective customer site identifier that uniquely identifies a corresponding customer network device via which a corresponding multicast source of the two or more different multicast sources is reachable;
select, based on at least one of a plurality of customer site identifiers specified by the plurality of messages, one of the plurality of ingress network devices to which to send a multicast join message of a plurality of multicast join messages for the anycast address and the multicast group; and
send the multicast join message to the selected one of the plurality of ingress network devices.