Network packet steering via configurable association of processing resources and netmods or line interface ports
First Claim
Patent Images
1. A network packet steering system, comprising:
- a plurality of processing resources provided by a network routing/switching device, each of the processing resources comprising a network packet forwarding resource, a network packet routing resource, a network packet encryption/decryption resource or a network packet authentication resource;
a plurality of network interfaces of the network routing/switching device;
wherein the one or more processing resources are configurable, uniquely identified within the network routing/switching device, and dynamically assigned to one or more of the plurality of network interfaces or to one or more line interface ports associated with the plurality of network interfaces, and wherein those of the one or more network interfaces that have been assigned a processing resource of the plurality of processing resources steer subsequently received incoming network packets to the assigned processing resource of the plurality of processing resources based on the dynamically configured assignment;
wherein one or more of the network interfaces that has been assigned a processing resource of the plurality of processing resources uses the dynamically configured assignment to perform one or more filter operations on the incoming network packets before steering the incoming network packets; and
wherein the dynamically configured assignment is stored within a volatile memory associated with one or more of the plurality of network interfaces in the form of a table data structure containing a unique identifier/address of the assigned processing resource of the plurality of processing resources.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems are provided for steering network packets. According to one embodiment, a mapping associates a processing resource with a network interface module (netmod) and/or a number of line interface ports included within the netmod. In one embodiment, the mapping is configurable within the processing resource and pushed to the netmod. The netmod uses the mapping to steer network packets to the processing resource when the packets conform to the mapping. The mapping may be additionally used to identify a specific process that is to be performed against the packets once the processing resource receives the steered packets from the netmod.
238 Citations
31 Claims
-
1. A network packet steering system, comprising:
-
a plurality of processing resources provided by a network routing/switching device, each of the processing resources comprising a network packet forwarding resource, a network packet routing resource, a network packet encryption/decryption resource or a network packet authentication resource; a plurality of network interfaces of the network routing/switching device; wherein the one or more processing resources are configurable, uniquely identified within the network routing/switching device, and dynamically assigned to one or more of the plurality of network interfaces or to one or more line interface ports associated with the plurality of network interfaces, and wherein those of the one or more network interfaces that have been assigned a processing resource of the plurality of processing resources steer subsequently received incoming network packets to the assigned processing resource of the plurality of processing resources based on the dynamically configured assignment; wherein one or more of the network interfaces that has been assigned a processing resource of the plurality of processing resources uses the dynamically configured assignment to perform one or more filter operations on the incoming network packets before steering the incoming network packets; and wherein the dynamically configured assignment is stored within a volatile memory associated with one or more of the plurality of network interfaces in the form of a table data structure containing a unique identifier/address of the assigned processing resource of the plurality of processing resources. - View Dependent Claims (2, 3, 4)
-
-
5. A network interface steering table data structure tangibly embodied on a computer-readable medium within a network routing/switching device, comprising:
-
a plurality of interface identifiers corresponding to network interfaces of the network routing/switching device; a plurality of sub-interface identifiers associated with each interface identifier of the plurality of interface identifiers; an address and a pointer corresponding to each sub-interface identifier of the plurality of sub-interface identifiers, the address being associated with a processing resource of a plurality of processing resources of the network routing/switching device to which packets arriving on the sub-interface are to be steered, the pointer being associated with a specific process within the processing resource that is to be used to process the packets, and both the address and the pointer are dynamically associated with the sub-interface, each of the plurality of processing resources comprising a network packet forwarding resource, a network packet routing resource, a network packet encryption/decryption resource or a network packet authentication resource; wherein when a packet is received by a network interface of the network routing/switching device, the network interface steering table data structure is indexed based on one or more of an interface identifier of the network interface receiving the packet and a sub-interface identifier associated with a line interface port of the network interface on which the packet was received, and the network interface steering table data structure provides the corresponding address and the corresponding pointer to facilitate steering of the received packet within the network routing/switching device; and wherein the corresponding address and corresponding pointer are dynamically reconfigured responsive to network traffic changes, to facilitate throughput by a networking device or to load balance received network traffic among a plurality of processing resources of a networking device. - View Dependent Claims (6, 7, 8, 9, 10)
-
-
11. A method comprising:
-
providing a dynamically configurable mapping that associates each of a plurality of network interfaces of a network routing/switching device or each of one or more components of the plurality of network interfaces with one or more processing resources of a plurality of processing resources of the network routing/switching device, each of the plurality of processing resources comprising a network packet forwarding resource, a network packet routing resource, a network packet encryption/decryption resource or a network packet authentication resource, wherein the dynamically configured mapping is stored within a volatile memory associated with one or more of the plurality of network interfaces in the form of a table data structure containing a unique identifier/address of the associated processing resource of the plurality of processing resources; responsive to receiving a packet on a particular network interface of the plurality of network interfaces, determining an appropriate processing resource of the plurality of processing resources to which the received packet is to be steered by retrieving information indicative of the associated processing resource from the dynamically configurable mapping based on one or more of the particular network interface upon which the received packet arrived and a component of the network interface upon which the received packet arrived; and wherein the dynamically configurable mapping is used to have one or more of the plurality of network interfaces perform one or more filter operations on packets received on the one or more network interfaces prior to steering the packets to a processing resource of the plurality of processing resources. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A method comprising:
-
providing a dynamically configurable mapping that associates each of a plurality of network interfaces of a network routing/switching device or each of one or more components of the plurality of network interfaces with one or more processing resources of a plurality of processing resources of the network routing/switching device, each of the plurality of processing resources comprising a network packet forwarding resource, a network packet routing resource, a network packet encryption/decryption resource or a network packet authentication resource, wherein the dynamically configured mapping is stored within a volatile memory associated with one or more of the plurality of network interfaces in the form of a table data structure containing a unique identifier/address of the associated processing resource of the plurality of processing resources; responsive to receiving a packet on a particular network interface of the plurality of network interfaces, determining an appropriate processing resource of the plurality of processing resources to which the received packet is to be steered by retrieving information indicative of the associated processing resource from the dynamically configurable mapping based on one or more of the particular network interface upon which the received packet arrived and a component of the network interface upon which the received packet arrived; and reconfiguring the dynamically configurable mapping responsive to processing and memory capabilities of the plurality of processing resources or responsive to operational status of the plurality of processing resources. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
-
25. A method comprising:
-
providing a dynamically configurable mapping that associates each of a plurality of network interfaces of a network routing/switching device or each of one or more components of the plurality of network interfaces with one or more processing resources of a plurality of processing resources of the network routing/switching device, each of the plurality of processing resources comprising a network packet forwarding resource, a network packet routing resource, a network packet encryption/decryption resource or a network packet authentication resource, wherein the dynamically configured mapping is stored within a volatile memory associated with one or more of the plurality of network interfaces in the form of a table data structure containing a unique identifier/address of the associated processing resource of the plurality of processing resources; responsive to receiving a packet on a particular network interface of the plurality of network interfaces, determining an appropriate processing resource of the plurality of processing resources to which the received packet is to be steered by retrieving information indicative of the associated processing resource from the dynamically configurable mapping based on one or more of the particular network interface upon which the received packet arrived and a component of the network interface upon which the received packet arrived; and load balancing network traffic among the plurality of processing resources. - View Dependent Claims (26, 27, 28, 29, 30, 31)
-
Specification