H04L12/747

Network interface for data transport in heterogeneous computing environments

A network interface controller can be programmed to direct write received data to a memory buffer via either a host-to-device fabric or an accelerator fabric. For packets received that are to be written to a memory buffer associated with an accelerator device, the network interface controller can determine an address translation of a destination memory address of the received packet and determine whether to use a secondary head. If a translated address is available and a secondary head is to be used, a direct memory access (DMA) engine is used to copy a portion of the received packet via the accelerator fabric to a destination memory buffer associated with the address translation. Accordingly, copying a portion of the received packet through the host-to-device fabric and to a destination memory can be avoided and utilization of the host-to-device fabric can be reduced for accelerator bound traffic.

Applying application-based policy rules using a programmable application cache
11032389 · 2021-06-08 · ·

A network device receives a packet from a client device, and identifies, based on receiving the packet, a destination of the packet. The network device determines, based on information included in an application cache, an application associated with the destination of the packet, where the first network device, the client device, and the application cache are included in a first local network. The network device determines, based on the information included in the application cache, a policy rule associated with the application, and applies the policy rule to the packet.

Location-independent data-object name mapping

A networked electronic device produces a data object comprising content and assigns a location-independent application-level name to the data object. The location-independent application-level name is independent of any network location at which the content is available. The networked electronic device maps the location-independent application-level name to an IP address, generates a DNS resource record specifying the mapping of the location-independent application-level name to the IP address, and provides the DNS resource record to a DNS network node.

Mapping database system for use with content chunks and methods of routing to content in an IP network

Retrieving content in an Internet Protocol version 6 (IPv6) network may be provided. A lookup request associated with content may be received from a network node at a server having a mapping database. A response having an ordered list of more than one IPv6 addresses may be generated. The ordered list of the more than on IPv6 addresses may include IPV6 prefixes. Each of the more than one IPv6 addresses may include a first portion having a content identifier and a second portion having an indication of a location of the content. The response may be transmitted to the network node.

METHOD AND SYSTEM FOR TRACING PACKETS IN SOFTWARE DEFINED NETWORKS
20210144091 · 2021-05-13 ·

A method is implemented by a network device where the method performs a trace flow process in a packet processing pipeline of the network device. The packet processing pipeline includes a trace table and a forward table. The method encompasses forwarding a trace packet to the trace table, forwarding a copy of the trace packet to a trace analyzer in response to determining that a trace bit is set in the trace packet, forwarding the trace packet to the forward table, and determining a next stage of the packet processing pipeline based on trace packet meta data and a value stored in a trace register.

NETWORK FORWARDING ELEMENT WITH KEY-VALUE PROCESSING IN THE DATA PLANE
20210105230 · 2021-04-08 ·

Some embodiments of the invention provide a forwarding element (e.g., a switch, a router, etc.) that has one or more data plane, message-processing pipelines with key-value processing circuits. The forwarding element's data plane key-value circuits allow the forwarding element to perform key-value services that would otherwise have to be performed by data compute nodes connected by the network fabric that includes the forwarding element. In some embodiments, the key-value (KV) services of the forwarding element and other similar forwarding elements supplement the key-value services of a distributed set of key-value servers by caching a subset of the most commonly used key-value pairs in the forwarding elements that connect the set of key-value servers with their client applications. In some embodiments, the key-value circuits of the forwarding element perform the key-value service operations at message-processing line rates at which the forwarding element forwards messages to the data compute nodes and/or to other network forwarding elements in the network fabric.

NETWORK INTERFACE FOR DATA TRANSPORT IN HETEROGENEOUS COMPUTING ENVIRONMENTS

A network interface controller can be programmed to direct write received data to a memory buffer via either a host-to-device fabric or an accelerator fabric. For packets received that are to be written to a memory buffer associated with an accelerator device, the network interface controller can determine an address translation of a destination memory address of the received packet and determine whether to use a secondary head. If a translated address is available and a secondary head is to be used, a direct memory access (DMA) engine is used to copy a portion of the received packet via the accelerator fabric to a destination memory buffer associated with the address translation. Accordingly, copying a portion of the received packet through the host-to-device fabric and to a destination memory can be avoided and utilization of the host-to-device fabric can be reduced for accelerator bound traffic.

CENTRALIZED PATH COMPUTATION FOR INFORMATION-CENTRIC NETWORKING

This disclosure describes techniques for implementing centralized path computation for routing in hybrid information-centric networking protocols implemented as a virtual network overlay. A method includes receiving an interest packet header from a forwarding router node of a network overlay. The method further includes determining an interest path of the interest packet and one or more destination router nodes of the network overlay. The method further includes computing one or more paths over the network overlay. The method further includes determining an addressing method for the one or more computed paths over the network overlay. The method further includes performing at least one of encoding each computed path in a data packet header, and encoding each computed path as state entries of each router node of the network overlay on each respective path. The method further includes returning the computed path information to the forwarding router node.

Flow cache support for crypto operations and offload
10979542 · 2021-04-13 · ·

Certain embodiments described herein are generally directed to using a flow cache with packets comprising dynamic headers. Embodiments include receiving a packet of a packet flow from a network, parsing the packet in order to determine a flow key, and comparing the flow key to entries in the flow cache. Upon determining that the flow key does not match any of the entries, embodiments include determining whether the packet comprises a dynamic header. Upon determining that the packet comprises a dynamic header, embodiments include canceling recorded flow cache information for the packet, performing an operation on the packet, re-parsing the packet in order to determine a new flow key, and comparing the new flow key to the entries in the flow cache. Upon determining that the flow key matches an entry, embodiments include determining cached actions to perform for the packet based on the entry and performing the cached actions.

Application performance based path-selection

Embodiments herein disclose methods for selecting one or more paths for routing application traffic based on application performance metrics for hosted applications. In an embodiment, to select the best path, the available paths can be monitored to understand the performance of specific applications through those paths. Subsequently, the performance data is used to derive an application link score (ALS) for any given combination of application and path. The ALS is then be used to determine the best path for a given application.