Hi
After many tried including searching the ntop-misc mail list, I found that,
pf_ring seems doesn't support Broadcom's tg3 driver, although there is a
dir called tg3/, and these bugs seems exit for many years :-(
[jaseywang@local tg3-3.102]$ uname -a
Linux localhost 2.6.32-279.el6.x86_64 #1 SMP Wed Jun 13 18:24:36 EDT 2012
x86_64 x86_64 x86_64 GNU/Linux
Before I compile the tg3 dirver, I have successfully compiled pf_ring.ko
module and inserted into the kernel dynamically. Also I compiled the files
in userland/{lib,libcap,examples,tcpdump-4.1.1}, and they all worked well.
After I tried to compile the tg3 driver, it failed and tens of errors
reported:
[jaseywang@local tg3-3.102]$ pwd
/var/tmp/pf_ring/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/2.6.x/broadcom/tg3/tg3-3.102
[jaseywang@local tg3-3.102]$ make -j24
make -C /lib/modules/2.6.32-279.el6.x86_64/build
SUBDIRS=/var/tmp/pf_ring/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/2.6.x/broadcom/tg3/tg3-3.102
modules
make[1]: Entering directory `/usr/src/kernels/2.6.32-279.el6.x86_64'
make[1]: warning: jobserver unavailable: using -j1. Add `+' to parent make
rule.
CC [M]
/var/tmp/pf_ring/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/2.6.x/broadcom/tg3/tg3-3.102/tg3.o
In file included from
/var/tmp/pf_ring/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/2.6.x/broadcom/tg3/tg3-3.102/tg3.c:74:
/var/tmp/pf_ring/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/2.6.x/broadcom/tg3/tg3-3.102/../../../../../../../kernel/linux/pf_ring.h:536:81:
error: missing binary operator before token "("
/var/tmp/pf_ring/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/2.6.x/broadcom/tg3/tg3-3.102/tg3.c:204:
error: ‘PCI_DEVICE_ID_TIGON3_5720’ undeclared here (not in a function)
/var/tmp/pf_ring/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/2.6.x/broadcom/tg3/tg3-3.102/tg3.c:207:
error: ‘PCI_DEVICE_ID_TIGON3_5750’ undeclared here (not in a function)
/var/tmp/pf_ring/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/2.6.x/broadcom/tg3/tg3-3.102/tg3.c:209:
error: ‘PCI_DEVICE_ID_TIGON3_5750M’ undeclared here (not in a function)
/var/tmp/pf_ring/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/2.6.x/broadcom/tg3/tg3-3.102/tg3.c:
In function ‘tg3_tx’:
/var/tmp/pf_ring/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/2.6.x/broadcom/tg3/tg3-3.102/tg3.c:4348:
error: implicit declaration of function ‘skb_dma_unmap’
/var/tmp/pf_ring/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/2.6.x/broadcom/tg3/tg3-3.102/tg3.c:
In function ‘tg3_rx’:
/var/tmp/pf_ring/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/2.6.x/broadcom/tg3/tg3-3.102/tg3.c:4647:
warning: passing argument 4 of ‘hook->ring_handler’ makes pointer from
integer without a cast
/var/tmp/pf_ring/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/2.6.x/broadcom/tg3/tg3-3.102/tg3.c:4647:
note: expected ‘u_int8_t *’ but argument is of type ‘int’
/var/tmp/pf_ring/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/2.6.x/broadcom/tg3/tg3-3.102/tg3.c:4647:
error: too few arguments to function ‘hook->ring_handler’
/var/tmp/pf_ring/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/2.6.x/broadcom/tg3/tg3-3.102/tg3.c:4647:
warning: assignment makes integer from pointer without a cast
/var/tmp/pf_ring/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/2.6.x/broadcom/tg3/tg3-3.102/tg3.c:
In function ‘tigon3_dma_hwbug_workaround’:
/var/tmp/pf_ring/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/2.6.x/broadcom/tg3/tg3-3.102/tg3.c:5164:
error: implicit declaration of function ‘skb_dma_map’
/var/tmp/pf_ring/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/2.6.x/broadcom/tg3/tg3-3.102/tg3.c:5165:
error: ‘struct skb_shared_info’ has no member named ‘dma_head’
/var/tmp/pf_ring/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/2.6.x/broadcom/tg3/tg3-3.102/tg3.c:5165:
warning: assignment makes integer from pointer without a cast
/var/tmp/pf_ring/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/2.6.x/broadcom/tg3/tg3-3.102/tg3.c:
In function ‘tg3_start_xmit’:
/var/tmp/pf_ring/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/2.6.x/broadcom/tg3/tg3-3.102/tg3.c:5313:
error: ‘struct skb_shared_info’ has no member named ‘dma_head’
/var/tmp/pf_ring/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/2.6.x/broadcom/tg3/tg3-3.102/tg3.c:5313:
warning: assignment makes integer from pointer without a cast
/var/tmp/pf_ring/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/2.6.x/broadcom/tg3/tg3-3.102/tg3.c:5337:
error: ‘struct skb_shared_info’ has no member named ‘dma_maps’
/var/tmp/pf_ring/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/2.6.x/broadcom/tg3/tg3-3.102/tg3.c:5337:
error: incompatible types when assigning to type ‘dma_addr_t’ from type
‘struct pci_device_id’
/var/tmp/pf_ring/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/2.6.x/broadcom/tg3/tg3-3.102/tg3.c:5337:
warning: statement with no effect
/var/tmp/pf_ring/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/2.6.x/broadcom/tg3/tg3-3.102/tg3.c:
In function ‘tg3_start_xmit_dma_bug’:
/var/tmp/pf_ring/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/2.6.x/broadcom/tg3/tg3-3.102/tg3.c:5499:
error: ‘struct skb_shared_info’ has no member named ‘dma_head’
/var/tmp/pf_ring/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/2.6.x/broadcom/tg3/tg3-3.102/tg3.c:5499:
warning: assignment makes integer from pointer without a cast
/var/tmp/pf_ring/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/2.6.x/broadcom/tg3/tg3-3.102/tg3.c:5524:
error: ‘struct skb_shared_info’ has no member named ‘dma_maps’
/var/tmp/pf_ring/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/2.6.x/broadcom/tg3/tg3-3.102/tg3.c:5524:
error: incompatible types when assigning to type ‘dma_addr_t’ from type
‘struct pci_device_id’
/var/tmp/pf_ring/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/2.6.x/broadcom/tg3/tg3-3.102/tg3.c:5524:
warning: statement with no effect
make[2]: ***
[/var/tmp/pf_ring/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/2.6.x/broadcom/tg3/tg3-3.102/tg3.o]
Error 1
make[1]: ***
[_module_/var/tmp/pf_ring/PF_RING-6.0.2/drivers/PF_RING_aware/non-ZC-drivers/2.6.x/broadcom/tg3/tg3-3.102]
Error 2
make[1]: Leaving directory `/usr/src/kernels/2.6.32-279.el6.x86_64'
make: *** [default] Error 2
At the moment, we are benchmarking Broadcom BCM5719/5720, so tg3 driver is
a must.
The worst case is we don't have the modified tg3 driver provided by
np_ring. Is there any disadvantage or performance loss if we don't the
modified dirver.
Anybody have the similar issues, will your dear developers have any plan
and fix them ASAF?
Thanks.
_______________________________________________
Ntop-misc mailing list
[email protected]
http://listgateway.unipi.it/mailman/listinfo/ntop-misc