Fast reroute between redundant multicast streams
First Claim
1. A method comprising:
- receiving, with a network device, a primary multicast stream and a secondary multicast stream, wherein the primary multicast stream and the secondary multicast stream are redundant multicast streams received over disjoint multicast forwarding paths;
applying a hardware-based analyzer in a forwarding plane of the network device to detect when a quality of the primary multicast stream has fallen below a threshold;
in response to detecting that the quality of the primary multicast stream has fallen below a threshold and the secondary multicast stream has a quality that meets the threshold and, with a hardware-based monitor block of the forwarding plane of the network device, reprogramming a hardware-based selector block of the forwarding plane to produce a value indicating that an incoming interface on which the secondary multicast stream is received is an expected incoming interface for the redundant multicast streams;
forwarding packets received on the secondary multicast stream in response to determining that the packets were received on the expected incoming interface output by the selector block; and
discarding packets of the primary multicast stream for which the quality has fallen below the threshold in response to determining that the packets of the primary multicast stream were not received on the expected incoming interface output by the selector block.
1 Assignment
0 Petitions
Accused Products
Abstract
A packet-forwarding integrated circuit includes a control logic module and a selector block configured to produce a value indicating an incoming interface associated with a multicast data stream that meets stream health requirements, wherein the multicast data stream is one of a plurality of redundant multicast data streams each received on different incoming interfaces, wherein based on the value produced by the selector block the control logic module outputs data packets of the multicast data stream that meets stream health requirements received on the incoming interface, and discards data packets of other multicast data streams received on other incoming interfaces not indicated by the selector block. In response to detecting that a quality of one of the redundant multicast data streams has fallen below a configured threshold, the control logic automatically rewrites the selector block to forward a different one of the redundant multicast data streams.
162 Citations
19 Claims
-
1. A method comprising:
-
receiving, with a network device, a primary multicast stream and a secondary multicast stream, wherein the primary multicast stream and the secondary multicast stream are redundant multicast streams received over disjoint multicast forwarding paths; applying a hardware-based analyzer in a forwarding plane of the network device to detect when a quality of the primary multicast stream has fallen below a threshold; in response to detecting that the quality of the primary multicast stream has fallen below a threshold and the secondary multicast stream has a quality that meets the threshold and, with a hardware-based monitor block of the forwarding plane of the network device, reprogramming a hardware-based selector block of the forwarding plane to produce a value indicating that an incoming interface on which the secondary multicast stream is received is an expected incoming interface for the redundant multicast streams; forwarding packets received on the secondary multicast stream in response to determining that the packets were received on the expected incoming interface output by the selector block; and discarding packets of the primary multicast stream for which the quality has fallen below the threshold in response to determining that the packets of the primary multicast stream were not received on the expected incoming interface output by the selector block. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A routing device comprising:
-
a forwarding component comprising; a general-purpose processor; and a packet-forwarding integrated circuit comprising; a control logic module; a hardware-based selector block configured to produce a value indicating an incoming interface associated with a multicast data stream that satisfies a quality threshold, wherein the multicast data stream is one of a plurality of redundant multicast data streams each received on different incoming interfaces, wherein based on the value produced by the selector block the control logic module outputs data packets of the multicast data stream that meets stream health requirements received on the incoming interface, and discards data packets of other multicast data streams received on other incoming interfaces not indicated by the selector block; a memory to store a hardware version of a forwarding information base (FIB), the hardware version of the FIB including a plurality of entries addressable by the packet-forwarding integrated circuit, wherein each of the entries is associated with different packet header key data, and identifies one or more forwarding next hops for forwarding data packets matching the respective entry, wherein each of the entries identifies a list of incoming interfaces of the network device and identifies the selector block to produce a value indicating which of the incoming interfaces of the list is an expected incoming interface on which packets matching the corresponding entry of the hardware version of the FIB are expected to be received, wherein the selector block is configured to, in response to the control logic module addressing one of the entries of the hardware version of the FIB, produce one of the incoming interfaces of the list associated with the addressed entry as the expected incoming interface for the entry based at least on the value produced by the selector block; and a hardware-based monitor block that, in response to detecting that a quality of one of the redundant multicast data streams received on the expected incoming interface has fallen below the quality threshold, automatically rewrites the associated selector block in the hardware version of the FIB to produce a value indicating that an incoming interface associated with a different one of the redundant multicast data streams is the expected incoming interface. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A non-transitory computer-readable storage medium comprising instructions for causing a programmable processor to:
-
receive a primary multicast stream and a secondary multicast stream, wherein the primary multicast stream and the secondary multicast stream are redundant multicast streams received over disjoint multicast forwarding paths; apply a hardware-based analyzer in a forwarding plane of the network device to detect when a quality of the primary multicast stream has fallen below a threshold; in response to detecting that the quality of the primary multicast stream has fallen below a threshold the secondary multicast stream has a quality that meets the threshold, and, with a hardware-based monitor block of the forwarding plane of the network device, reprogram a hardware block of the forwarding plane to produce a value indicating that an incoming interface on which the secondary multicast stream is received is an expected incoming interface for the redundant multicast streams; forward packets received on the secondary multicast stream in response to determining that the packets were received on the expected incoming interface output by the selector block; and discard packets of the primary multicast stream for which the quality has fallen below the threshold in response to determining that the packets of the primary multicast stream were not received on the expected incoming interface output by the selector block.
-
-
17. A packet-forwarding integrated circuit comprising:
-
a hardware-based analyzer to detect when a quality of a primary multicast stream has fallen below a threshold, wherein the primary multicast stream and a secondary multicast stream are redundant multicast streams received over disjoint multicast forwarding paths; and a hardware-based monitor block of the forwarding plane of the network device to, in response to detecting that the quality of the primary multicast stream has fallen below a threshold and the secondary multicast stream has a quality that meets the threshold reprogram a hardware block of the forwarding plane to produce a value indicating that an incoming interface on which the secondary multicast stream is received is an expected incoming interface for the redundant multicast streams, wherein the packet-forwarding integrated circuit forwards packets received on the secondary multicast stream in response to determining that the packets were received on the expected incoming interface output by the selector block, and discards packets of the multicast stream received on the primary multicast stream for which the quality has fallen below the threshold in response to determining that the packets of the primary multicast stream were not received on the expected incoming interface output by the selector block.
-
-
18. A routing device comprising:
-
one or more interfaces to receive a primary multicast stream and a secondary multicast stream, wherein the primary multicast stream and the secondary multicast stream are redundant multicast streams received over disjoint multicast forwarding paths; a forwarding component comprising; a general-purpose processor; and a packet-forwarding integrated circuit comprising; a hardware-based analyzer to detect when a quality of the primary multicast stream has fallen below a threshold; and a hardware-based monitor block of the forwarding plane of the network device to, in response to detecting that the quality of the primary multicast stream has fallen below a threshold and the secondary multicast stream has a quality that meets the threshold, reprogram a hardware block of the forwarding plane to produce a value indicating that an incoming interface on which the secondary multicast stream is received is an expected incoming interface for the redundant multicast streams; wherein the packet-forwarding integrated circuit forwards packets received on the secondary multicast stream in response to determining that the packets were received on the expected incoming interface output by the selector block, and discards packets of the multicast stream received on the primary multicast stream for which the quality has fallen below the threshold in response to determining that the packets of the primary multicast stream were not received on the expected incoming interface output by the selector block. - View Dependent Claims (19)
-
Specification