Patent classifications
H04L61/2542
Methods and apparatus for memory allocation and reallocation in networking stack infrastructures
Methods and apparatus for memory allocation and reallocation in networking stack infrastructures. Unlike prior art monolithic networking stacks, the exemplary networking stack architecture described hereinafter includes various components that span multiple domains (both in-kernel, and non-kernel). For example, unlike traditional “socket” based communication, disclosed embodiments can transfer data directly between the kernel and user space domains. A user space networking stack is disclosed that enables extensible, cross-platform-capable, user space control of the networking protocol stack functionality. The user space networking stack facilitates tighter integration between the protocol layers (including TLS) and the application or daemon. Exemplary systems can support multiple networking protocol stack instances (including an in-kernel traditional network stack). Due to this disclosed architecture, physical memory allocations (and deallocations) may be more flexibly implemented.
Methods and apparatus for sharing and arbitration of host stack information with user space communication stacks
Methods and apparatus for efficient data transfer within a user space network stack. Unlike prior art monolithic networking stacks, the exemplary networking stack architecture described hereinafter includes various components that span multiple domains (both in-kernel, and non-kernel). For example, unlike traditional “socket” based communication, disclosed embodiments can transfer data directly between the kernel and user space domains. Direct transfer reduces the per-byte and per-packet costs relative to socket based communication. A user space networking stack is disclosed that enables extensible, cross-platform-capable, user space control of the networking protocol stack functionality. The user space networking stack facilitates tighter integration between the protocol layers (including TLS) and the application or daemon. Exemplary systems can support multiple networking protocol stack instances (including an in-kernel traditional network stack).
Methods and apparatus for regulating networking traffic in bursty system conditions
Methods and apparatus for efficient data transfer within a user space network stack. Unlike prior art monolithic networking stacks, the exemplary networking stack architecture described hereinafter includes various components that span multiple domains (both in-kernel, and non-kernel). For example, unlike traditional “socket” based communication, disclosed embodiments can transfer data directly between the kernel and user space domains. Direct transfer reduces the per-byte and per-packet costs relative to socket based communication. A user space networking stack is disclosed that enables extensible, cross-platform-capable, user space control of the networking protocol stack functionality. The user space networking stack facilitates tighter integration between the protocol layers (including TLS) and the application or daemon. Exemplary systems can support multiple networking protocol stack instances (including an in-kernel traditional network stack).
Methods and apparatus for dynamic packet pool configuration in networking stack infrastructures
Methods and apparatus for dynamic packet pool configuration in networking stack architectures. Unlike prior art monolithic memory allocations, embodiments of the present disclosure enable packet pools associated with non-kernel space applications to dynamically allocate additional memory allocations to a given non-kernel space application, or conversely, de-allocate memory allocations to a given non-kernel space application. Variants also disclose the splitting up of a memory allocation into device accessible portions and kernel accessible portions. Other variants disclose sizing certain segment allocations so as to be a multiple of a physical address page size. Such a variant enables a single input/output (I/O) bus address lookup for the given segment so as to minimize look up costs associated with an I/O lookup for the given segment.
Methods and apparatus for virtualized hardware optimizations for user space networking
Methods and apparatus for efficient data transfer within a user space network stack. Unlike prior art monolithic networking stacks, the exemplary networking stack architecture described hereinafter includes various components that span multiple domains (both in-kernel, and non-kernel). For example, unlike traditional “socket” based communication, disclosed embodiments can transfer data directly between the kernel and user space domains. Direct transfer reduces the per-byte and per-packet costs relative to socket based communication. A user space networking stack is disclosed that enables extensible, cross-platform-capable, user space control of the networking protocol stack functionality. The user space networking stack facilitates tighter integration between the protocol layers (including TLS) and the application or daemon. Exemplary systems can support multiple networking protocol stack instances (including an in-kernel traditional network stack).
Methods and apparatus for active queue management in user space networking
Methods and apparatus for active queue management in user space networking stacks. Unlike prior art monolithic networking stacks, the exemplary networking stack architecture described hereinafter includes various components that span multiple domains (both in-kernel, and non-kernel). For example, unlike traditional “socket” based communication, disclosed embodiments can transfer data directly between the kernel and user space domains. Additionally, user space networking stacks require a new flow control methodology that is responsive to networking congestion and/or packet loss. For example, embodiments of the present disclosure introduce a flow advisory table that may, for example, utilize an eventing methodology for active queue management in addition to, or alternatively then, legacy active queue management. Exemplary systems can support multiple networking protocol stack instances (including an in-kernel traditional network stack) as well as flow advisory tables (and legacy active queue management).
Link state routing protocol adjacency state machine
Techniques are disclosed for a link state routing protocol adjacency state machine. The adjacency state machine ensures that first and second logical links using different networking protocols are established on a single physical link between two network devices prior to indicating adjacency between the network devices. In some examples, the adjacency state machine determines that both the first and second links are active in response to determining that hello messages are generated by both network devices for both links. In some examples, the adjacency state machine determines that both the first and second logical links are active upon expiration of a predetermined time corresponding to a time required for a duplicate address detection (DAD) operation to complete. In some examples, the first and second logical links use Internet Protocol version 4 (IPv4) and Internet Protocol version 6 (IPv6), respectively.
LINK STATE ROUTING PROTOCOL ADJACENCY STATE MACHINE
Techniques are disclosed for a link state routing protocol adjacency state machine. The adjacency state machine ensures that first and second logical links using different networking protocols are established on a single physical link between two network devices prior to indicating adjacency between the network devices. In some examples, the adjacency state machine determines that both the first and second links are active in response to determining that hello messages are generated by both network devices for both links. In some examples, the adjacency state machine determines that both the first and second logical links are active upon expiration of a predetermined time corresponding to a time required for a duplicate address detection (DAD) operation to complete. In some examples, the first and second logical links use Internet Protocol version 4 (IPv4) and Internet Protocol version 6 (IPv6), respectively.
Methods and apparatus for channel defunct within user space stack architectures
Methods and apparatus for efficient data transfer within a user space network stack. Unlike prior art monolithic networking stacks, the exemplary networking stack architecture described hereinafter includes various components that span multiple domains (both in-kernel, and non-kernel). For example, unlike traditional socket based communication, disclosed embodiments can transfer data directly between the kernel and user space domains. Direct transfer reduces the per-byte and per-packet costs relative to socket based communication. A user space networking stack is disclosed that enables extensible, cross-platform-capable, user space control of the networking protocol stack functionality. The user space networking stack facilitates tighter integration between the protocol layers (including TLS) and the application or daemon. Exemplary systems can support multiple networking protocol stack instances (including an in-kernel traditional network stack).
Methods and apparatus for preventing packet spoofing with user space communication stacks
Methods and apparatus for efficient data transfer within a user space network stack. Unlike prior art monolithic networking stacks, the exemplary networking stack architecture described hereinafter includes various components that span multiple domains (both in-kernel, and non-kernel). For example, unlike traditional socket based communication, disclosed embodiments can transfer data directly between the kernel and user space domains. Direct transfer reduces the per-byte and per-packet costs relative to socket based communication. A user space networking stack is disclosed that enables extensible, cross-platform-capable, user space control of the networking protocol stack functionality. The user space networking stack facilitates tighter integration between the protocol layers (including TLS) and the application or daemon. Exemplary systems can support multiple networking protocol stack instances (including an in-kernel traditional network stack).