Re: Unknown ERROR | WARNING. PLS HELP

Adam Sulmicki (adam@cfar.UMD.EDU)
Sun, 25 Oct 1998 12:59:29 -0500


-> > I just grabed kernel 2.1.126 and compiled it as usual, but
-> > during the boot process, it show up with the following
-> > LETTER | WARNING which I don't know what it said,
-> > and don't know how to fix it.
->
-> > SIOCADDRT: Invalid argument
-> > SIOCADDRT: Operation not supported by device
->
->Usually when I get that pair of lines, the kernel is mapping one of my
->serial ports to the wrong interrupt...

Uh, no. I belive those comes from ifconfig and/or route program.

[ie you are describing 'cause' but the actual 'effect/result' is
different, and is explained below]

Here's why:
SIOCADDRT, stands for Socket-Input/Output-Control-Add-RouTe
(I'm not sure 100% sure, espeically of the "C",
anyone care to comment?)

If you lookup kernel sources, you will find them defined in
include/linux/sockios.h

#define SIOCADDRT 0x890B /* add routing table entry */

Later if you check sources for network code you will find
that unsuccesfull use of ioctl() to setroute will return
such error. You can find the ioctl() in
linux/net/ipv4/af_inet.c in function

static int inet_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)

the way ifconfig or route works is that they call ioctls
and if there is some problem the they return such errors.

later if you check sources for route (route.c) in net-tools
then you will find that it calls ioctl() and expect SIOCADDRT
error if something went wrong. (see lib/inet_sr.c in net-tools
sources)

Adam

BTW: a quite a bit of ioctl is also mapped to /proc/sys in linux
so that you can either look it up there or use ioctl to
get out or set given data.

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