summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorMike Belopuhov <mikeb@cvs.openbsd.org>2017-06-28 18:31:04 +0000
committerMike Belopuhov <mikeb@cvs.openbsd.org>2017-06-28 18:31:04 +0000
commitff0bb5eca7820ea500f63fdba84b65d82f81b4f4 (patch)
treee81bef8741f4256393dfcdd65047ee3bd5811ab7 /sys
parente7d423d8be4ef3eae55043fa62fdf43c48708ac8 (diff)
Extend pf queueing ops to include queue manager hooks
Discussed with and OK henning@ at d2k17 as a part of a larger diff.
Diffstat (limited to 'sys')
-rw-r--r--sys/net/pfvar.h17
1 files changed, 12 insertions, 5 deletions
diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h
index d19f6f769ac..4ab474dbcad 100644
--- a/sys/net/pfvar.h
+++ b/sys/net/pfvar.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: pfvar.h,v 1.458 2017/06/26 18:33:24 bluhm Exp $ */
+/* $OpenBSD: pfvar.h,v 1.459 2017/06/28 18:31:03 mikeb Exp $ */
/*
* Copyright (c) 2001 Daniel Hartmeier
@@ -47,6 +47,7 @@
struct ip;
struct ip6_hdr;
+struct mbuf_list;
#define PF_TCPS_PROXY_SRC ((TCP_NSTATES)+0)
#define PF_TCPS_PROXY_DST ((TCP_NSTATES)+1)
@@ -1365,10 +1366,16 @@ struct hfsc_opts {
};
struct pfq_ops {
- void *(*pfq_alloc)(struct ifnet *);
- int (*pfq_addqueue)(void *, struct pf_queuespec *);
- void (*pfq_free)(void *);
- int (*pfq_qstats)(struct pf_queuespec *, void *, int *);
+ void * (*pfq_alloc)(struct ifnet *);
+ int (*pfq_addqueue)(void *, struct pf_queuespec *);
+ void (*pfq_free)(void *);
+ int (*pfq_qstats)(struct pf_queuespec *, void *, int *);
+ /* Queue manager ops */
+ unsigned int (*pfq_qlength)(void *);
+ struct mbuf * (*pfq_enqueue)(void *, struct mbuf *);
+ struct mbuf * (*pfq_deq_begin)(void *, void **, struct mbuf_list *);
+ void (*pfq_deq_commit)(void *, struct mbuf *, void *);
+ void (*pfq_purge)(void *, struct mbuf_list *);
};
struct pf_tagname {