Internet Engineering Task Force (IETF), mis vastutab Interneti-protokollide ja arhitektuuri arendamise eest, on viimistlenud BPF-i käsukomplekti arhitektuuri RFC-d ja avaldanud sellega seotud spetsifikatsiooni identifikaatori RFC 9669 all. RFC-le on antud staatus "Kavandatav standard", misjärel alustatakse tööd selle nimel, et anda RFC-le standardi kavandi staatus, mis tegelikult tähendab täielikku stabiliseerimist ja kõigi tehtud kommentaaride arvessevõtmist.
Avaldatud spetsifikatsioon kirjeldab BPF-i baitkoodikäskude komplekti ja madala taseme virtuaalmasinat, mida kasutatakse Linuxi kerneli alamsüsteemis eBPF väliste käitlejate käivitamiseks, mis on võimelised süsteemi käitumist reaalajas muutma ilma kerneli koodi muutmata. Põhimõtteliselt rakendab eBPF lihtsat virtuaalprotsessorit, millel on oma registrikomplekt, RISC-laadsed käsud, pinu ja programmiloendur. BPF-programmid kirjutatakse tavaliselt C-keele alamhulgas ja seejärel kompileeritakse baitkoodiks, mis sobib käivitamiseks ... virtuaalmasinVirtuaalmasin saab BPF-programme käivitada kas interpretatsiooni või just-in-time (JIT) kompilatsiooni abil, et tõlkida baitkood masina juhisteks lennult.
Eeldatakse, et BPF-i käskude komplekti arhitektuuri standardiseerimine stimuleerib kolmandate osapoolte implementatsioonide loomist, mis on ühilduvad eBPF-i virtuaalmasinaga ja suudavad käivitada Linuxi kerneli jaoks kirjutatud BPF-programme. Selliste rakenduste loomiseks on töö käimas. virtuaalmasinad Mõned võrgukaarditootjad arendavad BPF-võrgu paketihaldurite riistvarakiirendustööriistu. Idee seisneb XDP (eXpress Data Path) alamsüsteemi võimaluste laiendamises, et käivitada BPF-programme mitte ainult võrgudraiveri tasandil, vaid ka võrgukaardil.
Näiteks Netronome on lisanud Netronome Agilio CX SmartNIC-adapterile BPF-i toe ja esitanud näitekogu universaalsetest BPF-programmidest, mida saab käivitada mitte ainult tuuma CPU-ga mis tahes XDP-ga ühilduva draiveriga, vaid ka võrgukaardil. pool, mis võimaldab teil teha otsuseid pakettide kukutamise, muutmise või ümbersuunamise kohta ilma protsessori ressursse raiskamata. Eraldi arendatakse XRP (eXpress Resubmission Path) tehnoloogiat, mis võimaldab BPF-i abil liigutada NVMe-draividega mõningaid toiminguid, näiteks töö indeksite ja andmete koondamisega, NVMe draiveri tasemele või välisseadmesse.
Märgitakse, et selliste võimaluste laialdasemat kasutuselevõttu on seni takistanud ühilduvusprobleemidega seotud riskid ja vajadus jälgida eBPF-i olekut tuumas. Nende riskide tõttu on mõned tootjad viivitanud BPF-i riistvarakiirenduse lisamisega oma seadmetesse kuni standardi kehtestamiseni.
Allikas: opennet.ru
