Fast reroute of 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 one of the primary multicast stream or the secondary multicast stream has fallen below a threshold;
in response to detecting that a quality of one of the primary multicast stream or the secondary multicast stream has fallen below a threshold, selecting, via a thread executing in a forwarding component of the network device, a different one of the primary multicast stream or the secondary multicast stream having a quality that meets the threshold, wherein selecting includes dynamically rewriting next hop operations associated with the selected stream;
forwarding packets received on the selected one of the primary multicast stream or the secondary multicast stream; and
discarding packets of the multicast stream received on the other one of the primary multicast stream or the secondary multicast stream for which the quality has fallen below the threshold.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for selecting packets to be forwarded from redundant multicast streams. A primary multicast stream and a secondary multicast stream are received, wherein the primary multicast stream and the secondary multicast stream are redundant multicast streams received over disjoint multicast forwarding paths. A hardware-based analyzer in a forwarding plane of the network device is applied to detect when a quality of one of the primary multicast stream or the secondary multicast stream has fallen below a threshold. In response to detecting that a quality of one of the primary multicast stream or the secondary multicast stream has fallen below a threshold, selecting, via a thread executing in a forwarding component of the network device, a different one of the primary multicast stream or the secondary multicast stream having a quality that meets the threshold, wherein selecting includes dynamically rewriting next hop operations associated with the selected stream. Packets received on the selected one of the primary multicast stream or the secondary multicast stream are forwarded and packets of the multicast stream received on the other one of the primary multicast stream or the secondary multicast stream for which the quality has fallen below the threshold are discarded.
174 Citations
35 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 one of the primary multicast stream or the secondary multicast stream has fallen below a threshold; in response to detecting that a quality of one of the primary multicast stream or the secondary multicast stream has fallen below a threshold, selecting, via a thread executing in a forwarding component of the network device, a different one of the primary multicast stream or the secondary multicast stream having a quality that meets the threshold, wherein selecting includes dynamically rewriting next hop operations associated with the selected stream; forwarding packets received on the selected one of the primary multicast stream or the secondary multicast stream; and discarding packets of the multicast stream received on the other one of the primary multicast stream or the secondary multicast stream for which the quality has fallen below the threshold. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A routing device comprising:
-
one or more interface cards having at least one port to send and receive packets; and a forwarding component coupled to the interface cards, the forwarding component comprising; a packet-forwarding integrated circuit comprising; a control logic module; and an inline fast re-route table, wherein the inline fast re-route table maintains status associated with each of a plurality of redundant multicast data streams, wherein the status is used to select a redundant multicast data stream from the plurality of redundant multicast data streams to forward to a next routing device and to discard any remaining streams; 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, and wherein each entry identifies an incoming interface for a multicast data stream; and a processor, wherein the processor, in response to detecting that a quality of one of the redundant multicast data streams has fallen below the quality threshold, automatically rewrites next hop operations to forward a different redundant multicast data stream to the next routing device. - View Dependent Claims (9, 10, 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 one of the primary multicast stream or the secondary multicast stream has fallen below a threshold; in response to detecting that a quality of one of the primary multicast stream or the secondary multicast stream has fallen below a threshold, select, via a thread executing in a forwarding component of the network device, a different one of the primary multicast stream or the secondary multicast stream having a quality that meets the threshold, wherein selecting includes dynamically rewriting next hop operations associated with the selected stream; forward packets received on the selected one of the primary multicast stream or the secondary multicast stream; and discard packets of the multicast stream received on the other one of the primary multicast stream or the secondary multicast stream for which the quality has fallen below the threshold. - View Dependent Claims (17)
-
-
18. A packet-forwarding integrated circuit comprising:
-
a hardware-based analyzer to detect when a quality of one of a primary multicast stream and a secondary multicast stream has fallen below a threshold, wherein the primary multicast stream and the secondary multicast stream are redundant multicast streams received over disjoint multicast forwarding paths; and means for selecting, when a quality of one of the primary multicast stream or the secondary multicast stream has fallen below a threshold, a different one of the primary multicast stream or the secondary multicast stream having a quality that meets the threshold, wherein selecting comprises dynamically rewriting next hop operations associated with the selected stream, wherein the packet-forwarding integrated circuit forwards packets received on the selected one of the primary multicast stream or the secondary multicast stream, and discards packets of the multicast stream received on the other one of the primary multicast stream or the secondary multicast stream for which the quality has fallen below the threshold. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. 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; and a forwarding component connected to the one or more interfaces, wherein the forwarding component comprises; a general-purpose processor; and a packet-forwarding integrated circuit comprising a hardware-based analyzer to detect when a quality of one of the primary multicast stream or the secondary multicast stream has fallen below a threshold; wherein a thread executing in the general-purpose processor detects that a quality of one of the primary multicast stream or the secondary multicast stream has fallen below a threshold and selects a different one of the primary multicast stream or the secondary multicast stream having a quality that meets the threshold, wherein selecting includes dynamically rewriting next hop operations associated with the selected stream; and wherein the packet-forwarding integrated circuit forwards packets received on the selected one of the primary multicast stream or the secondary multicast stream, and discards packets of the multicast stream received on other ones of the primary multicast stream or the secondary multicast stream. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35)
-
Specification