US 12,007,921 B2
Programmable user-defined peripheral-bus device implementation using data-plane accelerator (DPA)
Daniel Marcovitch, Yokneam Illit (IL); Eliav Bar-Ilan, Or Akiva (IL); Ran Avraham Koren, Beijing (CN); Liran Liss, Atzmon-Segev (IL); Oren Duer, Kochav Yair (IL); and Shahaf Shuler, Kibbutz Lochamei Hagetaot (IL)
Assigned to MELLANOX TECHNOLOGIES, LTD., Yokneam (IL)
Filed by MELLANOX TECHNOLOGIES, LTD., Yokneam (IL)
Filed on Nov. 2, 2022, as Appl. No. 17/979,013.
Prior Publication US 2024/0143528 A1, May 2, 2024
Int. Cl. G06F 13/28 (2006.01); G06F 13/42 (2006.01)
CPC G06F 13/28 (2013.01) [G06F 13/4221 (2013.01); G06F 2213/0024 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A network adapter, comprising:
a network interface, to communicate with a network;
a bus interface, to communicate with an external device over a peripheral bus;
a hardware-implemented data-path, comprising a plurality of packet-processing engines, to process data units exchanged between the network and the external device; and
a programmable Data-Plane Accelerator (DPA), to expose on the peripheral bus a User-Defined Peripheral-bus Device (UDPD), to run user-programmable logic that implements the UDPD, and to process transactions issued from the external device to the UDPD by reusing at least a given packet-processing engine among the packet-processing engines of the data-path,
wherein (i) in processing the data units, the given packet-processing engine in the data-path is to be triggered by a preceding packet-processing engine in the data-path, and (ii) in processing the transactions issued to the UDPD, the given packet-processing engine is to be invoked by the DPA.