Applying services within MPLS networks
First Claim
1. A method comprising:
- receiving, with a routing engine of a router of a network, input defining a filter that specifies (1) a user-defined handle that identifies a property common to a plurality of packets of a particular context, and (2) one or more services to be applied to the plurality of packets;
with the routing engine, automatically installing the filter within a service plane of the router;
maintaining, with the routing engine, data that defines an association between the handle and one or more Multi-Protocol Label Switching (MPLS) labels assigned to forward the plurality of packets of the particular context along a label switched patch (LSP);
with the routing engine, automatically generating and installing within a forwarding plane of the router a forwarding-plane filter that specifies one or more of the MPLS labels for filtering the network traffic;
applying, with the forwarding plane, the automatically generated forwarding-plane filter to an incoming MPLS packet of the network traffic to inspect only a label stack of the incoming packet without inspecting a remaining portion of a header and a payload of the packet to determine whether the label stack of the MPLS packet contains any of the one or more MPLS labels;
when the MPLS packet contains any of the MPLS labels of the filter, forwarding the MPLS packet and additional context information from the forwarding plane to the service plane of the router;
with the services plane of the router, applying the filter to the packet to select one or more of the services based on the additional context information received from the forwarding plane; and
applying, with the service plane, the selected one or more of the services to the incoming MPLS packet received from the forwarding plane.
1 Assignment
0 Petitions
Accused Products
Abstract
In general, techniques are described that facilitate application of service within MPLS networks. More specifically, a router comprises a forwarding plane, a service plane and a routing engine. The routing engine maintains data defining an association between a handle identifying a property common to a plurality of packets of a particular context and one or more MPLS labels associated with these packets. The routing engine automatically generates and installs a filter to identify these packets within both the forwarding and service planes. The forwarding plane applies the filter to incoming packets to determine whether each of the incoming packets includes a label matching any of the labels of the filter and forwards the incoming packets to the service plane upon a match. The service card selects one or more services identified by the filter and applies the selected one or more services to the incoming packet.
-
Citations
42 Claims
-
1. A method comprising:
-
receiving, with a routing engine of a router of a network, input defining a filter that specifies (1) a user-defined handle that identifies a property common to a plurality of packets of a particular context, and (2) one or more services to be applied to the plurality of packets;
with the routing engine, automatically installing the filter within a service plane of the router;maintaining, with the routing engine, data that defines an association between the handle and one or more Multi-Protocol Label Switching (MPLS) labels assigned to forward the plurality of packets of the particular context along a label switched patch (LSP);
with the routing engine, automatically generating and installing within a forwarding plane of the router a forwarding-plane filter that specifies one or more of the MPLS labels for filtering the network traffic;applying, with the forwarding plane, the automatically generated forwarding-plane filter to an incoming MPLS packet of the network traffic to inspect only a label stack of the incoming packet without inspecting a remaining portion of a header and a payload of the packet to determine whether the label stack of the MPLS packet contains any of the one or more MPLS labels; when the MPLS packet contains any of the MPLS labels of the filter, forwarding the MPLS packet and additional context information from the forwarding plane to the service plane of the router; with the services plane of the router, applying the filter to the packet to select one or more of the services based on the additional context information received from the forwarding plane; and applying, with the service plane, the selected one or more of the services to the incoming MPLS packet received from the forwarding plane. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A router comprising:
-
a service plane; a forwarding plane; and a routing engine that receives input defining a filter that specifies (1) a user-defined handle that identifies a property common to a plurality of packets of a particular context, and (2) one or more services to be applied to the plurality of packets, automatically installs the filter within the service plane, maintains data that defines an association between the handle and one or more Multi-Protocol Label Switching (MPLS) labels assigned to forward the plurality of packets of the particular context along a label switched patch (LSP), automatically generates a forwarding-plane filter, and installs within the forwarding plane the forwarding-plane filter that specifies one or more of the MPLS labels for filtering the network traffic, wherein the forwarding plane includes a forwarding component that applies the automatically generated forwarding-plane filter to an incoming MPLS packet of the network traffic to inspect only a label stack of the incoming packet without inspecting a remaining portion of a header and a payload of the packet to determine whether the label stack of the MPLS packet contains any of the one or more MPLS labels and, when the MPLS packet contains any of the MPLS labels of the filter, forwards the MPLS packet and additional context information to the service plane, and wherein the service plane includes at least one service card that applies the filter to the packet to select one or more of the services based on the additional context information received from the forwarding plane and applies the selected one or more of the services to the incoming MPLS packet received from the forwarding plane. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A network system comprising:
-
a customer network; and a packet-based network coupled to the customer network that employs a label switching protocol to establish paths by which to forward data, wherein the packet-based network includes a router comprising; a service plane; a forwarding plane; and a routing engine that receives input defining a filter that specifies (1) a user-defined handle that identifies a property common to a plurality of packets of a particular context, and (2) one or more services to be applied to the plurality of packets, automatically installs the filter within the service plane, maintains data that defines an association between the handle and one or more Multi-Protocol Label Switching (MPLS) labels assigned to forward the plurality of packets of the particular context along a label switched patch (LSP), automatically generates a forwarding-plane filter, and installs within the forwarding plane the forwarding-plane filter that specifies one or more of the MPLS labels for filtering the network traffic, wherein the forwarding plane includes a forwarding component that applies the automatically generated forwarding-plane filter to an incoming MPLS packet of the network traffic to inspect only a label stack of the incoming packet without inspecting a remaining portion of a header and a payload of the packet to determine whether the label stack of the MPLS packet contains any of the one or more MPLS labels and, when the MPLS packet contains any of the MPLS labels of the filter, forwards the MPLS packet and additional context information to the service plane, and wherein the service plane includes at least one service card that applies the filter to the packet to select one or more of the services based on the additional context information received from the forwarding plane and applies the selected one or more of the services to the incoming MPLS packet received from the forwarding plane. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41)
-
-
42. A non-transitory computer-readable storage medium comprising instructions for causing a programmable processor to:
-
receive, with a routing engine of a router of a network, input defining a filter that specifies (1) a user-defined handle that identifies a property common to a plurality of packets of a particular context, and (2) one or more services to be applied to the plurality of packets;
with the routing engine, automatically install the filter within a service plane of the router;maintain, with the routing engine, data that defines an association between the handle and one or more Multi-Protocol Label Switching (MPLS) labels assigned to forward the plurality of packets of the particular context along a label switched patch (LSP); with the routing engine, automatically generate and install within a forwarding plane of the router a forwarding-plane filter that specifies one or more of the MPLS labels for filtering the network traffic; apply, with the forwarding plane, the automatically generated forwarding-plane filter to an incoming MPLS packet of the network traffic to inspect only a label stack of the incoming packet without inspecting a remaining portion of a header and a payload of the packet to determine whether the label stack of the MPLS packet contains any of the one or more MPLS labels; when the MPLS packet contains any of the MPLS labels of the filter, forward the MPLS packet and additional context information from the forwarding plane to the service plane of the router; with the services plane of the router, apply the filter to the packet to select one or more of the services based on the additional context information received from the forwarding plane; and apply, with the service plane, the selected one or more of the services to the incoming MPLS packet received from the forwarding plane.
-
Specification