Az Intel bemutatta az eszközkészletet, amely lehetővé teszi saját alkalmazások készítését csomagok feldolgozásához a Tofino sorozatú programozható Ethernet-áttöltőkben. Az Apache 2.0 licenc alatt elérhetővé vált a p4c fordító háttérkódja és az Intel P4 Studio fejlesztési környezet komponensei, mint például az illesztőprogramok, a kapcsoló szimulációs modell, valamint a BF Runtime protokoll szerver és kliens. Az alkalmazások készítéséhez a P4 (Programming Protocol-independent Packet Processors) néven ismert domain-specifikus programozási nyelvet használják, amely lehetővé teszi a csomagok feldolgozási logikájának meghatározását hálózati eszközökben, mint például hálózati kártyák, kapcsolók, útválasztók és tűzfalak.
A közzétett háttér lehetővé teszi a P4 nyelven írt programok átkonvertálását olyan formátumba, amely alkalmas a Tofino sorozatú Intel kapcsolók telepítésére. Ennek köszönhetően a kapcsolók felhasználói alkalmazásokat hozhatnak létre, amelyek bővítik az alapértelmezett funkciókat, megváltoztatják a működési logikát vagy testre szabják az eszközt a saját hálózati igényeikhez.
A P4 nyelven írt programok célplatformokhoz alkalmas formátumokká fordítódnak, amelyek lehetnek hardveres (FPGA, programozható ASIC) vagy szoftveres (x86, BPF). A célrendszerekre való telepítéshez szükséges kód mellett a fordító generálja a runtime-ot, amely kezeli az alkalmazást a Protobuf/gRPC protokollok és a P4Runtime API használatával.
A programok szokásos működési logikája a csomagok osztályozására összpontosít a fejlécük alapján, és olyan műveletek végrehajtására az érkező csomagokon, mint például az irányítás, eldobás, TTL módosítás és mezők cseréje. A nyelv nem kapcsolódik hálózati protokollokhoz, és a beágyazott támogatás helyett, mint például IP, Ethernet, TCP és VxLAN, a fejlesztők számára lehetővé teszi, hogy bármilyen protokollt definiáljanak a kompiler által készített alkalmazásokhoz (a fejlesztő csatolja a fejlécformátumok és protokollmezők leírását).

A közzétett háttér mellett, amely a Tofino sorozatú Intel kapcsolókhoz készült, a P4 projekt egy háttér is biztosít a P4 alkalmazások C nyelvre való fordításához, amelyet később le lehet fordítani egy, a virtuális gépben Linux kernelben történő végrehajtásra alkalmas eBPF formátumba. A projekthez egy nyílt kapcsolószimulátor is kapcsolódik, amelyet a virtuális Mininet hálózatban végzett kísérletekhez lehet használni, valamint egy háttér a P4 programok szimulátorhoz történő fordításához.
Forrás: opennet.ru
