From 44b567482e8c3da75ed3a19998b014b842e36ad7 Mon Sep 17 00:00:00 2001 From: jhay Date: Sat, 6 Feb 1999 10:48:11 +0000 Subject: 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 --- sys/netipx/ipx_outputfl.c | 5 +++-- sys/netipx/ipx_pcb.c | 3 +-- sys/netipx/ipx_usrreq.c | 5 ++--- 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 @@ -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 @@ -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: -- cgit v1.1