US 12,218,849 B2
Hardware-agnostic specification of packet-processing pipelines
Roni Bar Yanai, Even Yehuda (IL); Jiawei Wang, Shenzhen (CN); Yossef Efraim, Hong Kong Island (HK); and Chen Rozenbaum, Beer Yaakov (IL)
Assigned to Mellanox Technologies, Ltd, Yokneam (IL)
Filed by Mellanox Technologies, Ltd., Yokneam (IL)
Filed on Feb. 28, 2024, as Appl. No. 18/589,466.
Application 18/589,466 is a continuation of application No. 17/955,583, filed on Sep. 29, 2022, granted, now 11,968,126.
Claims priority of provisional application 63/274,553, filed on Nov. 2, 2021.
Prior Publication US 2024/0250911 A1, Jul. 25, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 47/2483 (2022.01); H04L 45/748 (2022.01)
CPC H04L 47/2483 (2013.01) [H04L 45/748 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A method, comprising:
providing a library of hardware-agnostic packet-processing functions;
receiving, from a user, a functional hardware-agnostic specification of a packet-processing pipeline, the specification defined in terms of one or more of the packet-processing functions drawn from the library;
deriving, from the functional hardware-agnostic specification, a hardware-specific design of the packet-processing pipeline that is suited to manufacture a hardware device implementing the packet-processing pipeline, wherein deriving the hardware-specific design comprises (i) converting the functional hardware-agnostic specification into a hardware-agnostic intermediate representation, and (ii) generating the hardware-specific design from the intermediate representation; and
adding a new function or flow-pipe to the hardware-specific design, by:
converting a new functional hardware-agnostic specification, of the new function or flow-pipe, into the intermediate representation; and
generating an updated hardware-specific design, which includes the new function or flow-pipe, from (i) the intermediate representation of the functional hardware-agnostic specification of the packet-processing pipeline and (ii) the intermediate representation of the new function or flow-pipe.