bpf_stub.c revision 1.1 1 1.1 pooka #include <sys/cdefs.h>
2 1.1 pooka
3 1.1 pooka #include <sys/param.h>
4 1.1 pooka #include <sys/mbuf.h>
5 1.1 pooka
6 1.1 pooka #include <net/bpf.h>
7 1.1 pooka
8 1.1 pooka static void
9 1.1 pooka bpf_stub_attach(struct ifnet *ipf, u_int dlt, u_int hlen, struct bpf_if **drvp)
10 1.1 pooka {
11 1.1 pooka
12 1.1 pooka *drvp = NULL;
13 1.1 pooka }
14 1.1 pooka
15 1.1 pooka static void
16 1.1 pooka bpf_stub_null(void)
17 1.1 pooka {
18 1.1 pooka
19 1.1 pooka }
20 1.1 pooka
21 1.1 pooka static void
22 1.1 pooka bpf_stub_warn(void)
23 1.1 pooka {
24 1.1 pooka
25 1.1 pooka #ifdef DEBUG
26 1.1 pooka panic("bpf method called without attached bpf_if");
27 1.1 pooka #endif
28 1.1 pooka #ifdef DIAGNOSTIC
29 1.1 pooka printf("bpf method called without attached bpf_if\n");
30 1.1 pooka #endif
31 1.1 pooka }
32 1.1 pooka
33 1.1 pooka struct bpf_ops bpf_ops_stub = {
34 1.1 pooka .bpf_attach = bpf_stub_attach,
35 1.1 pooka .bpf_detach = (void *)bpf_stub_null,
36 1.1 pooka .bpf_change_type = (void *)bpf_stub_null,
37 1.1 pooka
38 1.1 pooka .bpf_tap = (void *)bpf_stub_warn,
39 1.1 pooka .bpf_mtap = (void *)bpf_stub_warn,
40 1.1 pooka .bpf_mtap2 = (void *)bpf_stub_warn,
41 1.1 pooka .bpf_mtap_af = (void *)bpf_stub_warn,
42 1.1 pooka .bpf_mtap_et = (void *)bpf_stub_warn,
43 1.1 pooka .bpf_mtap_sl_in = (void *)bpf_stub_warn,
44 1.1 pooka .bpf_mtap_sl_out = (void *)bpf_stub_warn,
45 1.1 pooka };
46 1.1 pooka
47 1.1 pooka struct bpf_ops *bpf_ops;
48 1.1 pooka
49 1.1 pooka void bpf_setops_stub(void);
50 1.1 pooka void
51 1.1 pooka bpf_setops_stub()
52 1.1 pooka {
53 1.1 pooka
54 1.1 pooka bpf_ops = &bpf_ops_stub;
55 1.1 pooka }
56 1.1 pooka __weak_alias(bpf_setops,bpf_setops_stub);
57