US2022174005A1PendingUtilityA1
Programming a packet processing pipeline
Est. expiryDec 19, 2041(~15.4 yrs left)· nominal 20-yr term from priority
Inventors:Namrata LimayeDaniel DalyAnjali Singhai JainDebashis ChatterjeeVenkata Suresh Kumar Paruchuri
H04L 45/645H04L 45/60H04L 45/245H04L 49/70H04L 45/586H04L 45/38H04L 12/4633H04L 45/021H04L 49/30H04L 41/20
42
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
Examples described herein relate to a packet processing device that includes a programmable packet processing pipeline that is configured using a virtual switch. In some examples, the programmable packet processing pipeline is to receive configurations from multiple control planes via the virtual switch to configure packet processing actions. In some examples, the virtual switch is to provide inter-virtual execution environment communications. In some examples, the programmable packet processing pipeline is configured using a programming language.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . At least one non-transitory computer-readable medium comprising instructions stored thereon, that if executed by one or more processors cause the one or more processors to:
perform a virtual switch to provide configurations from multiple control planes to configure packet processing actions to be performed by a programmable pipeline of a packet processing device, wherein the virtual switch is to provide inter-virtual execution environment communications and wherein the programmable pipeline is configured using a programming language.
2 . The computer-readable medium of claim 1 , wherein the virtual switch is consistent with Open vSwitch, VPP, or Stratum.
3 . The computer-readable medium of claim 1 , wherein a programming language of at least one of the multiple control planes comprises Openflow and the programming language comprises one or more of: Programming Protocol-independent Packet Processors (P4), C, Python, Broadcom Network Programming Language (NPL), Linux eBPF, or x86 compatible executable binaries or other executable binaries.
4 . The computer-readable medium of claim 1 , comprising instructions stored thereon, that if executed by one or more processors cause the one or more processors to:
receive a configuration of table entry format and configure the programmable pipeline with at least one configuration from one or more of the multiple control planes in a format consistent with the received table entry format.
5 . The computer-readable medium of claim 1 , wherein the multiple control planes comprise two or more of: a virtual switch controller, runtime server for the programmable pipeline, or kernel controller.
6 . The computer-readable medium of claim 5 , wherein the virtual switch controller configures the programmable pipeline with header field value matches and association action(s) related to one or more of: port selection, enabling of packet mirroring, or VXLAN utilization.
7 . The computer-readable medium of claim 5 , wherein the runtime server for the programmable pipeline configures the programmable pipeline with header field value matches and association actions related to one or more of: tunnels, mirroring, security group, connection tracking, forwarding, sampling of a flow to determine statistics, or link aggregation group (LAG).
8 . The computer-readable medium of claim 5 , wherein the kernel controller configures the programmable pipeline with one or more of: routing determination and tunneling.
9 . The at least one computer-readable medium of claim 1 , wherein the packet processing device comprises one or more of: a network interface controller (NIC), a remote direct memory access (RDMA)-enabled NIC, SmartNIC, router, switch, forwarding element, infrastructure processing unit (IPU), or data processing unit (DPU).
10 . An apparatus comprising:
a packet processing device comprising a programmable packet processing pipeline that is configured using a virtual switch, wherein: the programmable packet processing pipeline is to receive configurations from multiple control planes via the virtual switch to configure packet processing actions, the virtual switch is to provide inter-virtual execution environment communications, and the programmable packet processing pipeline is configured using a programming language.
11 . The apparatus of claim 10 , wherein the virtual switch is consistent with Open vSwitch, VPP, or Stratum.
12 . The apparatus of claim 10 , wherein a programming language of at least one of the multiple control planes comprises Openflow and the programming language comprises one or more of: Programming Protocol-independent Packet Processors (P4), C, Python, Broadcom Network Programming Language (NPL), Linux eBPF, or x86 compatible executable binaries or other executable binaries.
13 . The apparatus of claim 10 , wherein the multiple control planes comprise two or more of: a virtual switch controller, runtime server for the programmable packet processing pipeline, or kernel controller.
14 . The apparatus of claim 13 , wherein the virtual switch controller configures the programmable packet processing pipeline with header field value matches and association action(s) related to one or more of: port selection, enabling of packet mirroring, or VXLAN utilization.
15 . The apparatus of claim 13 , wherein the runtime server for the programmable packet processing pipeline configures the programmable packet processing pipeline with header field value matches and association actions related to one or more of: tunnels, mirroring, security group, connection tracking, forwarding, sampling of a flow to determine statistics, or link aggregation group (LAG).
16 . The apparatus of claim 13 , wherein the kernel controller configures the programmable packet processing pipeline with one or more of: routing determination and tunneling.
17 . The apparatus of claim 10 , comprising a server that is to execute the virtual switch, wherein the server is communicatively coupled to the packet processing device.
18 . The apparatus of claim 17 , comprising a data center that comprises the server and a second packet processing device, wherein the packet processing device is to transmit packets processed by the programmable packet processing pipeline to the second packet processing device.
19 . A method comprising:
programming a programmable packet processing pipeline of a packet processing device using a virtual switch by multiple control planes.
20 . The method of claim 19 , wherein a programming language of at least one of the multiple control planes comprises Openflow and the programming language comprises one or more of: Programming Protocol-independent Packet Processors (P4), C, Python, Broadcom Network Programming Language (NPL), Linux eBPF, or x86 compatible executable binaries or other executable binaries.Join the waitlist — get patent alerts
Track US2022174005A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.