Ang Internet Engineering Task Force (IETF), nga maoy responsable sa pagpalambo sa mga protocol ug arkitektura sa Internet, nag-finalize sa RFC alang sa BPF instruction set architecture ug gipatik ang kaubang specification ubos sa identifier RFC 9669. Ang RFC gihatagan og status sa usa ka "Gisugyot nga Sumbanan", pagkahuman magsugod ang trabaho sa paghatag sa RFC sa kahimtang sa usa ka draft nga sumbanan, nga sa tinuud nagpasabut nga kompleto nga pagpalig-on ug gikonsiderar ang tanan nga mga komento nga gihimo.
Ang gipatik nga espesipikasyon naghulagway sa usa ka hugpong sa mga instruksyon sa bytecode sa BPF ug usa ka ubos nga lebel nga virtual machine nga gigamit sa Linux kernel subsystem nga eBPF aron ipatuman ang mga external handler nga makahimo sa pag-usab sa pamatasan sa sistema sa wala’y pag-usab nga wala magkinahanglan og pagbag-o sa kernel code. Sa panguna, ang eBPF nagpatuman sa usa ka yano nga virtual processor nga adunay kaugalingon nga register set, mga instruksyon nga sama sa RISC, stack, ug program counter. Ang mga programa sa BPF kasagarang gisulat sa usa ka subset sa C nga pinulongan ug dayon gi-compile ngadto sa bytecode nga angay alang sa pagpatuman sa. virtual nga makinaAng virtual machine makapatuman sa mga programa sa BPF gamit ang interpretasyon o just-in-time (JIT) compilation aron hubaron ang bytecode ngadto sa mga instruksyon sa makina diha-diha dayon.
Gilauman nga ang estandardisasyon sa arkitektura sa BPF instruction set makapadasig sa paghimo og mga third-party implementation nga compatible sa eBPF virtual machine ug makahimo sa pagpadagan sa mga programa sa BPF nga gisulat para sa Linux kernel. Adunay mga trabaho nga gihimo aron makahimo og ingon niana. virtual nga mga makina Ang ubang mga tiggama sa network adapter nagpalambo og mga himan sa pagpadali sa hardware para sa mga BPF network packet handler. Ang ideya mao ang pagpalapad sa mga kapabilidad sa XDP (eXpress Data Path) subsystem aron mapadagan ang mga programa sa BPF dili lamang sa lebel sa network driver, apan lakip na usab sa network adapter.
Pananglitan, ang Netronome nagdugang suporta sa BPF sa Netronome Agilio CX SmartNIC adapter ug naghatag usa ka koleksyon sa mga pananglitan sa mga universal BPF nga programa nga mahimo’g ipatuman dili lamang gamit ang CPU sa kernel sa bisan unsang driver nga katugma sa XDP, apan usab sa network card. kilid, nga nagtugot kanimo sa paghimo og mga desisyon bahin sa paghulog, pagbag-o o pag-redirect sa mga pakete nga dili mag-usik sa mga kapanguhaan sa CPU. Gilain, ang XRP (eXpress Resubmission Path) nga teknolohiya gipalambo, nga nagpaposible sa paggamit sa BPF aron mapalihok ang pipila nga mga operasyon nga adunay mga NVMe drive, sama sa pagtrabaho sa mga indeks ug panagsama sa datos, sa lebel sa drayber sa NVMe o sa usa ka eksternal nga aparato.
Namatikdan nga ang mas lapad nga pagsagop sa maong mga kapabilidad hangtod karon nababagan sa mga risgo nga nalangkit sa mga isyu sa pagkaangay ug sa panginahanglan sa pagmonitor sa kahimtang sa eBPF sa kernel. Tungod niini nga mga kapeligrohan, ang pipila ka mga tiggama naglangay sa paglakip sa BPF hardware acceleration ngadto sa ilang mga himan hangtud nga ang usa ka sumbanan matukod.
Source: opennet.ru
