Kernel panel with TC Traffic shaping module [message #6815] |
Sun, 24 September 2006 02:48  |
HaroldB
Messages: 61 Registered: June 2006
|
Member |
|
|
Hi, I am getting this error with Commercial VZ and openVZ kernels:
such as: 2.6.8-022stab078.14-enterprise
Here is the kernel panic:
Quote: |
Unable to handle kernel paging request at virtual address 00100100
printing eip:
023bdfcd
*pde = 00003001
Oops: 0000 [#1]
SMP
Modules linked in: vzrst vzcpt ip_vzredir vzredir vzcompat vzfs vzevent vzlist vznet vzstat ip_vznetstat vznetstat vzmon af_packet ip_nat_ftp ip_conntrack_ftp iptable_nat sch_sfq cls_u32 ipt_TOS ipt_LOG sch_cbq vzdquota ipt_state ip_conntrack ipt_length ipt_ttl ipt_tcpmss ipt_TCPMSS iptable_mangle ipt_multiport ipt_limit ipt_tos ipt_REJECT vzdev iptable_filter ip_tables thermal processor fan button battery asus_acpi ac ohci_hcd usbcore shpchp tg3 floppy ide_cd cdrom
CPU: 0, VCPU: 0:1
EIP: 0060:[<023bdfcd>] Tainted: P
EFLAGS: 00010286 (2.6.8-022stab067.1-enterprise)
EIP is at qdisc_lookup+0x3d/0x60
eax: 001000d0 ebx: 001000d0 ecx: c0bb8118 edx: 00100100
esi: 00010000 edi: c0bb8000 ebp: 91529800 esp: 9445ebf8
ds: 007b es: 007b ss: 0068
Process tc (pid: 2418, veid=0, threadinfo=9445e000 task=4a42c770)
Stack: 00000000 91529810 023beb67 c0bb8000 00010000 bf9b3800 00000006 00000008
024e8348 91529810 00000cec 1afa1220 000005dc bf9b3800 00000000 ffffffff
c0bb8000 fff8f000 00000001 bf72ff00 0000045c 024e7bc0 91529800 023b862a
Call Trace:
[<023beb67>] tc_modify_qdisc+0x107/0x4d0
[<023b862a>] rtnetlink_rcv+0x31a/0x3e0
[<0216cf56>] rw_vm+0x116/0x330
[<023c3190>] netlink_data_ready+0x60/0x70
[<023c2e42>] netlink_sendmsg+0x512/0x5d0
[<0211f6a0>] default_wake_function+0x0/0x20
[<023c30b9>] netlink_recvmsg+0x1b9/0x230
[<0211f6a0>] default_wake_function+0x0/0x20
[<023a612d>] sock_sendmsg+0x9d/0xc0
[<0216cf56>] rw_vm+0x116/0x330
[<023ac3fc>] verify_iovec+0x3c/0xa0
[<023a7c3e>] sys_sendmsg+0x18e/0x1f0
[<0215f102>] handle_mm_fault+0x132/0x1e0
[<0216cf56>] rw_vm+0x116/0x330
[<0211c28b>] vcpu_put+0x8b/0x110
[<0216d4ba>] get_user_size+0x3a/0x80
[<023a8132>] sys_socketcall+0x242/0x260
[<021083a3>] do_IRQ+0x133/0x1d0
Code: 8b 40 30 0f 18 00 90 39 ca 75 e8 31 c0 5b 5e c3 89 d8 eb f9
|
When this happens, I need to reboot the server for it to come back to life. Can anyone point me in the right direction to avoid this? I am using rules such as those in the wiki. For each IP on my server I am running:
Quote: |
$ID=1; # gets incremented on each IP
$LINERATE="100mbit";
$IP="x.x.x.x" #gets changed on each IP
$THROTTLERATE="10000kbit" # 10 megabits per second limit per IP
tc qdisc add dev eth0 root handle 1: cbq avpkt 1000 bandwidth $LINERATE #max rate for interface
tc qdisc add dev eth1 root handle 1: cbq avpkt 1000 bandwidth $LINERATE #max rate for interface
tc class add dev eth0 parent 1: classid 1:$ID cbq rate $THROTTLERATE allot 1500 prio 5 bounded isolated
tc class add dev eth1 parent 1: classid 1:$ID cbq rate $THROTTLERATE allot 1500 prio 5 bounded isolated
tc filter add dev eth0 parent 1: protocol ip prio 16 u32 match ip src $IP flowid 1:$ID
tc filter add dev eth1 parent 1: protocol ip prio 16 u32 match ip src $IP flowid 1:$ID
tc qdisc add dev eth0 parent 1:$ID sfq perturb 10
tc qdisc add dev eth1 parent 1:$ID sfq perturb 10
iptables -I FORWARD 1 -o eth0 -s $IP -m limit --limit 200/sec -j ACCEPT
iptables -I FORWARD 2 -o eth0 -s $IP -j DROP
iptables -I FORWARD 1 -o eth1 -s $IP -m limit --limit 200/sec -j ACCEPT
iptables -I FORWARD 2 -o eth1 -s $IP -j DROP
|
Each 30 minutes, I am flushing the rules with:
Quote: |
tc qdisc del dev eth0 root 2>/dev/null
tc qdisc del dev eth1 root 2>/dev/null
|
and then adding them again with the above rules.
Could flushing and adding the rules over and over cause any problems? Is there a limit to the number of rules, say I have 500 IPs on this server, is that too many rules?
Thanks!
Harold
|
|
|