summaryrefslogtreecommitdiffstats
path: root/sys/netgraph/ng_bpf.c
diff options
context:
space:
mode:
authorarchie <archie@FreeBSD.org>1999-12-06 18:43:32 +0000
committerarchie <archie@FreeBSD.org>1999-12-06 18:43:32 +0000
commit046ee838bbccb6680fb79817084fe4ba46c704f2 (patch)
treec79d4bcd171d91dbd7c1064a40b8622b8b6d4330 /sys/netgraph/ng_bpf.c
parent7ed7dfa1b1ec590e2f3ae57fb900ab4caf6bfc97 (diff)
downloadFreeBSD-src-046ee838bbccb6680fb79817084fe4ba46c704f2.zip
FreeBSD-src-046ee838bbccb6680fb79817084fe4ba46c704f2.tar.gz
Change definition of NG_BPF_HOOKPROG_SIZE() so as not to require
a structure pointer, just the number of BPF instructions.
Diffstat (limited to 'sys/netgraph/ng_bpf.c')
-rw-r--r--sys/netgraph/ng_bpf.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/sys/netgraph/ng_bpf.c b/sys/netgraph/ng_bpf.c
index 7b0e80c..f3c979f 100644
--- a/sys/netgraph/ng_bpf.c
+++ b/sys/netgraph/ng_bpf.c
@@ -279,7 +279,8 @@ ng_bpf_rcvmsg(node_p node, struct ng_mesg *msg, const char *retaddr,
/* Sanity check */
if (msg->header.arglen < sizeof(*hp)
- || msg->header.arglen != NG_BPF_HOOKPROG_SIZE(hp))
+ || msg->header.arglen
+ != NG_BPF_HOOKPROG_SIZE(hp->bpf_prog_len))
ERROUT(EINVAL);
/* Find hook */
@@ -294,8 +295,8 @@ ng_bpf_rcvmsg(node_p node, struct ng_mesg *msg, const char *retaddr,
case NGM_BPF_GET_PROGRAM:
{
+ struct ng_bpf_hookprog *hp;
hook_p hook;
- hinfo_p hip;
/* Sanity check */
if (msg->header.arglen == 0)
@@ -305,15 +306,15 @@ ng_bpf_rcvmsg(node_p node, struct ng_mesg *msg, const char *retaddr,
/* Find hook */
if ((hook = ng_findhook(node, msg->data)) == NULL)
ERROUT(ENOENT);
- hip = hook->private;
/* Build response */
+ hp = ((hinfo_p)hook->private)->prog;
NG_MKRESPONSE(resp, msg,
- NG_BPF_HOOKPROG_SIZE(hip->prog), M_NOWAIT);
+ NG_BPF_HOOKPROG_SIZE(hp->bpf_prog_len), M_NOWAIT);
if (resp == NULL)
ERROUT(ENOMEM);
- bcopy(hip->prog, resp->data,
- NG_BPF_HOOKPROG_SIZE(hip->prog));
+ bcopy(hp, resp->data,
+ NG_BPF_HOOKPROG_SIZE(hp->bpf_prog_len));
break;
}
@@ -486,7 +487,7 @@ ng_bpf_setprog(hook_p hook, const struct ng_bpf_hookprog *hp0)
return (EINVAL);
/* Make a copy of the program */
- size = NG_BPF_HOOKPROG_SIZE(hp0);
+ size = NG_BPF_HOOKPROG_SIZE(hp0->bpf_prog_len);
MALLOC(hp, struct ng_bpf_hookprog *, size, M_NETGRAPH, M_WAITOK);
if (hp == NULL)
return (ENOMEM);
OpenPOWER on IntegriCloud