Intel yatsegula zida zomwe zimakupatsani mwayi wopanga mapulogalamu anu osinthira mapaketi amtundu wa Tofino wama switch osinthika a Ethernet. Kumbuyo kwa p2.0c compiler ndi zigawo za Intel P4 Studio chitukuko chilengedwe, monga madalaivala, kusintha kayeseleledwe chitsanzo, seva ndi kasitomala wa BF Runtime protocol, ndi gwero lotseguka pansi pa Apache 4 chilolezo. Kupanga mapulogalamu, chilankhulo chodziwika bwino cha domain P4 (Programming Protocol-independent Packet processors) chimagwiritsidwa ntchito, chomwe chimapangidwira kufotokozera malingaliro opangira paketi pazida zamtaneti monga makhadi a netiweki, ma switch, ma routers ndi ma firewall.
Kumbuyo komwe kwasindikizidwa kumakupatsani mwayi womasulira mapulogalamu muchilankhulo cha P4 kukhala choyimira choyenera kuyika pa ma switch a Intel Tofino. Chifukwa cha izi, ogwiritsa ntchito amatha kupanga mapulogalamu omwe amakulitsa magwiridwe antchito, kusintha malingaliro ogwiritsira ntchito, kapena kusintha chipangizocho kuti chigwirizane ndi zomwe maukonde awo amayendera.
Mapulogalamu a P4 amapangidwa kuti awonetsere mapulaneti omwe akufuna, omwe angakhale hardware (FPGA, programmable ASIC) kapena mapulogalamu (x86, BPF). Pamodzi ndi code yoyika pamakina omwe mukufuna, wopangayo amapanga nthawi yoyendetsera pulogalamuyo pogwiritsa ntchito ma protocol a Protobuf/gRPC ndi P4Runtime API.
Lingaliro la mapulogalamuwa ndikuyika mapaketi ndi mitu yawo ndikuchitapo kanthu pamapaketi omwe akubwera, monga kuwongoleranso, kutaya, kusintha TTL ndikusintha magawo. Chilankhulochi sichimangiriridwa ndi ma protocol a netiweki ndipo m'malo mothandizidwa ndi ma protocol wamba monga IP, Ethernet, TCP ndi VxLAN, chimapatsa opanga mwayi wofotokozera ma protocol aliwonse okhudzana ndi mapulogalamu omwe adapangidwa (wolemba mapulogalamu amaphatikiza kufotokoza kwamitundu yamutu ndi magawo a protocol).

Kuwonjezera pa backend yofalitsidwa ya ma switch a Intel Tofino, pulojekiti ya P4 imapereka backend yokonzera mapulogalamu a P4 mu code ya C, yomwe imatha kupangidwa mu mtundu woyenera kugwiritsidwa ntchito mu makina enieni eBPF yamangidwa mu kernel ya Linux. Pulojekitiyi ikupanganso choyimira chosinthira chotseguka, chomwe chingagwiritsidwe ntchito kuchita zoyeserera pa netiweki yeniyeni ya Mininet, ndi backend yopangira mapulogalamu a P4 a choyimiracho.
Source: opennet.ru
