Patent classifications
H04L45/74591
Systems and methods for augmenting TCAM bank processing with exact match
Systems and methods are provided for programming a network device. A method includes receiving a wild card entry at the network device, the network device including a ternary content addressable memory (TCAM) table and an exact match (EM) table. The method determines whether the wild card entry is compatible with the EM table. In response to determining that the wild card entry is compatible with the EM table, the method determines the available space in the EM table, the usage of the TCAM table, and at least one flow characteristic of the wild card entry. The method evaluates the determined available space in the EM table, usage of the TCAM table, and the at least one flow characteristic against a set of stored rules that select the EM table or the TCAM table. The method programs the wild card entry in the EM table or TCAM table based upon the selection.
System and method for isochronous switching of packetized media streams
An IP router capable of isochronous switching of a packetized media stream. According to an example, the IP router parses the RTP header within an incoming IP datagram to extract the RTP time stamp, which provides a time value for a unique IP Flow. By inspecting the header, the IP router can switch the flow at the point in time that the RTP time stamp value changes, or matches a target value. In one aspect, the IP router looks for the change in the RTP time stamp value and performs the switch based on the detected change. In another aspect, the IP router performs the switch at a specified time stamp value that can be unique to a group of signals or based on a common “sync” value published to all the ports of the IP router.
Efficient Memory Utilization for Cartesian Products of Rules
A network device includes one or more ports, and action-select circuitry. The ports are to exchange packets over a network. The act-ion-select circuitry is to determine, for a given packet, a first search key based on a first header field of the given packet, and a second search key based on a second header field of the given packet, to compare the first search key to a first group of compare values, to output a multi-element vector responsively to a match between the first search key and a first compare value, to generate a composite search key by concatenating the second search key and the multi-element vector, to compare the composite search key to a second group of compare values, and, responsively to a match between the composite search key and a second compare value, to output an action indicator for applying to the given packet.
Identifying components for removal in a network configuration
Systems, methods, and computer-readable media analyzing memory usage in a network node. A network assurance appliance may be configured to determine a hit count for a concrete level rule implemented on a node and identify one or more components of a logical model, wherein each of the one or more components are associated with the concrete level rule. The network assurance appliance may attribute the hit count for the concrete level rule to each of the components of the logical model, determine a number of hardware level entries associated with the each of the one or more components, and generate a report comprising the one or more components of the logical model, the hit count attributed to each of the one or more components of the logical model, and the number of hardware level entries associated with the one or more components of the logical model.
NETWORK SCALE EMULATOR
Systems, methods, and computer-readable media for scaling a source network. A system may be configured to receive a network configuration for a source network, wherein the source network comprising a plurality of nodes, receive and a scale target for a scaled network, and identify, based on the scale target, one or more selected nodes in the plurality of nodes in the source network for implementing in the scaled network. The system may further be configured to reconfigure data plane parameters and control plane parameters for each node in the one or more selected nodes.
OPTIMIZING ENTRIES IN A CONTENTADDRESSABLE MEMORY OF A NETWORK DEVICE
In some implementations, a method is provided. The method includes determining a plurality of field sets and a plurality of field set groups. Each field set of the plurality of field sets comprises one or more packet characteristics. Each field set group of the plurality of field set groups comprises one or more field sets from the plurality of field sets. Each field set group is associated with one or more packet classifier rules. The method also includes determining a set of encoded labels for the plurality of field sets based on a set of rule costs and intersections between field set groups. Each encoded label of the set of encoded labels is associated with a respective field set of the plurality of field sets. The method further includes generating a plurality of entries in a memory based on the set of encoded labels. At least one entry comprises an encoded label from the set of encoded labels and at least a portion of a packet classifier rule.
SYSTEMS AND METHODS FOR IMPLEMENTING MULTI-TABLE OPENFLOW FLOWS THAT HAVE COMBINATIONS OF PACKET EDITS
Systems and methods are provided herein for implementing multi-table OpenFlow flows that have combinations of packet edits. This may be accomplished by a network device receiving a first flow entry with a first set of actions to be installed into a flow table. The network device may determine that the first set of actions includes edits to a plurality of fields of a matched data packet. In response, the network device may change the first set of actions of the first flow entry to edit a first field of the data packet and create a second flow entry with a second set of actions to edit a second field of the data packet. The network device may install the first and second flow entries into one or more flow tables of the network device.
Dynamic allocation of resources within network devices
Examples relate to dynamic allocation of resources within network devices. In one example, a computing device may: receive, from a particular lookup function of a plurality of lookup functions, a lookup request for a network packet; identify, based on a logical table that corresponds to the particular lookup function, at least one physical resource included in a particular resource pool of at least one dynamic resource pool; obtain, from a particular physical resource of the at least one physical resource, response data that is responsive to the lookup request; and provide the response data to the particular lookup function.
Forwarding entry update method and apparatus in a memory
A forwarding entry update method and apparatus, the method including receiving a write operation packet, where the write operation packet has write operation information, where the write operation information has write operation data and a write operation address, where the write operation data indicates a forwarding entry, and where the write operation address indicates an address to which the write operation data is to be written in a memory, obtaining the write operation information from the write operation packet, and writing the write operation data into the memory according to the write operation address in the write operation information.
EFFICIENT TLV STYLE HEADER PARSING AND EDITING
In some aspects, the disclosure is directed to methods and systems for a flexible type-length-value (TLV) parser and identification map that may be used to quickly identify TLV sequences of packet headers for subsequent processing in a pipeline. A flexible TLV bus may provide a secondary path for the TLV header and identification map, allowing for subsequent processing stages to read, process, modify, delete, or otherwise utilize individual TLV sequences within the header.