H04L12/745

Combining prefix lengths into a hash table

Examples herein disclose a smaller prefix length and a greater prefix length which are identified from a routing table of various prefix lengths. The smaller prefix length is converted into the greater prefix length. The converted prefix length and the greater prefix length are combined into a hash table.

Pipelined evaluations for algorithmic forwarding route lookup

Packet processors or other devices with packet processing pipelines may implement pipelined evaluations of algorithmic forwarding route lookups. As network packets are received, a destination address for the network packets may be divided into different possible prefix lengths and corresponding entries in a routing table for the different possible prefix lengths may be determined according to a hash scheme for the routing table. The entry values may be read from the routing table and evaluated at subsequent stages to identify the entry with a longest prefix match with respect to the destination address for the network packet. The routing table may include entries for different types of network packets and may be configured to include virtual routing and forwarding for network packets.

Just in time transcoding and packaging in IPV6 networks

A method and apparatus for delivering requested content over a network is described. The method includes receiving, by a first network node, a request from a second network node for the requested content, the request comprising an IPv6 address associated with the requested content. A longest prefix match is then performed between the IPv6 address associated with the requested content and IPv6 addresses associated with content available at the first network node. In the event that the longest prefix match does not result in an exact match between the IPv6 address associated with the requested content and any of the IPv6 addresses associated with content available at the first network node, the request is routed towards a content variant suitable for transcoding to the requested content, the content variant being stored at the first network node.

Forwarding Table Management
20200267081 · 2020-08-20 · ·

Disclosed herein are system, method, and computer program product embodiments for representing a forwarding information base (FIB) in a database. An embodiment operates by organizing forwarding entries of the FIB in a trie data structure. The embodiment determines that a first routing prefix of a first forwarding entry in the trie data structure is a less specific routing prefix than a second routing prefix in a second forwarding entry in the trie data structure based on the first forwarding entry being a parent of the second forwarding entry. The embodiment determines that a first next hop of the first routing prefix is equal to a second next hop of the second routing prefix. The embodiment removes the second forwarding entry from the trie data structure. The embodiment then inserts the first forwarding entry into the database based on a prefix length of the first routing prefix.

Address Resolution System
20200244617 · 2020-07-30 ·

An address resolution system a host device, a first networking device, and a second networking device that is coupled to the host device and the first networking device. The second networking device is configured to send a first address resolution communication to the first networking device. The second networking device may then receive a second address resolution communication from the first networking device in response to the first address resolution communication. The second address resolution communication includes networking device identification data that identifies the first networking device as having a networking type. The second networking device may then allocate, in an address resolution database in response to the networking device identification data identifying the first networking device as having the networking type, a first address resolution entry for the first networking device that includes an egress object.

Runtime sharing of unit memories between match tables in a network forwarding element

A method of sharing unit memories between two match tables in a data plane packet processing pipeline of a physical forwarding element is provided. The method, from a plurality of available unit memories of the packet processing pipeline, allocates a first set of unit memories to the first match table and a second set of unit memories to the second match table. The method determines that the first set of unit memories is filled to a threshold capacity after storing a plurality of entries in the first set of unit memories. The method de-allocates a first unit memory from the second match table by moving contents of the first unit memory to a second unit memory in the second set of unit memories. The method allocates the first unit memory to the first match table.

Longest prefix matching providing packet processing and/or memory efficiencies in processing of packets

One embodiment performs longest prefix matching operations in one or more different manners that provides packet processing and/or memory efficiencies in the processing of packets. In one embodiment, a packet switching device determines a set of one or more mask lengths of a particular conforming entry of a multibit trie or other data structure that matches a particular address of a packet via a lookup operation in a mask length data structure. A conforming entry refers to an entry which has less than or equal to a maximum number of different prefix lengths, with this maximum number corresponding to the maximum number of prefix lengths which can be searched in parallel in the address space for a longest matching prefix by the implementing hardware. The packet switching device then performs corresponding hash table lookup operation(s) in parallel in determining an overall longest matching prefix for the particular address.

Gateway configuration using a network manager
10708125 · 2020-07-07 · ·

The following description is directed to configuring gateways in computer networks. For example, a system includes a first configurable network programmed with a first set of network addresses and a second configurable network programmed with a second set of network addresses. The system includes a private gateway connecting the first configurable network and the second configurable network to a client private network. The system includes a server computer configured to generate routing information for the private gateway. The routing information can restrict the network addresses that are reachable from the client private network to non-overlapping network address spaces within each of the first configurable network and the second configurable network. The server computer is configured to use the generated routing information to configure the private gateway for forwarding network packets among the client private network, the first configurable network, and the second configurable network.

TRANSLATION BETWEEN A FIRST VERSION OF INTERNET PROTOCOL AND A SECOND VERSION OF INTERNET PROTOCOL WHEN AN APPLICATION LAYER GATEWAY (ALG) IS INVOLVED
20200213229 · 2020-07-02 ·

A device may receive, from a first device, a port control protocol (PCP) request that includes a customer side translator (CLAT) prefix and one or more private internet protocol version X (IPvX) addresses. The PCP request may be received via an internet protocol version Y (IPvY) network. The device may store the CLAT prefix and the one or more private IPvX addresses using a data structure. The device may receive a packet that includes a private IPvX of the one or more private IPvX addresses and a private IPvY address that includes the CLAT prefix and a second instance of the private IPvX address. The device may use an application layer gateway (ALG). The device may translate the private IPvX address to a public IPvX address using the CLAT prefix. The device may provide the packet that includes the public IPvX address to a second device that supports IPvX.

SYSTEM AND METHOD OF LOADING AN EXACT MATCH TABLE AND LONGEST PREFIX MATCH TABLE
20200213230 · 2020-07-02 ·

A method and apparatus of a device that determines a match for a destination address using an exact match table and a longest prefix match table of a network element is described. In an exemplary embodiment, the network element receives a data packet that includes a destination address. The network element generates a key for the destination address, wherein the key represents more addresses than the destination address. The network element further performs an address lookup using the key in an exact match table. Furthermore, a match in the address lookup indicates a first transmitting interface of the network element. The network element additionally performs an address lookup using the destination address with a longest prefix match table, wherein a match in the address lookup indicates a second transmitting interface of the network element. In addition, the network element determines a resulting transmitting interface based on results from the exact match table address lookup and the longest prefix match address lookup. The network element forwards the data packet using the transmitting interface.