How does freebsd supports ipx?

YC Wang wangyc0307 at gmail.com
Mon Oct 15 06:23:35 UTC 2012


2012/10/12 Виталий Туровец <corebug at corebug.net>:
> 2012/10/12 YC Wang <wangyc0307 at gmail.com>:
>> Hi,all:
>>
>>     I read from wikipedia that freebsd supports ipx. But when I tried
>> to set ipx address on em0,it showed the following message:
>>
>>     freebsd-yc# ifconfig em0 ipx (netnum.nodenum)
>>     ifconfig: socket(family 23,SOCK_DGRAM: Protocol not supported
>>
>>     And as I furher trussed the ifconfig process, I found this was
>> probably caused by the failure of the socket syscall:
>>
>>     freebsd-yc# truss ifconfig em0 ipx netnum.nodenum
>>     ......
>>     socket(PF_IPX,SOCK_DGRAM,0)                  ERR#43 'Protocol not supported'
>>     ......
>>
>>
>>     In contrast however, when calling "socket(PF_IPX,SOCK_DGRAM,0)" on
>> Linux, it will automatically load the ipx kernel module and the socket
>> syscall returns successfully. But I don't find any ipx module in
>> /boot/kernel/ on freebsd.
>>
>>    So I wonder how does freebsd supports ipx? Is there any other work
>> I should do for this purpose?
>>
>>    And if this isn't the most appropriate list for this question,
>> please let me know.
>>
>>   Thanks
>>   YC Wang
>> _______________________________________________
>> freebsd-questions at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
>> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
>
> I suppose you should add "options IPX" line to your kernel
> configuration file and rebuild/reinstall the kernel.
>
>
> --
>
>
>
>
> ~~~
> WBR,
> Vitaliy Turovets
> NOC Lead @TV-Net ISP
> NOC Lead @Service Outsourcing company
> +38(093)265-70-55
> VITU-RIPE
> X-NCC-RegID: ua.tv

Hi:

I rebuilt the kernel with "option IPX", but it didn't seem to work.
Below was what I did:

1) create a new configure file IPXKERNEL enabling "option IPX"
freebsd-yc# cat /sys/i386/conf/IPXKERNEL
include GENERIC
ident IPXKERNEL
options	IPX

2) make buildkerel KERNCONF=IPXKERNEL. When finised, I found that the
ipx source code did get compiled, but hadn't been linked into a kernel
module.
freebsd-yc# find /usr/obj/usr/src/sys/IPXKERNEL/ | grep  ipx
/usr/obj/usr/src/sys/IPXKERNEL/modules/usr/src/sys/modules/arcnet/opt_ipx.h
/usr/obj/usr/src/sys/IPXKERNEL/modules/usr/src/sys/modules/if_ef/opt_ipx.h
/usr/obj/usr/src/sys/IPXKERNEL/modules/usr/src/sys/modules/if_tun/opt_ipx.h
/usr/obj/usr/src/sys/IPXKERNEL/modules/usr/src/sys/modules/netgraph/iface/opt_ipx.h
/usr/obj/usr/src/sys/IPXKERNEL/modules/usr/src/sys/modules/smbfs/opt_ipx.h
/usr/obj/usr/src/sys/IPXKERNEL/modules/usr/src/sys/modules/sppp/opt_ipx.h
/usr/obj/usr/src/sys/IPXKERNEL/modules/usr/src/sys/modules/wlan/opt_ipx.h
/usr/obj/usr/src/sys/IPXKERNEL/opt_ipx.h
/usr/obj/usr/src/sys/IPXKERNEL/ipx.o
/usr/obj/usr/src/sys/IPXKERNEL/ipx_cksum.o
/usr/obj/usr/src/sys/IPXKERNEL/ipx_input.o
/usr/obj/usr/src/sys/IPXKERNEL/ipx_outputfl.o
/usr/obj/usr/src/sys/IPXKERNEL/ipx_pcb.o
/usr/obj/usr/src/sys/IPXKERNEL/ipx_proto.o
/usr/obj/usr/src/sys/IPXKERNEL/ipx_usrreq.o

3) Still I installed the new kernel with "make installkernel
KERNCONF=IPXKERNEL", and as expected, it was exactly the same to the
old one.
freebsd-yc# ls /boot/kernel > kernel.txt
freebsd-yc# ls /boot/kernel.old/ > kernelold.txt
freebsd-yc# diff kernel.txt kernelold.txt

So do you have any idea about this? The information of my system is:
freebsd-yc# uname -a
FreeBSD freebsd-yc.vm 8.3-RELEASE FreeBSD 8.3-RELEASE #0: Mon Oct 15
11:20:49 CST 2012
root at freebsd-yc.vm:/usr/obj/usr/src/sys/IPXKERNEL  i386

Thanks,
YC Wang


More information about the freebsd-questions mailing list