Re: how to debug RTNETLINK invalid argument?

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




George Nychis wrote:
> 
> Luciano Ruete wrote:
>> El Tuesday 23 May 2006 13:17, George Nychis escribió:
>>> Hey,
>>>
>>> I am getting an invalid argument trying to insert a qdisc:
>>>
>>> [root@emu-5 iproute2]# tc qdisc add dev eth0 root xcp capacity 50Mbit
>>> limit 500
>>> RTNETLINK answers: Invalid argument
>>>
>>> I'm not sure whats wrong here, because i can successfully insert this
>>> qdisc on other computers of mine.
>>>
>>> How can i debug this?
>> maybe strace (system calls and signals trace) can give you some clues.
>>
>> strace tc qdisc add dev eth0 root xcp capacity 50Mbit limit 500
>>
> 
> Heres what I get as the output:
> 
> execve("/sbin/tc", ["tc", "qdisc", "add", "dev", "eth0", "root", "xcp",
> "capacity", "50Mbit", "limit", "500"], [/* 22 vars */]) = 0
> uname({sys="Linux", node="emu-5", ...}) = 0
> set_tid_address(0)                      = -1 ENOSYS (Function not
> implemented)
> brk(0)                                  = 0x80705cc
> brk(0x8071000)                          = 0x8071000
> access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or
> directory)
> open("/etc/ld.so.cache", O_RDONLY)      = 3
> fstat64(3, {st_mode=S_IFREG|0644, st_size=63789, ...}) = 0
> old_mmap(NULL, 63789, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40000000
> close(3)                                = 0
> open("/lib/libresolv.so.2", O_RDONLY)   = 3
> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\360\223"...,
> 512) = 512
> fstat64(3, {st_mode=S_IFREG|0755, st_size=81316, ...}) = 0
> old_mmap(0x4e2d7000, 80040, PROT_READ|PROT_EXEC,
> MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4e2d7000
> mprotect(0x4e2e6000, 18600, PROT_NONE)  = 0
> old_mmap(0x4e2e7000, 8192, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0x4e2e7000
> old_mmap(0x4e2e9000, 6312, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4e2e9000
> close(3)                                = 0
> open("/lib/i686/libm.so.6", O_RDONLY)   = 3
> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0\263G"...,
> 512) = 512
> fstat64(3, {st_mode=S_IFREG|0755, st_size=215248, ...}) = 0
> old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
> -1, 0) = 0x40010000
> old_mmap(0x44478000, 139424, PROT_READ|PROT_EXEC,
> MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x44478000
> old_mmap(0x44499000, 8192, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x20000) = 0x44499000
> close(3)                                = 0
> open("/lib/libdl.so.2", O_RDONLY)       = 3
> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260\333"...,
> 512) = 512
> fstat64(3, {st_mode=S_IFREG|0755, st_size=16908, ...}) = 0
> old_mmap(0x473fd000, 12388, PROT_READ|PROT_EXEC,
> MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x473fd000
> old_mmap(0x473ff000, 8192, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x473ff000
> close(3)                                = 0
> open("/lib/i686/libc.so.6", O_RDONLY)   = 3
> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p36D4\0"...,
> 512) = 512
> fstat64(3, {st_mode=S_IFREG|0755, st_size=1499368, ...}) = 0
> old_mmap(0x4434e000, 1211684, PROT_READ|PROT_EXEC,
> MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x4434e000
> mprotect(0x4446f000, 27940, PROT_NONE)  = 0
> old_mmap(0x44470000, 16384, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x121000) = 0x44470000
> old_mmap(0x44474000, 7460, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x44474000
> close(3)                                = 0
> mprotect(0x44470000, 8192, PROT_READ)   = 0
> mprotect(0x473ff000, 4096, PROT_READ)   = 0
> mprotect(0x44499000, 4096, PROT_READ)   = 0
> mprotect(0x4e2e7000, 4096, PROT_READ)   = 0
> mprotect(0xb8b000, 4096, PROT_READ)     = 0
> munmap(0x40000000, 63789)               = 0
> brk(0)                                  = 0x8071000
> brk(0x8092000)                          = 0x8092000
> open("/proc/net/psched", O_RDONLY)      = 3
> fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> 0) = 0x40000000
> read(3, "000c8000 000f4240 000f4240 00000"..., 4096) = 36
> close(3)                                = 0
> munmap(0x40000000, 4096)                = 0
> socket(PF_NETLINK, SOCK_RAW, 0)         = 3
> setsockopt(3, SOL_SOCKET, SO_SNDBUF, [32768], 4) = 0
> setsockopt(3, SOL_SOCKET, SO_RCVBUF, [32768], 4) = 0
> bind(3, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 0
> getsockname(3, {sa_family=AF_NETLINK, pid=5407, groups=00000000}, [12]) = 0
> time(NULL)                              = 1148447549
> open("/usr/lib/tc/q_xcp.so", O_RDONLY)  = 4
> read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\270\5\0"...,
> 512) = 512
> fstat64(4, {st_mode=S_IFREG|0755, st_size=4192, ...}) = 0
> old_mmap(NULL, 6908, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4,
> 0) = 0x40000000
> old_mmap(0x40001000, 4096, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0) = 0x40001000
> close(4)                                = 0
> sendto(3, "\24\0\0\0\22\0\1\3>\353sD\0\0\0\0\0\0\0\0", 20, 0,
> {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 20
> recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000},
> msg_iov(1)=[{"\264\0\0\0\20\0\2\0>\353sD\37\25\0\0\0\0\4\3\1\0\0\0I\0"...,
> 16384}], msg_controllen=0, msg_flags=0}, 0) = 920
> recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000},
> msg_iov(1)=[{"\24\0\0\0\3\0\2\0>\353sD\37\25\0\0\0\0\0\0\1\0\0\0I\0\0"...,
> 16384}], msg_controllen=0, msg_flags=0}, 0) = 20
> 
> sendmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000},
> msg_iov(1)=[{"8\0\0\0$\0\5\6?\353sD\0\0\0\0\0\0\0\0\2\0\0\0\0\0\0\0\377"...,
> 56}], msg_controllen=0, msg_flags=0}, 0) = 56
> recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000},
> msg_iov(1)=[{"$\0\0\0\2\0\0\0?\353sD\37\25\0\0\352\377\377\3778\0\0\0"...,
> 16384}], msg_controllen=0, msg_flags=0}, 0) = 36
> dup(2)                                  = 4
> fcntl64(4, F_GETFL)                     = 0x8001 (flags
> O_WRONLY|O_LARGEFILE)
> close(4)                                = 0
> write(2, "RTNETLINK answers: Invalid argum"..., 36RTNETLINK answers:
> Invalid argument
> ) = 36
> close(3)                                = 0
> exit_group(2)                           = ?
> _______________________________________________
> LARTC mailing list
> LARTC@xxxxxxxxxxxxxxx
> http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
> 

