summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjhay <jhay@FreeBSD.org>1999-02-06 10:48:11 +0000
committerjhay <jhay@FreeBSD.org>1999-02-06 10:48:11 +0000
commit44b567482e8c3da75ed3a19998b014b842e36ad7 (patch)
treee65a376d24d8a83c1481e0bcf3ed270388ac69df
parent263576a9fc3b774ced351c2c66aceede13ddf62d (diff)
downloadFreeBSD-src-44b567482e8c3da75ed3a19998b014b842e36ad7.zip
FreeBSD-src-44b567482e8c3da75ed3a19998b014b842e36ad7.tar.gz
Make it possible to use lo0 as an internal IPX network. This is usefull
for mars_nwe server and nwfs. PR: 9871 Submitted by: Boris Popov <bp@butya.kz>
-rw-r--r--sys/netipx/ipx_outputfl.c5
-rw-r--r--sys/netipx/ipx_pcb.c3
-rw-r--r--sys/netipx/ipx_usrreq.c5
3 files changed, 6 insertions, 7 deletions
diff --git a/sys/netipx/ipx_outputfl.c b/sys/netipx/ipx_outputfl.c
index c540aa7..794b0df 100644
--- a/sys/netipx/ipx_outputfl.c
+++ b/sys/netipx/ipx_outputfl.c
@@ -33,7 +33,7 @@
*
* @(#)ipx_outputfl.c
*
- * $Id: ipx_outputfl.c,v 1.9 1997/07/01 00:22:49 bde Exp $
+ * $Id: ipx_outputfl.c,v 1.10 1998/02/09 06:10:21 eivind Exp $
*/
#include <sys/param.h>
@@ -118,7 +118,7 @@ gotif:
* such a packet.
*/
if (dst->sipx_addr.x_host.c_host[0]&1) {
- if ((ifp->if_flags & IFF_BROADCAST) == 0) {
+ if ((ifp->if_flags & (IFF_BROADCAST | IFF_LOOPBACK)) == 0) {
error = EADDRNOTAVAIL;
goto bad;
}
@@ -126,6 +126,7 @@ gotif:
error = EACCES;
goto bad;
}
+ m0->m_flags |= M_BCAST;
}
if (htons(ipx->ipx_len) <= ifp->if_mtu) {
diff --git a/sys/netipx/ipx_pcb.c b/sys/netipx/ipx_pcb.c
index f7e00a0..fa2d357 100644
--- a/sys/netipx/ipx_pcb.c
+++ b/sys/netipx/ipx_pcb.c
@@ -33,7 +33,7 @@
*
* @(#)ipx_pcb.c
*
- * $Id: ipx_pcb.c,v 1.13 1997/10/28 15:58:56 bde Exp $
+ * $Id: ipx_pcb.c,v 1.14 1998/02/09 06:10:23 eivind Exp $
*/
#include <sys/param.h>
@@ -169,7 +169,6 @@ ipx_pcbconnect(ipxp, nam, p)
if (ro->ro_rt != NULL)
RTFREE(ro->ro_rt);
ro->ro_rt = NULL;
- ipxp->ipxp_laddr.x_net = ipx_zeronet;
}
}/* else cached route is ok; do nothing */
ipxp->ipxp_lastdst = sipx->sipx_addr;
diff --git a/sys/netipx/ipx_usrreq.c b/sys/netipx/ipx_usrreq.c
index 63e1406..25806aa 100644
--- a/sys/netipx/ipx_usrreq.c
+++ b/sys/netipx/ipx_usrreq.c
@@ -33,7 +33,7 @@
*
* @(#)ipx_usrreq.c
*
- * $Id: ipx_usrreq.c,v 1.20 1998/08/23 03:07:15 wollman Exp $
+ * $Id: ipx_usrreq.c,v 1.21 1998/12/07 21:58:42 archie Exp $
*/
#include "opt_ipx.h"
@@ -560,8 +560,7 @@ ipx_send(so, flags, m, nam, control, p)
if (nam != NULL) {
ipx_pcbdisconnect(ipxp);
splx(s);
- ipxp->ipxp_laddr.x_host = laddr.x_host;
- ipxp->ipxp_laddr.x_port = laddr.x_port;
+ ipxp->ipxp_laddr = laddr;
}
send_release:
OpenPOWER on IntegriCloud