aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/fe
diff options
context:
space:
mode:
authorJulian Elischer <julian@FreeBSD.org>1995-10-26 20:31:59 +0000
committerJulian Elischer <julian@FreeBSD.org>1995-10-26 20:31:59 +0000
commitcc6a66f20e9c3dbde378e543b40bea846059e2d3 (patch)
treed823a4d0efac391c6dfad3ac2e27c0e984cea732 /sys/dev/fe
parent059a9bc2bb95ccc3a5f6b8f40819813380523d7e (diff)
Notes
Diffstat (limited to 'sys/dev/fe')
-rw-r--r--sys/dev/fe/if_fe.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/sys/dev/fe/if_fe.c b/sys/dev/fe/if_fe.c
index d6e9ca7587cb9..b17d4fbc99738 100644
--- a/sys/dev/fe/if_fe.c
+++ b/sys/dev/fe/if_fe.c
@@ -72,6 +72,11 @@
#include <netinet/if_ether.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>
@@ -2017,6 +2022,32 @@ fe_ioctl ( struct ifnet *ifp, int command, caddr_t data )
arp_ifinit( &sc->arpcom, ifa );
break;
#endif
+#ifdef IPX
+
+ /*
+ * XXX - This code is probably wrong
+ */
+ case AF_IPX:
+ {
+ register struct ipx_addr *ina
+ = &(IA_SIPX(ifa)->sipx_addr);
+
+ if (ipx_nullhost(*ina))
+ ina->x_host =
+ *(union ipx_host *) (sc->sc_enaddr);
+ else {
+ bcopy((caddr_t) ina->x_host.c_host,
+ (caddr_t) sc->sc_enaddr,
+ sizeof(sc->sc_enaddr));
+ }
+
+ /*
+ * Set new address
+ */
+ fe_init(sc->sc_unit);
+ break;
+ }
+#endif
#ifdef NS
/*