BUG : kernel crashes when tc qdisc with dsmark deleted

Linux Advanced Routing and Traffic Control

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

 




I tried to run the script efcbq that comes with iproute2 official 
documentation(/usr/share/doc/iproute2/examples/diffserv/efcbq) on 2.4.19 
kernel.

#!/bin/sh
#
TC=tc
DEV=dev\ eth0

$TC qdisc add $DEV handle 1:0 root dsmark indices 64 default_index 0 
set_tc_index
$TC filter add $DEV parent 1:0 protocol ip prio 1 tcindex mask 0xfc shift 2
$TC qdisc add $DEV parent 1:0 handle 2:0 cbq bandwidth 10Mbit cell 8 avpkt 
1000 mpu 64
#
# EF class
#
$TC class add $DEV parent 2:0 classid 2:1 cbq bandwidth 10Mbit rate 1500Kbit 
avpkt 1000 prio 1 bounded isolated allot 1514 weight 1 maxburst 10
# packet fifo for EF?
$TC qdisc add $DEV parent 2:1 pfifo limit 5
$TC filter add $DEV parent 2:0 protocol ip prio 1 handle 0x2e tcindex 
classid 2:1 pass_on
#
# BE class
#
$TC class add $DEV parent 2:0 classid 2:2 cbq bandwidth 10Mbit rate 5Mbit 
avpkt 1000 prio 7 allot 1514 weight 1 maxburst 21 borrow split 2:0 defmap 
0xffff

$TC qdisc add $DEV parent 2:2 red limit 60KB min 15KB max 45KB burst 20 
avpkt 1000 bandwidth 10Mbit probability 0.4

$TC filter add $DEV parent 2:0 protocol ip prio 2 handle 0 tcindex mask 0 
classid 2:2 pass_on




Then on executing

tc qdisc del dev eth0 root

the kernel crashes. and it was BEYOND RECOVERY so no further message could 
be get.
The kernel debug messages upto this stage were(using  dmesg utility)

tcindex_init(sch c21d4720,[qdisc c21d4780],opt c21d4250)
dsmark_init: qdisc c21d4780
tcindex_init(tp c329d9e0)
tcindex_get(tp c329d9e0,handle 0x00000000)
tcindex_change(tp c329d9e0,handle 0x00000000,tca c1417d3c,arg c1417ca4),opt 
c315f9d0,p c18157e0,r 00000000
*arg = 0x0
classid/police 00000000/00000000
tcindex_dump(tp c329d9e0,fh 0x0,skb c11af8c0,t c31d2010),p c18157e0,r 
00000000,b c31d2038
p->perfect 00000000 p->h 00000000
dsmark_get(sch c21d4720,[qdisc c21d4780],classid 10000)
dsmark_get(sch c21d4720,[qdisc c21d4780],classid 10000)
dsmark_graft(sch c21d4720,[qdisc c21d4780],new c31f6800,old c1417cc0)

dsmark_walk(sch c21d4720,[qdisc c21d4780],walker c3b1fc44)
dsmark_walk(sch c21d4720,[qdisc c21d4780],walker c3229c44)
ndex_init(tp c329df20)
tcindex_get(tp c329df20,handle 0x0000002e)
tcindex_change(tp c329df20,handle 0x0000002e,tca c2c01d3c,arg c2c01ca4),opt 
c19c4af0,p c18156c0,r 00000000
*arg = 0x0
classid/police c19c4af4/00000000
hash 64 mask 65535
r=00000000
r=c2c01c3c
tcindex_dump(tp c329df20,fh 0x0,skb c11af8c0,t c31d2010),p c18156c0,r 
00000000,b c31d2038
p->perfect 00000000 p->h c315f9a0
ndex_dump(tp c329d9e0,fh 0x0,skb c11af8c0,t c31d2010),p c18157e0,r 
00000000,b c31d2038
p->perfect 00000000 p->h 00000000
tcindex_walk(tp c329d9e0,walker c2c01c44),p c18157e0
dsmark_walk(sch c21d4720,[qdisc c21d4780],walker c2c71c44)
dsmark_walk(sch c21d4720,[qdisc c21d4780],walker c2175c44)
tcindex_init(tp c329d960)
tcindex_get(tp c329d960,handle 0x00000000)
tcindex_change(tp c329d960,handle 0x00000000,tca c2171d3c,arg c2171ca4),opt 
c315f8d0,p c18156e0,r 00000000
*arg = 0x0
classid/police c315f8dc/00000000
hash 1 mask 0
r=c1815680
tcindex_dump(tp c329d960,fh 0x0,skb c11af980,t c31d2010),p c18156e0,r 
00000000,b c31d2038
p->perfect c1815680 p->h 00000000



When i used gdb then in
file : tc_qdisc.c
line 138:
function : tc_qdisc_modifyc()
	on calling rtnl_open() the system hangs.
	this function is defined in libnetlink.c

in file libnetlink.c
line 48:
function rtnl_open()
	the system hangs on calling the system call
	rth->fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);


If its an error in the command then HOWTO delete the queing discipline when 
dsmark is used as its the root qdisc with no associated class

And if its a bug in the kernel then what is the workaround








_________________________________________________________________
Chat with friends online, try MSN Messenger: http://messenger.msn.com

_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/







 Reply  Reply All  Forward    Delete Put in Folder...InboxSent 
MessagesDraftsTrash Can
Previous   Next | Close
 




Calendar


Hotmail Services


Free Newsletters
MSN Featured Offers
Find Message
Reminders
Directories




MSN India Links





What's New?
News Updates
Know your future
Healthy Living
Cinema
Global Indians
MSN Computing
Matrimonial
Cricket
MSN Dating



 






More Useful Everyday




 





Home

Hotmail

Astrology

Wallpaper

Romance

Life Style



 © 2002 Microsoft Corporation. All rights reserved. TERMS OF USE   TRUSTe 
Approved Privacy Statement



_________________________________________________________________
Chat with friends online, try MSN Messenger: http://messenger.msn.com

_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

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