Here is an strace from the machine that it is working on:
execve("/usr/sbin/tc", ["tc", "qdisc", "add", "dev", "ath0", "root",
"xcp", "capacity", "50Mbit", "limit", "500"], [/* 40 vars */]) = 0
uname({sys="Linux", node="thorium-ini", ...}) = 0
brk(0)                                  = 0x80765ec
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or
directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=74093, ...}) = 0
mmap2(NULL, 74093, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40017000
close(3)                                = 0
open("/lib/libresolv.so.2", O_RDONLY)   = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000%\0\000"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=64568, ...}) = 0
mmap2(NULL, 76020, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0)
= 0x4002a000
mmap2(0x40039000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xe) = 0x40039000
mmap2(0x4003b000, 6388, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4003b000
close(3)                                = 0
open("/lib/libm.so.6", O_RDONLY)        = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0P4\0\000"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=153240, ...}) = 0
mmap2(NULL, 135328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x4003d000
mmap2(0x4005d000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x20) = 0x4005d000
close(3)                                = 0
open("/lib/libdl.so.2", O_RDONLY)       = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340\v\0"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=10440, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x4005f000
mmap2(NULL, 12392, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0)
= 0x40060000
mmap2(0x40062000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0x40062000
close(3)                                = 0
open("/lib/libc.so.6", O_RDONLY)        = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\36T\1\000"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1191488, ...}) = 0
mmap2(NULL, 1138036, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0x40064000
mmap2(0x40174000, 16384, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x10f) = 0x40174000
mmap2(0x40178000, 7540, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40178000
close(3)                                = 0
mprotect(0x40174000, 4096, PROT_READ)   = 0
mprotect(0x40015000, 4096, PROT_READ)   = 0
munmap(0x40017000, 74093)               = 0
open("/dev/urandom", O_RDONLY)          = 3
read(3, "gq\22\210", 4)                 = 4
close(3)                                = 0
brk(0)                                  = 0x80765ec
brk(0x80975ec)                          = 0x80975ec
brk(0x8098000)                          = 0x8098000
open("/proc/net/psched", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x40017000
read(3, "000c8000 000f4240 000f4240 00000"..., 1024) = 36
close(3)                                = 0
munmap(0x40017000, 4096)                = 0
brk(0x8097000)                          = 0x8097000
socket(PF_NETLINK, SOCK_RAW, 0)         = 3
setsockopt(3, SOL_SOCKET, SO_SNDBUF, [32768], 4) = 0
setsockopt(3, SOL_SOCKET, SO_RCVBUF, [32768], 4) = 0
bind(3, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 0
getsockname(3, {sa_family=AF_NETLINK, pid=14175, groups=00000000}, [12]) = 0
time(NULL)                              = 1148483135
open("/usr/lib/tc/q_xcp.so", O_RDONLY)  = 4
read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320\5\0"...,
512) = 512
fstat64(4, {st_mode=S_IFREG|0755, st_size=4468, ...}) = 0
mmap2(NULL, 7136, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 4, 0)
= 0x40017000
mmap2(0x40018000, 4096, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 4, 0) = 0x40018000
close(4)                                = 0
sendto(3, "\24\0\0\0\22\0\1\3@vtD\0\0\0\0\0\0\0\0", 20, 0,
{sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 20
recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000},
msg_iov(1)=[{"\264\0\0\0\20\0\2\0@vtD_7\0\0\0^\4\3\1\0\0\0I\0\0\0\0\0"...,
16384}], msg_controllen=0, msg_flags=0}, 0) =
recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000},
msg_iov(1)=[{"\24\0\0\0\3\0\2\0@vtD_7\0\0\0\0\0\0\1\0\0\0I\0\0\0\0\0"...,
16384}], msg_controllen=0, msg_flags=0}, 0) =
sendmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000},
msg_iov(1)=[{"8\0\0\0$\0\5\6AvtD\0\0\0\0\0\0\0\0\7\0\0\0\0\0\0\0\377"...,
56}], msg_controllen=0, msg_flags=0}, 0) = 56
recvmsg(3, {msg_name(12)={sa_family=AF_NETLINK, pid=0, groups=00000000},
msg_iov(1)=[{"$\0\0\0\2\0\0\0AvtD_7\0\0\0\0\0\0008\0\0\0$\0\5\6AvtD"...,
16384}], msg_controllen=0, msg_flags=0}, 0) = 3
close(3)                                = 0
exit_group(0)                           = ?
Process 14175 detached
_______________________________________________
LARTC mailing list
LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux