// SPDX-License-Identifier: GPL-2.0-only
/*
* Minimal BPF assembler
*
* Instead of libpcap high - level filter expressions , it can be quite
* useful to define filters in low - level BPF assembler ( that is kept
* close to Steven McCanne and Van Jacobson ' s original BPF paper ) .
* In particular for BPF JIT implementors , JIT security auditors , or
* just for defining BPF expressions that contain extensions which are
* not supported by compilers .
*
* How to get into it :
*
* 1 ) read Documentation / networking / filter . rst
* 2 ) Run ` bpf_asm [ - c ] < filter - prog file > ` to translate into binary
* blob that is loadable with xt_bpf , cls_bpf et al . Note : - c will
* pretty print a C - like construct .
*
* Copyright 2013 Daniel Borkmann < borkmann @ redhat . com >
*/
#include <stdbool.h>
#include <stdio.h>
#include <string.h>
extern void bpf_asm_compile(FILE *fp, bool cstyle);
int main(int argc, char **argv)
{
FILE *fp = stdin;
bool cstyle = false ;
int i;
for (i = 1 ; i < argc; i++) {
if (!strncmp("-c" , argv[i], 2 )) {
cstyle = true ;
continue ;
}
fp = fopen(argv[i], "r" );
if (!fp) {
fp = stdin;
continue ;
}
break ;
}
bpf_asm_compile(fp, cstyle);
return 0 ;
}
Messung V0.5 in Prozent C=97 H=89 G=93
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-09-29)
¤
*© Formatika GbR, Deutschland