Dear Luca,
Dear all,
Hello,
I have been testing the “TNAPI+PF_RING” to improve the performance of packet
caputuring.
However, when I am checking the behavior on my environment,
the issue of this mail subject has occurred.
I did the following:
1. Send a couple of packets which has the length of 100 bytes or less between
HOST_"A" and HOST_"B"
2. Send one UDP packet which has the length of 512 bytes from HOST_"A" to
HOST_"B".
3. Receive these packets on the capturing server installed TNAPI+PF_RING.
(This server captured all packets from mirror port on the network switch
connecting
HOST_"A" and HOST_"B")
Here the problem occurred:
1. The packets on size of 100 bytes or less are received on the server, this is
OK.
(I confirmed the packets receiving by tcpdump)
2. But, When the server received the packet on size of 512 bytes, the kernel
panic
happened on the server. The server did not work normally.
(I show the details of kernel panic below)
What could be reason of the kernel panic with TNAPI?
I don't understand this problem.
Could you suggest me how to avoid this kernel panic ?
I show test environment and the logs as follows:
-------------------------
Test environment:
1. Server information:
(1) Computer: FUJITSU PRIMERGY.RX300S6
(2) NIC: intel 82575EB
(3) CPUs: Xeon X5670 (6core x2)
(4) OS: linux kernel 2.6.32.25
2. The information of the PF_RING and TNAPI and tcpdump:
(1) PF_RING: 4.4.0. (using pf_ring in transparent_mode=0)
(2) TNAPI: igb-2.3.4_27102010
(3) tcpdump: tcpdump-4.0.0 (using PF_RING/userland/tcpdump-4.0.0)
-------------------------
/var/log/messages (The asterisk is put on the problem part.)
/proc/net/pf_ring/22809-none.1
Nov 19 16:48:38 kernel: [PF_RING] Added
/proc/net/pf_ring/22809-eth0.1
Nov 19 16:48:38 kernel: device eth0 entered promiscuous mode
Nov 19 16:49:53 kernel: TNAPI: pkt_poll_thread(eth0.0) (after)
while[next_to_clean=0][status=3]
Nov 19 16:49:53 kernel: TNAPI: pkt_poll_thread(eth0.0) we have got a packet!
Nov 19 16:49:53 kernel: TNAPI: received packet [len=60]
Nov 19 16:49:53 kernel: TNAPI: Normal Linux path
Nov 19 16:49:53 kernel: TNAPI: pkt_poll_thread(eth0.0): [slot=1]
Nov 19 16:49:53 kernel: TNAPI: pkt_poll_thread(eth0.0) (after) while
[next_to_clean=1][status=3]
Nov 19 16:49:53 kernel: TNAPI: pkt_poll_thread(eth0.0) we have got a packet!
Nov 19 16:49:53 kernel: TNAPI: received packet [len=60]
Nov 19 16:49:53 kernel: TNAPI: Normal Linux path
Nov 19 16:49:53 kernel: TNAPI: pkt_poll_thread(eth0.0): [slot=2]
Nov 19 16:49:53 kernel: TNAPI: pkt_poll_thread(eth0.0) (after) while
[next_to_clean=2][status=3]
Nov 19 16:49:53 kernel: TNAPI: pkt_poll_thread(eth0.0) we have got a packet!
Nov 19 16:49:53 kernel: TNAPI: received packet [len=64]
Nov 19 16:49:53 kernel: TNAPI: Normal Linux path
Nov 19 16:49:53 kernel: TNAPI: pkt_poll_thread(eth0.0): [slot=3]
Nov 19 16:49:53 kernel: TNAPI: pkt_poll_thread(eth0.0) (after) while
[next_to_clean=3][status=-59328]
Nov 19 16:49:53 kernel: TNAPI: pkt_poll_thread(eth0.1) (after) while
[next_to_clean=0][status=115]
Nov 19 16:49:53 kernel: TNAPI: pkt_poll_thread(eth0.1) we have got a packet!
Nov 19 16:49:53 kernel: TNAPI: received packet [len=42]
Nov 19 16:49:53 kernel: TNAPI: Normal Linux path
Nov 19 16:49:53 kernel: TNAPI: pkt_poll_thread(eth0.1): [slot=1]
Nov 19 16:49:53 kernel: TNAPI: pkt_poll_thread(eth0.1) (after) while
[next_to_clean=1][status=-2140096]
Nov 19 16:49:53 kernel: TNAPI: pkt_poll_thread(eth0.2) (after) while
[next_to_clean=0][status=67]
Nov 19 16:49:53 kernel: TNAPI: pkt_poll_thread(eth0.2) we have got apacket!
*Nov 19 16:49:53 kernel: TNAPI: received packet [len=512]
*Nov 19 16:49:53 kernel: TNAPI: Normal Linux path
*Nov 19 16:49:53 kernel: skb_over_panic: text:ffffffffa018f628 len:1024 put:512
head:ffff8801bdf72800 data:ffff8801bdf72840 tail:0x440 end:0x240 dev:eth0
Nov 19 16:49:53 kernel: ------------[ cut here ]------------
Nov 19 16:49:53 kernel: kernel BUG at net/core/skbuff.c:127!
Nov 19 16:49:53 kernel: invalid opcode: 0000 [#1] SMP
Nov 19 16:49:53 kernel: last sysfs
file:/sys/devices/system/cpu/cpu23/cache/index2/shared_cpu_map
Nov 19 16:49:53 kernel: CPU 2
Nov 19 16:49:53 kernel: Modules linked in: igb pf_ring autofs4
sunrpc cpufreq_ondemand acpi_cpufre
q freq_table dm_multipath scsi_dh video output sbs sbshc battery
acpi_memhotplug ipv6 parport asix usbnet mi
i sg ac sr_mod tpm_tis cdrom evdev ioatdma tpm button tpm_bios rtc_cmos
rtc_core rtc_lib i2c_i801 pcspkr dca
i2c_core dm_snapshot dm_zero dm_mirror dm_region_hash dm_log dm_mod
megaraid_mbox megaraid_mm megaraid ata_
piix libata megaraid_sas sd_mod scsi_mod ext3 jbd uhci_hcd ohci_hcd ehci_hcd
[last unloaded: igb]
Nov 19 16:49:53 kernel: Pid: 22598, comm: tnapi(eth0.2) Not tainted
2.6.32.25.ring #1 PRIMERGY
(The rest is omitted)
-------------------------
/proc/net/pf_ring/info
PF_RING Version : 4.4.0 ($Revision: $)
Ring slots : 4096
Slot version : 12
Capture TX : Yes [RX+TX]
IP Defragment : No
Transparent mode : Yes
Total rings : 1
Total plugins : 0
-------------------------
install procedure
cd /usr/local/src/TNAPI/igb-2.3.4_27102010/src
make clean
make
make install
rmmod igb
modprobe igb
-------------------------
Could you give me advice?
Thank you so much.
Best Regards,
Makoto Kobayashi
_______________________________________________
Ntop-misc mailing list
[email protected]
http://listgateway.unipi.it/mailman/listinfo/ntop-misc