If BPF_STMT or BPF_JUMP is defined, undefine them before redefining them.
Do that instead of just not defining the BPF stuff if __LINUX_FILTER_H__
is defined. That way, our definitions override the <linux/filter.h>
definitions. If those differ from our definitions, we want our
definitions, at least when building the BPF code generator, so that, for
example, we support the modulo and XOR operators. (If the kernel
doesn't support them, the attempt to set the kernel filter will fail if
we use BPF_MOD or BPF_XOR, and we'll fall back on doing userland
filtering.)
This should address GitHub issue #987.
(cherry picked from commit
2abff2bc2dbd2be3888330e9ce0df298dd441d8a)