KernelScript 0.1.0

Fa'ailoa KernelScript — o se gagana fa'apolokalame fa'ata'ita'i mo le atina'eina o polokalame eBPF, uta a tagata fa'aoga, ma fa'aopoopoga kernel Linux mai le fa'avae tulafono e tasi. O lo'o atia'e le poloketi Tekinolosi Multikernel, o se kamupani e fa'alauiloaina le fausaga o le split-kernel/multikernel mo LinuxNa saunoa le faŹ»avae o le kamupani, o Cong Wang, e uiga i le KernelScript i le Linux Foundation Open Source Summit; o le tulafono o le poloketi ua lolomiina i le GitHub i lalo o se laisene Apache 2.0.


O le eBPF (Extended Berkeley Packet Filter) o se tekonolosi e mafai ai e polokalame laiti ona fa'agaoioia sa'o i totonu o le kernel. Linux, e aunoa ma le pa'i atu i lana code po'o le fa'aleagaina o le mautu o le faiga. E fesoasoani le eBPF i le tele o galuega, mai le mata'ituina o le fa'atinoga i le saogalemu ma le fa'aleleia atili o feso'ota'iga. Mo se fa'ata'ita'iga, e mafai e le eBPF ona mata'ituina vala'au a le faiga, feoa'iga i feso'ota'iga, ma isi mea tutupu i le taimi moni. E mafai ai ona e iloa fa'alavelave fa'atino ma fa'aleleia atili lau faiga.Sa ta'ua e Habr).

O le manatu i tua atu o le KernelScript o le faʻafaigofieina lea o le atinaʻeina o le eBPF nai lo le faʻaaogaina o le tuʻufaʻatasiga o le C + libbpf, aʻo faʻaauau pea ona sili atu nai lo na o le faʻataʻitaʻiina e pei o le bpftrace. Ua faʻamatalaina e le au atiaʻe le gagana o se DSL saogalemu e faʻapipiʻi eGMP, avanoa o tagata faʻaoga, ma le atinaʻeina o le avanoa o le kernel: mai se faila puna e tasi, e tatau i le compiler ona faia se code mo polokalame eBPF, le vaega o le avanoa o le tagata faʻaoga, ma le tuʻufaʻatasia ma modules o le kernel e ala i le kfunc.

O agava'a ua ta'ua e le KernelScript:

  • Tuufaatasia mo ni faamoemoega eseese mai se faila e tasi — o galuega faatino e iai uiga e pei o le @xdp, @tc, @helper, ma le @kfunc e otometi lava ona tofia i le vaega sao: o se polokalame XDP/TC, o se galuega fesoasoani, o se galuega faatino kernel, po o se numera masani o le userspace.

  • Fa'aautomatika o vala'au fa'ai'u — nai lo le fa'atulagaina lima o le fa'asologa o polokalame ma vala'auina le bpf_tail_call(), e talosagaina le tagata atia'e e tusi se vala'au masani i se isi galuega ma tu'u le gaosiga o le code eBPF maualalo i le compiler.

  • Galuega faigofie i fa'afanua dynptr ma eBPF — o loo natia e le gagana nisi o galuega faatino i le bpf_ringbuf_reserve_dynptr, bpf_dynptr_write, ma API faapena. E mafai ona faaaoga faafanua eBPF o ni fesuiaiga faavaomalo e mafai ona maua e polokalame eseese.

  • Puleaina o le olaga atoa o polokalama faakomepiuta — O polokalame eBPF o loŹ»o faŹ»atusalia o ni tau ua lolomiina, lea, e tusa ai ma tusitala, e mafai ai ona puipuia mea sese i le taimi o le faŹ»aputuga, e pei o le taumafai e faŹ»atino le attach() aŹ»o leŹ»i manuia le load().

  • lagolago a le kfunc — E mafai ai e le KernelScript ona e fa'alauiloa galuega fa'atino ma le uiga @kfunc e fa'atinoina i le avanoa o le kernel ma e mafai ona vala'auina mai polokalame eBPF; ua folafola mai mo i latou le gaosiga otometi o le module kernel ma le resitalaina o le BTF.

  • Lagolago mo ituaiga polokalame tetele a le eBPF — O le README o loŹ»o faŹ»aalia ai faŹ»ataŹ»itaŹ»iga mo le XDP, TC, polokalame suŹ»esuŹ»e, ma le perf_event, e aofia ai le galulue faŹ»atasi ma le faŹ»atusatusaga o le faŹ»atinoga o masini komepiuta.

Ua fa’amamafa faapitoa e tusitala e fa’apea, o le KernelScript e le o se sui o le kernel. Linux po'o le taimi fa'agaoioia fou o le eBPF. O se gagana fa'akomepiuta lea ma se gagana maualuga e tatau ona fa'atupuina ai vaega masani maualalo: eBPF code, userspace loaders, Makefiles, ma, pe a mana'omia, o se kernel module.

Mo le taimi nei, e tatau ona manatu i le galuega faatino o se faataitaiga muamua. Ua taʻu manino mai i le nofoaga teu oloa o loo i ai le KernelScript i le tulaga o le atinaeina. Peta, e mafai ona suia le fa'atulagaga ma le API e aunoa ma le fa'atumauina o le fetaui lelei i tua, ma e le'i fautuaina lona fa'aaogaina i le gaosiga.

puna: linux.org.ru

FaŹ»atau talimalo faŹ»atuatuaina mo nofoaga ma DDoS puipuiga, VPS VDS servers šŸ”„ Fa'atau le 'upega tafa'ilagi talimalo fa'atuatuaina ma le puipuiga DDoS, 'au'aunaga VPS VDS | ProHoster