summaryrefslogtreecommitdiffstats
path: root/sys/net/raw_cb.h
diff options
context:
space:
mode:
authorbz <bz@FreeBSD.org>2011-09-28 13:48:36 +0000
committerbz <bz@FreeBSD.org>2011-09-28 13:48:36 +0000
commita13ffdabccc99b57bdb73bc04662a95e6f93df8e (patch)
tree19deb44c2ae23c609f87f88a0cf3c966f9b800aa /sys/net/raw_cb.h
parentae2bc06327902b65a0e544a5e109882b272b701d (diff)
downloadFreeBSD-src-a13ffdabccc99b57bdb73bc04662a95e6f93df8e.zip
FreeBSD-src-a13ffdabccc99b57bdb73bc04662a95e6f93df8e.tar.gz
Pass the fibnum where we need filtering of the message on the
rtsock allowing routing daemons to filter routing updates on an rtsock per FIB. Adjust raw_input() and split it into wrapper and a new function taking an optional callback argument even though we only have one consumer [1] to keep the hackish flags local to rtsock.c. PR: kern/134931 Submitted by: multiple (see PR) Suggested by: rwatson [1] Reviewed by: rwatson MFC after: 3 days
Diffstat (limited to 'sys/net/raw_cb.h')
-rw-r--r--sys/net/raw_cb.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/net/raw_cb.h b/sys/net/raw_cb.h
index 35b546c..1b347e0 100644
--- a/sys/net/raw_cb.h
+++ b/sys/net/raw_cb.h
@@ -70,9 +70,14 @@ pr_init_t raw_init;
* Library routines for raw socket usrreq functions; will always be wrapped
* so that protocol-specific functions can be handled.
*/
+typedef int (*raw_input_cb_fn)(struct mbuf *, struct sockproto *,
+ struct sockaddr *, struct rawcb *);
+
int raw_attach(struct socket *, int);
void raw_detach(struct rawcb *);
void raw_input(struct mbuf *, struct sockproto *, struct sockaddr *);
+void raw_input_ext(struct mbuf *, struct sockproto *, struct sockaddr *,
+ raw_input_cb_fn);
/*
* Generic pr_usrreqs entries for raw socket protocols, usually wrapped so
OpenPOWER on IntegriCloud