It only makes a few calls to `tc`: rebecca:~# grep TC /home/jasonb/src/tc-graph.pl $BIN_TC="/sbin/tc"; my @qdisc=`$BIN_TC -d qdisc show dev $DEV`; my @class=`$BIN_TC -d class show dev $DEV`; @filter=`$BIN_TC -d filter show dev $DEV parent $parent`; But something ultimately Oopses: rebecca:~# uname -a Linux rebecca 2.6.6 #1 Thu May 20 17:21:44 EDT 2004 i686 GNU/Linux faith:~# gcc -v Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.3/specs Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --enable-__cxa_atexit --enable-clocale=gnu --enable-debug --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux Thread model: posix gcc version 3.3.3 (Debian 20040401) I also have Layer7-Kernel v0.7 patch applied to my kernel. HTB init, kernel part version 3.16 htb: class 10090 isn't work conserving ?! Unable to handle kernel NULL pointer dereference at virtual address 00000000 printing eip: 00000000 *pde = 00000000 Oops: 0000 [#1] CPU: 0 EIP: 0060:[<00000000>] Not tainted EFLAGS: 00010246 (2.6.6) EIP is at 0x0 eax: 00000000 ebx: c61d9600 ecx: 00000002 edx: c88277c0 esi: 00000000 edi: c6669144 ebp: c757c664 esp: c6181bd0 ds: 007b es: 007b ss: 0068 Process tc (pid: 960, threadinfo=c6180000 task=c67ea150) Stack: c0228d44 c3e54148 00000000 00001000 c013e0ca c61bd91c c78f3cc4 c61bd864 c61bd85c c88277c0 00000000 c3e54148 c1135400 c61d9600 00000f60 c0215f47 00001000 000000d0 c40e42e0 00000000 c40e42e0 c40e42e0 c61d9600 00000000 Call Trace: [<c0228d44>] tc_dump_tfilter+0xb4/0x260 [<c013e0ca>] __vma_link+0x3a/0xa0 [<c0215f47>] alloc_skb+0x47/0xf0 [<c022a539>] netlink_dump+0x59/0x1b0 [<c022a737>] netlink_dump_start+0xa7/0xf0 [<c0222bff>] rtnetlink_rcv+0x34f/0x390 [<c0228c90>] tc_dump_tfilter+0x0/0x260 [<c02228a0>] rtnetlink_done+0x0/0x10 [<c01bcd2e>] copy_to_user+0x3e/0x50 [<c022a3ba>] netlink_data_ready+0x5a/0x70 [<c0229a43>] netlink_sendskb+0xa3/0xb0 [<c022a042>] netlink_sendmsg+0x212/0x310 [<c0212948>] sock_sendmsg+0x98/0xd0 [<c01bcd82>] copy_from_user+0x42/0x70 [<c01bcd82>] copy_from_user+0x42/0x70 [<c0217c4c>] verify_iovec+0x3c/0xa0 [<c02141cf>] sys_sendmsg+0x18f/0x1f0 [<c013d106>] do_no_page+0x196/0x320 [<c013d470>] handle_mm_fault+0xe0/0x150 [<c0114c4c>] do_page_fault+0x12c/0x530 [<c01bcd82>] copy_from_user+0x42/0x70 [<c0214672>] sys_socketcall+0x242/0x260 [<c0114b20>] do_page_fault+0x0/0x530 [<c01060b9>] error_code+0x2d/0x38 [<c0105eaf>] syscall_call+0x7/0xb Code: Bad EIP value. `tc` configuration: tc qdisc add dev eth0 root handle 1: htb default 90 tc class add dev eth0 parent 1: classid 1:1 htb rate 160kbit ceil 160kbit tc class add dev eth0 parent 1:1 classid 1:90 htb rate 160kbit ceil 160kbit tc qdisc add dev eth0 parent 1:90 handle 2: prio bands 4 tc qdisc add dev eth0 parent 2:1 handle 10: sfq perturb 20 tc qdisc add dev eth0 parent 2:2 handle 20: sfq perturb 20 tc qdisc add dev eth0 parent 2:3 handle 30: sfq perturb 20 tc qdisc add dev eth0 parent 2:4 handle 40: tbf rate 152kbit buffer 1600 limit 3000 Afterwards, `tc` always hangs. Even `ifconfig` hangs. The box has to be toggled manually to bring it back. Thoughts anyone? Thanks. -- Jason Boxman Perl Programmer / *NIX Systems Administrator Shimberg Center for Affordable Housing | University of Florida http://edseek.com/ - Linux and FOSS stuff _______________________________________________ LARTC mailing list / LARTC@xxxxxxxxxxxxxxx http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/