Hello,
I am trying to run a simple Click kernel module which captures all
packets from interface *gbe0* and forwards them to the interface *gbe1*;
these are 10 Gigabit Intel Network cards.
My issue is that I get a NULL pointer dereference when I forward
packets, even with a very simple configuration.
Setup of *host A*:
*Click version*: 2.1 (latest from github), kernel module
*Configuration*: FromDevice(gbe0, PROMISC true) -> Queue(10000) ->
ToDevice(gbe1);
*kernel*: 3.2.0-39-generic x86_64 GNU/Linux.
*Distro*: Ubuntu 12.04.2 LTS
*Ethernet card*: [detailed in the *attachment*]
84:00.1 Ethernet controller: Intel Corporation 82599EB 10-Gigabit
SFI/SFP+ Network Connection (rev 01)
Subsystem: Intel Corporation Ethernet Server Adapter X520-2
Kernel driver in use: ixgbe
Kernel modules: ixgbe
*Test*: another machine, host B, is connected directly to host A.
Userspace click also runs on *host B* with the following configuration:
RandomSource( LENGTH 1514 ) -> ToDevice(gbe0);
So, the simple packet flow should be the following: Host_B [gbe0] ->
Host_A [gbe0] -> Host_A [gbe1]
*Kernel panic* produced at host A, 10-20 seconds after the experiment
starts: [full log in the *attachment*]
[ 1907.823186] BUG: unable to handle kernel NULL pointer dereference
at 0000000000000040
[ 1907.870136] IP: [<ffffffffa00f8b84>]
ixgbe_xmit_frame_ring+0x54/0x390 [ixgbe]
For 10-20 seconds, the experiment runs and packets are indeed forwarded
from gbe0 -> gbe1.
Do you have any ideas about what the problem could be?
Best Regards,
George
[ 1849.722810] click: starting router thread pid 2584 (ffff88081233ea00)
[ 1907.823186] BUG: unable to handle kernel NULL pointer dereference at
0000000000000040
[ 1907.870136] IP: [<ffffffffa00f8b84>] ixgbe_xmit_frame_ring+0x54/0x390 [ixgbe]
[ 1907.912863] PGD 0
[ 1907.924955] Oops: 0000 [#1] SMP
[ 1907.944384] CPU 1
[ 1907.955342] Modules linked in: click(O) proclikefs(O) binfmt_misc ext2 nfsd
nfs lockd fscache auth_rpcgss nfs_acl sunrpc sb_edac edac_core joydev wmi
ipmi_si mac_hid ipmi_devintf ipmi_msghandler mei(C) lp parport ioatdma isci
ixgbe libsas usbhid igb hid scsi_transport_sas mdio dca
[ 1908.107134]
[ 1908.116052] Pid: 2584, comm: kclick Tainted: G C O 3.2.0-39-generic
#62-Ubuntu Intel Corporation S2600GZ/S2600GZ
[ 1908.181229] RIP: 0010:[<ffffffffa00f8b84>] [<ffffffffa00f8b84>]
ixgbe_xmit_frame_ring+0x54/0x390 [ixgbe]
[ 1908.238485] RSP: 0018:ffff88081e69bd60 EFLAGS: 00010202
[ 1908.270231] RAX: 00000000000045e9 RBX: ffff8804162ea500 RCX: ffff880416313000
[ 1908.312876] RDX: 0000000000000000 RSI: ffff8808219a0780 RDI: 0000000000000000
[ 1908.355515] RBP: ffff88081e69bdb0 R08: 0000000000000001 R09: 0000000000010000
[ 1908.398154] R10: ffff88081ba40000 R11: ffff880422b2b090 R12: 0000000000000000
[ 1908.440799] R13: ffff8808219a0000 R14: ffff8808219a0780 R15: 000000000000dd86
[ 1908.483443] FS: 00007fc4b54f7700(0000) GS:ffff88042f620000(0000)
knlGS:0000000000000000
[ 1908.531815] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
[ 1908.566160] CR2: 0000000000000040 CR3: 0000000001c05000 CR4: 00000000000406e0
[ 1908.608799] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 1908.651444] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[ 1908.694081] Process kclick (pid: 2584, threadinfo ffff88081e69a000, task
ffff880822362e00)
[ 1908.743489] Stack:
[ 1908.755512] ffff88081e69bd70 ffffffff81313dbe ffff88081e69bda0
00ff88081e69be00
[ 1908.799976] 0000000000000000 ffff88081f872200 ffff8804162ea500
ffff8808219a0000
[ 1908.844446] 00000000fffffa52 ffff880822384000 ffff88081e69bdc0
ffffffffa00f8ee4
[ 1908.888922] Call Trace:
[ 1908.903554] [<ffffffff81313dbe>] ? rb_erase+0xce/0x150
[ 1908.934779] [<ffffffffa00f8ee4>] ixgbe_xmit_frame+0x24/0x30 [ixgbe]
[ 1908.972852] [<ffffffffa02fbec5>]
_ZN8ToDevice12queue_packetEP6PacketP12netdev_queue+0x115/0x270 [click]
[ 1909.029584] [<ffffffffa030c8c6>] ?
_ZN13FullNoteQueue4pushEiP6Packet+0x16/0x330 [click]
[ 1909.078008] [<ffffffffa02fc0ba>] _ZN8ToDevice8run_taskEP4Task+0x9a/0x2d0
[click]
[ 1909.122794] [<ffffffffa02c2904>] _ZN12RouterThread6driverEv+0x374/0x5d0
[click]
[ 1909.167079] [<ffffffffa0322c2c>] _ZL11click_schedPv+0x13c/0x240 [click]
[ 1909.207146] [<ffffffff810571c5>] ? finish_task_switch+0xc5/0xf0
[ 1909.243058] [<ffffffff816680f4>] kernel_thread_helper+0x4/0x10
[ 1909.278487] [<ffffffffa0322af0>] ? _Z19click_cleanup_schedv+0x190/0x190
[click]
[ 1909.322709] [<ffffffff816680f0>] ? gs_change+0x13/0x13
[ 1909.353932] Code: 00 00 49 89 d4 8b 97 d0 00 00 00 c6 45 cf 00 49 89 f6 48
89 fb 44 0f b7 7f 7e 05 ff 3f 00 00 2b 47 6c bf 00 00 00 00 0f b7 14 11 <41> 0f
b7 4c 24 40 c1 e8 0e 8d 74 10 03 41 0f b7 54 24 42 41 0f
[ 1909.470743] RIP [<ffffffffa00f8b84>] ixgbe_xmit_frame_ring+0x54/0x390
[ixgbe]
[ 1909.513992] RSP <ffff88081e69bd60>
[ 1909.534835] CR2: 0000000000000040
[ 1909.555032] ---[ end trace 5b2e0b234d34d82c ]---
[ 1909.583858] Kernel panic - not syncing: Fatal exception in interrupt
[ 1909.621903] Pid: 2584, comm: kclick Tainted: G D C O 3.2.0-39-generic
#62-Ubuntu
[ 1909.669293] Call Trace:
[ 1909.683982] [<ffffffff81644f38>] panic+0x91/0x1a4
[ 1909.712678] [<ffffffff8165eb5a>] oops_end+0xea/0xf0
[ 1909.742402] [<ffffffff81643de4>] no_context+0x150/0x15d
[ 1909.774210] [<ffffffff81643fba>] __bad_area_nosemaphore+0x1c9/0x1e8
[ 1909.812241] [<ffffffff8130d466>] ? cpumask_next_and+0x36/0x50
[ 1909.847171] [<ffffffff8105b231>] ? find_busiest_group+0x171/0xbb0
[ 1909.884163] [<ffffffff81643fec>] bad_area_nosemaphore+0x13/0x15
[ 1909.920124] [<ffffffff81661766>] do_page_fault+0x426/0x520
[ 1909.953483] [<ffffffff81328a79>] ? swiotlb_map_page+0x59/0xf0
[ 1909.988406] [<ffffffff8165e0f5>] page_fault+0x25/0x30
[ 1910.019171] [<ffffffffa00f8b84>] ? ixgbe_xmit_frame_ring+0x54/0x390 [ixgbe]
[ 1910.061350] [<ffffffff81313dbe>] ? rb_erase+0xce/0x150
[ 1910.092632] [<ffffffffa00f8ee4>] ixgbe_xmit_frame+0x24/0x30 [ixgbe]
[ 1910.130717] [<ffffffffa02fbec5>]
_ZN8ToDevice12queue_packetEP6PacketP12netdev_queue+0x115/0x270 [click]
[ 1910.187504] [<ffffffffa030c8c6>] ?
_ZN13FullNoteQueue4pushEiP6Packet+0x16/0x330 [click]
[ 1910.235996] [<ffffffffa02fc0ba>] _ZN8ToDevice8run_taskEP4Task+0x9a/0x2d0
[click]
[ 1910.280847] [<ffffffffa02c2904>] _ZN12RouterThread6driverEv+0x374/0x5d0
[click]
[ 1910.325176] [<ffffffffa0322c2c>] _ZL11click_schedPv+0x13c/0x240 [click]
[ 1910.365285] [<ffffffff810571c5>] ? finish_task_switch+0xc5/0xf0
[ 1910.401249] [<ffffffff816680f4>] kernel_thread_helper+0x4/0x10
[ 1910.438112] [<ffffffffa0322af0>] ? _Z19click_cleanup_schedv+0x190/0x190
[click]
[ 1910.482401] [<ffffffff816680f0>] ? gs_change+0x13/0x13
84:00.0 Ethernet controller: Intel Corporation 82599EB 10-Gigabit SFI/SFP+
Network Connection (rev 01)
Subsystem: Intel Corporation Ethernet Server Adapter X520-2
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+
Stepping- SERR+ FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort-
<MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 58
Region 0: Memory at 3c00ffc80000 (64-bit, prefetchable) [size=512K]
Region 2: I/O ports at c020 [size=32]
Region 4: Memory at 3c00ffd10000 (64-bit, prefetchable) [size=16K]
Capabilities: [40] Power Management version 3
Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA
PME(D0+,D1-,D2-,D3hot+,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=1 PME-
Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
Address: 0000000000000000 Data: 0000
Masking: 00000000 Pending: 00000000
Capabilities: [70] MSI-X: Enable+ Count=64 Masked-
Vector table: BAR=4 offset=00000000
PBA: BAR=4 offset=00002000
Capabilities: [a0] Express (v2) Endpoint, MSI 00
DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s <512ns,
L1 <64us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset+
DevCtl: Report errors: Correctable+ Non-Fatal+ Fatal+
Unsupported+
RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop+ FLReset-
MaxPayload 256 bytes, MaxReadReq 4096 bytes
DevSta: CorrErr- UncorrErr- FatalErr+ UnsuppReq+ AuxPwr-
TransPend-
LnkCap: Port #2, Speed 5GT/s, Width x8, ASPM L0s, Latency L0
<1us, L1 <8us
ClockPM- Surprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 5GT/s, Width x8, TrErr- Train- SlotClk+ DLActive-
BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Range ABCD, TimeoutDis+
DevCtl2: Completion Timeout: 4s to 13s, TimeoutDis-
LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-,
Selectable De-emphasis: -6dB
Transmit Margin: Normal Operating Range,
EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -6dB
Capabilities: [100 v1] Advanced Error Reporting
UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt-
RxOF- MalfTLP- ECRC- UnsupReq+ ACSViol-
UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt-
RxOF- MalfTLP- ECRC- UnsupReq+ ACSViol-
UESvrt: DLP+ SDES- TLP+ FCP+ CmpltTO+ CmpltAbrt+ UnxCmplt+
RxOF+ MalfTLP+ ECRC+ UnsupReq+ ACSViol-
CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
Capabilities: [140 v1] Device Serial Number 90-e2-12-8e-31-d2-17-42
Capabilities: [150 v1] Alternative Routing-ID Interpretation (ARI)
ARICap: MFVC- ACS-, Next Function: 1
ARICtl: MFVC- ACS-, Function Group: 0
Capabilities: [160 v1] Single Root I/O Virtualization (SR-IOV)
IOVCap: Migration-, Interrupt Message Number: 000
IOVCtl: Enable- Migration- Interrupt- MSE- ARIHierarchy+
IOVSta: Migration-
Initial VFs: 64, Total VFs: 64, Number of VFs: 64, Function
Dependency Link: 00
VF offset: 128, stride: 2, Device ID: 10ed
Supported Page Size: 00000553, System Page Size: 00000001
Region 0: Memory at 00000000ec300000 (64-bit, non-prefetchable)
Region 3: Memory at 00000000ec200000 (64-bit, non-prefetchable)
VF Migration: offset: 00000000, BIR: 0
Kernel driver in use: ixgbe
Kernel modules: ixgbe
_______________________________________________
click mailing list
[email protected]
https://amsterdam.lcs.mit.edu/mailman/listinfo/click