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? Thanks! George
On 5/23/06, George Nychis <gnychis@cmu.edu> wrote:> 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? >Check to see which kernel versions you have on the boxes that work and the one that does not. Also check to see if you have the latest version of iproute2 installed on the machine that does not work.
Larry Brigman wrote:> On 5/23/06, George Nychis <gnychis@cmu.edu> wrote: >> 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? >> > Check to see which kernel versions you have on the boxes that work and > the one that > does not. Also check to see if you have the latest version of > iproute2 installed on the > machine that does not work. >They are both running the exact same kernel and version of iproute2, however they are in different environments, what could the environment have to do with it? Thanks! George
On 5/23/06, George Nychis <gnychis@cmu.edu> wrote:> > > Larry Brigman wrote: > > On 5/23/06, George Nychis <gnychis@cmu.edu> wrote: > >> 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? > >> > > Check to see which kernel versions you have on the boxes that work and > > the one that > > does not. Also check to see if you have the latest version of > > iproute2 installed on the > > machine that does not work. > > > > They are both running the exact same kernel and version of iproute2, > however they are in different environments, what could the environment > have to do with it? >Modules that are not loaded? modprobe.conf? lsmod on both boxes looking for specific networking modules.
Larry Brigman wrote:> On 5/23/06, George Nychis <gnychis@cmu.edu> wrote: >> >> >> Larry Brigman wrote: >> > On 5/23/06, George Nychis <gnychis@cmu.edu> wrote: >> >> 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? >> >> >> > Check to see which kernel versions you have on the boxes that work and >> > the one that >> > does not. Also check to see if you have the latest version of >> > iproute2 installed on the >> > machine that does not work. >> > >> >> They are both running the exact same kernel and version of iproute2, >> however they are in different environments, what could the environment >> have to do with it? >> > Modules that are not loaded? modprobe.conf? > lsmod on both boxes looking for specific networking modules. >What modules would qdisc''s be dependent on? The weird thing is, netem works on both machines... therefore I know qdisc''s in general are working. Lets just say its not working on my other machine, how do i go about debugging it on the one machine alone? - George
On 5/23/06, George Nychis <gnychis@cmu.edu> wrote:> Larry Brigman wrote: > > On 5/23/06, George Nychis <gnychis@cmu.edu> wrote: > >> Larry Brigman wrote: > >> > On 5/23/06, George Nychis <gnychis@cmu.edu> wrote: > >> >> 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? > >> >> > >> > Check to see which kernel versions you have on the boxes that work and > >> > the one that > >> > does not. Also check to see if you have the latest version of > >> > iproute2 installed on the > >> > machine that does not work. > >> > > >> > >> They are both running the exact same kernel and version of iproute2, > >> however they are in different environments, what could the environment > >> have to do with it? > >> > > Modules that are not loaded? modprobe.conf? > > lsmod on both boxes looking for specific networking modules. > > > > What modules would qdisc''s be dependent on? The weird thing is, netem > works on both machines... therefore I know qdisc''s in general are > working. Lets just say its not working on my other machine, how do i go > about debugging it on the one machine alone? >Has the tc command been changed recently from your customized version back to the standard release (ie yum running via cron) or your environment path changed to pick up the wrong tc command?
Larry Brigman wrote:> On 5/23/06, George Nychis <gnychis@cmu.edu> wrote: >> Larry Brigman wrote: >> > On 5/23/06, George Nychis <gnychis@cmu.edu> wrote: >> >> Larry Brigman wrote: >> >> > On 5/23/06, George Nychis <gnychis@cmu.edu> wrote: >> >> >> 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? >> >> >> >> >> > Check to see which kernel versions you have on the boxes that >> work and >> >> > the one that >> >> > does not. Also check to see if you have the latest version of >> >> > iproute2 installed on the >> >> > machine that does not work. >> >> > >> >> >> >> They are both running the exact same kernel and version of iproute2, >> >> however they are in different environments, what could the environment >> >> have to do with it? >> >> >> > Modules that are not loaded? modprobe.conf? >> > lsmod on both boxes looking for specific networking modules. >> > >> >> What modules would qdisc''s be dependent on? The weird thing is, netem >> works on both machines... therefore I know qdisc''s in general are >> working. Lets just say its not working on my other machine, how do i go >> about debugging it on the one machine alone? >> > > Has the tc command been changed recently from your customized version back > to the standard release (ie yum running via cron) or your environment > path changed to > pick up the wrong tc command? >the tc I am using is the standard tc, i didn''t change anything about tc, only trying to use a new custom qdisc with it... i''m not sure honestly, theres no way to figure out why i''m getting the invalid argument?
> the tc I am using is the standard tc, i didn''t change anything about tc, > only trying to use a new custom qdisc with it... i''m not sure honestly, > theres no way to figure out why i''m getting the invalid argument? >A common problem is that some distro''s put tc in /sbin and other''s in /usr/sbin. You may have the old version in you path.
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 -- Luciano -- Luciano
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) = ?
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@mailman.ds9a.nl > 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
Well it turns out that the problem may very well be the environment, it seems as though i''m getting a hint in dmesg: [root@emu-5 net]# dmesg request_module[sch_xcp]: fork failed, errno 1 that occurs after trying to add the qdisc through tc so it seems to be failing because a fork is failing in the module, which I am guessing is an environment problem. Anyone suggestions? I''ll keep trying! - George