summaryrefslogtreecommitdiffstats
path: root/sys/dev/de
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>1997-10-12 14:14:27 +0000
committerpeter <peter@FreeBSD.org>1997-10-12 14:14:27 +0000
commit5e16d91d2df341d74e4c83c4d2ef9ded0299ce51 (patch)
tree9ddda263c6c20e47c2cf6798e0580af77d058719 /sys/dev/de
parent0e8a4e730302429c1f3f386cf42e3d1806193c70 (diff)
downloadFreeBSD-src-5e16d91d2df341d74e4c83c4d2ef9ded0299ce51.zip
FreeBSD-src-5e16d91d2df341d74e4c83c4d2ef9ded0299ce51.tar.gz
Attempt to support IPX.
Suggested patch by: Vasily V. Grechishnikov <bazilio@ied-vorstu.ac.ru> (plus cut/paste, whitespace and typo fixes)
Diffstat (limited to 'sys/dev/de')
-rw-r--r--sys/dev/de/if_de.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/sys/dev/de/if_de.c b/sys/dev/de/if_de.c
index 7a8d3da..be066e7 100644
--- a/sys/dev/de/if_de.c
+++ b/sys/dev/de/if_de.c
@@ -21,7 +21,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: if_de.c,v 1.69 1997/09/18 08:28:23 peter Exp $
+ * $Id: if_de.c,v 1.70 1997/09/20 02:29:56 peter Exp $
*
*/
@@ -70,6 +70,11 @@
#include <netinet/in.h>
#endif
+#ifdef IPX
+#include <netipx/ipx.h>
+#include <netipx/ipx_if.h>
+#endif
+
#ifdef NS
#include <netns/ns.h>
#include <netns/ns_if.h>
@@ -4224,6 +4229,22 @@ tulip_ifioctl(
}
#endif /* INET */
+#ifdef IPX
+ case AF_IPX: {
+ struct ipx_addr *ina = &(IA_SIPX(ifa)->sipx_addr);
+ if (ipx_nullhost(*ina)) {
+ ina->x_host = *(union ipx_host *)(sc->tulip_enaddr);
+ } else {
+ ifp->if_flags &= ~IFF_RUNNING;
+ bcopy((caddr_t)ina->x_host.c_host,
+ (caddr_t)sc->tulip_enaddr,
+ sizeof(sc->tulip_enaddr));
+ }
+ tulip_init(sc);
+ break;
+ }
+#endif /* IPX */
+
#ifdef NS
/*
* This magic copied from if_is.c; I don't use XNS,
OpenPOWER on IntegriCloud