HEADS UP: IPX over IP support removed

Robert Watson rwatson at FreeBSD.org
Wed Jun 13 14:09:56 UTC 2007

Dear all,

Per my countless e-mails over the last two (three?) years, we are now working 
on removing network components that do not run safely without the Giant lock. 
We hope not to have to maintain the debug.mpsafenet compatibility shim set in 
7.0-RELEASE.  I have just removed the IPXIP option, which allowed tunneling 
IPX traffic over wide-area IP networks to link IPX enclaves.  I've been unable 
to raise any support in testing work-in-progress patches to lock down this 
code despite several mailing list appeals.  I'm happy to re-add the code in 
the event someone turns up who can work with me on this, even before the 7.0 
release cycle kicks off if that person turns out to be very responsive. :-)

The following subsystems remain with NET_NEEDS_GIANT dependence:

i4b -    ISDN framework, for which there is on-going work

netatm - One of three ATM frameworks, for which there is on-going work

ng_h4 -  Bluetooth serial drivers -- I know of no on-going work here

IPSEC -  KAME IPSEC implementation, which will be removed and replaced with
          FAST_IPSEC in 7.0, once IPv6 support is committed for it.

Of the above, I am concerned about ng_h4 since I've heard nothing about 
potential work on this.  I believe the dependence issue has to do with 
entering the non-MPSAFE TTY code without Giant, and perhaps this is easily 

Robert N M Watson
Computer Laboratory
University of Cambridge

---------- Forwarded message ----------
Date: Wed, 13 Jun 2007 14:01:43 +0000 (UTC)
From: Robert Watson <rwatson at FreeBSD.org>
To: src-committers at FreeBSD.org, cvs-src at FreeBSD.org, cvs-all at FreeBSD.org
Subject: cvs commit: src/sys/conf NOTES files options src/sys/net
     if_types.h src/sys/netinet in_proto.c src/sys/netipx ipx.h         ipx_if.h
     ipx_ip.c ipx_ip.h ipx_usrreq.c

rwatson     2007-06-13 14:01:43 UTC

   FreeBSD src repository

   Modified files:
     sys/conf             NOTES files options
     sys/net              if_types.h
     sys/netinet          in_proto.c
     sys/netipx           ipx.h ipx_if.h ipx_usrreq.c
   Removed files:
     sys/netipx           ipx_ip.c ipx_ip.h
   Remove IPX over IP tunneling support, which allows IPX routing over IP
   tunnels, and was not MPSAFE.  The code can be easily restored in the
   event that someone with an IPX over IP tunnel configuration can work
   with me to test patches.

   This removes one of five remaining consumers of NET_NEEDS_GIANT.

   Approved by:    re (kensmith)

   Revision  Changes    Path
   1.1432    +0 -1      src/sys/conf/NOTES
   1.1220    +0 -1      src/sys/conf/files
   1.593     +0 -1      src/sys/conf/options
   1.23      +1 -1      src/sys/net/if_types.h
   1.84      +0 -15     src/sys/netinet/in_proto.c
   1.24      +1 -1      src/sys/netipx/ipx.h
   1.18      +0 -8      src/sys/netipx/ipx_if.h
   1.50      +0 -471    src/sys/netipx/ipx_ip.c (dead)
   1.20      +0 -83     src/sys/netipx/ipx_ip.h (dead)
   1.62      +0 -6      src/sys/netipx/ipx_usrreq.c

More information about the freebsd-current mailing list