What does CONFIG_NETDEVICES *really* mean ?

Peter Cleve (toad@harlie.han.de)
Fri, 14 Dec 2001 00:53:39 +0100 (CET)


Hi!

CONFIG_NETDEVICES is referenced only at 2 files in the kernel source:
- net/core/sock.c
- drivers/isdn/isdn_common.c

In net/core/sock.c it's used as an #ifdef around the SO_BINDTODEVICE code
in sock_setsockopt().

This is the interesting part from net/core/sock.c :

[ ... ]
case SO_SNDTIMEO:
ret = sock_set_timeout(&sk->sndtimeo, optval, optlen);
break;

#ifdef CONFIG_NETDEVICES
case SO_BINDTODEVICE:
{
char devname[IFNAMSIZ];
[ ... ]

IMHO it's completly legal to bind a socket to the loopback interface if you
have an machine with CONFIG_INET=y and unset CONFIG_NETDEVICES. I'm not a
kernel hacker and think the surrounding #ifdef should be removed.

In drivers/isdn/isdn_common.c it is used as an #ifdef about some cmd's
in isdn_ioctl(). Some cmd's which are surrounded by CONFIG_NETDEVICES are:

case IIOCNETGPN: /* Get peer phone number of a connected isdn network interface */
case IIOCNETAIF: /* Add a network-interface */
case IIOCNETASL: /* Add a slave to a network-interface */

..... many follows .......

Consider a kernel with no additional Network interfase except isdn interfaces,
these ioctl's cannot work, but IMHO these are needed to set up the isdn interfaces.

IMHO CONFIG_INET fit's better.

Maybe somebody with more knowledge about the kernel can comment about these topics.

Greetings

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/