b0d0d915d1
This replaces all instances of lock_kernel in the IPX code with lock_sock. As far as I can tell, this is safe to do, because there is no global state that needs to be locked in IPX, and the code does not recursively take the lock or sleep indefinitely while holding it. Compile-tested only. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: David S. Miller <davem@davemloft.net> Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net> Cc: netdev@vger.kernel.org
60 lines
2.7 KiB
Text
60 lines
2.7 KiB
Text
#
|
|
# IPX configuration
|
|
#
|
|
config IPX
|
|
tristate "The IPX protocol"
|
|
select LLC
|
|
---help---
|
|
This is support for the Novell networking protocol, IPX, commonly
|
|
used for local networks of Windows machines. You need it if you
|
|
want to access Novell NetWare file or print servers using the Linux
|
|
Novell client ncpfs (available from
|
|
<ftp://platan.vc.cvut.cz/pub/linux/ncpfs/>) or from
|
|
within the Linux DOS emulator DOSEMU (read the DOSEMU-HOWTO,
|
|
available from <http://www.tldp.org/docs.html#howto>). In order
|
|
to do the former, you'll also have to say Y to "NCP file system
|
|
support", below.
|
|
|
|
IPX is similar in scope to IP, while SPX, which runs on top of IPX,
|
|
is similar to TCP.
|
|
|
|
To turn your Linux box into a fully featured NetWare file server and
|
|
IPX router, say Y here and fetch either lwared from
|
|
<ftp://ibiblio.org/pub/Linux/system/network/daemons/> or
|
|
mars_nwe from <ftp://www.compu-art.de/mars_nwe/>. For more
|
|
information, read the IPX-HOWTO available from
|
|
<http://www.tldp.org/docs.html#howto>.
|
|
|
|
The IPX driver would enlarge your kernel by about 16 KB. To compile
|
|
this driver as a module, choose M here: the module will be called ipx.
|
|
Unless you want to integrate your Linux box with a local Novell
|
|
network, say N.
|
|
|
|
config IPX_INTERN
|
|
bool "IPX: Full internal IPX network"
|
|
depends on IPX
|
|
---help---
|
|
Every IPX network has an address that identifies it. Sometimes it is
|
|
useful to give an IPX "network" address to your Linux box as well
|
|
(for example if your box is acting as a file server for different
|
|
IPX networks: it will then be accessible from everywhere using the
|
|
same address). The way this is done is to create a virtual internal
|
|
"network" inside your box and to assign an IPX address to this
|
|
network. Say Y here if you want to do this; read the IPX-HOWTO at
|
|
<http://www.tldp.org/docs.html#howto> for details.
|
|
|
|
The full internal IPX network enables you to allocate sockets on
|
|
different virtual nodes of the internal network. This is done by
|
|
evaluating the field sipx_node of the socket address given to the
|
|
bind call. So applications should always initialize the node field
|
|
to 0 when binding a socket on the primary network. In this case the
|
|
socket is assigned the default node that has been given to the
|
|
kernel when the internal network was created. By enabling the full
|
|
internal IPX network the cross-forwarding of packets targeted at
|
|
'special' sockets to sockets listening on the primary network is
|
|
disabled. This might break existing applications, especially RIP/SAP
|
|
daemons. A RIP/SAP daemon that works well with the full internal net
|
|
can be found on <ftp://ftp.gwdg.de/pub/linux/misc/ncpfs/>.
|
|
|
|
If you don't know what you are doing, say N.
|
|
|