ʻO ka Internet Engineering Task Force (IETF), nona ke kuleana no ka hoʻomohala ʻana i nā protocols Internet a me ka hoʻolālā, ua hoʻopau i ka RFC no ka hoʻonohonoho hoʻonohonoho hoʻonohonoho BPF a hoʻopuka i ka kikoʻī pili ma lalo o ka identifier RFC 9669. Ua hāʻawi ʻia ka RFC i ke kūlana o a "Proposed Standard", a laila e hoʻomaka ka hana e hāʻawi i ka RFC i ke kūlana o kahi kikoʻī kikoʻī, ʻo ia hoʻi ke ʻano o ka hoʻomau piha ʻana a me ka noʻonoʻo ʻana i nā ʻōlelo a pau.
ʻO ka kikoʻī i paʻi ʻia e wehewehe ana i kahi hoʻonohonoho o nā kuhikuhi bytecode BPF a me kahi mīkini virtual haʻahaʻa i hoʻohana ʻia ma ka ʻōnaehana kernel Linux eBPF e hoʻokō i nā mea lawelawe waho i hiki ke hoʻololi i ke ʻano o ka ʻōnaehana ma ka lele me ka ʻole o ka koi ʻana i ka hoʻololi ʻana o ke code kernel. ʻO ke kumu, hoʻokō ʻo eBPF i kahi mea hana virtual maʻalahi me kāna hoʻonohonoho hoʻopaʻa inoa ponoʻī, nā kuhikuhi e like me RISC, stack, a me ka helu papahana. ʻO ka maʻamau, kākau ʻia nā polokalamu BPF ma kahi ʻāpana o ka ʻōlelo C a laila hōʻuluʻulu ʻia i loko o ka bytecode kūpono no ka hoʻokō ʻana ma mīkini uilaHiki i ka mīkini uila ke hoʻokō i nā polokalamu BPF me ka hoʻohana ʻana i ka wehewehe ʻana a i ʻole ka hōʻuluʻulu manawa kūpono (JIT) e unuhi i ka bytecode i nā ʻōkuhi mīkini ma ka lele.
Manaʻo ʻia e hoʻoulu ka hoʻonohonoho ʻana o ke ʻano hoʻonohonoho kuhikuhi BPF i ka hoʻokumu ʻana o nā hoʻokō ʻaoʻao ʻekolu e kūlike me ka mīkini virtual eBPF a hiki ke holo i nā polokalamu BPF i kākau ʻia no ka kernel Linux. Ke hana nei ka hana e hana i ia ʻano nā mīkini uila Ke hoʻomohala nei kekahi mau mea hana hoʻololi pūnaewele i nā mea hana hoʻolalelale lako no nā mea lawelawe pākēneka pūnaewele BPF. ʻO ka manaʻo e hoʻonui i nā hiki o ka ʻōnaehana XDP (eXpress Data Path) e holo i nā polokalamu BPF ʻaʻole wale ma ka pae hoʻokele pūnaewele, akā ma ka mea hoʻololi pūnaewele hoʻi.
No ka laʻana, ua hoʻohui ʻo Netronome i ke kākoʻo BPF i ka adapter Netronome Agilio CX SmartNIC a hāʻawi i kahi hōʻuluʻulu o nā hiʻohiʻona o nā papahana BPF āpau i hiki ke hoʻokō ʻia ʻaʻole wale me ka hoʻohana ʻana i ka CPU i loko o ka kernel me kekahi mea hoʻokele XDP-kūpono, akā ma ke kāleka pūnaewele. ʻaoʻao, kahi e hiki ai iā ʻoe ke hoʻoholo e pili ana i ka waiho ʻana, hoʻololi a hoʻihoʻi hou ʻana i nā ʻeke me ka ʻole o ka pau ʻana i nā kumuwaiwai CPU. Hoʻokaʻawale, hoʻomohala ʻia ka ʻenehana XRP (eXpress Resubmission Path), kahi e hiki ai ke hoʻohana i ka BPF e hoʻoneʻe i kekahi mau hana me nā drive NVMe, e like me ka hana ʻana me nā indexes a me ka hōʻuluʻulu ʻikepili, i ka pae hoʻokele NVMe a i ʻole i kahi mea waho.
Ua ʻike ʻia ʻo ka hoʻohana nui ʻana o ia mau mea hiki ke hoʻopilikia ʻia e nā pilikia e pili ana i nā pilikia kūpono a me ka pono e nānā i ke kūlana o ka eBPF i loko o ka kernel. Ma muli o kēia mau pilikia, ua hoʻopaneʻe kekahi mau mea hana i ka hoʻokomo ʻana i ka wikiwiki o ka lako BPF i kā lākou mau polokalamu a hiki i ka hoʻokumu ʻana i kahi maʻamau.
Source: opennet.ru
