aboutsummaryrefslogtreecommitdiff
path: root/sys/netipx/ipx_input.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/netipx/ipx_input.c')
-rw-r--r--sys/netipx/ipx_input.c50
1 files changed, 0 insertions, 50 deletions
diff --git a/sys/netipx/ipx_input.c b/sys/netipx/ipx_input.c
index 2a0980a4ff32..f046e2304fba 100644
--- a/sys/netipx/ipx_input.c
+++ b/sys/netipx/ipx_input.c
@@ -452,53 +452,3 @@ ipx_undo_route(struct route *ro)
RTFREE(ro->ro_rt);
}
}
-
-/*
- * XXXRW: This code should be run in its own netisr dispatch to avoid a call
- * back into the socket code from the IPX output path.
- */
-void
-ipx_watch_output(struct mbuf *m, struct ifnet *ifp)
-{
- struct ipxpcb *ipxp;
- struct ifaddr *ifa;
- struct ipx_ifaddr *ia;
-
- /*
- * Give any raw listeners a crack at the packet
- */
- IPX_LIST_LOCK();
- LIST_FOREACH(ipxp, &ipxrawpcb_list, ipxp_list) {
- struct mbuf *m0 = m_copy(m, 0, (int)M_COPYALL);
- if (m0 != NULL) {
- struct ipx *ipx;
-
- M_PREPEND(m0, sizeof(*ipx), M_DONTWAIT);
- if (m0 == NULL)
- continue;
- ipx = mtod(m0, struct ipx *);
- ipx->ipx_sna.x_net = ipx_zeronet;
- for (ia = ipx_ifaddr; ia != NULL; ia = ia->ia_next)
- if (ifp == ia->ia_ifp)
- break;
- if (ia == NULL)
- ipx->ipx_sna.x_host = ipx_zerohost;
- else
- ipx->ipx_sna.x_host =
- ia->ia_addr.sipx_addr.x_host;
-
- if (ifp != NULL && (ifp->if_flags & IFF_POINTOPOINT))
- TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) {
- if (ifa->ifa_addr->sa_family == AF_IPX) {
- ipx->ipx_sna = IA_SIPX(ifa)->sipx_addr;
- break;
- }
- }
- ipx->ipx_len = ntohl(m0->m_pkthdr.len);
- IPX_LOCK(ipxp);
- ipx_input(m0, ipxp);
- IPX_UNLOCK(ipxp);
- }
- }
- IPX_LIST_UNLOCK();
-}