diff options
Diffstat (limited to 'tools/net/bpf_asm.c')
-rw-r--r-- | tools/net/bpf_asm.c | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/tools/net/bpf_asm.c b/tools/net/bpf_asm.c deleted file mode 100644 index c15aef097b04..000000000000 --- a/tools/net/bpf_asm.c +++ /dev/null @@ -1,52 +0,0 @@ -/* - * 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.txt - * 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> - * Licensed under the GNU General Public License, version 2.0 (GPLv2) - */ - -#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; -} |