How does freebsd supports ipx?

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

2012/10/12 Виталий Туровец <corebug at>:
> 2012/10/12 YC Wang <wangyc0307 at>:
>> 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 mailing list
>> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at"
> 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
> X-NCC-RegID:


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
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
freebsd-yc# find /usr/obj/usr/src/sys/IPXKERNEL/ | grep  ipx

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

YC Wang

More information about the freebsd-questions mailing list