summaryrefslogtreecommitdiffstats
path: root/sys/i4b
diff options
context:
space:
mode:
authorjulian <julian@FreeBSD.org>2000-12-12 18:52:14 +0000
committerjulian <julian@FreeBSD.org>2000-12-12 18:52:14 +0000
commit2d1192e61200eb8fc54319899e014acefd14ae74 (patch)
tree7cea4425abc67a898f27d4352a634cfa82aad7cc /sys/i4b
parent66009fc30e546f777cfc59b5d148551c44f649e2 (diff)
downloadFreeBSD-src-2d1192e61200eb8fc54319899e014acefd14ae74.zip
FreeBSD-src-2d1192e61200eb8fc54319899e014acefd14ae74.tar.gz
Reviewed by: Archie@freebsd.org
This clears out my outstanding netgraph changes. There is a netgraph change of design in the offing and this is to some extent a superset of soem of the new functionality and some of the old functionality that may be removed. This code works as before, but allows some new features that I want to work with and evaluate. It is the basis for a version of netgraph with integral locking for SMP use. This is running on my test machine with no new problems :-)
Diffstat (limited to 'sys/i4b')
-rw-r--r--sys/i4b/driver/i4b_ing.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/i4b/driver/i4b_ing.c b/sys/i4b/driver/i4b_ing.c
index 50e1c4b..5510f50 100644
--- a/sys/i4b/driver/i4b_ing.c
+++ b/sys/i4b/driver/i4b_ing.c
@@ -464,6 +464,7 @@ ing_rx_data_rdy(int unit)
{
register struct ing_softc *sc = &ing_softc[unit];
register struct mbuf *m;
+ int error;
if((m = *isdn_linktab[unit]->rx_mbuf) == NULL)
return;
@@ -476,7 +477,7 @@ ing_rx_data_rdy(int unit)
sc->sc_inpkt++;
- ng_queue_data(sc->hook, m, NULL);
+ NG_SEND_DATA_ONLY(error, sc->hook, m);
}
/*---------------------------------------------------------------------------*
@@ -744,7 +745,7 @@ ng_ing_rcvmsg(node_p node, struct ng_mesg *msg, const char *retaddr,
#if defined(__FreeBSD_version) && __FreeBSD_version >= 500000
static int
ng_ing_rcvdata(hook_p hook, struct mbuf *m, meta_p meta,
- struct mbuf **ret_m, meta_p *ret_meta)
+ struct mbuf **ret_m, meta_p *ret_meta, struct ng_mesg **resp)
#else
static int
ng_ing_rcvdata(hook_p hook, struct mbuf *m, meta_p meta)
@@ -829,6 +830,8 @@ ng_ing_rmnode(node_p node)
static int
ng_ing_connect(hook_p hook)
{
+ /* probably not at splnet, force outward queueing */
+ hook->peer->flags |= HK_QUEUE;
return (0);
}
OpenPOWER on IntegriCloud