The Internet Engineering Task Force (IETF), iyo inoona nezvekugadzirwa kweInternet protocol uye zvivakwa, yakapedzisa RFC yeBPF instruction set architecture uye yakaburitsa zvakabatanidzwa pasi pechiziviso RFC 9669. RFC yakapihwa chimiro che a "Proposed Standard", mushure mezvo basa richatanga kupa iyo RFC mamiriro eiyo dhizaini chiyero, izvo chaizvo zvinoreva kudzikamisa kwakazara uye kurangarira zvese zvakataurwa.
Tsanangudzo yakaburitswa inotsanangura seti yemirairo yeBPF bytecode uye muchina wepasi we virtual unoshandiswa muLinux kernel subsystem eBPF kuita ma handler ekunze anokwanisa kuchinja maitiro esystem nekukurumidza pasina kuda kernel code modification. Chaizvoizvo, eBPF inoshandisa virtual processor iri nyore ine rejista yayo, RISC-like instructions, stack, uye program counter. Mapurogiramu eBPF anowanzo nyorwa muchikamu chemutauro weC uye ozounganidzwa mu bytecode yakakodzera kuitwa mu muchina chaiwoMuchina uyu unogona kuita mapurogiramu eBPF uchishandisa interpretation kana just-in-time (JIT) compilation kushandura bytecode kuita mirairo yemuchina nguva nenguva.
Zvinotarisirwa kuti kurongeka kwehurongwa hwemirairo yeBPF kuchakurudzira kugadzirwa kwezvirongwa zvechitatu zvinoenderana nemuchina we eBPF virtual uye zvinokwanisa kumhanyisa mapurogiramu eBPF akanyorwa eLinux kernel. Basa riri kuenderera mberi kugadzira zvakadaro. michina chaiyo Vamwe vagadziri vema "network adapter" vari kugadzira maturusi ekukurumidzisa hardware e "BPF network packet handlers". Chinangwa ndechekuwedzera kugona kwe "XDP" (eXpress Data Path) subsystem kuti ishandise mapurogiramu eBPF kwete chete padanho re "network driver", asiwo pa "network adapter".
Semuyenzaniso, Netronome yakawedzera BPF rutsigiro kune Netronome Agilio CX SmartNIC adapteri uye yakapa muunganidzwa wemienzaniso yepasi rose BPF zvirongwa zvinogona kuitwa kwete chete kushandisa CPU mukernel chero XDP-inoenderana mutyairi, asiwo pane network kadhi. divi, iro rinokutendera iwe kuita sarudzo nezvekudonhedza, kushandura kana kutungamirazve mapaketi pasina kutambisa CPU zviwanikwa. Zvakaparadzana, tekinoroji yeXRP (eXpress Resubmission Path) iri kuvandudzwa, izvo zvinoita kuti zvikwanise kushandisa BPF kufambisa mamwe maoperation neNVMe madhiraivha, sekushanda nema indexes uye data aggregation, kune NVMe driver level kana kune yekunze mudziyo.
Zvinocherechedzwa kuti kutorwa kwakakura kwehunyanzvi hwakadai kusvika parizvino kwakakanganiswa nenjodzi dzine chekuita nenyaya dzekuenderana uye kukosha kwekutarisa mamiriro eBPF mukernel. Nekuda kwenjodzi idzi, vamwe vagadziri vakanonoka kubatanidza BPF hardware kukurumidza mumidziyo yavo kudzamara chiyero chatangwa.
Source: opennet.ru
