Компанијата Cloudflare
Услужната алатка xdpcap е компатибилна со изразите за филтрирање tcpdump/libpcap и ви овозможува да обработувате значително поголем обем на сообраќај на истиот хардвер. Xdpcap може да се користи и за дебагирање во средини каде што не е применлив редовниот tcpdump, како што се филтрирање, DoS заштита и системи за балансирање на оптоварување што го користат потсистемот XDP на Linux кернелот, кој ги обработува пакетите пред да бидат обработени од мрежниот оџак на кернелот Linux (tcpdump не гледа пакети испуштени од XDP управувачот).
Високите перформанси се постигнуваат преку употреба на потсистеми eBPF и XDP. eBPF е преведувач на бајтекод вграден во кернелот на Линукс кој ви овозможува да креирате ракувачи со високи перформанси на дојдовни/излезни пакети со одлуки за нивно препраќање или отфрлање. Со користење на JIT компајлер, eBPF бајтекодот се преведува на лет во машински инструкции и се извршува со изведба на мајчин код. Потсистемот XDP (eXpress Data Path) го надополнува eBPF со способноста да се извршуваат BPF програми на ниво на двигател на мрежата, со поддршка за директен пристап до баферот за пакети DMA и работа на фазата пред тампонот skbuff да биде доделен од мрежниот стек.
Како и tcpdump, алатката xdpcap прво ги преведува правилата за филтрирање сообраќај на високо ниво во класичното претставување на BPF (cBPF) користејќи ја стандардната библиотека libpcap, а потоа ги претвора во форма на рутини eBPF користејќи компајлер
Извор: opennet.ru