summaryrefslogtreecommitdiffstats
path: root/sys/netatalk
diff options
context:
space:
mode:
authorjulian <julian@FreeBSD.org>1998-06-12 03:48:19 +0000
committerjulian <julian@FreeBSD.org>1998-06-12 03:48:19 +0000
commit1ee51dd89f8fa0c587541ec9a5d0e0a307a1319e (patch)
tree3dce44767d7ec68b96b40dff02a52db6b71dbeb0 /sys/netatalk
parenteaeb937aa0099bbc5920c2a03369e096418c7518 (diff)
downloadFreeBSD-src-1ee51dd89f8fa0c587541ec9a5d0e0a307a1319e.zip
FreeBSD-src-1ee51dd89f8fa0c587541ec9a5d0e0a307a1319e.tar.gz
Go through the loopback code with a broom..
Remove lots'o'hacks. looutput is now static. Other callers who want to use loopback to allow shortcutting should call the special entrypoint for this, if_simloop(), which is specifically designed for this purpose. Using looutput for this purpose was problematic, particularly with bpf and trying to keep track of whether one should be using the charateristics of the loopback interface or the interface (e.g. if_ethersubr.c) that was requesting the loopback. There was a whole class of errors due to this mis-use each of which had hacks to cover them up. Consists largly of hack removal :-)
Diffstat (limited to 'sys/netatalk')
-rw-r--r--sys/netatalk/ddp_output.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/netatalk/ddp_output.c b/sys/netatalk/ddp_output.c
index c6f16e3..c59a8e3 100644
--- a/sys/netatalk/ddp_output.c
+++ b/sys/netatalk/ddp_output.c
@@ -112,6 +112,14 @@ ddp_route( struct mbuf *m, struct route *ro)
struct ifnet *ifp = NULL;
u_short net;
+#if 0
+ /* Check for net zero, node zero ("myself") */
+ if (satosat(&ro->ro_dst)->sat_addr.s_net == ATADDR_ANYNET
+ && satosat(&ro->ro_dst)->sat_addr.s_node == ATADDR_ANYNODE) {
+ /* Find the loopback interface */
+ }
+#endif
+
/*
* if we have a route, find the ifa that refers to this route.
* I.e The ifa used to get to the gateway.
@@ -187,3 +195,4 @@ printf( "ddp_route: oops\n" );
return((*ifp->if_output)( ifp,
m, (struct sockaddr *)&gate, NULL)); /* XXX */
}
+
OpenPOWER on IntegriCloud