Loop avoidance technique for the multicast control plane
AssigneeCisco Technology, Inc.
InventorsStefan Olofsson, Ijsbrand Wijnands
Life of this patent
Estimating the term…
Abstract
The present disclosure provides for a loop avoidance technique that implements an upstream neighbor check to detect any forwarding inconsistencies. When a message is received from a neighbor routing element, an upstream neighbor check is performed to determine whether the neighbor routing element is an upstream neighbor toward a content provider of a datastream identified in the message. If the check determines that the neighbor routing element is not an upstream neighbor, then a forwarding inconsistency is not detected. If the check determines that the neighbor routing element is an upstream neighbor, then a forwarding inconsistency is detected.
Claims21
A method, comprising:
- receiving a message from a neighbor routing element at a routing element, wherein
- the message identifies a datastream, and
- the datastream is provided by a content provider;
- performing an upstream neighbor check, in response to receiving the message, wherein
- the upstream neighbor check determines whether the neighbor routing element is one of a plurality of upstream neighbors toward the content provider;
- if the neighbor routing element is one of the plurality of upstream neighbors, determining that a forwarding inconsistency is detected, and holding the message in response to the determining that a forwarding inconsistency is detected;
- and
- if the neighbor routing element is not one of the plurality of upstream neighbors, determining that no forwarding inconsistency is detected, and forwarding the message in response to the determining that no forwarding inconsistency is detected.
A non-transitory computer readable storage medium configured to store program instructions that, when executed on a processor, are configured to cause the processor to perform a method comprising:
- receiving a message from a neighbor routing element at a routing element, wherein
- the message identifies a datastream, and
- the datastream is provided by a content provider;
- performing an upstream neighbor check, in response to receiving the message, wherein
- the upstream neighbor check determines whether the neighbor routing element is one of a plurality of upstream neighbors toward the content provider;
- if the neighbor routing element is one of the plurality of upstream neighbors, determining that a forwarding inconsistency is detected, and holding the message in response to the determining that a forwarding inconsistency is detected;
- and
- if the neighbor routing element is not one of the plurality of upstream neighbors, determining that no forwarding inconsistency is detected, and forwarding the message in response to the determining that no forwarding inconsistency is detected.
An apparatus comprising:
- a processor;
- and
- a memory coupled to the processor and configured to store instructions executable by the processor, the instructions configured to
- receive a message from a neighbor routing element at a routing element, wherein
- the message identifies a datastream, and
- the datastream is provided by a content provider;
- perform an upstream neighbor check, in response to receiving the message,
- wherein
- the upstream neighbor check determines whether the neighbor routing element is one of a plurality of upstream neighbors toward the content provider;
- if the neighbor routing element is one of the plurality of upstream neighbors, determine that a forwarding inconsistency is detected, and hold the message in response to determining that a forwarding inconsistency is detected;
- and
- if the neighbor routing element is not one of the plurality of upstream neighbors, determine that no forwarding inconsistency is detected, and forward the message in response to determining that no forwarding inconsistency is detected.
Dependencies are inferred from the claim text.