/* * 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] ` 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 * Licensed under the GNU General Public License, version 2.0 (GPLv2) */ #include #include #include 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; } cket-loop-back net-next plumbingsTobias Klauser
summaryrefslogtreecommitdiff
include
AgeCommit message (Expand)AuthorFilesLines
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-12-11 11:17:54 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2016-12-11 11:17:54 -0800
commit69973b830859bc6529a7a0468ba0d80ee5117826 (patch)
tree5f11fe15ed9d9a3ab9c92242030e54b73ecdce45 /fs/xfs
parent2e4333c14de06a333783d6812cf3c4998f78b0c8 (diff)
Linux 4.9
Diffstat (limited to 'fs/xfs')