Abstract:
A packet processor provides for rule matching of packets in a network architecture. The packet processor includes a lookup cluster complex having a number of lookup engines and respective on-chip memory units. The on-chip memory stores rules for matching against packet data. Each of the lookup engines receives a key request associated with a packet and determines a subset of the rules to match against the packet data. A work product may be migrated between lookup engines to complete the rule matching process. As a result of the rule matching, the lookup engine returns a response message indicating whether a match is found.
Abstract:
In one embodiment, a method includes encoding a key matching rule having at least one dimension by storing in a memory (i) a header of the key matching rule that has at least one header field, and (ii) at least one rule value field of the key matching rule corresponding to one of the dimensions.
Abstract:
In one embodiment, a method comprises: receiving, by a parent network device in a directed acyclic graph (DAG) network topology, a data packet destined toward a DAG root and having been output by a target device in the network topology; identifying, by the parent network device based on the received data packet, an identifiable condition for caching a downward path enabling the parent network device to reach the target device independent of any route table entry in the parent network device; and caching, in the parent network device, the downward path enabling the parent network device to reach the target device independent of any route table entry in the parent network device.
Abstract:
Roughly described, a network interface device is assigned a maximum extent-of-search. A hash function is applied to the header information of each incoming packet, to generate a hash code for the packet. The hash code designates a particular subset of the table within which the particular header information should be found, and an iterative search is made within that subset. If the search locates a matching entry before the search limit is exceeded, then the incoming data packet is delivered to the receive queue identified in the matching entry. But if the search reaches the search limit before a matching entry is located, then device delivers the packet to a default queue, such as a kernel queue, in the host computer system. The kernel is then responsible for delivering the packet to the correct endpoint.
Abstract:
Within a networking device, packet portions from multiple PDRSDs (Packet Data Receiving and Splitting Devices) are loaded into a single memory, so that the packet portions can later be processed by a processing device. Rather than the PDRSDs managing and handling the storing of packet portions into the memory, a packet engine is provided. The PDRSDs use a PPI (Packet Portion Identifier) Addressing Mode (PAM) in communicating with the packet engine and in instructing the packet engine to store packet portions. A PDRSD requests a PPI from the packet engine in a PPI allocation request, and is allocated a PPI by the packet engine in a PPI allocation response, and then tags the packet portion to be written with the PPI and sends the packet portion and the PPI to the packet engine.
Abstract:
An apparatus and method of using a cache to improve a learn rate for a content-addressable memory (“CAM”) are disclosed. A network device such as a router or a switch, in one embodiment, includes a key generator, a searching circuit, and a key cache, wherein the key generator is capable of generating a first lookup key in response to a first packet. The searching circuit is configured to search the content of the CAM to match the first lookup key. If the first lookup key is not found in the CAM, the key cache stores the first lookup key in response to a first miss.
Abstract:
The present invention is related to a system and method for examining a communication stream between two nodes for a protocol of interest. If a protocol of interest is found, the communication stream is diverted to a divert host. If a protocol of interest is not found, the stream passes without diversion. By way of example, the invention is shown to work with TCP and UDP.
Abstract:
A rule engine configured with at least one hash table which summarizes the rules managed by the engine. The rule engine receives rules and automatically adjusts the hash table in order to relate to added rules and/or in order to remove cancelled rules. The adjustment may be performed while the rule engine is filtering packets, without stopping. The rules may be grouped into a plurality of rule types and for each rule type the rule engine performs one or more accesses to at least one hash table to determine whether any of the rules of that type match the packet. In some embodiments, the rule engine may automatically select the rule types responsive to a set of rules provided to the rule engine and adapt its operation to the specific rules it is currently handling, while not spending resources on checking rule types not currently used.
Abstract:
In one embodiment, a computer program product includes a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code including computer readable program code configured to initialize an internal look-up table cache provided internally to a switching processor, the internal look-up table cache being configured to store a plurality of look-up entries and being organized into at least three segments: a persistent flows entries segment, a non-persistent flows entries segment, and an access control list (ACL) segment. Each look-up entry relates to a traffic flow which has been or is anticipated to be received by a switching processor configured to access the internal look-up table cache. The computer readable program code is also configured to manage the internal look-up table cache to store entries relating to a particular segment type into a corresponding segment of the internal look-up table cache.
Abstract:
Systems and methods for performing retransmission of data packets over a network. A node receives a data packet with a source and a destination address. The data packet is sent along a network path to the destination address, and information associated with the data packet is sent to a controller node that is independent of the network path. A controller receives information associated with a data packet from any forwarder node within a plurality of forwarder nodes each monitoring communications along separate communications paths. An indication of a receipt acknowledgement for the data packet is received from a second forwarder node that is separate from the first forwarder node and the controller node. The receipt acknowledgement is correlated with the data packet and based on the correlating, data associated with retransmission processing of the data packet is deleted.