Netdev List
 help / color / mirror / Atom feed
* Re: IPSEC maintainership...
From: David Miller @ 2012-10-16  6:14 UTC (permalink / raw)
  To: steffen.klassert; +Cc: netdev, herbert
In-Reply-To: <20121016061154.GF21577@secunet.com>

From: Steffen Klassert <steffen.klassert@secunet.com>
Date: Tue, 16 Oct 2012 08:11:54 +0200

> On Mon, Oct 15, 2012 at 01:38:33PM -0400, David Miller wrote:
>> 
>> Steffen, after some discussions with Herbert we'd like to formally
>> recognize your outstanding contributions to the IPSEC stack over
>> the past few years by listing you explicitly as a maintainer as
>> per the patch below.
>> 
>> Let us know if you are OK with this.
> 
> I'm absolutely OK with this, of course :)
> 
> Being one of the maintainers, I'd like to run our automated IPsec
> tests on incomming paches before they get applied. So I'd think
> about a workflow and propose something if you are OK with that.

If you want you can maintainer an IPSEC GIT tree, where you apply any
submitted IPSEC changes.

Once you are satisfied with their quality and they pass your tests,
you simply send me a formal GIT pull request just like any other
networking subsystem (netfilter, wireless, etc.) currently does.

^ permalink raw reply

* Re: IPSEC maintainership...
From: Steffen Klassert @ 2012-10-16  6:21 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, herbert
In-Reply-To: <20121016.021435.220828722592000976.davem@davemloft.net>

On Tue, Oct 16, 2012 at 02:14:35AM -0400, David Miller wrote:
> 
> If you want you can maintainer an IPSEC GIT tree, where you apply any
> submitted IPSEC changes.
> 
> Once you are satisfied with their quality and they pass your tests,
> you simply send me a formal GIT pull request just like any other
> networking subsystem (netfilter, wireless, etc.) currently does.

Sounds good, let's do it this way. I'll set up a git tree and
process the incomming IPsec patches.

^ permalink raw reply

* Re: [m68k, powerpc, dma, ethernet, freescale RFA] Coldfire m54xx FEC ethernet driver
From: Greg Ungerer @ 2012-10-16  6:39 UTC (permalink / raw)
  To: Philippe De Muyter
  Cc: uClinux development list, netdev, linux-kernel, linux-m68k,
	stany.marcel, linuxppc-dev
In-Reply-To: <20121009090758.GA14142@frolo.macqel>

Hi Philippe,

On 09/10/12 19:07, Philippe De Muyter wrote:
> [CCing lkml, linux-ppc, netdev, linux-m68k]
>
> Hello kernel sources architects
>
> I have a working driver for the m54xx FEC ethernet driver that I
> would like to integrate in the kernel tree.  Problems are that
> - this driver needs an associated DMA driver (provided by FreeScale)
> wich is not dma-engine enabled
> - they're are already many fec drivers in the kernel tree, and
> at least one, fec_mpc52xx.c, seems to be very similar (information
> below), to the one for the mcf54xx, except it uses a differently
> named associated DMA driver (BestComm/SmartDma/SDMA) which is also
> not dma-engine enabled, and even kept hidden in /arch/powerpc where
> it is inaccessible when compiling for m68k.  The underlying DMA part
> from Freescale however seems similar to the one used in the
> m54xx. (again, see information below)
>
> So, now I am lost, what should I do ?
>
> The current state of my patches
> [http://mailman.uclinux.org/pipermail/uclinux-dev/2012-September/052147.html]
> is pushing the freescale provided MCD_DMA dma driver to /drivers/dma,
> without adding the dma-engine compatibility layer, and adding the specific
> fec_m54xx ethernet driver to /drivers/net/ethernet/freescale

Do you get any responses?
I didn't see any...

Regards
Greg



> On Tue, Oct 09, 2012 at 04:12:44PM +1000, Greg Ungerer wrote:
>> Hi Philippe,
>>
>> On 05/10/12 01:03, Philippe De Muyter wrote:
>>> On Thu, Oct 04, 2012 at 04:56:01PM +0200, Philippe De Muyter wrote:
>>>> On Thu, Oct 04, 2012 at 11:33:32PM +1000, Greg Ungerer wrote:
>>>>>
>>>>> My biggest concern is the amount of MCD/DMA support code. And it is
>>>>> all done quite differently to everything else in the kernel. We may
>>>>> get a bit of push back from kernel folk who look after DMA.
>>>>
>>>> Actually, there is already a similar code in arch/powerpc/sysdev/bestcomm
>>>> (also from freescale, maybe an identical part, but I did not find any
>>>> usable doc), but the powerpc folks kept that hidden in the arch/powerpc
>>>> tree, instead of installing it in drivers/dma.
>>>
>>> The MCD DMA or DMA FEC code from freescale has a comment implying that
>>> this
>>> was first used in the MPC8220 part.  And Montavista has a MPC8220 port,
>>> but
>>> I did not find it, so I do not know where they installed the MCD DMA
>>> driver.
>>
>> Ok, looks like there is a bit a variance in all this.
>
> I also began to read the mpc5200 user's guide parts about the fec and
> BestComm/SmartDma/SDMA (not sure which one is the official FreeScale name)
> and they look very similar, but not identical, to their m54xx counterparts.
>
> It seems possible to make the fec_mpc52xx.c driver work for the m54xx
> but that needs at least:
> - moving some files or part of them from /arch/powerpc/sysdev and
>    /arch/powerpc/include/asm to /drivers/dma and /include/linux,
> - renaming the fec_mpc52xx files to a more sensible name,
> - providing out_be32 and in_be32 in /arch/m68k/include/asm/io.h,
> - and then unifying the interface to BestComm/SmartDma/SDMA and MCD_DMA
>    in mcf_52xx.c.
>
> An additional problem is that the freescale docs for powerpcs and for
> coldfires do not use the same mnemonics for the same registers.
>
> e.g. FEC registers
> 	offset	MPC5200		MCF5484
> 	======	=======		=======
> 	000	FEC_ID		n/a
> 	004	IEVENT		EIR
> 	008	IMASK		EIMR
> 	010	R_DES_ACTIVE	n/a
> 	014	X_DES_ACTIVE	n/a
> 	024	ECNTRL		ECR
> 	040	MII_DATA	MDATA
> 	044	MII_SPEED	MSCR
> 	064	MIB_CONTROL	MIBC
> 	084	R_CNTRL		RCR
> 	088	R_HASH		RHR
> 	0C4	X_CNTRL		TCR
> 	0E4	PADDR1		PALR
> 	0E8	PADDR2		PAHR
> 	0EC	OP_PAUSE	OPD
> 	118	IADDR1		IAUR
> 	11C	IADDR1		IALR
> 	120	GADDR1		GAUR
> 	124	GADDR2		GALR
> 	144	X_WMRK		FECTFWR
> 	184	RFIFO_DATA	FECRFDR
> 	188	RFIFO_STATUS	FECRFSR
> 	18C	RFIFO_CONTROL	FECRFCR
> 	190	RFIFO_LRF_PTR	FECRLRFP
> 	194	RFIFO_LWF_PTR	FECRLWFP
> 	198	RFIFO_ALARM	FECRFAR
> 	19C	RFIFO_RDPTR	FECRFRP
> 	1A0	RFIFO_WRPTR	FECRFWP
> 	1A4	TFIFO_DATA	FECTFDR
> 	1A8	TFIFO_STATUS	FECTFSR
> 	1AC	TFIFO_CONTROL	FECTFCR
> 	1B0	TFIFO_LRF_PTR	FECTLRFP
> 	1B4	TFIFO_LWF_PTR	FECTLWFP
> 	1B8	TFIFO_ALARM	FECTFAR
> 	1BC	TFIFO_RDPTR	FECTFRP
> 	1C0	TFIFO_WRPTR	FECTFWP
> 	1C4	RESET_CNTRL	FECFRST
> 	1C8	XMIT_FSM	FECCTCWR
>
>> Probably the best thing to do is post the patches on the linux kernel
>> mailing list then, asking for direction on a dma driver.
>>
>> I have no problem with it going into the arch/m68k area. So that is
>> always an option.
>
> For the dma engines, the similarity is also obvious.  For example, find
> below side by side mpc52xx and m54xx definitions for the
> main DMA registers :
>
> from mpc52xx.h				from MCD_dma.h
> /* SDMA */				/* MCD_DMA */
> struct mpc52xx_sdma {			struct dmaRegs {
>   u32 taskBar; /* 0x00 */		        u32 taskbar;
>   u32 currentPointer; /* 0x04 */		        u32 currPtr;
>   u32 endPointer; /* 0x08 */		        u32 endPtr;
>   u32 variablePointer; /* 0x0c */	        u32 varTablePtr;
>
>   u8 IntVect1; /* 0x10 */		        u16 dma_rsvd0;
>   u8 IntVect2; /* 0x11 */
>   u16 PtdCntrl; /* 0x12 */		        u16 ptdControl;
>
>   u32 IntPend; /* 0x14 */		        u32 intPending;
>   u32 IntMask; /* 0x18 */		        u32 intMask;
>
>   u16 tcr[16]; /* 0x1c .. 0x3a */	        u16 taskControl[16];
>
>   u8 ipr[32]; /* 0x3c .. 0x5b */		        u8  priority[32];
>
>   u32 cReqSelect; /* 0x5c */		        u32 initiatorMux;
>   u32 task_size0; /* 0x60 */		        u32 taskSize0;
>   u32 task_size1; /* 0x64 */		        u32 taskSize1;
>   u32 MDEDebug; /* 0x68 */		        u32 dma_rsvd1;
>   u32 ADSDebug; /* 0x6c */		        u32 dma_rsvd2;
>   u32 Value1; /* 0x70 */			        u32 debugComp1;
>   u32 Value2; /* 0x74 */			        u32 debugComp2;
>   u32 Control; /* 0x78 */		        u32 debugControl;
>   u32 Status; /* 0x7c */			        u32 debugStatus;
>   u32 PTDDebug; /* 0x80 */		        u32 ptdDebug;
> };					};
>
>
>
>


-- 
------------------------------------------------------------------------
Greg Ungerer  --  Principal Engineer        EMAIL:     gerg@snapgear.com
SnapGear Group, McAfee                      PHONE:       +61 7 3435 2888
8 Gardner Close                             FAX:         +61 7 3217 5323
Milton, QLD, 4064, Australia                WEB: http://www.SnapGear.com
_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

^ permalink raw reply

* Re: bpf filter : support for vlan tag
From: Eric Dumazet @ 2012-10-16  6:46 UTC (permalink / raw)
  To: Ani Sinha; +Cc: netdev
In-Reply-To: <CAOxq_8MqMatY2+GA6+mHjj5V=Xe7Y8BmuX4r6cz5nChU5C1Vzw@mail.gmail.com>

On Mon, 2012-10-15 at 19:10 -0700, Ani Sinha wrote:
> Hi :
> 
> I was looking at the kernel side implementation of the BPF filter. I
> do not see any code that supports filtering of packets based on
> provided vlan tag information from the skbuff. This will make it
> impossible to provide any filter to tcpdump that will filter packets
> based on the tag information if libpcap uses the kernel filter.
> 
> Any help will be much appreciated.

Right, we need a basic support, using a new ancillary definition.

Is the following patch enough to address your need, or do you also need
access to vlan_tx_tag_present() ?

diff --git a/include/linux/filter.h b/include/linux/filter.h
index 24d251f..0218e41 100644
--- a/include/linux/filter.h
+++ b/include/linux/filter.h
@@ -123,6 +123,7 @@ enum {
 	BPF_S_ANC_CPU,
 	BPF_S_ANC_ALU_XOR_X,
 	BPF_S_ANC_SECCOMP_LD_W,
+	BPF_S_ANC_VLAN_TAG,
 };
 
 #endif /* __LINUX_FILTER_H__ */
diff --git a/net/core/filter.c b/net/core/filter.c
index 3d92ebb..de4a5dc 100644
--- a/net/core/filter.c
+++ b/net/core/filter.c
@@ -341,6 +341,9 @@ load_b:
 		case BPF_S_ANC_CPU:
 			A = raw_smp_processor_id();
 			continue;
+		case BPF_S_ANC_VLAN_TAG:
+			A = vlan_tx_tag_get(skb);
+			continue;
 		case BPF_S_ANC_NLATTR: {
 			struct nlattr *nla;
 
@@ -600,6 +603,7 @@ int sk_chk_filter(struct sock_filter *filter, unsigned int flen)
 			ANCILLARY(RXHASH);
 			ANCILLARY(CPU);
 			ANCILLARY(ALU_XOR_X);
+			ANCILLARY(VLAN_TAG);
 			}
 		}
 		ftest->code = code;

^ permalink raw reply related

* Re: [m68k, powerpc, dma, ethernet, freescale RFA] Coldfire m54xx FEC ethernet driver
From: Philippe De Muyter @ 2012-10-16  8:03 UTC (permalink / raw)
  To: Greg Ungerer
  Cc: uClinux development list, netdev, linux-kernel, linux-m68k,
	stany.marcel, linuxppc-dev
In-Reply-To: <507D0109.1010103@snapgear.com>

Hi Greg,

On Tue, Oct 16, 2012 at 04:39:05PM +1000, Greg Ungerer wrote:
> Hi Philippe,
>
> On 09/10/12 19:07, Philippe De Muyter wrote:
>> [CCing lkml, linux-ppc, netdev, linux-m68k]
>>
>> Hello kernel sources architects
>>
>> I have a working driver for the m54xx FEC ethernet driver that I
>> would like to integrate in the kernel tree.  Problems are that
>> - this driver needs an associated DMA driver (provided by FreeScale)
>> wich is not dma-engine enabled
>> - they're are already many fec drivers in the kernel tree, and
>> at least one, fec_mpc52xx.c, seems to be very similar (information
>> below), to the one for the mcf54xx, except it uses a differently
>> named associated DMA driver (BestComm/SmartDma/SDMA) which is also
>> not dma-engine enabled, and even kept hidden in /arch/powerpc where
>> it is inaccessible when compiling for m68k.  The underlying DMA part
>> from Freescale however seems similar to the one used in the
>> m54xx. (again, see information below)
>>
>> So, now I am lost, what should I do ?
>>
>> The current state of my patches
>> [http://mailman.uclinux.org/pipermail/uclinux-dev/2012-September/052147.html]
>> is pushing the freescale provided MCD_DMA dma driver to /drivers/dma,
>> without adding the dma-engine compatibility layer, and adding the specific
>> fec_m54xx ethernet driver to /drivers/net/ethernet/freescale
>
> Do you get any responses?
> I didn't see any...

No, and none also about my simpler patch moving arch/powerpc/sysdev/bestcomm
to drivers/dma/bestcomm (except a private and useful one telling me how to
set '-M' option as default for 'git format-patch'), but at least this simpler
patch seems to be in a wait bucket at
http://patchwork.ozlabs.org/project/linuxppc-dev/list/.

Regards

Philippe

PS: -M as default for 'git format-patch':

put
	[diff]
		renames = true
in .git/config

>
> Regards
> Greg
>
>
>
>> On Tue, Oct 09, 2012 at 04:12:44PM +1000, Greg Ungerer wrote:
>>> Hi Philippe,
>>>
>>> On 05/10/12 01:03, Philippe De Muyter wrote:
>>>> On Thu, Oct 04, 2012 at 04:56:01PM +0200, Philippe De Muyter wrote:
>>>>> On Thu, Oct 04, 2012 at 11:33:32PM +1000, Greg Ungerer wrote:
>>>>>>
>>>>>> My biggest concern is the amount of MCD/DMA support code. And it is
>>>>>> all done quite differently to everything else in the kernel. We may
>>>>>> get a bit of push back from kernel folk who look after DMA.
>>>>>
>>>>> Actually, there is already a similar code in 
>>>>> arch/powerpc/sysdev/bestcomm
>>>>> (also from freescale, maybe an identical part, but I did not find any
>>>>> usable doc), but the powerpc folks kept that hidden in the arch/powerpc
>>>>> tree, instead of installing it in drivers/dma.
>>>>
>>>> The MCD DMA or DMA FEC code from freescale has a comment implying that
>>>> this
>>>> was first used in the MPC8220 part.  And Montavista has a MPC8220 port,
>>>> but
>>>> I did not find it, so I do not know where they installed the MCD DMA
>>>> driver.
>>>
>>> Ok, looks like there is a bit a variance in all this.
>>
>> I also began to read the mpc5200 user's guide parts about the fec and
>> BestComm/SmartDma/SDMA (not sure which one is the official FreeScale name)
>> and they look very similar, but not identical, to their m54xx 
>> counterparts.
>>
>> It seems possible to make the fec_mpc52xx.c driver work for the m54xx
>> but that needs at least:
>> - moving some files or part of them from /arch/powerpc/sysdev and
>>    /arch/powerpc/include/asm to /drivers/dma and /include/linux,
>> - renaming the fec_mpc52xx files to a more sensible name,
>> - providing out_be32 and in_be32 in /arch/m68k/include/asm/io.h,
>> - and then unifying the interface to BestComm/SmartDma/SDMA and MCD_DMA
>>    in mcf_52xx.c.
>>
>> An additional problem is that the freescale docs for powerpcs and for
>> coldfires do not use the same mnemonics for the same registers.
>>
>> e.g. FEC registers
>> 	offset	MPC5200		MCF5484
>> 	======	=======		=======
>> 	000	FEC_ID		n/a
>> 	004	IEVENT		EIR
>> 	008	IMASK		EIMR
>> 	010	R_DES_ACTIVE	n/a
>> 	014	X_DES_ACTIVE	n/a
>> 	024	ECNTRL		ECR
>> 	040	MII_DATA	MDATA
>> 	044	MII_SPEED	MSCR
>> 	064	MIB_CONTROL	MIBC
>> 	084	R_CNTRL		RCR
>> 	088	R_HASH		RHR
>> 	0C4	X_CNTRL		TCR
>> 	0E4	PADDR1		PALR
>> 	0E8	PADDR2		PAHR
>> 	0EC	OP_PAUSE	OPD
>> 	118	IADDR1		IAUR
>> 	11C	IADDR1		IALR
>> 	120	GADDR1		GAUR
>> 	124	GADDR2		GALR
>> 	144	X_WMRK		FECTFWR
>> 	184	RFIFO_DATA	FECRFDR
>> 	188	RFIFO_STATUS	FECRFSR
>> 	18C	RFIFO_CONTROL	FECRFCR
>> 	190	RFIFO_LRF_PTR	FECRLRFP
>> 	194	RFIFO_LWF_PTR	FECRLWFP
>> 	198	RFIFO_ALARM	FECRFAR
>> 	19C	RFIFO_RDPTR	FECRFRP
>> 	1A0	RFIFO_WRPTR	FECRFWP
>> 	1A4	TFIFO_DATA	FECTFDR
>> 	1A8	TFIFO_STATUS	FECTFSR
>> 	1AC	TFIFO_CONTROL	FECTFCR
>> 	1B0	TFIFO_LRF_PTR	FECTLRFP
>> 	1B4	TFIFO_LWF_PTR	FECTLWFP
>> 	1B8	TFIFO_ALARM	FECTFAR
>> 	1BC	TFIFO_RDPTR	FECTFRP
>> 	1C0	TFIFO_WRPTR	FECTFWP
>> 	1C4	RESET_CNTRL	FECFRST
>> 	1C8	XMIT_FSM	FECCTCWR
>>
>>> Probably the best thing to do is post the patches on the linux kernel
>>> mailing list then, asking for direction on a dma driver.
>>>
>>> I have no problem with it going into the arch/m68k area. So that is
>>> always an option.
>>
>> For the dma engines, the similarity is also obvious.  For example, find
>> below side by side mpc52xx and m54xx definitions for the
>> main DMA registers :
>>
>> from mpc52xx.h				from MCD_dma.h
>> /* SDMA */				/* MCD_DMA */
>> struct mpc52xx_sdma {			struct dmaRegs {
>>   u32 taskBar; /* 0x00 */		        u32 taskbar;
>>   u32 currentPointer; /* 0x04 */		        u32 currPtr;
>>   u32 endPointer; /* 0x08 */		        u32 endPtr;
>>   u32 variablePointer; /* 0x0c */	        u32 varTablePtr;
>>
>>   u8 IntVect1; /* 0x10 */		        u16 dma_rsvd0;
>>   u8 IntVect2; /* 0x11 */
>>   u16 PtdCntrl; /* 0x12 */		        u16 ptdControl;
>>
>>   u32 IntPend; /* 0x14 */		        u32 intPending;
>>   u32 IntMask; /* 0x18 */		        u32 intMask;
>>
>>   u16 tcr[16]; /* 0x1c .. 0x3a */	        u16 taskControl[16];
>>
>>   u8 ipr[32]; /* 0x3c .. 0x5b */		        u8  priority[32];
>>
>>   u32 cReqSelect; /* 0x5c */		        u32 initiatorMux;
>>   u32 task_size0; /* 0x60 */		        u32 taskSize0;
>>   u32 task_size1; /* 0x64 */		        u32 taskSize1;
>>   u32 MDEDebug; /* 0x68 */		        u32 dma_rsvd1;
>>   u32 ADSDebug; /* 0x6c */		        u32 dma_rsvd2;
>>   u32 Value1; /* 0x70 */			        u32 debugComp1;
>>   u32 Value2; /* 0x74 */			        u32 debugComp2;
>>   u32 Control; /* 0x78 */		        u32 debugControl;
>>   u32 Status; /* 0x7c */			        u32 debugStatus;
>>   u32 PTDDebug; /* 0x80 */		        u32 ptdDebug;
>> };					};

_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

^ permalink raw reply

* Re: [PATCH] net dsa: add new option "master_netdev_autoup"
From: Lennert Buytenhek @ 2012-10-16  8:03 UTC (permalink / raw)
  To: Rodolfo Giometti; +Cc: netdev
In-Reply-To: <1350308008-17189-2-git-send-email-giometti@linux.it>

On Mon, Oct 15, 2012 at 03:33:26PM +0200, Rodolfo Giometti wrote:

> By using this option the user can decide if the master device should
> be turned on when one of the slave devices is opened.
> 
> This functionality is needed if RootFS over NFS is used throught the
> DSA.

NAK

Use an initramfs if you want this.

^ permalink raw reply

* Re: [PATCH] net dsa: add phy's interrupts management
From: Lennert Buytenhek @ 2012-10-16  8:03 UTC (permalink / raw)
  To: Rodolfo Giometti; +Cc: netdev
In-Reply-To: <1350308008-17189-4-git-send-email-giometti@linux.it>

On Mon, Oct 15, 2012 at 03:33:28PM +0200, Rodolfo Giometti wrote:

> diff --git a/net/dsa/slave.c b/net/dsa/slave.c
> index 6e9e4546..817bbbd 100644
> --- a/net/dsa/slave.c
> +++ b/net/dsa/slave.c
> @@ -340,6 +340,11 @@ static const struct net_device_ops trailer_netdev_ops = {
>  };
>  #endif
>  
> +static void dsa_slave_handle_link_change(struct net_device *dev)
> +{
> +	/* nop */
> +}
> +
>  /* slave device setup *******************************************************/
>  struct net_device *
>  dsa_slave_create(struct dsa_switch *ds, struct device *parent,
> @@ -400,8 +405,8 @@ dsa_slave_create(struct dsa_switch *ds, struct device *parent,
>  	netif_carrier_off(slave_dev);
>  
>  	if (p->phy != NULL) {
> -		phy_attach(slave_dev, dev_name(&p->phy->dev),
> -			   0, PHY_INTERFACE_MODE_GMII);
> +		phy_connect_direct(p->dev, p->phy, dsa_slave_handle_link_change,
> +				0, PHY_INTERFACE_MODE_GMII);
>  
>  		p->phy->autoneg = AUTONEG_ENABLE;

What does this do?

^ permalink raw reply

* Re: [PATCH] net dsa: add per port phy address mapping
From: Lennert Buytenhek @ 2012-10-16  8:02 UTC (permalink / raw)
  To: Rodolfo Giometti; +Cc: netdev
In-Reply-To: <1350308008-17189-1-git-send-email-giometti@linux.it>

On Mon, Oct 15, 2012 at 03:33:25PM +0200, Rodolfo Giometti wrote:

> In some circumstances ports' phy addresses must be remapped in a custom
> manner (i.e. when phys have multiple MDIO addresses).

Can you give an example of when this is needed (i.e. on which
switch chips)?

^ permalink raw reply

* Re: bpf filter : support for vlan tag
From: Daniel Borkmann @ 2012-10-16 11:00 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: Ani Sinha, netdev
In-Reply-To: <1350369998.3954.563.camel@edumazet-glaptop>

On Tue, Oct 16, 2012 at 8:46 AM, Eric Dumazet <eric.dumazet@gmail.com> wrote:
> On Mon, 2012-10-15 at 19:10 -0700, Ani Sinha wrote:
>> Hi :
>>
>> I was looking at the kernel side implementation of the BPF filter. I
>> do not see any code that supports filtering of packets based on
>> provided vlan tag information from the skbuff. This will make it
>> impossible to provide any filter to tcpdump that will filter packets
>> based on the tag information if libpcap uses the kernel filter.
>>
>> Any help will be much appreciated.
>
> Right, we need a basic support, using a new ancillary definition.
>
> Is the following patch enough to address your need, or do you also need
> access to vlan_tx_tag_present() ?

I like this patch, it's especially useful to speed up processing for
packet analyzers. vlan_tx_tag_present() might also be good to have if
this doesn't waste to much room for future ancillary operations.

^ permalink raw reply

* [PATCH] bnx2x: fix handling mf storage modes
From: Dmitry Kravkov @ 2012-10-16 11:28 UTC (permalink / raw)
  To: davem, netdev; +Cc: Dmitry Kravkov, Ariel Elior, Eilon Greenstein

Since commit a3348722 AFEX FCoE function is continuously reset.
The patch prevents the resetting and removes debug print
to stop garbaging syslog.

Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Ariel Elior <ariele@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
---
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c |   10 +++++++---
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c  |    2 +-
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
index 2422099..5164f19 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
@@ -2957,9 +2957,13 @@ netdev_tx_t bnx2x_start_xmit(struct sk_buff *skb, struct net_device *dev)
 			skb_shinfo(skb)->nr_frags +
 			BDS_PER_TX_PKT +
 			NEXT_CNT_PER_TX_PKT(MAX_BDS_PER_TX_PKT))) {
-		bnx2x_fp_qstats(bp, txdata->parent_fp)->driver_xoff++;
-		netif_tx_stop_queue(txq);
-		BNX2X_ERR("BUG! Tx ring full when queue awake!\n");
+		/* Handle special storage cases separately */
+		if (txdata->tx_ring_size != 0) {
+			BNX2X_ERR("BUG! Tx ring full when queue awake!\n");
+			bnx2x_fp_qstats(bp, txdata->parent_fp)->driver_xoff++;
+			netif_tx_stop_queue(txq);
+		}
+
 		return NETDEV_TX_BUSY;
 	}
 
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c
index 71971a1..614981c 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c
@@ -126,7 +126,7 @@ static inline int bnx2x_exe_queue_add(struct bnx2x *bp,
 		/* Check if this request is ok */
 		rc = o->validate(bp, o->owner, elem);
 		if (rc) {
-			BNX2X_ERR("Preamble failed: %d\n", rc);
+			DP(BNX2X_MSG_SP, "Preamble failed: %d\n", rc);
 			goto free_and_exit;
 		}
 	}
-- 
1.7.7.2

^ permalink raw reply related

* Re: bpf filter : support for vlan tag
From: Eric Dumazet @ 2012-10-16 11:28 UTC (permalink / raw)
  To: Daniel Borkmann; +Cc: Ani Sinha, netdev
In-Reply-To: <CAD6jFUTn98+i_0eh6gc-CYgVXHNLbZdZmV6==mL+duFM-oNRmg@mail.gmail.com>

On Tue, 2012-10-16 at 13:00 +0200, Daniel Borkmann wrote:
> On Tue, Oct 16, 2012 at 8:46 AM, Eric Dumazet <eric.dumazet@gmail.com> wrote:
> > On Mon, 2012-10-15 at 19:10 -0700, Ani Sinha wrote:
> >> Hi :
> >>
> >> I was looking at the kernel side implementation of the BPF filter. I
> >> do not see any code that supports filtering of packets based on
> >> provided vlan tag information from the skbuff. This will make it
> >> impossible to provide any filter to tcpdump that will filter packets
> >> based on the tag information if libpcap uses the kernel filter.
> >>
> >> Any help will be much appreciated.
> >
> > Right, we need a basic support, using a new ancillary definition.
> >
> > Is the following patch enough to address your need, or do you also need
> > access to vlan_tx_tag_present() ?
> 
> I like this patch, it's especially useful to speed up processing for
> packet analyzers. vlan_tx_tag_present() might also be good to have if
> this doesn't waste to much room for future ancillary operations.

There is plenty of room in ancillary space

Note that if speed is needed, we also want to update various JIT
implementations.

diff --git a/include/linux/filter.h b/include/linux/filter.h
index 24d251f..c9f0005 100644
--- a/include/linux/filter.h
+++ b/include/linux/filter.h
@@ -123,6 +123,8 @@ enum {
 	BPF_S_ANC_CPU,
 	BPF_S_ANC_ALU_XOR_X,
 	BPF_S_ANC_SECCOMP_LD_W,
+	BPF_S_ANC_VLAN_TAG,
+	BPF_S_ANC_VLAN_TAG_PRESENT,
 };
 
 #endif /* __LINUX_FILTER_H__ */
diff --git a/include/uapi/linux/filter.h b/include/uapi/linux/filter.h
index 3d79224..9cfde69 100644
--- a/include/uapi/linux/filter.h
+++ b/include/uapi/linux/filter.h
@@ -127,7 +127,9 @@ struct sock_fprog {	/* Required for SO_ATTACH_FILTER. */
 #define SKF_AD_RXHASH	32
 #define SKF_AD_CPU	36
 #define SKF_AD_ALU_XOR_X	40
-#define SKF_AD_MAX	44
+#define SKF_AD_VLAN_TAG	44
+#define SKF_AD_VLAN_TAG_PRESENT 48
+#define SKF_AD_MAX	52
 #define SKF_NET_OFF   (-0x100000)
 #define SKF_LL_OFF    (-0x200000)
 
diff --git a/net/core/filter.c b/net/core/filter.c
index 3d92ebb..5a114d4 100644
--- a/net/core/filter.c
+++ b/net/core/filter.c
@@ -39,6 +39,7 @@
 #include <linux/reciprocal_div.h>
 #include <linux/ratelimit.h>
 #include <linux/seccomp.h>
+#include <linux/if_vlan.h>
 
 /* No hurry in this branch
  *
@@ -341,6 +342,12 @@ load_b:
 		case BPF_S_ANC_CPU:
 			A = raw_smp_processor_id();
 			continue;
+		case BPF_S_ANC_VLAN_TAG:
+			A = vlan_tx_tag_get(skb);
+			continue;
+		case BPF_S_ANC_VLAN_TAG_PRESENT:
+			A = !!vlan_tx_tag_present(skb);
+			continue;
 		case BPF_S_ANC_NLATTR: {
 			struct nlattr *nla;
 
@@ -600,6 +607,8 @@ int sk_chk_filter(struct sock_filter *filter, unsigned int flen)
 			ANCILLARY(RXHASH);
 			ANCILLARY(CPU);
 			ANCILLARY(ALU_XOR_X);
+			ANCILLARY(VLAN_TAG);
+			ANCILLARY(VLAN_TAG_PRESENT);
 			}
 		}
 		ftest->code = code;

^ permalink raw reply related

* Re: bpf filter : support for vlan tag
From: Daniel Borkmann @ 2012-10-16 11:34 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: Ani Sinha, netdev
In-Reply-To: <1350386917.3954.890.camel@edumazet-glaptop>

On Tue, Oct 16, 2012 at 1:28 PM, Eric Dumazet <eric.dumazet@gmail.com> wrote:
> On Tue, 2012-10-16 at 13:00 +0200, Daniel Borkmann wrote:
>> On Tue, Oct 16, 2012 at 8:46 AM, Eric Dumazet <eric.dumazet@gmail.com> wrote:
>> > On Mon, 2012-10-15 at 19:10 -0700, Ani Sinha wrote:
>> >> Hi :
>> >>
>> >> I was looking at the kernel side implementation of the BPF filter. I
>> >> do not see any code that supports filtering of packets based on
>> >> provided vlan tag information from the skbuff. This will make it
>> >> impossible to provide any filter to tcpdump that will filter packets
>> >> based on the tag information if libpcap uses the kernel filter.
>> >>
>> >> Any help will be much appreciated.
>> >
>> > Right, we need a basic support, using a new ancillary definition.
>> >
>> > Is the following patch enough to address your need, or do you also need
>> > access to vlan_tx_tag_present() ?
>>
>> I like this patch, it's especially useful to speed up processing for
>> packet analyzers. vlan_tx_tag_present() might also be good to have if
>> this doesn't waste to much room for future ancillary operations.
>
> There is plenty of room in ancillary space
>
> Note that if speed is needed, we also want to update various JIT
> implementations.

Thanks for the patch. My kernel was still compiling and mutt was
already open for a submission on the vlan_tx_tag_present() operation.
:-)

^ permalink raw reply

* Re: [patch net] vlan: fix bond/team enslave of vlan challenged slave/port
From: Jiri Pirko @ 2012-10-16 12:59 UTC (permalink / raw)
  To: Jon Stanley; +Cc: netdev, davem, fubar, andy, kaber
In-Reply-To: <CAJtaB1vRoArmDe_FB_dF-oQUcSsHPbTQ31wzPJLPtLKsq0k53Q@mail.gmail.com>

Mon, Oct 15, 2012 at 10:38:44PM CEST, jstanley@rmrf.net wrote:
>On Mon, Oct 15, 2012 at 10:53 AM, Jon Stanley <jstanley@rmrf.net> wrote:
>
>> However, I'm now running into a new issue. Note that I've backported
>> this to an older kernel (3.3.2, eww)
>
>My bad, I tried this on mainline and it works fine. Any pointers on
>what needs to get backported into 3.3 before I go pulling my hair out
>over it? :)

I can't think about anything atm. Happy hair pulling :)

>--
>To unsubscribe from this list: send the line "unsubscribe netdev" in
>the body of a message to majordomo@vger.kernel.org
>More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* Re: [Bug 1063038] Re: Broadcom BCM57780 Cannot Connect at Gigabit Speed using tg3 module.
From: Nithin Sujir @ 2012-10-16 13:52 UTC (permalink / raw)
  To: Justin Chudgar; +Cc: 1063038@bugs.launchpad.net, netdev
In-Reply-To: <507CD7E6.7070102@justinzane.com>

Justin,
I guess you didn't see my mail to you yesterday. This is as designed as 
per our hardware team. This what they had to say.

"Per our record, this Acer system with BCM57780 and SSID:0601 was 
intended by Acer to be a 10/100 system. The system is able to connect at 
10/100Mbps and therefore it is working as designed. Broadcom cannot 
support any software/hardware request to override this built in design."


Thanks,
Nithin.

On 10/15/2012 08:43 PM, Justin Chudgar wrote:
> First set of output is with ethtool -s advertise 0x03f [Which only works
> at 100Mbps]. Second set is with ethtool -s advertise 0x020 [which fails
> to link].
> --------------------------------
> Settings for eth0:
>          Supported ports: [ TP MII ]
>          Supported link modes:   10baseT/Half 10baseT/Full
>                                  100baseT/Half 100baseT/Full
>                                  1000baseT/Half 1000baseT/Full
>          Supported pause frame use: Symmetric Receive-only
>          Supports auto-negotiation: Yes
>          Advertised link modes:  10baseT/Half 10baseT/Full
>                                  100baseT/Half 100baseT/Full
>                                  1000baseT/Half 1000baseT/Full
>          Advertised pause frame use: Symmetric Receive-only
>          Advertised auto-negotiation: Yes
>          Speed: 10Mb/s
>          Duplex: Half
>          Port: MII
>          PHYAD: 1
>          Transceiver: external
>          Auto-negotiation: on
>          Supports Wake-on: g
>          Wake-on: g
>          Current message level: 0x000000ff (255)
>                                 drv probe link timer ifdown ifup rx_err
> tx_err
>          Link detected: no
> --------------------------------
> 400
> 0000:01:00.0 @80 = 00e04808
> 404
> 0000:01:00.0 @80 = 00400000
> 408
> 0000:01:00.0 @80 = 00000000
> 45c
> 0000:01:00.0 @80 = 00000102
> 460
> 0000:01:00.0 @80 = 00000000
> 3600
> 0000:01:00.0 @80 = e0236600
> 3601
> 0000:01:00.0 @80 = e0236600
> 3602
> 0000:01:00.0 @80 = e0236600
> 3603
> 0000:01:00.0 @80 = e0236600
> 3604
> 0000:01:00.0 @80 = 00170000
> 3605
> 0000:01:00.0 @80 = 00170000
> 3606
> 0000:01:00.0 @80 = 00170000
> 3607
> 0000:01:00.0 @80 = 00170000
> 3608
> 0000:01:00.0 @80 = 00110000
> 3609
> 0000:01:00.0 @80 = 00110000
> 3610
> 0000:01:00.0 @80 = 00170000
> 362c
> 0000:01:00.0 @80 = 00182036
> 3630
> 0000:01:00.0 @80 = 00170000
> --------------------------------
> Settings for eth0:
>          Supported ports: [ TP MII ]
>          Supported link modes:   10baseT/Half 10baseT/Full
>                                  100baseT/Half 100baseT/Full
>                                  1000baseT/Half 1000baseT/Full
>          Supported pause frame use: Symmetric Receive-only
>          Supports auto-negotiation: Yes
>          Advertised link modes:  1000baseT/Full
>          Advertised pause frame use: No
>          Advertised auto-negotiation: Yes
>          Speed: 10Mb/s
>          Duplex: Half
>          Port: MII
>          PHYAD: 1
>          Transceiver: external
>          Auto-negotiation: on
>          Supports Wake-on: g
>          Wake-on: g
>          Current message level: 0x000000ff (255)
>                                 drv probe link timer ifdown ifup rx_err
> tx_err
>          Link detected: no
> --------------------------------
> 400
> 0000:01:00.0 @80 = 00e04808
> 404
> 0000:01:00.0 @80 = 00400000
> 408
> 0000:01:00.0 @80 = 00000000
> 45c
> 0000:01:00.0 @80 = 00000102
> 460
> 0000:01:00.0 @80 = 00000000
> 3600
> 0000:01:00.0 @80 = e0236600
> 3601
> 0000:01:00.0 @80 = e0236600
> 3602
> 0000:01:00.0 @80 = e0236600
> 3603
> 0000:01:00.0 @80 = e0236600
> 3604
> 0000:01:00.0 @80 = 00170000
> 3605
> 0000:01:00.0 @80 = 00170000
> 3606
> 0000:01:00.0 @80 = 00170000
> 3607
> 0000:01:00.0 @80 = 00170000
> 3608
> 0000:01:00.0 @80 = 00110000
> 3609
> 0000:01:00.0 @80 = 00110000
> 3610
> 0000:01:00.0 @80 = 00170000
> 362c
> 0000:01:00.0 @80 = 00182036
> 3630
> 0000:01:00.0 @80 = 00170000
> --------------------------------
>
> Justin Chudgar  |  Weed, CA 96094  |  530 921 0738 | http://www.justinzane.com/
>
> On 10/15/2012 08:41 AM, Nithin Sujir wrote:
>> This is an indirect read method. You write the register address in 78 and read back from 80.
>> Note - there is no "= <value>" for the 80 line.
>>
>> What you've done is write to 80, which means you've overwritten every register with its address.
>>
>> You may have to power cycle the system to make sure the card is in an ok state.
>> And then redo the register reads. Don't write to register 80, only read. Also redo the mii-tool experiments.
>>
>> I think we can ignore the dmesg because I suspect writing to these register may have triggered it.
>>
>> Nithin.
>>
>>
>>> -----Original Message-----
>>> From: Justin Chudgar [mailto:justin@justinzane.com]
>>> Sent: Friday, October 12, 2012 9:02 PM
>>> To: Nithin Sujir
>>> Cc: 1063038@bugs.launchpad.net
>>> Subject: Re: [Bug 1063038] Re: Broadcom BCM57780 Cannot Connect at Gigabit
>>> Speed using tg3 module.
>>>
>>> Well, there is no output on stdout or stderr from any of these commands:
>>>
>>>      setpci -s 01:00.0 78.l=400
>>>      setpci -s 01:00.0 80.l=400
>>>      setpci -s 01:00.0 78.l=404
>>>      setpci -s 01:00.0 80.l=404
>>>      setpci -s 01:00.0 78.l=408
>>>      setpci -s 01:00.0 80.l=408
>>>      setpci -s 01:00.0 78.l=45c
>>>      setpci -s 01:00.0 80.l=45c
>>>      setpci -s 01:00.0 78.l=460
>>>      setpci -s 01:00.0 80.l=460
>>>
>>> There is, however, a bunch of output via dmesg:
>>> [ 5752.372423] ------------[ cut here ]------------
>>> [ 5752.372436] WARNING: at
>>> /build/buildd/linux-3.5.0/net/sched/sch_generic.c:255
>>> dev_watchdog+0x272/0x280()
>>> [ 5752.372439] Hardware name: Aspire 5733
>>> [ 5752.372441] NETDEV WATCHDOG: eth0 (tg3): transmit queue 0 timed out
>>> [ 5752.372443] Modules linked in: ip6table_filter ip6_tables ebtable_nat
>>> ebtables snd_hrtimer ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4
>>> nf_defrag_ipv4 xt_state nf_conntrack ipt_REJECT xt_CHECKSUM
>>> iptable_mangle xt_tcpudp iptable_filter ip_tables x_tables bridge stp
>>> llc dm_crypt des_generic md4 nls_utf8 cifs fscache rfcomm parport_pc
>>> bnep bluetooth ppdev joydev acer_wmi sparse_keymap snd_hda_codec_realtek
>>> kvm_intel snd_hda_intel snd_hda_codec kvm snd_hwdep snd_pcm snd_seq_midi
>>> microcode snd_rawmidi snd_seq_midi_event snd_seq arc4 snd_timer
>>> snd_seq_device ath9k uvcvideo videobuf2_core intel_ips mac80211 videodev
>>> videobuf2_vmalloc snd videobuf2_memops psmouse serio_raw ath9k_common
>>> ath9k_hw lpc_ich ath soundcore snd_page_alloc cfg80211 mei mac_hid
>>> coretemp lp parport btrfs zlib_deflate libcrc32c i915 drm_kms_helper drm
>>> tg3 i2c_algo_bit mxm_wmi wmi video
>>> [ 5752.372528] Pid: 0, comm: swapper/1 Not tainted 3.5.0-17-generic
>>> #26-Ubuntu
>>> [ 5752.372530] Call Trace:
>>> [ 5752.372533]  <IRQ>  [<ffffffff81052cdf>] warn_slowpath_common+0x7f/0xc0
>>> [ 5752.372543]  [<ffffffff81052dd6>] warn_slowpath_fmt+0x46/0x50
>>> [ 5752.372550]  [<ffffffff8159e862>] dev_watchdog+0x272/0x280
>>> [ 5752.372556]  [<ffffffff81070240>] ? __queue_work+0x330/0x330
>>> [ 5752.372560]  [<ffffffff8159e5f0>] ? pfifo_fast_dequeue+0xe0/0xe0
>>> [ 5752.372563]  [<ffffffff8159e5f0>] ? pfifo_fast_dequeue+0xe0/0xe0
>>> [ 5752.372569]  [<ffffffff81062d26>] call_timer_fn+0x46/0x160
>>> [ 5752.372572]  [<ffffffff8159e5f0>] ? pfifo_fast_dequeue+0xe0/0xe0
>>> [ 5752.372577]  [<ffffffff81064672>] run_timer_softirq+0x132/0x2a0
>>> [ 5752.372583]  [<ffffffff810a4035>] ? ktime_get+0x65/0xe0
>>> [ 5752.372588]  [<ffffffff8105bac8>] __do_softirq+0xa8/0x210
>>> [ 5752.372593]  [<ffffffff810ab194>] ? tick_program_event+0x24/0x30
>>> [ 5752.372598]  [<ffffffff816a665c>] call_softirq+0x1c/0x30
>>> [ 5752.372604]  [<ffffffff81016245>] do_softirq+0x65/0xa0
>>> [ 5752.372608]  [<ffffffff8105beae>] irq_exit+0x8e/0xb0
>>> [ 5752.372612]  [<ffffffff816a6f9e>] smp_apic_timer_interrupt+0x6e/0x99
>>> [ 5752.372617]  [<ffffffff816a5d0a>] apic_timer_interrupt+0x6a/0x70
>>> [ 5752.372619]  <EOI>  [<ffffffff81398b0a>] ? intel_idle+0xea/0x150
>>> [ 5752.372628]  [<ffffffff81398aec>] ? intel_idle+0xcc/0x150
>>> [ 5752.372633]  [<ffffffff815346f9>] cpuidle_enter+0x19/0x20
>>> [ 5752.372637]  [<ffffffff81534d1c>] cpuidle_idle_call+0xac/0x2a0
>>> [ 5752.372642]  [<ffffffff8101d89f>] cpu_idle+0xcf/0x120
>>> [ 5752.372647]  [<ffffffff8167950d>] start_secondary+0xc3/0xc5
>>> [ 5752.372650] ---[ end trace 2a2ef50d1a96a258 ]---
>>> [ 5752.372656] tg3 0000:01:00.0: >eth0: transmit timed out, resetting
>>> [ 5754.363636] tg3 0000:01:00.0: >eth0: 0x00000000: 0x169214e4,
>>> 0x00100406, 0x02000001, 0x00000010
>>> [ 5754.363647] tg3 0000:01:00.0: >eth0: 0x00000010: 0xd3400004,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5754.363653] tg3 0000:01:00.0: >eth0: 0x00000020: 0x00000000,
>>> 0x00000000, 0x00000000, 0x06011025
>>> [ 5754.363659] tg3 0000:01:00.0: >eth0: 0x00000030: 0x00000000,
>>> 0x00000048, 0x00000000, 0x0000010a
>>> [ 5754.363665] tg3 0000:01:00.0: >eth0: 0x00000040: 0x00000000,
>>> 0x00000000, 0xc0036001, 0x08002008
>>> [ 5754.363671] tg3 0000:01:00.0: >eth0: 0x00000050: 0x0081cc05,
>>> 0xfee0100c, 0x00000000, 0x00004189
>>> [ 5754.363677] tg3 0000:01:00.0: >eth0: 0x00000060: 0x006c5009,
>>> 0xffa85ef5, 0xf0010298, 0x76180000
>>> [ 5754.363683] tg3 0000:01:00.0: >eth0: 0x00000070: 0x000010f2,
>>> 0x00000000, 0x00000460, 0x00000000
>>> [ 5754.363689] tg3 0000:01:00.0: >eth0: 0x00000080: 0x00000000,
>>> 0x40000040, 0x00000000, 0x00000000
>>> [ 5754.363695] tg3 0000:01:00.0: >eth0: 0x000000b0: 0x00000000,
>>> 0x00000000, 0x00000000, 0x57780001
>>> [ 5754.363701] tg3 0000:01:00.0: >eth0: 0x000000c0: 0x00000000,
>>> 0x00000000, 0x0000000e, 0x00020010
>>> [ 5754.363706] tg3 0000:01:00.0: >eth0: 0x000000d0: 0x05908fa0,
>>> 0x00112000, 0x0006cc11, 0x10110143
>>> [ 5754.363712] tg3 0000:01:00.0: >eth0: 0x000000f0: 0x0000001f,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5754.363718] tg3 0000:01:00.0: >eth0: 0x00000100: 0x13c10001,
>>> 0x00100000, 0x00000000, 0x00062031
>>> [ 5754.363724] tg3 0000:01:00.0: >eth0: 0x00000110: 0x00000001,
>>> 0x00002000, 0x000000b4, 0x40000001
>>> [ 5754.363729] tg3 0000:01:00.0: >eth0: 0x00000120: 0x0000000f,
>>> 0xd3400400, 0x00000080, 0x00000000
>>> [ 5754.363735] tg3 0000:01:00.0: >eth0: 0x00000130: 0x00000000,
>>> 0x00000000, 0x00000000, 0x16010002
>>> [ 5754.363741] tg3 0000:01:00.0: >eth0: 0x00000150: 0x800000ff,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5754.363747] tg3 0000:01:00.0: >eth0: 0x00000160: 0x16c10003,
>>> 0xfeac38d5, 0xdc0ea1ff, 0x00010004
>>> [ 5754.363752] tg3 0000:01:00.0: >eth0: 0x00000170: 0x00000000,
>>> 0x00078116, 0x00000001, 0x00000000
>>> [ 5754.363758] tg3 0000:01:00.0: >eth0: 0x00000180: 0x00000000,
>>> 0x00000000, 0x00000000, 0xffffffff
>>> [ 5754.363764] tg3 0000:01:00.0: >eth0: 0x00000200: 0x00000000,
>>> 0x3d000000, 0x00000000, 0x00000000
>>> [ 5754.363770] tg3 0000:01:00.0: >eth0: 0x00000260: 0x00000000,
>>> 0x00000000, 0x00000000, 0x000000b5
>>> [ 5754.363775] tg3 0000:01:00.0: >eth0: 0x00000280: 0x00000000,
>>> 0x000001ed, 0x00000000, 0x00000000
>>> [ 5754.363781] tg3 0000:01:00.0: >eth0: 0x00000300: 0x00000000,
>>> 0x00000050, 0x00000000, 0x00000050
>>> [ 5754.363787] tg3 0000:01:00.0: >eth0: 0x00000310: 0x00000000,
>>> 0x00000050, 0x00000000, 0x00000050
>>> [ 5754.363792] tg3 0000:01:00.0: >eth0: 0x00000320: 0x00000000,
>>> 0x00000050, 0x00000000, 0x00000050
>>> [ 5754.363798] tg3 0000:01:00.0: >eth0: 0x00000330: 0x00000000,
>>> 0x00000050, 0x00000000, 0x00000050
>>> [ 5754.363804] tg3 0000:01:00.0: >eth0: 0x00000340: 0x00000000,
>>> 0x00000050, 0x00000000, 0x00000050
>>> [ 5754.363809] tg3 0000:01:00.0: >eth0: 0x00000350: 0x00000000,
>>> 0x00000050, 0x00000000, 0x00000050
>>> [ 5754.363815] tg3 0000:01:00.0: >eth0: 0x00000360: 0x00000000,
>>> 0x00000050, 0x00000000, 0x00000050
>>> [ 5754.363821] tg3 0000:01:00.0: >eth0: 0x00000370: 0x00000000,
>>> 0x00000050, 0x00000000, 0x00000050
>>> [ 5754.363826] tg3 0000:01:00.0: >eth0: 0x00000380: 0x00000000,
>>> 0x00000050, 0x00000000, 0x00000050
>>> [ 5754.363832] tg3 0000:01:00.0: >eth0: 0x00000390: 0x00000000,
>>> 0x00000050, 0x00000000, 0x00000050
>>> [ 5754.363838] tg3 0000:01:00.0: >eth0: 0x000003a0: 0x00000000,
>>> 0x00000050, 0x00000000, 0x00000050
>>> [ 5754.363843] tg3 0000:01:00.0: >eth0: 0x000003b0: 0x00000000,
>>> 0x00000050, 0x00000000, 0x00000050
>>> [ 5754.363849] tg3 0000:01:00.0: >eth0: 0x000003c0: 0x00000000,
>>> 0x00000050, 0x00000000, 0x00000050
>>> [ 5754.363855] tg3 0000:01:00.0: >eth0: 0x000003d0: 0x00000000,
>>> 0x00000050, 0x00000000, 0x00000050
>>> [ 5754.363860] tg3 0000:01:00.0: >eth0: 0x000003e0: 0x00000000,
>>> 0x00000050, 0x00000000, 0x00000050
>>> [ 5754.363866] tg3 0000:01:00.0: >eth0: 0x000003f0: 0x00000000,
>>> 0x00000050, 0x00000000, 0x00000050
>>> [ 5754.363872] tg3 0000:01:00.0: >eth0: 0x00000400: 0x00000000,
>>> 0x00400000, 0x00000000, 0x00009900
>>> [ 5754.363878] tg3 0000:01:00.0: >eth0: 0x00000410: 0x0000dc0e,
>>> 0xa1ac38d5, 0x0000dc0e, 0xa1ac38d5
>>> [ 5754.363883] tg3 0000:01:00.0: >eth0: 0x00000420: 0x0000dc0e,
>>> 0xa1ac38d5, 0x0000dc0e, 0xa1ac38d5
>>> [ 5754.363889] tg3 0000:01:00.0: >eth0: 0x00000430: 0x00000000,
>>> 0x00000000, 0x0000029d, 0x000005f2
>>> [ 5754.363895] tg3 0000:01:00.0: >eth0: 0x00000440: 0x00000000,
>>> 0x00000000, 0x00000000, 0x08240de1
>>> [ 5754.363901] tg3 0000:01:00.0: >eth0: 0x00000450: 0x00000001,
>>> 0x00008000, 0x00000000, 0x00000050
>>> [ 5754.363906] tg3 0000:01:00.0: >eth0: 0x00000460: 0x00000000,
>>> 0x00002620, 0x01000006, 0x00000000
>>> [ 5754.363912] tg3 0000:01:00.0: >eth0: 0x00000470: 0xa0000000,
>>> 0x00000020, 0x10000000, 0x51000000
>>> [ 5754.363918] tg3 0000:01:00.0: >eth0: 0x00000480: 0x42000000,
>>> 0x7fffffff, 0x06000004, 0x7fffffff
>>> [ 5754.363924] tg3 0000:01:00.0: >eth0: 0x00000500: 0x00000008,
>>> 0x00000002, 0x00000000, 0x00000000
>>> [ 5754.363930] tg3 0000:01:00.0: >eth0: 0x00000590: 0x00900001,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5754.363936] tg3 0000:01:00.0: >eth0: 0x00000600: 0xffffffff,
>>> 0x00f80010, 0x00000000, 0x00001f04
>>> [ 5754.363941] tg3 0000:01:00.0: >eth0: 0x00000610: 0xffffffff,
>>> 0x00000000, 0x07c00004, 0x30407000
>>> [ 5754.363947] tg3 0000:01:00.0: >eth0: 0x00000620: 0x00000040,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5754.363953] tg3 0000:01:00.0: >eth0: 0x00000800: 0x00000000,
>>> 0xffffffff, 0x00000000, 0x00000000
>>> [ 5754.363959] tg3 0000:01:00.0: >eth0: 0x00000810: 0x00000000,
>>> 0xffffffff, 0x00000000, 0x00000000
>>> [ 5754.363964] tg3 0000:01:00.0: >eth0: 0x00000820: 0x00000000,
>>> 0x00000000, 0xffffffff, 0x00000000
>>> [ 5754.363970] tg3 0000:01:00.0: >eth0: 0x00000830: 0x00000000,
>>> 0xffffffff, 0xffffffff, 0xffffffff
>>> [ 5754.363976] tg3 0000:01:00.0: >eth0: 0x00000840: 0xffffffff,
>>> 0xffffffff, 0xffffffff, 0xffffffff
>>> [ 5754.363982] tg3 0000:01:00.0: >eth0: 0x00000850: 0xffffffff,
>>> 0xffffffff, 0xffffffff, 0xffffffff
>>> [ 5754.363987] tg3 0000:01:00.0: >eth0: 0x00000860: 0xffffffff,
>>> 0xffffffff, 0xffffffff, 0x00000000
>>> [ 5754.363993] tg3 0000:01:00.0: >eth0: 0x00000880: 0x00000000,
>>> 0x0008b598, 0x00000000, 0x00000000
>>> [ 5754.363999] tg3 0000:01:00.0: >eth0: 0x00000c00: 0x0000000a,
>>> 0x00000000, 0x00000003, 0x00000001
>>> [ 5754.364005] tg3 0000:01:00.0: >eth0: 0x00000c10: 0x00000000,
>>> 0x00000000, 0x00000000, 0x01560000
>>> [ 5754.364010] tg3 0000:01:00.0: >eth0: 0x00000c80: 0x00000050,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5754.364016] tg3 0000:01:00.0: >eth0: 0x00000ce0: 0xb1f88802,
>>> 0x00000001, 0x00000156, 0x00040028
>>> [ 5754.364022] tg3 0000:01:00.0: >eth0: 0x00000cf0: 0x00000000,
>>> 0x50000050, 0x00000000, 0x00000000
>>> [ 5754.364028] tg3 0000:01:00.0: >eth0: 0x00001000: 0x00000002,
>>> 0x00000000, 0xa0000558, 0x00000000
>>> [ 5754.364034] tg3 0000:01:00.0: >eth0: 0x00001010: 0x504d04e0,
>>> 0x00000558, 0x00000000, 0x00000000
>>> [ 5754.364040] tg3 0000:01:00.0: >eth0: 0x00001400: 0x00000006,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5754.364046] tg3 0000:01:00.0: >eth0: 0x00001440: 0x00000050,
>>> 0x00000050, 0x00000050, 0x00000050
>>> [ 5754.364052] tg3 0000:01:00.0: >eth0: 0x00001450: 0x00000050,
>>> 0x00000050, 0x00000050, 0x00000050
>>> [ 5754.364057] tg3 0000:01:00.0: >eth0: 0x00001460: 0x00000050,
>>> 0x00000050, 0x00000050, 0x00000050
>>> [ 5754.364063] tg3 0000:01:00.0: >eth0: 0x00001470: 0x00000050,
>>> 0x00000050, 0x00000050, 0x00000050
>>> [ 5754.364069] tg3 0000:01:00.0: >eth0: 0x00001480: 0x00000001,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5754.364075] tg3 0000:01:00.0: >eth0: 0x00001800: 0x00000016,
>>> 0x00000000, 0x00000050, 0x00000000
>>> [ 5754.364080] tg3 0000:01:00.0: >eth0: 0x00001840: 0x00000000,
>>> 0x00000000, 0x00000200, 0x00000010
>>> [ 5754.364086] tg3 0000:01:00.0: >eth0: 0x00001850: 0xb09824f0,
>>> 0x00000001, 0x000040f0, 0x00500050
>>> [ 5754.364092] tg3 0000:01:00.0: >eth0: 0x00001860: 0x01000000,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5754.364098] tg3 0000:01:00.0: >eth0: 0x00001c00: 0x00000002,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5754.364104] tg3 0000:01:00.0: >eth0: 0x00002000: 0x00000002,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5754.364110] tg3 0000:01:00.0: >eth0: 0x00002010: 0x00000181,
>>> 0x00000001, 0x007bfffd, 0x00000000
>>> [ 5754.364116] tg3 0000:01:00.0: >eth0: 0x00002100: 0x000cce67,
>>> 0x000cce67, 0x00000000, 0x00000000
>>> [ 5754.364122] tg3 0000:01:00.0: >eth0: 0x00002110: 0x000cce67,
>>> 0x000cce67, 0x00000000, 0x00000000
>>> [ 5754.364127] tg3 0000:01:00.0: >eth0: 0x00002120: 0x000cce67,
>>> 0x000cce67, 0x00000000, 0x00000000
>>> [ 5754.364133] tg3 0000:01:00.0: >eth0: 0x00002130: 0x000cce67,
>>> 0x000cce67, 0x00000000, 0x00000000
>>> [ 5754.364138] tg3 0000:01:00.0: >eth0: 0x00002140: 0x000cce67,
>>> 0x000cce67, 0x00000000, 0x00000000
>>> [ 5754.364144] tg3 0000:01:00.0: >eth0: 0x00002150: 0x000cce67,
>>> 0x000cce67, 0x00000000, 0x00000000
>>> [ 5754.364150] tg3 0000:01:00.0: >eth0: 0x00002160: 0x000cce67,
>>> 0x000cce67, 0x00000000, 0x00000000
>>> [ 5754.364155] tg3 0000:01:00.0: >eth0: 0x00002170: 0x000cce67,
>>> 0x000cce67, 0x00000000, 0x00000000
>>> [ 5754.364161] tg3 0000:01:00.0: >eth0: 0x00002180: 0x000cce67,
>>> 0x000cce67, 0x00000000, 0x00000000
>>> [ 5754.364167] tg3 0000:01:00.0: >eth0: 0x00002190: 0x000cce67,
>>> 0x000cce67, 0x00000000, 0x00000000
>>> [ 5754.364172] tg3 0000:01:00.0: >eth0: 0x000021a0: 0x000cce67,
>>> 0x000cce67, 0x00000000, 0x00000000
>>> [ 5754.364178] tg3 0000:01:00.0: >eth0: 0x000021b0: 0x000cce67,
>>> 0x000cce67, 0x00000000, 0x00000000
>>> [ 5754.364184] tg3 0000:01:00.0: >eth0: 0x000021c0: 0x000cce67,
>>> 0x000cce67, 0x00000000, 0x00000000
>>> [ 5754.364189] tg3 0000:01:00.0: >eth0: 0x000021d0: 0x000cce67,
>>> 0x000cce67, 0x00000000, 0x00000000
>>> [ 5754.364195] tg3 0000:01:00.0: >eth0: 0x000021e0: 0x000cce67,
>>> 0x000cce67, 0x00000000, 0x00000000
>>> [ 5754.364201] tg3 0000:01:00.0: >eth0: 0x000021f0: 0x000cce67,
>>> 0x000cce67, 0x00000000, 0x00000000
>>> [ 5754.364207] tg3 0000:01:00.0: >eth0: 0x00002200: 0x00002909,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5754.364213] tg3 0000:01:00.0: >eth0: 0x00002400: 0x00000012,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5754.364219] tg3 0000:01:00.0: >eth0: 0x00002450: 0x00000001,
>>> 0xb0994000, 0x02000000, 0x00006000
>>> [ 5754.364225] tg3 0000:01:00.0: >eth0: 0x00002470: 0x00000000,
>>> 0x000001ed, 0x00000000, 0x00000000
>>> [ 5754.364230] tg3 0000:01:00.0: >eth0: 0x000024c0: 0x08000001,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5754.364236] tg3 0000:01:00.0: >eth0: 0x00002800: 0x00000006,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5754.364242] tg3 0000:01:00.0: >eth0: 0x00002c00: 0x00000006,
>>> 0x00000000, 0x00000000, 0x00000020
>>> [ 5754.364248] tg3 0000:01:00.0: >eth0: 0x00002c10: 0x00000000,
>>> 0x00000000, 0x00000010, 0x00000000
>>> [ 5754.364254] tg3 0000:01:00.0: >eth0: 0x00002c20: 0x00000001,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5754.364260] tg3 0000:01:00.0: >eth0: 0x00003000: 0x00000006,
>>> 0x00000000, 0x00000000, 0x00000020
>>> [ 5754.364266] tg3 0000:01:00.0: >eth0: 0x00003600: 0xe0236600,
>>> 0x00170000, 0x00110000, 0x00000000
>>> [ 5754.364272] tg3 0000:01:00.0: >eth0: 0x00003610: 0x00170000,
>>> 0x00130000, 0x00150000, 0x00000000
>>> [ 5754.364278] tg3 0000:01:00.0: >eth0: 0x00003620: 0x00000000,
>>> 0x00000000, 0x00000000, 0x00082080
>>> [ 5754.364283] tg3 0000:01:00.0: >eth0: 0x00003630: 0x00110000,
>>> 0x30020000, 0x00001000, 0x00000000
>>> [ 5754.364289] tg3 0000:01:00.0: >eth0: 0x00003640: 0x00000000,
>>> 0x00000000, 0x00000020, 0x0000004b
>>> [ 5754.364295] tg3 0000:01:00.0: >eth0: 0x00003650: 0x00000171,
>>> 0x00000bff, 0x57780001, 0x00000000
>>> [ 5754.364301] tg3 0000:01:00.0: >eth0: 0x00003660: 0x00000000,
>>> 0x00000000, 0x000000af, 0x00000000
>>> [ 5754.364306] tg3 0000:01:00.0: >eth0: 0x00003670: 0x0000002a,
>>> 0xfeffffe3, 0x00000000, 0x00000000
>>> [ 5754.364312] tg3 0000:01:00.0: >eth0: 0x000036a0: 0x00000000,
>>> 0x42000000, 0x00000000, 0x00000041
>>> [ 5754.364318] tg3 0000:01:00.0: >eth0: 0x00003c00: 0x00000302,
>>> 0x00000000, 0x00000014, 0x00000048
>>> [ 5754.364324] tg3 0000:01:00.0: >eth0: 0x00003c10: 0x00000005,
>>> 0x00000035, 0x00000000, 0x00000000
>>> [ 5754.364330] tg3 0000:01:00.0: >eth0: 0x00003c20: 0x00000005,
>>> 0x00000005, 0x00000000, 0x00000000
>>> [ 5754.364335] tg3 0000:01:00.0: >eth0: 0x00003c30: 0x00000000,
>>> 0x00000000, 0x00000001, 0xaf244000
>>> [ 5754.364341] tg3 0000:01:00.0: >eth0: 0x00003c40: 0x00000000,
>>> 0x00000b00, 0x00000000, 0x00000000
>>> [ 5754.364347] tg3 0000:01:00.0: >eth0: 0x00003c50: 0x00000000,
>>> 0x000001ed, 0x00000000, 0x00000000
>>> [ 5754.364353] tg3 0000:01:00.0: >eth0: 0x00003c80: 0x000001ed,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5754.364358] tg3 0000:01:00.0: >eth0: 0x00003cc0: 0x0000004d,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5754.364364] tg3 0000:01:00.0: >eth0: 0x00004000: 0x00000002,
>>> 0x00000000, 0x001a1bd1, 0x001a5ebe
>>> [ 5754.364370] tg3 0000:01:00.0: >eth0: 0x00004010: 0x0040c670,
>>> 0x00267012, 0x00800440, 0x0041d062
>>> [ 5754.364376] tg3 0000:01:00.0: >eth0: 0x00004020: 0x00000000,
>>> 0x00000000, 0x00000010, 0x00000000
>>> [ 5754.364382] tg3 0000:01:00.0: >eth0: 0x00004030: 0x00000010,
>>> 0x00000030, 0x00000000, 0x00000000
>>> [ 5754.364387] tg3 0000:01:00.0: >eth0: 0x00004040: 0x00000000,
>>> 0x00000000, 0x01081e20, 0x00000000
>>> [ 5754.364393] tg3 0000:01:00.0: >eth0: 0x00004050: 0x00000000,
>>> 0x00000000, 0x00267010, 0x0041a002
>>> [ 5754.364399] tg3 0000:01:00.0: >eth0: 0x00004060: 0x0041d000,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5754.364405] tg3 0000:01:00.0: >eth0: 0x00004400: 0x00000006,
>>> 0x00000000, 0x00010000, 0x00004000
>>> [ 5754.364411] tg3 0000:01:00.0: >eth0: 0x00004410: 0x00000000,
>>> 0x00000010, 0x00000060, 0x00000000
>>> [ 5754.364416] tg3 0000:01:00.0: >eth0: 0x00004420: 0x0000003d,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5754.364422] tg3 0000:01:00.0: >eth0: 0x00004440: 0x00000000,
>>> 0x00000000, 0x00000000, 0x00c03022
>>> [ 5754.364428] tg3 0000:01:00.0: >eth0: 0x00004450: 0x00012a7f,
>>> 0x00680069, 0x00000000, 0x00000000
>>> [ 5754.364434] tg3 0000:01:00.0: >eth0: 0x00004800: 0x18033bfe,
>>> 0x00000000, 0x00000000, 0x00000020
>>> [ 5754.364440] tg3 0000:01:00.0: >eth0: 0x00004810: 0x00000000,
>>> 0x00000003, 0x0156028c, 0x00000000
>>> [ 5754.364446] tg3 0000:01:00.0: >eth0: 0x00004820: 0x00000021,
>>> 0x00000000, 0xf03b0000, 0xb1f88958
>>> [ 5754.364451] tg3 0000:01:00.0: >eth0: 0x00004830: 0x00000000,
>>> 0x000000df, 0x000000df, 0x00000000
>>> [ 5754.364457] tg3 0000:01:00.0: >eth0: 0x00004840: 0x00000050,
>>> 0x0000004e, 0x030e2202, 0x1d2a3d51
>>> [ 5754.364463] tg3 0000:01:00.0: >eth0: 0x00004850: 0xffffbb40,
>>> 0xc2ae0156, 0x1a191a19, 0x00000000
>>> [ 5754.364469] tg3 0000:01:00.0: >eth0: 0x00004860: 0x03000021,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5754.364474] tg3 0000:01:00.0: >eth0: 0x00004900: 0x00028207,
>>> 0x50200e08, 0x00000000, 0x00000000
>>> [ 5754.364480] tg3 0000:01:00.0: >eth0: 0x00004910: 0x00000018,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5754.364486] tg3 0000:01:00.0: >eth0: 0x00004c00: 0x200003fe,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5754.364492] tg3 0000:01:00.0: >eth0: 0x00004c10: 0x0000003f,
>>> 0x00000000, 0x00000006, 0x00000000
>>> [ 5754.364498] tg3 0000:01:00.0: >eth0: 0x00004c20: 0x00000000,
>>> 0x00000000, 0x00000000, 0x00000006
>>> [ 5754.364503] tg3 0000:01:00.0: >eth0: 0x00004c30: 0x00000000,
>>> 0x00000000, 0x0000001e, 0x0000001e
>>> [ 5754.364509] tg3 0000:01:00.0: >eth0: 0x00004c40: 0x00000000,
>>> 0xaf244000, 0x00010020, 0x00000020
>>> [ 5754.364515] tg3 0000:01:00.0: >eth0: 0x00004c50: 0x07ffffec,
>>> 0x07b7d9ff, 0x00000000, 0xf6ad3d3d
>>> [ 5754.364521] tg3 0000:01:00.0: >eth0: 0x00005000: 0x00009800,
>>> 0x80008000, 0x00000000, 0x00000000
>>> [ 5754.364527] tg3 0000:01:00.0: >eth0: 0x00005010: 0x00000000,
>>> 0x00000000, 0x00000000, 0x40003544
>>> [ 5754.364533] tg3 0000:01:00.0: >eth0: 0x00005020: 0x8fbf001c,
>>> 0x00000000, 0x00000000, 0x40000020
>>> [ 5754.364538] tg3 0000:01:00.0: >eth0: 0x00005030: 0x00000000,
>>> 0x00000051, 0x00000000, 0x00000000
>>> [ 5754.364544] tg3 0000:01:00.0: >eth0: 0x00005040: 0x00000000,
>>> 0x00000000, 0x400036b0, 0x00000000
>>> [ 5754.364550] tg3 0000:01:00.0: >eth0: 0x00005080: 0x00009800,
>>> 0x80000000, 0x00000000, 0x00000000
>>> [ 5754.364555] tg3 0000:01:00.0: >eth0: 0x00005090: 0x00000000,
>>> 0x00000000, 0x00000000, 0x40003550
>>> [ 5754.364561] tg3 0000:01:00.0: >eth0: 0x000050a0: 0x8fb00010,
>>> 0x00000000, 0x00000000, 0x40000020
>>> [ 5754.364567] tg3 0000:01:00.0: >eth0: 0x000050b0: 0x00000000,
>>> 0x00000051, 0x00000000, 0x00000000
>>> [ 5754.364573] tg3 0000:01:00.0: >eth0: 0x000050c0: 0x00000000,
>>> 0x00000000, 0x40002ccc, 0x00000000
>>> [ 5754.364578] tg3 0000:01:00.0: >eth0: 0x00005100: 0x00009800,
>>> 0x80008000, 0x00000000, 0x00000000
>>> [ 5754.364584] tg3 0000:01:00.0: >eth0: 0x00005110: 0x00000000,
>>> 0x00000000, 0x00000000, 0x40003568
>>> [ 5754.364590] tg3 0000:01:00.0: >eth0: 0x00005120: 0x3c030008,
>>> 0x00000000, 0x00000000, 0x40000020
>>> [ 5754.364595] tg3 0000:01:00.0: >eth0: 0x00005130: 0x00000000,
>>> 0x00000051, 0x00000000, 0x00000000
>>> [ 5754.364601] tg3 0000:01:00.0: >eth0: 0x00005140: 0x00000000,
>>> 0x00000000, 0x40002e28, 0x00000000
>>> [ 5754.364607] tg3 0000:01:00.0: >eth0: 0x00005180: 0x00009800,
>>> 0x80000000, 0x00000000, 0x00000000
>>> [ 5754.364613] tg3 0000:01:00.0: >eth0: 0x00005190: 0x00000000,
>>> 0x00000000, 0x00000000, 0x40001d2c
>>> [ 5754.364618] tg3 0000:01:00.0: >eth0: 0x000051a0: 0x3c054000,
>>> 0x00000000, 0x00000000, 0x40000020
>>> [ 5754.364624] tg3 0000:01:00.0: >eth0: 0x000051b0: 0x00000000,
>>> 0x00000051, 0x00000000, 0x00000000
>>> [ 5754.364630] tg3 0000:01:00.0: >eth0: 0x000051c0: 0x00000000,
>>> 0x00000000, 0x40002cc4, 0x00000000
>>> [ 5754.364635] tg3 0000:01:00.0: >eth0: 0x00005200: 0xa1020000,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5754.364641] tg3 0000:01:00.0: >eth0: 0x00005210: 0x00000000,
>>> 0x400036b4, 0x40001d2c, 0x40001d2c
>>> [ 5754.364647] tg3 0000:01:00.0: >eth0: 0x00005220: 0x40001d2c,
>>> 0x400036b4, 0x08004c80, 0x08005fc8
>>> [ 5754.364653] tg3 0000:01:00.0: >eth0: 0x00005230: 0x08005fc8,
>>> 0x08005fc8, 0x08004c80, 0xc0000000
>>> [ 5754.364659] tg3 0000:01:00.0: >eth0: 0x00005240: 0x00000000,
>>> 0xa1020000, 0x00000000, 0x00000000
>>> [ 5754.364664] tg3 0000:01:00.0: >eth0: 0x00005260: 0x40001d2c,
>>> 0x00000000, 0x400036b4, 0x08004c80
>>> [ 5754.364670] tg3 0000:01:00.0: >eth0: 0x00005270: 0x08005fc8,
>>> 0x08005fc8, 0x08005fc8, 0x08004c80
>>> [ 5754.364676] tg3 0000:01:00.0: >eth0: 0x00005280: 0x00009800,
>>> 0x80000000, 0x00000000, 0x00000000
>>> [ 5754.364682] tg3 0000:01:00.0: >eth0: 0x00005290: 0x00000000,
>>> 0x00000000, 0x00000000, 0x40003688
>>> [ 5754.364688] tg3 0000:01:00.0: >eth0: 0x000052a0: 0x27bd0020,
>>> 0x00000000, 0x00000000, 0x40000020
>>> [ 5754.364693] tg3 0000:01:00.0: >eth0: 0x000052b0: 0x00000000,
>>> 0x00000051, 0x00000000, 0x00000000
>>> [ 5754.364699] tg3 0000:01:00.0: >eth0: 0x000052c0: 0x00000000,
>>> 0x00000000, 0x40003696, 0x00000000
>>> [ 5754.364705] tg3 0000:01:00.0: >eth0: 0x00005300: 0x00009800,
>>> 0x80000000, 0x00000000, 0x00000000
>>> [ 5754.364710] tg3 0000:01:00.0: >eth0: 0x00005310: 0x00000000,
>>> 0x00000000, 0x00000000, 0x40003548
>>> [ 5754.364716] tg3 0000:01:00.0: >eth0: 0x00005320: 0x8fb20018,
>>> 0x00000000, 0x00000000, 0x40000020
>>> [ 5754.364722] tg3 0000:01:00.0: >eth0: 0x00005330: 0x00000000,
>>> 0x00000051, 0x00000000, 0x00000000
>>> [ 5754.364727] tg3 0000:01:00.0: >eth0: 0x00005340: 0x00000000,
>>> 0x00000000, 0x40001d30, 0x00000000
>>> [ 5754.364733] tg3 0000:01:00.0: >eth0: 0x00005380: 0x00009800,
>>> 0x80000000, 0x00000000, 0x00000000
>>> [ 5754.364739] tg3 0000:01:00.0: >eth0: 0x00005390: 0x00000000,
>>> 0x00000000, 0x00000000, 0x40003544
>>> [ 5754.364744] tg3 0000:01:00.0: >eth0: 0x000053a0: 0x00000000,
>>> 0x00000000, 0x00000000, 0x40000020
>>> [ 5754.364750] tg3 0000:01:00.0: >eth0: 0x000053b0: 0x00000000,
>>> 0x00000051, 0x00000000, 0x00000000
>>> [ 5754.364756] tg3 0000:01:00.0: >eth0: 0x000053c0: 0x00000000,
>>> 0x00000000, 0x40001d30, 0x00000000
>>> [ 5754.364762] tg3 0000:01:00.0: >eth0: 0x00005600: 0x169214e4,
>>> 0x00100406, 0x02000001, 0x00000010
>>> [ 5754.364768] tg3 0000:01:00.0: >eth0: 0x00005610: 0xd3400004,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5754.364773] tg3 0000:01:00.0: >eth0: 0x00005620: 0x00000000,
>>> 0x00000000, 0x00000000, 0x06011025
>>> [ 5754.364779] tg3 0000:01:00.0: >eth0: 0x00005630: 0x00000000,
>>> 0x00000048, 0x00000000, 0x0000010a
>>> [ 5754.364785] tg3 0000:01:00.0: >eth0: 0x00005640: 0x00000000,
>>> 0x00000000, 0xc0036001, 0x08002008
>>> [ 5754.364791] tg3 0000:01:00.0: >eth0: 0x00005650: 0x0081cc05,
>>> 0xfee0100c, 0x00000000, 0x00004189
>>> [ 5754.364796] tg3 0000:01:00.0: >eth0: 0x00005660: 0x006c5009,
>>> 0xffa85ef5, 0xf0010298, 0x76180000
>>> [ 5754.364802] tg3 0000:01:00.0: >eth0: 0x00005670: 0x000010f2,
>>> 0x00000000, 0x00000460, 0x00000000
>>> [ 5754.364808] tg3 0000:01:00.0: >eth0: 0x00005680: 0x40000008,
>>> 0x40000008, 0x00000000, 0x00000000
>>> [ 5754.364814] tg3 0000:01:00.0: >eth0: 0x000056b0: 0x00000000,
>>> 0x00000000, 0x00000000, 0x57780001
>>> [ 5754.364819] tg3 0000:01:00.0: >eth0: 0x000056c0: 0x00000000,
>>> 0x00000000, 0x0000000e, 0x00020010
>>> [ 5754.364825] tg3 0000:01:00.0: >eth0: 0x000056d0: 0x05908fa0,
>>> 0x00112000, 0x0006cc11, 0x10110143
>>> [ 5754.364831] tg3 0000:01:00.0: >eth0: 0x000056f0: 0x0000001f,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5754.364837] tg3 0000:01:00.0: >eth0: 0x00005700: 0x13c10001,
>>> 0x00100000, 0x00000000, 0x00062031
>>> [ 5754.364842] tg3 0000:01:00.0: >eth0: 0x00005710: 0x00000001,
>>> 0x00002000, 0x000000b4, 0x40000001
>>> [ 5754.364848] tg3 0000:01:00.0: >eth0: 0x00005720: 0x0000000f,
>>> 0xd3400400, 0x00000080, 0x00000000
>>> [ 5754.364854] tg3 0000:01:00.0: >eth0: 0x00005730: 0x00000000,
>>> 0x00000000, 0x00000000, 0x16010002
>>> [ 5754.364859] tg3 0000:01:00.0: >eth0: 0x00005750: 0x800000ff,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5754.364865] tg3 0000:01:00.0: >eth0: 0x00005760: 0x16c10003,
>>> 0xfeac38d5, 0xdc0ea1ff, 0x00010004
>>> [ 5754.364871] tg3 0000:01:00.0: >eth0: 0x00005770: 0x00000000,
>>> 0x00078116, 0x00000001, 0x00000000
>>> [ 5754.364877] tg3 0000:01:00.0: >eth0: 0x00005780: 0x00000000,
>>> 0x00000000, 0x00000000, 0xffffffff
>>> [ 5754.364882] tg3 0000:01:00.0: >eth0: 0x00005800: 0x00000000,
>>> 0x3d000000, 0x00000000, 0x00000000
>>> [ 5754.364888] tg3 0000:01:00.0: >eth0: 0x00005860: 0x00000000,
>>> 0x00000000, 0x00000000, 0x000000b5
>>> [ 5754.364894] tg3 0000:01:00.0: >eth0: 0x00005880: 0x00000000,
>>> 0x000001ed, 0x00000000, 0x00000000
>>> [ 5754.364899] tg3 0000:01:00.0: >eth0: 0x00005900: 0x00000000,
>>> 0x00000050, 0x00000000, 0x00000000
>>> [ 5754.364905] tg3 0000:01:00.0: >eth0: 0x00005980: 0x00000000,
>>> 0x00000050, 0x00000000, 0x00000000
>>> [ 5754.364911] tg3 0000:01:00.0: >eth0: 0x00005a00: 0x00012001,
>>> 0x00000000, 0x00010000, 0x00000000
>>> [ 5754.364917] tg3 0000:01:00.0: >eth0: 0x00006000: 0x00000002,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5754.364924] tg3 0000:01:00.0: >eth0: 0x00006800: 0x04130034,
>>> 0x20085082, 0x01009219, 0x54f00671
>>> [ 5754.364929] tg3 0000:01:00.0: >eth0: 0x00006810: 0xa1020000,
>>> 0xffffffff, 0x00000000, 0x00000000
>>> [ 5754.364935] tg3 0000:01:00.0: >eth0: 0x000068a0: 0x00000000,
>>> 0x20010001, 0x00000000, 0x00000000
>>> [ 5754.364941] tg3 0000:01:00.0: >eth0: 0x000068b0: 0x00040000,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5754.364947] tg3 0000:01:00.0: >eth0: 0x00006c20: 0x00000000,
>>> 0x00100000, 0x00000000, 0x00000000
>>> [ 5754.364953] tg3 0000:01:00.0: >eth0: 0x00007000: 0x08000188,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5754.364959] tg3 0000:01:00.0: >eth0: 0x00007010: 0xffffffff,
>>> 0x00008200, 0x000500db, 0x03000a00
>>> [ 5754.364965] tg3 0000:01:00.0: >eth0: 0x00007020: 0x00000000,
>>> 0x00000000, 0x00000406, 0x10004000
>>> [ 5754.364970] tg3 0000:01:00.0: >eth0: 0x00007030: 0x00020000,
>>> 0x00000004, 0x001f0010, 0x00000000
>>> [ 5754.364977] tg3 0000:01:00.0: >eth0: 0x00007500: 0x00000000,
>>> 0x00000000, 0x0000008b, 0x00000240
>>> [ 5754.364987] tg3 0000:01:00.0: >eth0: 0: Host status block
>>> [00000001:0000003d:(0000:01ed:0000):(01ed:004d)]
>>> [ 5754.364994] tg3 0000:01:00.0: >eth0: 0: NAPI info
>>> [0000003d:0000003d:(0050:004d:01ff):01ed:(00b5:0000:0000:0000)]
>>> [ 5754.371432] tg3 0000:01:00.0: >eth0: Link is down
>>> [ 5754.382537] tg3 0000:01:00.0: >eth0: Link is down
>>> [ 5768.375375] tg3 0000:01:00.0: >eth0: Link is up at 100 Mbps, full duplex
>>> [ 5768.375381] tg3 0000:01:00.0: >eth0: Flow control is on for TX and on
>>> for RX
>>> [ 5858.332265] tg3 0000:01:00.0: >eth0: transmit timed out, resetting
>>> [ 5860.322807] tg3 0000:01:00.0: >eth0: 0x00000000: 0x169214e4,
>>> 0x00100406, 0x02000001, 0x00000010
>>> [ 5860.322811] tg3 0000:01:00.0: >eth0: 0x00000010: 0xd3400004,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5860.322813] tg3 0000:01:00.0: >eth0: 0x00000020: 0x00000000,
>>> 0x00000000, 0x00000000, 0x06011025
>>> [ 5860.322821] tg3 0000:01:00.0: >eth0: 0x00000030: 0x00000000,
>>> 0x00000048, 0x00000000, 0x0000010a
>>> [ 5860.322827] tg3 0000:01:00.0: >eth0: 0x00000040: 0x00000000,
>>> 0x00000000, 0xc0036001, 0x08002008
>>> [ 5860.322833] tg3 0000:01:00.0: >eth0: 0x00000050: 0x0081cc05,
>>> 0xfee0100c, 0x00000000, 0x00004189
>>> [ 5860.322839] tg3 0000:01:00.0: >eth0: 0x00000060: 0x006c5009,
>>> 0xffa85ef5, 0xf0010298, 0x76180000
>>> [ 5860.322844] tg3 0000:01:00.0: >eth0: 0x00000070: 0x000010f2,
>>> 0x00000000, 0x00000460, 0x00000000
>>> [ 5860.322850] tg3 0000:01:00.0: >eth0: 0x00000080: 0x00000000,
>>> 0x40000040, 0x00000000, 0x00000000
>>> [ 5860.322855] tg3 0000:01:00.0: >eth0: 0x000000b0: 0x00000000,
>>> 0x00000000, 0x00000000, 0x57780001
>>> [ 5860.322861] tg3 0000:01:00.0: >eth0: 0x000000c0: 0x00000000,
>>> 0x00000000, 0x0000000e, 0x00020010
>>> [ 5860.322867] tg3 0000:01:00.0: >eth0: 0x000000d0: 0x05908fa0,
>>> 0x00112000, 0x0006cc11, 0x10110143
>>> [ 5860.322872] tg3 0000:01:00.0: >eth0: 0x000000f0: 0x0000001f,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5860.322878] tg3 0000:01:00.0: >eth0: 0x00000100: 0x13c10001,
>>> 0x00100000, 0x00000000, 0x00062031
>>> [ 5860.322883] tg3 0000:01:00.0: >eth0: 0x00000110: 0x00000001,
>>> 0x00002000, 0x000000b4, 0x40000001
>>> [ 5860.322889] tg3 0000:01:00.0: >eth0: 0x00000120: 0x0000000f,
>>> 0xd3400400, 0x00000080, 0x00000000
>>> [ 5860.322894] tg3 0000:01:00.0: >eth0: 0x00000130: 0x00000000,
>>> 0x00000000, 0x00000000, 0x16010002
>>> [ 5860.322900] tg3 0000:01:00.0: >eth0: 0x00000150: 0x800000ff,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5860.322906] tg3 0000:01:00.0: >eth0: 0x00000160: 0x16c10003,
>>> 0xfeac38d5, 0xdc0ea1ff, 0x00010004
>>> [ 5860.322911] tg3 0000:01:00.0: >eth0: 0x00000170: 0x00000000,
>>> 0x00078116, 0x00000001, 0x00000000
>>> [ 5860.322917] tg3 0000:01:00.0: >eth0: 0x00000180: 0x00000000,
>>> 0x00000000, 0x00000000, 0xffffffff
>>> [ 5860.322922] tg3 0000:01:00.0: >eth0: 0x00000200: 0x00000000,
>>> 0x44000000, 0x00000000, 0x00000000
>>> [ 5860.322928] tg3 0000:01:00.0: >eth0: 0x00000260: 0x00000000,
>>> 0x00000000, 0x00000000, 0x00000106
>>> [ 5860.322933] tg3 0000:01:00.0: >eth0: 0x00000280: 0x00000000,
>>> 0x0000003e, 0x00000000, 0x00000000
>>> [ 5860.322939] tg3 0000:01:00.0: >eth0: 0x00000300: 0x00000000,
>>> 0x00000007, 0x00000000, 0x00000007
>>> [ 5860.322944] tg3 0000:01:00.0: >eth0: 0x00000310: 0x00000000,
>>> 0x00000007, 0x00000000, 0x00000007
>>> [ 5860.322949] tg3 0000:01:00.0: >eth0: 0x00000320: 0x00000000,
>>> 0x00000007, 0x00000000, 0x00000007
>>> [ 5860.322955] tg3 0000:01:00.0: >eth0: 0x00000330: 0x00000000,
>>> 0x00000007, 0x00000000, 0x00000007
>>> [ 5860.322960] tg3 0000:01:00.0: >eth0: 0x00000340: 0x00000000,
>>> 0x00000007, 0x00000000, 0x00000007
>>> [ 5860.322965] tg3 0000:01:00.0: >eth0: 0x00000350: 0x00000000,
>>> 0x00000007, 0x00000000, 0x00000007
>>> [ 5860.322971] tg3 0000:01:00.0: >eth0: 0x00000360: 0x00000000,
>>> 0x00000007, 0x00000000, 0x00000007
>>> [ 5860.322976] tg3 0000:01:00.0: >eth0: 0x00000370: 0x00000000,
>>> 0x00000007, 0x00000000, 0x00000007
>>> [ 5860.322981] tg3 0000:01:00.0: >eth0: 0x00000380: 0x00000000,
>>> 0x00000007, 0x00000000, 0x00000007
>>> [ 5860.322987] tg3 0000:01:00.0: >eth0: 0x00000390: 0x00000000,
>>> 0x00000007, 0x00000000, 0x00000007
>>> [ 5860.322992] tg3 0000:01:00.0: >eth0: 0x000003a0: 0x00000000,
>>> 0x00000007, 0x00000000, 0x00000007
>>> [ 5860.322998] tg3 0000:01:00.0: >eth0: 0x000003b0: 0x00000000,
>>> 0x00000007, 0x00000000, 0x00000007
>>> [ 5860.323003] tg3 0000:01:00.0: >eth0: 0x000003c0: 0x00000000,
>>> 0x00000007, 0x00000000, 0x00000007
>>> [ 5860.323008] tg3 0000:01:00.0: >eth0: 0x000003d0: 0x00000000,
>>> 0x00000007, 0x00000000, 0x00000007
>>> [ 5860.323014] tg3 0000:01:00.0: >eth0: 0x000003e0: 0x00000000,
>>> 0x00000007, 0x00000000, 0x00000007
>>> [ 5860.323019] tg3 0000:01:00.0: >eth0: 0x000003f0: 0x00000000,
>>> 0x00000007, 0x00000000, 0x00000007
>>> [ 5860.323025] tg3 0000:01:00.0: >eth0: 0x00000400: 0x00000000,
>>> 0x00400000, 0x00000000, 0x00009d00
>>> [ 5860.323030] tg3 0000:01:00.0: >eth0: 0x00000410: 0x0000dc0e,
>>> 0xa1ac38d5, 0x0000dc0e, 0xa1ac38d5
>>> [ 5860.323036] tg3 0000:01:00.0: >eth0: 0x00000420: 0x0000dc0e,
>>> 0xa1ac38d5, 0x0000dc0e, 0xa1ac38d5
>>> [ 5860.323041] tg3 0000:01:00.0: >eth0: 0x00000430: 0x00000000,
>>> 0x00000000, 0x000000ab, 0x000005f2
>>> [ 5860.323047] tg3 0000:01:00.0: >eth0: 0x00000440: 0x00000000,
>>> 0x00000000, 0x00000000, 0x08240de1
>>> [ 5860.323052] tg3 0000:01:00.0: >eth0: 0x00000450: 0x00000001,
>>> 0x00008000, 0x00000000, 0x00000050
>>> [ 5860.323058] tg3 0000:01:00.0: >eth0: 0x00000460: 0x00000000,
>>> 0x00002620, 0x01000006, 0x00000000
>>> [ 5860.323064] tg3 0000:01:00.0: >eth0: 0x00000470: 0xa0000000,
>>> 0x00000020, 0x10000000, 0x51000000
>>> [ 5860.323069] tg3 0000:01:00.0: >eth0: 0x00000480: 0x42000000,
>>> 0x7fffffff, 0x06000004, 0x7fffffff
>>> [ 5860.323075] tg3 0000:01:00.0: >eth0: 0x00000500: 0x00000008,
>>> 0x00000002, 0x00000000, 0x00000000
>>> [ 5860.323080] tg3 0000:01:00.0: >eth0: 0x00000590: 0x00900000,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5860.323086] tg3 0000:01:00.0: >eth0: 0x00000600: 0xffffffff,
>>> 0x00f80010, 0x00000000, 0x00001f04
>>> [ 5860.323092] tg3 0000:01:00.0: >eth0: 0x00000610: 0xffffffff,
>>> 0x00000000, 0x07c00004, 0x30407000
>>> [ 5860.323097] tg3 0000:01:00.0: >eth0: 0x00000620: 0x00000040,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5860.323103] tg3 0000:01:00.0: >eth0: 0x00000800: 0x00000000,
>>> 0xffffffff, 0x00000000, 0x00000000
>>> [ 5860.323108] tg3 0000:01:00.0: >eth0: 0x00000810: 0x00000000,
>>> 0xffffffff, 0x00000000, 0x00000000
>>> [ 5860.323114] tg3 0000:01:00.0: >eth0: 0x00000820: 0x00000000,
>>> 0x00000000, 0xffffffff, 0x00000000
>>> [ 5860.323119] tg3 0000:01:00.0: >eth0: 0x00000830: 0x00000000,
>>> 0xffffffff, 0xffffffff, 0xffffffff
>>> [ 5860.323125] tg3 0000:01:00.0: >eth0: 0x00000840: 0xffffffff,
>>> 0xffffffff, 0xffffffff, 0xffffffff
>>> [ 5860.323130] tg3 0000:01:00.0: >eth0: 0x00000850: 0xffffffff,
>>> 0xffffffff, 0xffffffff, 0xffffffff
>>> [ 5860.323136] tg3 0000:01:00.0: >eth0: 0x00000860: 0xffffffff,
>>> 0xffffffff, 0xffffffff, 0x00000000
>>> [ 5860.323141] tg3 0000:01:00.0: >eth0: 0x00000880: 0x00000000,
>>> 0x00000fdc, 0x00000000, 0x00000000
>>> [ 5860.323147] tg3 0000:01:00.0: >eth0: 0x00000c00: 0x0000000a,
>>> 0x00000000, 0x00000003, 0x00000001
>>> [ 5860.323153] tg3 0000:01:00.0: >eth0: 0x00000c10: 0x00000000,
>>> 0x00000000, 0x00000000, 0x01560000
>>> [ 5860.323158] tg3 0000:01:00.0: >eth0: 0x00000c80: 0x00000007,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5860.323164] tg3 0000:01:00.0: >eth0: 0x00000ce0: 0xb1f88802,
>>> 0x00000001, 0x00000156, 0x00040028
>>> [ 5860.323169] tg3 0000:01:00.0: >eth0: 0x00000cf0: 0x00000000,
>>> 0x50000007, 0x00000000, 0x00000000
>>> [ 5860.323175] tg3 0000:01:00.0: >eth0: 0x00001000: 0x00000002,
>>> 0x00000000, 0xa0000517, 0x00000000
>>> [ 5860.323180] tg3 0000:01:00.0: >eth0: 0x00001010: 0x50050060,
>>> 0x00000517, 0x00000000, 0x00000000
>>> [ 5860.323186] tg3 0000:01:00.0: >eth0: 0x00001400: 0x00000006,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5860.323192] tg3 0000:01:00.0: >eth0: 0x00001440: 0x00000007,
>>> 0x00000007, 0x00000007, 0x00000007
>>> [ 5860.323197] tg3 0000:01:00.0: >eth0: 0x00001450: 0x00000007,
>>> 0x00000007, 0x00000007, 0x00000007
>>> [ 5860.323202] tg3 0000:01:00.0: >eth0: 0x00001460: 0x00000007,
>>> 0x00000007, 0x00000007, 0x00000007
>>> [ 5860.323208] tg3 0000:01:00.0: >eth0: 0x00001470: 0x00000007,
>>> 0x00000007, 0x00000007, 0x00000007
>>> [ 5860.323213] tg3 0000:01:00.0: >eth0: 0x00001480: 0x00000001,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5860.323219] tg3 0000:01:00.0: >eth0: 0x00001800: 0x00000016,
>>> 0x00000000, 0x00000007, 0x00000000
>>> [ 5860.323225] tg3 0000:01:00.0: >eth0: 0x00001840: 0x00000000,
>>> 0x00000000, 0x00000200, 0x00000010
>>> [ 5860.323230] tg3 0000:01:00.0: >eth0: 0x00001850: 0xb0982060,
>>> 0x00000001, 0x00004060, 0x00070007
>>> [ 5860.323236] tg3 0000:01:00.0: >eth0: 0x00001860: 0x01000000,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5860.323241] tg3 0000:01:00.0: >eth0: 0x00001c00: 0x00000002,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5860.323247] tg3 0000:01:00.0: >eth0: 0x00002000: 0x00000002,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5860.323253] tg3 0000:01:00.0: >eth0: 0x00002010: 0x00000181,
>>> 0x00000001, 0x007bfffd, 0x00000000
>>> [ 5860.323258] tg3 0000:01:00.0: >eth0: 0x00002100: 0x000c9249,
>>> 0x000c9249, 0x00000000, 0x00000000
>>> [ 5860.323264] tg3 0000:01:00.0: >eth0: 0x00002110: 0x000c9249,
>>> 0x000c9249, 0x00000000, 0x00000000
>>> [ 5860.323269] tg3 0000:01:00.0: >eth0: 0x00002120: 0x000c9249,
>>> 0x000c9249, 0x00000000, 0x00000000
>>> [ 5860.323275] tg3 0000:01:00.0: >eth0: 0x00002130: 0x000c9249,
>>> 0x000c9249, 0x00000000, 0x00000000
>>> [ 5860.323280] tg3 0000:01:00.0: >eth0: 0x00002140: 0x000c9249,
>>> 0x000c9249, 0x00000000, 0x00000000
>>> [ 5860.323286] tg3 0000:01:00.0: >eth0: 0x00002150: 0x000c9249,
>>> 0x000c9249, 0x00000000, 0x00000000
>>> [ 5860.323291] tg3 0000:01:00.0: >eth0: 0x00002160: 0x000c9249,
>>> 0x000c9249, 0x00000000, 0x00000000
>>> [ 5860.323297] tg3 0000:01:00.0: >eth0: 0x00002170: 0x000c9249,
>>> 0x000c9249, 0x00000000, 0x00000000
>>> [ 5860.323302] tg3 0000:01:00.0: >eth0: 0x00002180: 0x000c9249,
>>> 0x000c9249, 0x00000000, 0x00000000
>>> [ 5860.323308] tg3 0000:01:00.0: >eth0: 0x00002190: 0x000c9249,
>>> 0x000c9249, 0x00000000, 0x00000000
>>> [ 5860.323313] tg3 0000:01:00.0: >eth0: 0x000021a0: 0x000c9249,
>>> 0x000c9249, 0x00000000, 0x00000000
>>> [ 5860.323319] tg3 0000:01:00.0: >eth0: 0x000021b0: 0x000c9249,
>>> 0x000c9249, 0x00000000, 0x00000000
>>> [ 5860.323324] tg3 0000:01:00.0: >eth0: 0x000021c0: 0x000c9249,
>>> 0x000c9249, 0x00000000, 0x00000000
>>> [ 5860.323329] tg3 0000:01:00.0: >eth0: 0x000021d0: 0x000c9249,
>>> 0x000c9249, 0x00000000, 0x00000000
>>> [ 5860.323335] tg3 0000:01:00.0: >eth0: 0x000021e0: 0x000c9249,
>>> 0x000c9249, 0x00000000, 0x00000000
>>> [ 5860.323340] tg3 0000:01:00.0: >eth0: 0x000021f0: 0x000c9249,
>>> 0x000c9249, 0x00000000, 0x00000000
>>> [ 5860.323346] tg3 0000:01:00.0: >eth0: 0x00002200: 0x0000004a,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5860.323352] tg3 0000:01:00.0: >eth0: 0x00002400: 0x00000012,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5860.323357] tg3 0000:01:00.0: >eth0: 0x00002450: 0x00000001,
>>> 0xb0994000, 0x02000000, 0x00006000
>>> [ 5860.323363] tg3 0000:01:00.0: >eth0: 0x00002470: 0x00000000,
>>> 0x0000003e, 0x00000000, 0x00000000
>>> [ 5860.323369] tg3 0000:01:00.0: >eth0: 0x000024c0: 0x08000001,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5860.323375] tg3 0000:01:00.0: >eth0: 0x00002800: 0x00000006,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5860.323380] tg3 0000:01:00.0: >eth0: 0x00002c00: 0x00000006,
>>> 0x00000000, 0x00000000, 0x00000070
>>> [ 5860.323386] tg3 0000:01:00.0: >eth0: 0x00002c10: 0x00000000,
>>> 0x00000000, 0x00000010, 0x00000000
>>> [ 5860.323391] tg3 0000:01:00.0: >eth0: 0x00002c20: 0x00000002,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5860.323397] tg3 0000:01:00.0: >eth0: 0x00003000: 0x00000006,
>>> 0x00000000, 0x00000000, 0x00000070
>>> [ 5860.323403] tg3 0000:01:00.0: >eth0: 0x00003600: 0xe0236600,
>>> 0x00170000, 0x00110000, 0x00000000
>>> [ 5860.323409] tg3 0000:01:00.0: >eth0: 0x00003610: 0x00170000,
>>> 0x00130000, 0x00150000, 0x00000000
>>> [ 5860.323414] tg3 0000:01:00.0: >eth0: 0x00003620: 0x00000000,
>>> 0x00000000, 0x00000000, 0x00082080
>>> [ 5860.323420] tg3 0000:01:00.0: >eth0: 0x00003630: 0x00110000,
>>> 0x30020000, 0x00001000, 0x00000000
>>> [ 5860.323425] tg3 0000:01:00.0: >eth0: 0x00003640: 0x00000000,
>>> 0x00000000, 0x00000020, 0x0000004b
>>> [ 5860.323431] tg3 0000:01:00.0: >eth0: 0x00003650: 0x00000171,
>>> 0x00000bff, 0x57780001, 0x00000000
>>> [ 5860.323436] tg3 0000:01:00.0: >eth0: 0x00003660: 0x00000000,
>>> 0x00000000, 0x000000af, 0x00000000
>>> [ 5860.323465] tg3 0000:01:00.0: >eth0: 0x00003670: 0x0000002a,
>>> 0xfeffffe3, 0x00000000, 0x00000000
>>> [ 5860.323474] tg3 0000:01:00.0: >eth0: 0x000036a0: 0x00000000,
>>> 0x42000000, 0x00000000, 0x00000041
>>> [ 5860.323480] tg3 0000:01:00.0: >eth0: 0x00003c00: 0x00000302,
>>> 0x00000000, 0x00000014, 0x00000048
>>> [ 5860.323486] tg3 0000:01:00.0: >eth0: 0x00003c10: 0x00000005,
>>> 0x00000035, 0x00000000, 0x00000000
>>> [ 5860.323491] tg3 0000:01:00.0: >eth0: 0x00003c20: 0x00000005,
>>> 0x00000005, 0x00000000, 0x00000000
>>> [ 5860.323497] tg3 0000:01:00.0: >eth0: 0x00003c30: 0x00000000,
>>> 0x00000000, 0x00000001, 0xaf244000
>>> [ 5860.323502] tg3 0000:01:00.0: >eth0: 0x00003c40: 0x00000000,
>>> 0x00000b00, 0x00000000, 0x00000000
>>> [ 5860.323508] tg3 0000:01:00.0: >eth0: 0x00003c50: 0x00000000,
>>> 0x0000003e, 0x00000000, 0x00000000
>>> [ 5860.323513] tg3 0000:01:00.0: >eth0: 0x00003c80: 0x0000003e,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5860.323519] tg3 0000:01:00.0: >eth0: 0x00003cc0: 0x00000005,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5860.323524] tg3 0000:01:00.0: >eth0: 0x00004000: 0x00000002,
>>> 0x00000000, 0x001a1bd1, 0x001a5ebe
>>> [ 5860.323530] tg3 0000:01:00.0: >eth0: 0x00004010: 0x0040b040,
>>> 0x00249012, 0x00800440, 0x00418062
>>> [ 5860.323536] tg3 0000:01:00.0: >eth0: 0x00004020: 0x00000000,
>>> 0x00000000, 0x00000010, 0x00000000
>>> [ 5860.323541] tg3 0000:01:00.0: >eth0: 0x00004030: 0x00000010,
>>> 0x00000030, 0x00000000, 0x00000000
>>> [ 5860.323547] tg3 0000:01:00.0: >eth0: 0x00004040: 0x00000000,
>>> 0x00000000, 0x01080c20, 0x00000000
>>> [ 5860.323552] tg3 0000:01:00.0: >eth0: 0x00004050: 0x00000000,
>>> 0x00000000, 0x00249010, 0x00419002
>>> [ 5860.323558] tg3 0000:01:00.0: >eth0: 0x00004060: 0x0041c000,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5860.323564] tg3 0000:01:00.0: >eth0: 0x00004400: 0x00000006,
>>> 0x00000000, 0x00010000, 0x00004000
>>> [ 5860.323569] tg3 0000:01:00.0: >eth0: 0x00004410: 0x00000000,
>>> 0x00000010, 0x00000060, 0x00000000
>>> [ 5860.323575] tg3 0000:01:00.0: >eth0: 0x00004420: 0x0000003d,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5860.323580] tg3 0000:01:00.0: >eth0: 0x00004440: 0x00000000,
>>> 0x00000000, 0x00000000, 0x00802c1d
>>> [ 5860.323586] tg3 0000:01:00.0: >eth0: 0x00004450: 0x0001227f,
>>> 0x004a004b, 0x00000000, 0x00000000
>>> [ 5860.323592] tg3 0000:01:00.0: >eth0: 0x00004800: 0x18033bfe,
>>> 0x00000000, 0x00000000, 0x00000020
>>> [ 5860.323597] tg3 0000:01:00.0: >eth0: 0x00004810: 0x00000000,
>>> 0x00000003, 0x015602ca, 0x00000000
>>> [ 5860.323603] tg3 0000:01:00.0: >eth0: 0x00004820: 0x0000001c,
>>> 0x00000000, 0xf03b0000, 0xb1f88958
>>> [ 5860.323608] tg3 0000:01:00.0: >eth0: 0x00004830: 0x00000000,
>>> 0x000000fb, 0x000000fb, 0x00000000
>>> [ 5860.323614] tg3 0000:01:00.0: >eth0: 0x00004840: 0x00000007,
>>> 0x00000006, 0x030e2201, 0x1c2a3d51
>>> [ 5860.323619] tg3 0000:01:00.0: >eth0: 0x00004850: 0xffffbb40,
>>> 0xc2ae0156, 0x19181918, 0x00000000
>>> [ 5860.323625] tg3 0000:01:00.0: >eth0: 0x00004860: 0x0300001c,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5860.323630] tg3 0000:01:00.0: >eth0: 0x00004900: 0x00028207,
>>> 0x50200e08, 0x00000000, 0x00000000
>>> [ 5860.323636] tg3 0000:01:00.0: >eth0: 0x00004910: 0x00000018,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5860.323642] tg3 0000:01:00.0: >eth0: 0x00004c00: 0x200003fe,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5860.323647] tg3 0000:01:00.0: >eth0: 0x00004c10: 0x00000000,
>>> 0x00000000, 0x00000006, 0x00000000
>>> [ 5860.323652] tg3 0000:01:00.0: >eth0: 0x00004c20: 0x00000000,
>>> 0x00000000, 0x00000000, 0x00000006
>>> [ 5860.323658] tg3 0000:01:00.0: >eth0: 0x00004c30: 0x00000000,
>>> 0x00000000, 0x00000078, 0x00000078
>>> [ 5860.323664] tg3 0000:01:00.0: >eth0: 0x00004c40: 0x00000000,
>>> 0xaf244000, 0x00010020, 0x00000020
>>> [ 5860.323669] tg3 0000:01:00.0: >eth0: 0x00004c50: 0x07fffe3d,
>>> 0x00f87bff, 0x00000000, 0x1f3e4444
>>> [ 5860.323675] tg3 0000:01:00.0: >eth0: 0x00005000: 0x00009800,
>>> 0x80000000, 0x00000000, 0x00000000
>>> [ 5860.323681] tg3 0000:01:00.0: >eth0: 0x00005010: 0x00000000,
>>> 0x00000000, 0x00000000, 0x40003544
>>> [ 5860.323686] tg3 0000:01:00.0: >eth0: 0x00005020: 0x8fbf001c,
>>> 0x00000000, 0x00000000, 0x40000020
>>> [ 5860.323692] tg3 0000:01:00.0: >eth0: 0x00005030: 0x00000000,
>>> 0x00000051, 0x00000000, 0x00000000
>>> [ 5860.323697] tg3 0000:01:00.0: >eth0: 0x00005040: 0x00000000,
>>> 0x00000000, 0x40003696, 0x00000000
>>> [ 5860.323703] tg3 0000:01:00.0: >eth0: 0x00005080: 0x00009800,
>>> 0x80008000, 0x00000000, 0x00000000
>>> [ 5860.323708] tg3 0000:01:00.0: >eth0: 0x00005090: 0x00000000,
>>> 0x00000000, 0x00000000, 0x40001d40
>>> [ 5860.323714] tg3 0000:01:00.0: >eth0: 0x000050a0: 0x24020001,
>>> 0x00000000, 0x00000000, 0x40000020
>>> [ 5860.323719] tg3 0000:01:00.0: >eth0: 0x000050b0: 0x00000000,
>>> 0x00000051, 0x00000000, 0x00000000
>>> [ 5860.323725] tg3 0000:01:00.0: >eth0: 0x000050c0: 0x00000000,
>>> 0x00000000, 0x40003696, 0x00000000
>>> [ 5860.323730] tg3 0000:01:00.0: >eth0: 0x00005100: 0x00009800,
>>> 0x80008000, 0x00000000, 0x00000000
>>> [ 5860.323735] tg3 0000:01:00.0: >eth0: 0x00005110: 0x00000000,
>>> 0x00000000, 0x00000000, 0x400036c0
>>> [ 5860.323741] tg3 0000:01:00.0: >eth0: 0x00005120: 0xafb10014,
>>> 0x00000000, 0x00000000, 0x40000020
>>> [ 5860.323746] tg3 0000:01:00.0: >eth0: 0x00005130: 0x00000000,
>>> 0x00000051, 0x00000000, 0x00000000
>>> [ 5860.323752] tg3 0000:01:00.0: >eth0: 0x00005140: 0x00000000,
>>> 0x00000000, 0x40002e20, 0x00000000
>>> [ 5860.323757] tg3 0000:01:00.0: >eth0: 0x00005180: 0x00009800,
>>> 0x80008000, 0x00000000, 0x00000000
>>> [ 5860.323763] tg3 0000:01:00.0: >eth0: 0x00005190: 0x00000000,
>>> 0x00000000, 0x00000000, 0x400036a8
>>> [ 5860.323768] tg3 0000:01:00.0: >eth0: 0x000051a0: 0xafb20018,
>>> 0x00000000, 0x00000000, 0x40000020
>>> [ 5860.323774] tg3 0000:01:00.0: >eth0: 0x000051b0: 0x00000000,
>>> 0x00000051, 0x00000000, 0x00000000
>>> [ 5860.323779] tg3 0000:01:00.0: >eth0: 0x000051c0: 0x00000000,
>>> 0x00000000, 0x40002c92, 0x00000000
>>> [ 5860.323785] tg3 0000:01:00.0: >eth0: 0x00005200: 0x08005fe8,
>>> 0x00000000, 0x00000000, 0x400036b4
>>> [ 5860.323790] tg3 0000:01:00.0: >eth0: 0x00005210: 0x08005fe8,
>>> 0x00000000, 0x08004c80, 0x08005fc8
>>> [ 5860.323796] tg3 0000:01:00.0: >eth0: 0x00005220: 0x00000000,
>>> 0x400036b4, 0x08005fe8, 0x08005fc8
>>> [ 5860.323802] tg3 0000:01:00.0: >eth0: 0x00005230: 0x00000000,
>>> 0x00000000, 0x08004c80, 0x00000000
>>> [ 5860.323807] tg3 0000:01:00.0: >eth0: 0x00005240: 0x00000000,
>>> 0x00000000, 0x00000000, 0x81020000
>>> [ 5860.323813] tg3 0000:01:00.0: >eth0: 0x00005260: 0x00000000,
>>> 0x81020000, 0x00000000, 0x00000000
>>> [ 5860.323818] tg3 0000:01:00.0: >eth0: 0x00005270: 0x00000000,
>>> 0x00000000, 0x400036b4, 0x40001d2c
>>> [ 5860.323824] tg3 0000:01:00.0: >eth0: 0x00005280: 0x00009800,
>>> 0x80000000, 0x00000000, 0x00000000
>>> [ 5860.323829] tg3 0000:01:00.0: >eth0: 0x00005290: 0x00000000,
>>> 0x00000000, 0x00000000, 0x40002c80
>>> [ 5860.323835] tg3 0000:01:00.0: >eth0: 0x000052a0: 0x16220003,
>>> 0x00000000, 0x00000000, 0x40000020
>>> [ 5860.323840] tg3 0000:01:00.0: >eth0: 0x000052b0: 0x00000000,
>>> 0x00000051, 0x00000000, 0x00000000
>>> [ 5860.323846] tg3 0000:01:00.0: >eth0: 0x000052c0: 0x00000000,
>>> 0x00000000, 0x40003696, 0x00000000
>>> [ 5860.323851] tg3 0000:01:00.0: >eth0: 0x00005300: 0x00009800,
>>> 0x80008000, 0x00000000, 0x00000000
>>> [ 5860.323857] tg3 0000:01:00.0: >eth0: 0x00005310: 0x00000000,
>>> 0x00000000, 0x00000000, 0x40002cac
>>> [ 5860.323862] tg3 0000:01:00.0: >eth0: 0x00005320: 0x24020001,
>>> 0x00000000, 0x00000000, 0x40000020
>>> [ 5860.323868] tg3 0000:01:00.0: >eth0: 0x00005330: 0x00000000,
>>> 0x00000051, 0x00000000, 0x00000000
>>> [ 5860.323873] tg3 0000:01:00.0: >eth0: 0x00005340: 0x00000000,
>>> 0x00000000, 0x40002ca8, 0x00000000
>>> [ 5860.323879] tg3 0000:01:00.0: >eth0: 0x00005380: 0x00009800,
>>> 0x80008000, 0x00000000, 0x00000000
>>> [ 5860.323884] tg3 0000:01:00.0: >eth0: 0x00005390: 0x00000000,
>>> 0x00000000, 0x00000000, 0x400036bc
>>> [ 5860.323890] tg3 0000:01:00.0: >eth0: 0x000053a0: 0x27bdffe0,
>>> 0x00000000, 0x00000000, 0x40000020
>>> [ 5860.323895] tg3 0000:01:00.0: >eth0: 0x000053b0: 0x00000000,
>>> 0x00000051, 0x00000000, 0x00000000
>>> [ 5860.323901] tg3 0000:01:00.0: >eth0: 0x000053c0: 0x00000000,
>>> 0x00000000, 0x40002cc4, 0x00000000
>>> [ 5860.323906] tg3 0000:01:00.0: >eth0: 0x00005600: 0x169214e4,
>>> 0x00100406, 0x02000001, 0x00000010
>>> [ 5860.323912] tg3 0000:01:00.0: >eth0: 0x00005610: 0xd3400004,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5860.323918] tg3 0000:01:00.0: >eth0: 0x00005620: 0x00000000,
>>> 0x00000000, 0x00000000, 0x06011025
>>> [ 5860.323923] tg3 0000:01:00.0: >eth0: 0x00005630: 0x00000000,
>>> 0x00000048, 0x00000000, 0x0000010a
>>> [ 5860.323929] tg3 0000:01:00.0: >eth0: 0x00005640: 0x00000000,
>>> 0x00000000, 0xc0036001, 0x08002008
>>> [ 5860.323934] tg3 0000:01:00.0: >eth0: 0x00005650: 0x0081cc05,
>>> 0xfee0100c, 0x00000000, 0x00004189
>>> [ 5860.323940] tg3 0000:01:00.0: >eth0: 0x00005660: 0x006c5009,
>>> 0xffa85ef5, 0xf0010298, 0x76180000
>>> [ 5860.323945] tg3 0000:01:00.0: >eth0: 0x00005670: 0x000010f2,
>>> 0x00000000, 0x00000460, 0x00000000
>>> [ 5860.323951] tg3 0000:01:00.0: >eth0: 0x00005680: 0x40000008,
>>> 0x40000008, 0x00000000, 0x00000000
>>> [ 5860.323956] tg3 0000:01:00.0: >eth0: 0x000056b0: 0x00000000,
>>> 0x00000000, 0x00000000, 0x57780001
>>> [ 5860.323962] tg3 0000:01:00.0: >eth0: 0x000056c0: 0x00000000,
>>> 0x00000000, 0x0000000e, 0x00020010
>>> [ 5860.323968] tg3 0000:01:00.0: >eth0: 0x000056d0: 0x05908fa0,
>>> 0x00112000, 0x0006cc11, 0x10110143
>>> [ 5860.323973] tg3 0000:01:00.0: >eth0: 0x000056f0: 0x0000001f,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5860.323979] tg3 0000:01:00.0: >eth0: 0x00005700: 0x13c10001,
>>> 0x00100000, 0x00000000, 0x00062031
>>> [ 5860.323984] tg3 0000:01:00.0: >eth0: 0x00005710: 0x00000001,
>>> 0x00002000, 0x000000b4, 0x40000001
>>> [ 5860.323990] tg3 0000:01:00.0: >eth0: 0x00005720: 0x0000000f,
>>> 0xd3400400, 0x00000080, 0x00000000
>>> [ 5860.323995] tg3 0000:01:00.0: >eth0: 0x00005730: 0x00000000,
>>> 0x00000000, 0x00000000, 0x16010002
>>> [ 5860.324001] tg3 0000:01:00.0: >eth0: 0x00005750: 0x800000ff,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5860.324006] tg3 0000:01:00.0: >eth0: 0x00005760: 0x16c10003,
>>> 0xfeac38d5, 0xdc0ea1ff, 0x00010004
>>> [ 5860.324012] tg3 0000:01:00.0: >eth0: 0x00005770: 0x00000000,
>>> 0x00078116, 0x00000001, 0x00000000
>>> [ 5860.324017] tg3 0000:01:00.0: >eth0: 0x00005780: 0x00000000,
>>> 0x00000000, 0x00000000, 0xffffffff
>>> [ 5860.324023] tg3 0000:01:00.0: >eth0: 0x00005800: 0x00000000,
>>> 0x44000000, 0x00000000, 0x00000000
>>> [ 5860.324028] tg3 0000:01:00.0: >eth0: 0x00005860: 0x00000000,
>>> 0x00000000, 0x00000000, 0x00000106
>>> [ 5860.324034] tg3 0000:01:00.0: >eth0: 0x00005880: 0x00000000,
>>> 0x0000003e, 0x00000000, 0x00000000
>>> [ 5860.324039] tg3 0000:01:00.0: >eth0: 0x00005900: 0x00000000,
>>> 0x00000007, 0x00000000, 0x00000000
>>> [ 5860.324045] tg3 0000:01:00.0: >eth0: 0x00005980: 0x00000000,
>>> 0x00000007, 0x00000000, 0x00000000
>>> [ 5860.324050] tg3 0000:01:00.0: >eth0: 0x00005a00: 0x00012001,
>>> 0x00000000, 0x00010000, 0x00000000
>>> [ 5860.324056] tg3 0000:01:00.0: >eth0: 0x00006000: 0x00000002,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5860.324063] tg3 0000:01:00.0: >eth0: 0x00006800: 0x04130034,
>>> 0x20085082, 0x01009219, 0x064451b3
>>> [ 5860.324068] tg3 0000:01:00.0: >eth0: 0x00006810: 0x81020000,
>>> 0xffffffff, 0x00000000, 0x00000000
>>> [ 5860.324074] tg3 0000:01:00.0: >eth0: 0x000068a0: 0x00000000,
>>> 0x20010001, 0x00000000, 0x00000000
>>> [ 5860.324079] tg3 0000:01:00.0: >eth0: 0x000068b0: 0x00040000,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5860.324085] tg3 0000:01:00.0: >eth0: 0x00006c20: 0x00000000,
>>> 0x00100000, 0x00000000, 0x00000000
>>> [ 5860.324091] tg3 0000:01:00.0: >eth0: 0x00007000: 0x08000188,
>>> 0x00000000, 0x00000000, 0x00000000
>>> [ 5860.324097] tg3 0000:01:00.0: >eth0: 0x00007010: 0xffffffff,
>>> 0x00008200, 0x000500db, 0x03000a00
>>> [ 5860.324102] tg3 0000:01:00.0: >eth0: 0x00007020: 0x00000000,
>>> 0x00000000, 0x00000406, 0x10004000
>>> [ 5860.324108] tg3 0000:01:00.0: >eth0: 0x00007030: 0x00020000,
>>> 0x00000004, 0x001f0010, 0x00000000
>>> [ 5860.324114] tg3 0000:01:00.0: >eth0: 0x00007500: 0x00000000,
>>> 0x00000000, 0x0000008b, 0x00000240
>>> [ 5860.324124] tg3 0000:01:00.0: >eth0: 0: Host status block
>>> [00000001:00000044:(0000:003e:0000):(003e:0005)]
>>> [ 5860.324131] tg3 0000:01:00.0: >eth0: 0: NAPI info
>>> [00000044:00000044:(0007:0005:01ff):003e:(0106:0000:0000:0000)]
>>> [ 5860.330543] tg3 0000:01:00.0: >eth0: Link is down
>>> [ 5860.341734] tg3 0000:01:00.0: >eth0: Link is down
>>> [ 5874.335216] tg3 0000:01:00.0: >eth0: Link is up at 100 Mbps, full duplex
>>> [ 5874.335222] tg3 0000:01:00.0: >eth0: Flow control is on for TX and on
>>> for RX
>>>
>>> Justin Chudgar  |  Weed, CA 96094  |  530 921 0738 |
>>> http://www.justinzane.com/
>>>
>>> On 10/12/2012 05:12 PM, Nithin Nayak Sujir wrote:
>>>>> lspci | grep 57780
>>>> 43:00.0 Ethernet controller: Broadcom Corporation NetLink BCM57780
>>>> Gigabit Ethernet PCIe (rev 01)
>>>>
>>>>
>>>> To read register 0x400
>>>>
>>>>> sudo setpci -s 43:00.0 78.l=400
>>>>> sudo setpci -s 43:00.0 80.l
>>>> 00e04806
>>>>
>>>>
>>>>
>>>> Nithin.
>>>>
>>>>
>>>> On 10/12/2012 05:09 PM, Justin Chudgar wrote:
>>>>> # ethtool eth0
>>>>> I'm sorry, but I'm not quite understanding item #2. Could you send me an
>>>>> actual example with lspci and the setpci commands. Thanks.
>>>>>
>>>>> Justin Chudgar  |  Weed, CA 96094  |  530 921 0738 |
>>>>> http://www.justinzane.com/
>>>>>
>>>>> On 10/12/2012 01:24 PM, Nithin Sujir wrote:
>>>>>> Justin,
>>>>>> I'm checking with the hardware team to see what info they need to
>>>>>> diagnose. In the meantime can you send me the output of
>>>>>>
>>>>>> 1. ethtool <iface>
>>>>>> 2. Reg read of the following registers. You can do this by indirect
>>>>>> access for e.g. to read register 0x400. Everything is in hex so
>>>>>> don't add a 0x to any number.
>>>>>>          setpci -s <pci bus>:<pci dev>.<pci fn> 78.l=400
>>>>>>          setpci -s <pci bus>:<pci dev>.<pci fn> 80.l
>>>>>>
>>>>>>      Give me the readings for 0x400, 0x404, 0x408, 0x45c, 0x460, all
>>>>>> from 0x3600-0x3610, 0x362c, 0x3630.
>>>>>>
>>>>>> Can you do this for both when it links up in 100Mbit and when you
>>>>>> force it to 0x20 and it doesn't link up.
>>>>>>
>>>>>> Thanks,
>>>>>> Nithin.
>>>>>>
>>>>>>
>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: Justin Chudgar [mailto:justin@justinzane.com]
>>>>>>> Sent: Thursday, October 11, 2012 11:38 PM
>>>>>>> To: Nithin Sujir
>>>>>>> Cc: 1063038@bugs.launchpad.net
>>>>>>> Subject: Re: [Bug 1063038] Re: Broadcom BCM57780 Cannot Connect at
>>>>>>> Gigabit
>>>>>>> Speed using tg3 module.
>>>>>>>
>>>>>>> One thing I noticed is that my `ethtool -i eth0` output is
>>>>>>> different. I've
>>>>>>> listed your values to the right where the seem to be significant.
>>>>>>> I'm a little in the dark as to why my `firmware-version` string and
>>>>>>> `eeprom-
>>>>>>> access` bool values are different and whether that has any import.
>>>>>>>
>>>>>>>       # ethtool -i eth0
>>>>>>>       driver: tg3
>>>>>>>>>    version: 3.123                << 3.121
>>>>>>>>>    firmware-version: sb          << 57780-v3.15
>>>>>>>       bus-info: 0000:01:00.0
>>>>>>>       supports-statistics: yes
>>>>>>>       supports-test: yes
>>>>>>>>>    supports-eeprom-access: no      << yes
>>>>>>>       supports-register-dump: yes
>>>>>>>
>>>>>>> Another interesting observation is that `ethtool -s eth0 advertise
>>>>>>> 0x020`
>>>>>>> forcing autoneg to select 1000Mbps/Full kills the connection. Do
>>>>>>> you have any suggestions as to how to debug the rate/duplex
>>>>>>> autonegotiation?
>>>>>>> I'm unsure how to proceed to further diagnose this problem.
>>>>>>>
>>>>>>> [BTW, I just changed DNS servers and am still ironing out side
>>>>>>> effects. If
>>>>>>> I've duplicated mail to you, I'm sorry.]
>>>>>>>
>>>>>>> Justin Chudgar  |  Weed, CA 96094  |  530 921 0738 |
>>>>>>> http://www.justinzane.com/
>>>>>>>
>>>>>>> On 10/11/2012 04:23 PM, Nithin Sujir wrote:
>>>>>>>
>>>>>>>> Justin,
>>>>>>>> Sorry, I'd already replied to netdev but found out later it didn't
>>>>>>>> make it.
>>>>>>> Resending what I sent netdev but did not reach there.
>>>>>>>> Basically I'm not seeing a problem with the 57780 with either
>>>>>>>> RedHat or
>>>>>>> Ubuntu.
>>>>>>>> So I'm not sure what it could be the problem in your case.
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> Nithin.
>>>>>>>>
>>>>>>>> --- Quote ---
>>>>>>>> I don't see a problem linking up with 57780 at gigabit. I tested
>>>>>>>> the latest
>>>>>>> net kernel (3.6.0) and
>>>>>>>> to make sure it's not ubuntu specific, tested ubuntu 12.04 as well
>>>>>>> (3.2.0.23-generic). Everything
>>>>>>>> works fine here on my setup. As you can see below, link is up at
>>>>>>>> gigabit and
>>>>>>> I'm able to send/receive.
>>>>>>>>    > sudo ethtool -i eth7
>>>>>>>> driver: tg3
>>>>>>>> version: 3.121
>>>>>>>> firmware-version: 57780-v3.15
>>>>>>>> bus-info: 0000:43:00.0
>>>>>>>> supports-statistics: yes
>>>>>>>> supports-test: yes
>>>>>>>> supports-eeprom-access: yes
>>>>>>>> supports-register-dump: yes
>>>>>>>>
>>>>>>>>
>>>>>>>>    > sudo ethtool eth7
>>>>>>>>        Settings for eth7:
>>>>>>>>        Supported ports: [ TP MII ]
>>>>>>>>        Supported link modes: 10baseT/Half 10baseT/Full
>>>>>>>>                              100baseT/Half 100baseT/Full
>>>>>>>>                              1000baseT/Half 1000baseT/Full
>>>>>>>>        Supported pause frame use: Symmetric Receive-only
>>>>>>>>        Supports auto-negotiation: Yes
>>>>>>>>        Advertised link modes: 10baseT/Half 10baseT/Full
>>>>>>>>                               100baseT/Half 100baseT/Full
>>>>>>>>                               1000baseT/Half 1000baseT/Full
>>>>>>>>        Advertised pause frame use: Symmetric Receive-only
>>>>>>>>        Advertised auto-negotiation: Yes
>>>>>>>>        Speed: 1000Mb/s
>>>>>>>>        Duplex: Full
>>>>>>>>        Port: MII
>>>>>>>>        PHYAD: 1
>>>>>>>>        Transceiver: external
>>>>>>>>        Auto-negotiation: on
>>>>>>>>        Supports Wake-on: g
>>>>>>>>        Wake-on: d
>>>>>>>>        Current message level: 0x000000ff (255)
>>>>>>>>        drv probe link timer ifdown ifup rx_err tx_err
>>>>>>>>        Link detected: yes
>>>>>>>>
>>>>>>>>
>>>>>>>>    > ifconfig eth7
>>>>>>>> eth7 Link encap:Ethernet HWaddr 00:10:18:2a:18:cd
>>>>>>>> inet addr:3.3.3.1 Bcast:3.3.3.255 Mask:255.255.255.0
>>>>>>>> inet6 addr: fe80::210:18ff:fe2a:18cd/64 Scope:Link
>>>>>>>> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
>>>>>>>> RX packets:1224 errors:0 dropped:0 overruns:0 frame:0
>>>>>>>> TX packets:1114 errors:0 dropped:0 overruns:0 carrier:0
>>>>>>>> collisions:0 txqueuelen:1000
>>>>>>>> RX bytes:115500 (115.5 KB) TX bytes:146587 (146.5 KB)
>>>>>>>> Interrupt:80
>>>>>>>>
>>>>>>>>    > ping 3.3.3.2 -c 1
>>>>>>>> PING 3.3.3.2 (3.3.3.2) 56(84) bytes of data.
>>>>>>>> 64 bytes from 3.3.3.2: icmp_req=1 ttl=64 time=0.185 ms
>>>>>>>>
>>>>>>>> --- 3.3.3.2 ping statistics ---
>>>>>>>> 1 packets transmitted, 1 received, 0% packet loss, time 0ms
>>>>>>>> rtt min/avg/max/mdev = 0.185/0.185/0.185/0.000 ms
>>>>>>>>
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> Nithin.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: Michael Chan
>>>>>>>>> Sent: Thursday, October 11, 2012 4:16 PM
>>>>>>>>> To: Justin Chudgar; Nithin Sujir
>>>>>>>>> Cc: 1063038@bugs.launchpad.net
>>>>>>>>> Subject: RE: [Bug 1063038] Re: Broadcom BCM57780 Cannot Connect
>>>>>>>>> at Gigabit
>>>>>>>>> Speed using tg3 module.
>>>>>>>>>
>>>>>>>>> We saw this post on netdev a few days ago.  Nithin, who is now
>>>>>>>>> working with
>>>>>>> me
>>>>>>>>> on the tg3 driver has looked into it.  I think he is having some
>>>>>>>>> email
>>>>>>>>> problems and will reply to you soon.  Thanks.
>>>>>>>>>
>>>>>>>>> -----Original Message-----
>>>>>>>>> From: Justin Chudgar [mailto:justin@justinzane.com]
>>>>>>>>> Sent: Thursday, October 11, 2012 3:47 PM
>>>>>>>>> To: Matthew Carlson; Michael Chan
>>>>>>>>> Cc: 1063038@bugs.launchpad.net
>>>>>>>>> Subject: Fwd: [Bug 1063038] Re: Broadcom BCM57780 Cannot Connect
>>>>>>>>> at Gigabit
>>>>>>>>> Speed using tg3 module.
>>>>>>>>>
>>>>>>>>> Matt & Michael:
>>>>>>>>>
>>>>>>>>> I apologize if this is an inappropriate way to deal with a bug;
>>>>>>>>> please
>>>>>>>>> instruct me if it is. I initially made the below-listed report to
>>>>>>>>> Ubuntu
>>>>>>>>> and was directed upstream. I posted to the netdev list, but it
>>>>>>>>> seems to
>>>>>>>>> have been buried there. I just want to make sure that whomever
>>>>>>>>> needs to
>>>>>>>>> know does.
>>>>>>>>>
>>>>>>>>> Thanks.
>>>>>>>>>
>>>>>>>>> Justin Chudgar  |  Weed, CA 96094  |  530 921 0738 |
>>>>>>>>> http://www.justinzane.com/
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> -------- Original Message --------
>>>>>>>>> Subject:     Fwd: [Bug 1063038] Re: Broadcom BCM57780 Cannot
>>>>>>>>> Connect at
>>>>>>>>> Gigabit Speed using tg3 module.
>>>>>>>>> Date:     Wed, 10 Oct 2012 05:24:35 -0700
>>>>>>>>> From:     Justin Chudgar <justin@justinzane.com>
>>>>>>>>> To:     netdev@vger.kernel.org
>>>>>>>>> CC:     1063038@bugs.launchpad.net
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> I've got a device with a Broadcom 57780 ethernet NIC. It uses the
>>>>>>>>> tg3.ko
>>>>>>>>> driver module. The problem is that this NIC cannot connect at
>>>>>>>>> gigabit
>>>>>>>>> (1000MBps) speed. In all cases connection works well at 100MBps. I
>>>>>>>>> reported this to Ubuntu as noted below and was directed here.
>>>>>>>>> [https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1063038]
>>>>>>>>> Following
>>>>>>>>> are the tests I've completed:
>>>>>>>>>
>>>>>>>>> - Cables tested with cable tester
>>>>>>>>> - Cables tested to work at gigabit speed with Realtek and Intel
>>>>>>>>> gigabit
>>>>>>>>> NICs.
>>>>>>>>> - All unmanaged switch ports tested at gigabit speed with other
>>>>>>>>> NICs.
>>>>>>>>> - Tried to connect with NetworkManager enabled and disabled.
>>>>>>>>> - Tried both dhcp and static connections.
>>>>>>>>> - Tried to renegotiate connection with `ethtool -r` both with TSO
>>>>>>>>> enabled and disabled.
>>>>>>>>> - Tried 3.2.0-23-generic 3.5.0-15-generic3.5.0-17-generic
>>>>>>>>> 3.6.0-999-generic kernels from main, xorg-edgers and mainline repos.
>>>>>>>>> - Used 'tg3_debug=1' kernel option in grub with the following
>>>>>>>>> output:
>>>>>>>>>
>>>>>>>>>       [ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.5.0-17-generic
>>>>>>>>> root=UUID=eccabacd-efb2-45b4-b7a6-2f530d50afd3 ro rootflags=subvol=@
>>>>>>>>> tg3_debug=1 i915_enable_rc6=7 i915_enable_fbc=1 lvds_downclock=1
>>>>>>>>>       [ 0.000000] Kernel command line:
>>>>>>>>> BOOT_IMAGE=/vmlinuz-3.5.0-17-generic
>>>>>>>>> root=UUID=eccabacd-efb2-45b4-b7a6-2f530d50afd3 ro rootflags=subvol=@
>>>>>>>>> tg3_debug=1 i915_enable_rc6=7 i915_enable_fbc=1 lvds_downclock=1
>>>>>>>>>       [ 5.963136] tg3.c:v3.123 (March 21, 2012)
>>>>>>>>>       [ 5.995781] tg3 mdio bus: probed
>>>>>>>>>       [ 6.005583] tg3 0000:01:00.0: >eth0: Tigon3
>>>>>>>>> [partno(BCM57780) rev
>>>>>>>>> 57780001] (PCI Express) MAC address dc:0e:a1:ac:38:d5
>>>>>>>>>       [ 6.005687] tg3 0000:01:00.0: >eth0: attached PHY driver
>>>>>>>>> [Broadcom
>>>>>>>>> BCM57780] (mii_bus:phy_addr=100:01)
>>>>>>>>>       [ 6.005790] tg3 0000:01:00.0: >eth0: RXcsums[1] LinkChgREG[0]
>>>>>>>>> MIirq[0] ASF[0] TSOcap[1]
>>>>>>>>>       [ 6.005887] tg3 0000:01:00.0: >eth0: dma_rwctrl[76180000]
>>>>>>>>> dma_mask[64-bit]
>>>>>>>>>       [ 294.987653] tg3 0000:01:00.0: >irq 44 for MSI/MSI-X
>>>>>>>>>       [ 295.893224] tg3 0000:01:00.0: >eth0: Link is down
>>>>>>>>>       [ 309.887879] tg3 0000:01:00.0: >eth0: Link is up at 100
>>>>>>>>> Mbps, full
>>>>>>>>> duplex
>>>>>>>>>       [ 309.887886] tg3 0000:01:00.0: >eth0: Flow control is on
>>>>>>>>> for TX and
>>>>>>>>> on for RX
>>>>>>>>>
>>>>>>>>> Other distros' forums suggest loading broadcom.ko first; however,
>>>>>>>>> this
>>>>>>>>> module is no present. Any suggestions would be much appreciated.
>>>>>>>>>
>>>>>>>>> lspci -vv:
>>>>>>>>>       01:00.0 Ethernet controller: Broadcom Corporation NetLink
>>>>>>>>> BCM57780
>>>>>>>>> Gigabit Ethernet PCIe (rev 01)
>>>>>>>>>           Subsystem: Acer Incorporated [ALI] Device 0601
>>>>>>>>>           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 44
>>>>>>>>>           Region 0: Memory at d3400000 (64-bit, non-prefetchable)
>>>>>>>>> [size=64K]
>>>>>>>>>           Capabilities: [48] 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: [60] Vendor Specific Information: Len=6c <?>
>>>>>>>>>           Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
>>>>>>>>>                   Address: 00000000fee0100c Data: 4189
>>>>>>>>>           Capabilities: [cc] Express (v2) Endpoint, MSI 00
>>>>>>>>>                   DevCap: MaxPayload 128 bytes, PhantFunc 0,
>>>>>>>>> Latency L0s
>>>>>>>>> <4us, L1 unlimited
>>>>>>>>>                           ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+
>>>>>>>>> FLReset-
>>>>>>>>>                   DevCtl: Report errors: Correctable- Non-Fatal-
>>>>>>>>> Fatal-
>>>>>>>>> Unsupported-
>>>>>>>>>                           RlxdOrd- ExtTag- PhantFunc- AuxPwr-
>>>>>>>>> NoSnoop-
>>>>>>>>>                           MaxPayload 128 bytes, MaxReadReq 512 bytes
>>>>>>>>>                   DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq-
>>>>>>>>> AuxPwr+
>>>>>>>>> TransPend+
>>>>>>>>>                   LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM
>>>>>>>>> L0s L1,
>>>>>>>>> Latency L0 <1us, L1 <32us
>>>>>>>>>                           ClockPM+ Surprise- LLActRep- BwNot-
>>>>>>>>>                   LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes Disabled-
>>>>>>>>> Retrain- CommClk+
>>>>>>>>>                           ExtSynch- ClockPM+ AutWidDis- BWInt-
>>>>>>>>> AutBWInt-
>>>>>>>>>                   LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train-
>>>>>>>>> SlotClk+
>>>>>>>>> DLActive- BWMgmt- ABWMgmt-
>>>>>>>>>                   DevCap2: Completion Timeout: Range ABCD,
>>>>>>>>> TimeoutDis+
>>>>>>>>>                   DevCtl2: Completion Timeout: 50us to 50ms,
>>>>>>>>> TimeoutDis-
>>>>>>>>>                   LnkCtl2: Target Link Speed: 2.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: [13c v1] Virtual Channel
>>>>>>>>>                   Caps: LPEVC=0 RefClk=100ns PATEntryBits=1
>>>>>>>>>                   Arb: Fixed- WRR32- WRR64- WRR128-
>>>>>>>>>                   Ctrl: ArbSelect=Fixed
>>>>>>>>>                   Status: InProgress-
>>>>>>>>>                   VC0: Caps: PATOffset=00 MaxTimeSlots=1
>>>>>>>>> RejSnoopTrans-
>>>>>>>>>                           Arb: Fixed- WRR32- WRR64- WRR128-
>>>>>>>>> TWRR128- WRR256-
>>>>>>>>>                           Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=ff
>>>>>>>>>                           Status: NegoPending- InProgress-
>>>>>>>>>           Capabilities: [160 v1] Device Serial Number
>>>>>>>>> dc-0e-a1-ff-fe-ac-38-d5
>>>>>>>>>           Capabilities: [16c v1] Power Budgeting <?>
>>>>>>>>>           Kernel driver in use: tg3
>>>>>>>>>           Kernel modules: tg3
>>>>>>>>> ---
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Justin Chudgar  |  Weed, CA 96094  |  530 921 0738 |
>>>>>>>>> http://www.justinzane.com/
>>>>>>>>>
>>>>>>>>> -------- Original Message --------
>>>>>>>>> Subject:     [Bug 1063038] Re: Broadcom BCM57780 Cannot Connect at
>>>>>>> Gigabit
>>>>>>>>> Speed using tg3 module.
>>>>>>>>> Date:     Tue, 09 Oct 2012 14:38:45 -0000
>>>>>>>>> From:     Joseph Salisbury <joseph.salisbury@canonical.com>
>>>>>>>>> Reply-To:     Bug 1063038 <1063038@bugs.launchpad.net>
>>>>>>>>> To:     justin@justinzane.com
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> This issue appears to be an upstream bug, since you tested the
>>>>>>>>> latest
>>>>>>>>> upstream kernel.  Would it be possible for you to open an
>>>>>>>>> upstream bug
>>>>>>>>> report[0]?  That will allow the upstream Developers to examine the
>>>>>>>>> issue, and may provide a quicker resolution to the bug.
>>>>>>>>>
>>>>>>>>> Please follow the instructions on the wiki page[0].  The first
>>>>>>>>> step is
>>>>>>>>> to email the appropriate mailing list.  If no response is
>>>>>>>>> received, then
>>>>>>>>> a bug may be opened on bugzilla.kernel.org.
>>>>>>>>>
>>>>>>>>> [0] https://wiki.ubuntu.com/Bugs/Upstream/kernel
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ** Changed in: linux (Ubuntu)
>>>>>>>>>          Status: Confirmed => Triaged
>>>>>>>>>
>>>>>>>>> ** Changed in: linux (Ubuntu)
>>>>>>>>>      Importance: Undecided => Medium
>>>>>>>>>
>>>>>>>>> ** Tags added: kernel-bug-exists-upstream
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> You received this bug notification because you are subscribed to
>>>>>>>>> the bug
>>>>>>>>> report.
>>>>>>>>> https://bugs.launchpad.net/bugs/1063038
>>>>>>>>>
>>>>>>>>> Title:
>>>>>>>>>     Broadcom BCM57780 Cannot Connect at Gigabit Speed using tg3
>>>>>>>>> module.
>>>>>>>>>
>>>>>>>>> To manage notifications about this bug go to:
>>>>>>>>>
>>> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1063038/+subscriptions
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>

^ permalink raw reply

* Re: [Bug 1063038] Re: Broadcom BCM57780 Cannot Connect at Gigabit Speed using tg3 module.
From: Michael Chan @ 2012-10-16 15:29 UTC (permalink / raw)
  To: Nithin Sujir; +Cc: Justin Chudgar, 1063038@bugs.launchpad.net, netdev
In-Reply-To: <507D66A3.1050703@broadcom.com>

On Tue, 2012-10-16 at 06:52 -0700, Nithin Sujir wrote: 
> "Per our record, this Acer system with BCM57780 and SSID:0601 was 
> intended by Acer to be a 10/100 system. The system is able to connect at 
> 10/100Mbps and therefore it is working as designed. Broadcom cannot 
> support any software/hardware request to override this built in design." 

With that being said, we'll update the tg3 driver to limit such systems
to use only 10/100 Mbps.

^ permalink raw reply

* [PATCH] xfrm: use ISO C standard for array in linux/xfrm.h
From: nicolas.dichtel @ 2012-10-16 15:42 UTC (permalink / raw)
  To: herbert, steffen.klassert; +Cc: netdev, davem, Nicolas Dichtel

From: Nicolas Dichtel <nicolas.dichtel@6wind.com>

Use the ISO C standard compliant form instead of the gcc extension.

Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
---
 include/uapi/linux/xfrm.h | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/include/uapi/linux/xfrm.h b/include/uapi/linux/xfrm.h
index 28e493b..6a6a605 100644
--- a/include/uapi/linux/xfrm.h
+++ b/include/uapi/linux/xfrm.h
@@ -30,7 +30,7 @@ struct xfrm_sec_ctx {
 	__u8	ctx_alg;
 	__u16	ctx_len;
 	__u32	ctx_sid;
-	char	ctx_str[0];
+	char	ctx_str[];
 };
 
 /* Security Context Domains of Interpretation */
@@ -93,27 +93,27 @@ struct xfrm_replay_state_esn {
 	__u32		oseq_hi;
 	__u32		seq_hi;
 	__u32		replay_window;
-	__u32		bmp[0];
+	__u32		bmp[];
 };
 
 struct xfrm_algo {
 	char		alg_name[64];
 	unsigned int	alg_key_len;    /* in bits */
-	char		alg_key[0];
+	char		alg_key[];
 };
 
 struct xfrm_algo_auth {
 	char		alg_name[64];
 	unsigned int	alg_key_len;    /* in bits */
 	unsigned int	alg_trunc_len;  /* in bits */
-	char		alg_key[0];
+	char		alg_key[];
 };
 
 struct xfrm_algo_aead {
 	char		alg_name[64];
 	unsigned int	alg_key_len;	/* in bits */
 	unsigned int	alg_icv_len;	/* in bits */
-	char		alg_key[0];
+	char		alg_key[];
 };
 
 struct xfrm_stats {
-- 
1.7.12

^ permalink raw reply related

* Re: [PATCH] compat-drivers: update ethernet driver alx in crap dir
From: Luis R. Rodriguez @ 2012-10-16 15:37 UTC (permalink / raw)
  To: Huang, Xiong
  Cc: mcgrof@kernel.org, backports@vger.kernel.org, nic-devel,
	Ren, Cloud, Greg Kroah-Hartman, linux-kernel@vger.kernel.org,
	netdev@vger.kernel.org, linux-wireless, qca_vkondrat
In-Reply-To: <157393863283F442885425D2C45428562A50158C@nasanexd02f.na.qualcomm.com>

On Mon, Oct 8, 2012 at 6:24 PM, Huang, Xiong <xiong@qca.qualcomm.com> wrote:
> Hi Luis
>
>     I'm refining the code, I try my best to make it upstream ASAP. Thanks !

Ok great thanks, in that case I'm going to make it policy moving
forward to simply not take in full drivers at all into compat-drivers
regardless of the situation. If  a driver is desired to be made
available, whatever the situation may be, it must now go upstream
directly onto drivers/staging or drivers/ proper somewhere.

Xiong, Vlad, I'm going to then nuke the current drivers there from the
v3.7-rc1 release, if you want those drivers to be part of the
compat-drivers-3.7 releases you will have to submit your driver
upstream into proper or staging.

The additional patches then will be for components already upstream.

  Luis

^ permalink raw reply

* Re: regression when connecting to ipv6 localhost
From: Jan Hinnerk Stosch @ 2012-10-16 16:07 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: netdev
In-Reply-To: <CAO_aot44shT8CKtCi8Zv0GWN7wjybHX+d5SFQ1daVOh84v+L1g@mail.gmail.com>

2012/10/15 Jan Hinnerk Stosch <janhinnerk.stosch@gmail.com>:
>
> Yes. Attached..

Today I read about the existence of the "git bisect" function and if I
have not done anything wrong the "bad commit" which lead to this
regression is ddbe503203855939946430e39bae58de11b70b69.
Perhaps this can help you.

^ permalink raw reply

* Re: amd64, v3.6.0: Kernel panic + BUG at net/netfilter/nf_conntrack_core.c:220!
From: Pablo Neira Ayuso @ 2012-10-16 16:27 UTC (permalink / raw)
  To: Borislav Petkov, Ian Applegate, linux-kernel, netfilter-devel,
	netfilter, coreteam, netdev
In-Reply-To: <20121011233206.GA10370@1984>

On Fri, Oct 12, 2012 at 01:32:06AM +0200, Pablo Neira Ayuso wrote:
> On Thu, Oct 11, 2012 at 11:27:33PM +0200, Borislav Petkov wrote:
> > On Thu, Oct 11, 2012 at 12:13:33PM -0700, Ian Applegate wrote:
> > > On machines serving mainly http traffic we are seeing the following
> > > panic, which is not yet reproducible.
> > 
> > Must be this BUG_ON:
> > 
> > 	if (!nf_ct_is_confirmed(ct)) {
> > 		BUG_ON(hlist_nulls_unhashed(&ct->tuplehash[IP_CT_DIR_ORIGINAL].hnnode));
> > 		hlist_nulls_del_rcu(&ct->tuplehash[IP_CT_DIR_ORIGINAL].hnnode);
> > 	}
> 
> At quick glance, I think we're hitting a memory corruption, I don't
> see by now any sane code path to reach that bugtrap.

Did you manage to obtain more information regarding this bug?

I don't find any recent change in the conntrack source that may lead
us to hit that.

Thanks.

> More comments below:
> 
> > Spamming some more lists and leaving the rest for reference.
> > 
> > > 
> > > 
> > > [180926.566743] ------------[ cut here ]------------
> > > [180926.572034] kernel BUG at net/netfilter/nf_conntrack_core.c:220!
> > > [180926.578873] invalid opcode: 0000 [#1] SMP
> > > [180926.583594] Modules linked in: xfs exportfs ipmi_devintf ipmi_si
> > > ipmi_msghandler dm_mod md_mod nf_conntr
> > > ack_ipv6 nf_defrag_ipv6 ip6table_filter ip6table_raw ip6_tables
> > > nf_conntrack_ipv4 nf_defrag_ipv4 xt_tcpudp x
> > > t_conntrack xt_multiport iptable_filter xt_NOTRACK nf_conntrack
> > > iptable_raw ip_tables x_tables nfsv4 auth_rp
> > > cgss fuse nfsv3 nfs_acl nfs fscache lockd sunrpc sfc mtd i2c_algo_bit
> > > i2c_core mdio igb dca uhci_hcd coretem
> > > p acpi_cpufreq kvm_intel kvm crc32c_intel aesni_intel ablk_helper
> > > cryptd aes_x86_64 aes_generic evdev sd_mod
> > >  crc_t10dif mperf snd_pcm ahci snd_timer tpm_tis microcode snd tpm
> > > libahci tpm_bios soundcore libata snd_pag
> > > e_alloc pcspkr ehci_hcd lpc_ich usbcore mfd_core hpsa scsi_mod
> > > usb_common button processor thermal_sys
> > > [180926.657762] CPU 12
> > > [180926.660008] Pid: 5948, comm: nginx-fl Not tainted 3.6.0-cloudflare
> > > #1 HP ProLiant DL180 G6
> > > [180926.669820] RIP: 0010:[<ffffffffa02ccdd1>]  [<ffffffffa02ccdd1>]
> > > destroy_conntrack+0x55/0xa9 [nf_conntrack]
> > > [180926.680871] RSP: 0018:ffff8805bd73fbb8  EFLAGS: 00010246
> > > [180926.686930] RAX: 0000000000000000 RBX: ffff8806b6f56c30 RCX:
> > > ffff8805bd73fc48
> > > [180926.695055] RDX: 0000000000000000 RSI: 0000000000000006 RDI:
> > > ffff8806b6f56c30
> > > [180926.703179] RBP: ffffffff81651780 R08: 00000000000172e0 R09:
> > > ffffffff812cef91
> > > [180926.711304] R10: dead000000200200 R11: dead000000100100 R12:
> > > ffff8806b6f56c30
> > > [180926.727451] R13: 0000000000000000 R14: ffffffffa02d6030 R15:
> > > 0000000000000000
> > > [180926.735575] FS:  00007f382cdb2710(0000) GS:ffff880627cc0000(0000)
> > > knlGS:0000000000000000
> > > [180926.744766] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> > > [180926.751312] CR2: ffffffffff600400 CR3: 00000005bd8d3000 CR4:
> > > 00000000000007e0
> > > [180926.759436] DR0: 0000000000000000 DR1: 0000000000000000 DR2:
> > > 0000000000000000
> > > [180926.767560] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7:
> > > 0000000000000400
> > > [180926.775686] Process nginx-fl (pid: 5948, threadinfo
> > > ffff8805bd73e000, task ffff8805c9755960)
> > > [180926.785265] Stack:
> > > [180926.787634]  0000000000000000 ffffffff81651780 ffff8802720c2900
> > > ffffffffa02cde78
> > > [180926.796087]  ffffffff81651ec0 ffffffffa02d6030 00000000bff0efab
> > > ffff8805ffffffff
> > > [180926.804532]  0002880500000002 0000000300000014 0000001400000003
> > > 06ff880600000002
> > > [180926.812985] Call Trace:
> > > [180926.815845]  [<ffffffffa02cde78>] ? nf_conntrack_in+0x4ed/0x5bc
> > > [nf_conntrack]
> 
> Here below the trace shows the output path to close a tcp socket. But
> the line above refers to a conntrack function that is called in the
> input path.
> 
> If this process is just acting as plain http server, this backtrace
> doesn't seem consistent to me.
> 
> > > [180926.824069]  [<ffffffff812ac195>] ? nf_iterate+0x41/0x77
> > > [180926.830131]  [<ffffffff812b3820>] ? ip_options_echo+0x2ed/0x2ed
> > > [180926.836873]  [<ffffffff812ac2ee>] ? nf_hook_slow+0x68/0xfd
> > > [180926.843127]  [<ffffffff812b3820>] ? ip_options_echo+0x2ed/0x2ed
> > > [180926.849866]  [<ffffffff812b55a8>] ? __ip_local_out+0x98/0x9d
> > > [180926.856315]  [<ffffffff812b55b6>] ? ip_local_out+0x9/0x19
> > > [180926.862465]  [<ffffffff812c7582>] ? tcp_transmit_skb+0x7ae/0x7f1
> > > [180926.869305]  [<ffffffff810fff4c>] ? virt_to_head_page+0x9/0x2c
> > > [180926.875949]  [<ffffffff812c78a6>] ? tcp_send_active_reset+0xd5/0x101
> > > [180926.883175]  [<ffffffff812bc38f>] ? tcp_close+0x118/0x354
> > > [180926.889334]  [<ffffffff812dbdc2>] ? inet_release+0x75/0x7b
> > > [180926.895591]  [<ffffffff81278bff>] ? sock_release+0x19/0x73
> > > [180926.901845]  [<ffffffff81278c7b>] ? sock_close+0x22/0x27
> > > [180926.907906]  [<ffffffff81109de8>] ? __fput+0xe9/0x1ae
> > > [180926.913677]  [<ffffffff81057157>] ? task_work_run+0x53/0x67
> > > [180926.920031]  [<ffffffff8100e50c>] ? do_notify_resume+0x79/0x8d
> > > [180926.926673]  [<ffffffff8134e5b2>] ? int_signal+0x12/0x17
> > > [180926.932732] Code: 05 48 89 df ff d0 48 c7 c7 30 66 2d a0 e8 11 b0
> > > 07 e1 48 89 df e8 72 25 00 00 48 8b 43
> > >  78 a8 08 75 2a 48 8b 53 10 48 85 d2 75 04 <0f> 0b eb fe 48 8b 43 08
> > > 48 89 02 a8 01 75 04 48 89 50 08 48 be
> > > [180926.954788] RIP  [<ffffffffa02ccdd1>] destroy_conntrack+0x55/0xa9
> > > [nf_conntrack]
> > > [180926.963217]  RSP <ffff8805bd73fbb8>
> > > [180926.967700] ---[ end trace 54a660a52afd5820 ]---
> > > [180926.973038] Kernel panic - not syncing: Fatal exception in interrupt
> > > 
> > > ---
> > > Ian Applegate
> > > CloudFlare
> > > --
> > > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> > > the body of a message to majordomo@vger.kernel.org
> > > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> > > Please read the FAQ at  http://www.tux.org/lkml/
> > 
> > -- 
> > Regards/Gruss,
> >     Boris.

^ permalink raw reply

* RE: [PATCH V2 0/7] support the cpts found on am335x devices
From: N, Mugunthan V @ 2012-10-16 16:33 UTC (permalink / raw)
  To: Richard Cochran, netdev@vger.kernel.org
  Cc: linux-arm-kernel@lists.infradead.org, David Miller,
	Chemparathy, Cyril, Govindarajan, Sriramakrishnan
In-Reply-To: <cover.1350329726.git.richardcochran@gmail.com>

> -----Original Message-----
> From: Richard Cochran [mailto:richardcochran@gmail.com]
> Sent: Tuesday, October 16, 2012 1:18 AM
> To: netdev@vger.kernel.org
> Cc: linux-arm-kernel@lists.infradead.org; David Miller; Chemparathy,
> Cyril; N, Mugunthan V; Govindarajan, Sriramakrishnan
> Subject: [PATCH V2 0/7] support the cpts found on am335x devices
> 
> This patch series, based on linux-3.7-rc1 plus the fixes I posted
> today, adds support for the Common Platform Time Sync (CPTS) found on
> the popular BeagleBone. The code enables hardware time stamping and a
> PTP Hardware Clock.
> 
> Changes in V2
>    - Now uses device tree
>    - Actually works with vanilla kernel
> 
> This work has been tested using the linuxptp PTP stack, and it seems
> to be working quite well. One limitation of the hardware is that not
> possible to adjust the clock frequency. Even without with this
> capability, the driver will be still be useful for 802.1AS
> applications, since they typically use a free running clock.
> 
> There is one open issue with this driver which will hopefully soon be
> resolved. Time stamping only works on UDP packets. Although Layer 2 is
> supposed to work according to the TRM, I have not yet figured out
> how. The UDP only works when setting an undocumented bit, so maybe
> someone from TI can fill me in on this.
> 
> Thanks,
> Richard
> 
> 
> Richard Cochran (7):
>   cpsw: rename register banks to match the reference manual
>   cpsw: add missing fields to the CPSW_SS register bank.
>   cpsw: correct the CPSW_PORT register bank declaration
>   cpsw: add a common header file for regsiter declarations
>   cpts: introduce time stamping code and a PTP hardware clock.
>   cpsw: add a DT field for the cpts offset
>   cpsw: use the time stamping capabilities of the cpts
> 
>  Documentation/devicetree/bindings/net/cpsw.txt |   11 +-
>  arch/arm/boot/dts/am33xx.dtsi                  |    5 +-
>  drivers/net/ethernet/ti/Kconfig                |    8 +
>  drivers/net/ethernet/ti/Makefile               |    2 +-
>  drivers/net/ethernet/ti/cpsw.c                 |   84 ++++-
>  drivers/net/ethernet/ti/cpsw_reg.h             |   81 ++++
>  drivers/net/ethernet/ti/cpts.c                 |  468
> ++++++++++++++++++++++++
>  drivers/net/ethernet/ti/cpts.h                 |  148 ++++++++
>  include/linux/platform_data/cpsw.h             |    1 +
>  9 files changed, 788 insertions(+), 20 deletions(-)
>  create mode 100644 drivers/net/ethernet/ti/cpsw_reg.h
>  create mode 100644 drivers/net/ethernet/ti/cpts.c
>  create mode 100644 drivers/net/ethernet/ti/cpts.h
> 
> --
> 1.7.2.5

Richard

I had seen some issues with the patch series.

* CPTS will hold only LSB 32 bits of 64 bit Timer and the upper 32 bit
  time value has to be taken care by the software, but the time stamp
  which is passed to skb or PTP clock consist of only 32 bit time value
* CPTS interrupts should be utilized to service Half and Full roll over
  events as it is non sync events with respect to get/set time and PTP
  pkt Tx/Rx
* CPTS Time which is obtained from hardware is not actually a nano
  seconds as the CPTS ref clock is tied to 250MHz for AM335x.
* CPSW register mapping done in this patch series removes the CPSW
  driver support for previous version found in TI814x
* CPSW Time stamping is done only for port 0 and port 1 is not done

Regards
Mugunthan V N

^ permalink raw reply

* Re: regression when connecting to ipv6 localhost
From: Eric Dumazet @ 2012-10-16 16:43 UTC (permalink / raw)
  To: Jan Hinnerk Stosch; +Cc: netdev
In-Reply-To: <CAO_aot66K-7Je8dSnYTxxkoaDgQ3JpG7t=MdTK0A0ixPX_AP-A@mail.gmail.com>

On Tue, 2012-10-16 at 18:07 +0200, Jan Hinnerk Stosch wrote:
> 2012/10/15 Jan Hinnerk Stosch <janhinnerk.stosch@gmail.com>:
> >
> > Yes. Attached..
> 
> Today I read about the existence of the "git bisect" function and if I
> have not done anything wrong the "bad commit" which lead to this
> regression is ddbe503203855939946430e39bae58de11b70b69.
> Perhaps this can help you.

Interesting, I was about to ask you to do a bisection ;)

So the hash value of ::1 was changed, and it has bad effect on your
machine...

Could it be hash collision and an old bug being uncovered ?

Could you trace inet6_addr_hash() a bit ?

diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index d7c56f8..096c04c 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -580,7 +580,10 @@ ipv6_link_dev_addr(struct inet6_dev *idev, struct inet6_ifaddr *ifp)
 
 static u32 inet6_addr_hash(const struct in6_addr *addr)
 {
-	return hash_32(ipv6_addr_hash(addr), IN6_ADDR_HSIZE_SHIFT);
+	u32 res = hash_32(ipv6_addr_hash(addr), IN6_ADDR_HSIZE_SHIFT);
+
+	pr_err("inet6_addr_hash(%pi6) %u\n", addr, res);
+	return res;
 }
 
 /* On success it returns ifp with increased reference count */

^ permalink raw reply related

* Re: bpf filter : support for vlan tag
From: Ani Sinha @ 2012-10-16 16:54 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: Daniel Borkmann, netdev
In-Reply-To: <1350386917.3954.890.camel@edumazet-glaptop>

On Tue, Oct 16, 2012 at 4:28 AM, Eric Dumazet <eric.dumazet@gmail.com> wrote:

>
> Note that if speed is needed, we also want to update various JIT
> implementations.
>

Thanks Eric for the patch. I will take a look at it. We also need the
JIT module support as well (for x86 and x86_64) since we use the JIT
filter. I have been studying the various instructions and how other
filter operations have been implemented using them but it will take me
a little bit more time to understand the code.

Cheers,
ani

^ permalink raw reply

* Re: regression when connecting to ipv6 localhost
From: Eric Dumazet @ 2012-10-16 16:55 UTC (permalink / raw)
  To: Jan Hinnerk Stosch; +Cc: netdev
In-Reply-To: <1350405787.3954.1229.camel@edumazet-glaptop>

On Tue, 2012-10-16 at 18:43 +0200, Eric Dumazet wrote:
> On Tue, 2012-10-16 at 18:07 +0200, Jan Hinnerk Stosch wrote:
> > 2012/10/15 Jan Hinnerk Stosch <janhinnerk.stosch@gmail.com>:
> > >
> > > Yes. Attached..
> > 
> > Today I read about the existence of the "git bisect" function and if I
> > have not done anything wrong the "bad commit" which lead to this
> > regression is ddbe503203855939946430e39bae58de11b70b69.
> > Perhaps this can help you.
> 
> Interesting, I was about to ask you to do a bisection ;)
> 
> So the hash value of ::1 was changed, and it has bad effect on your
> machine...
> 
> Could it be hash collision and an old bug being uncovered ?
> 
> Could you trace inet6_addr_hash() a bit ?

Dont bother, I found the bug. Its related to network namespaces

I'll send a fix asap.

Thanks !

^ permalink raw reply

* [PATCH] Devicetree support for enc28j60 SPI Ethernet chip
From: Michal Vanka @ 2012-10-16 16:50 UTC (permalink / raw)
  To: netdev; +Cc: lanconelli.claudio, devicetree-discuss

Hi,
the following patch adds generic openfirmware/devicetree support to 
enc28j60 driver.

It also adds support for custom hardware based (FPGA) "interrupt line 
deasserter" for processors with level triggered interrupts
(for example Altera Nios2), as the enc28j60 works only with
processors with edge triggered interrupt.

The patch was tested on custom Altera Nios2 system.

Signed-off-by: Michal Vanka <mv@vanka.net>

diff -uprN 
a/Documentation/devicetree/bindings/net/microchip-enc28j60.txt 
b/Documentation/devicetree/bindings/net/microchip-enc28j60.txt
--- a/Documentation/devicetree/bindings/net/microchip-enc28j60.txt 
1969-12-31 19:00:00.000000000 -0500
+++ b/Documentation/devicetree/bindings/net/microchip-enc28j60.txt 
2011-10-16 11:38:33.000000000 -0400
@@ -0,0 +1,30 @@
+* Microchip enc28j60 Ethernet
+
+Required properties:
+- compatible : Should be "microchip,enc28j60"
+- interrupts : Should contain 1 interrupt.
+- reg : Should be 0
+
+Optional properties:
+- interrupt_deassert_reg : should contain address of additional (FPGA)
+  interrupt deassert hardware for processors with level triggered 
interrupts
+
+
+Example (for enc28j60 under opencores tinyspi controller):
+
+tiny_spi_1: spi@0x2160 {
+	compatible = "opencores,tiny-spi-1.0", "opencores,tiny-spi-rtlsvn2";
+	reg = < 0x00002160 0x00000020 >;
+	interrupt-parent = < &cpu >;
+	interrupts = < 2 >;
+	clock-frequency = < 100000000 >;
+	baud-width = < 8 >;	/* BAUD_WIDTH type NUMBER */
+	gpios = < &spi1_cs 0 0 >;
+	ethernet: enc28j60@0 {
+		compatible = "microchip,enc28j60";
+		spi-max-frequency = < 20000000 >;
+		reg = < 0 >;
+		interrupts = < 4 >;
+		interrupt_deassert_reg = < 0x00003000 >;
+	};
+}; //end spi@0x2160 (tiny_spi_1)
diff -uprN a/drivers/net/ethernet/microchip/enc28j60.c 
b/drivers/net/ethernet/microchip/enc28j60.c
--- a/drivers/net/ethernet/microchip/enc28j60.c	2011-10-02 
07:31:43.000000000 -0400
+++ b/drivers/net/ethernet/microchip/enc28j60.c	2011-10-16 
11:36:44.000000000 -0400
@@ -32,7 +32,7 @@
  #include "enc28j60_hw.h"

  #define DRV_NAME	"enc28j60"
-#define DRV_VERSION	"1.01"
+#define DRV_VERSION	"1.02"

  #define SPI_OPLEN	1

@@ -73,6 +73,7 @@ struct enc28j60_net {
  	int rxfilter;
  	u32 msg_enable;
  	u8 spi_transfer_buf[SPI_TRANSFER_BUF_LEN];
+	u8 *interrupt_deassert_reg;
  };

  /* use ethtool to change the level for any given device */
@@ -1320,6 +1321,10 @@ static irqreturn_t enc28j60_irq(int irq,
  	 * Remember that we access enc28j60 registers through SPI bus
  	 * via spi_sync() call.
  	 */
+
+	if (priv->interrupt_deassert_reg)
+		writeb(1, priv->interrupt_deassert_reg);
+
  	schedule_work(&priv->irq_work);

  	return IRQ_HANDLED;
@@ -1541,6 +1546,37 @@ static const struct net_device_ops enc28
  	.ndo_validate_addr	= eth_validate_addr,
  };

+#ifdef CONFIG_OF
+#include <linux/of.h>
+#include <linux/ioport.h>
+#include <linux/io.h>
+
+static int __devinit enc28j60_of_probe(struct spi_device *spi,
+					struct enc28j60_net *priv)
+{
+	u8 *reg;
+	const __be32 *prop;
+	int len;
+
+	if (!of_device_is_available(spi->dev.of_node))
+		return -ENODEV;
+
+	prop = of_get_property(spi->dev.of_node,
+					"interrupt_deassert_reg", &len);
+
+	if (prop && len >= sizeof(__be32))
+		reg = be32_to_cpup(prop);
+	else
+		return -ENODEV;
+
+	if (!devm_request_mem_region(&spi->dev, reg, 4, DRV_NAME))
+		return -ENOMEM;
+
+	priv->interrupt_deassert_reg = devm_ioremap_nocache(&spi->dev, reg, 4);
+	return 0;
+}
+#endif
+
  static int __devinit enc28j60_probe(struct spi_device *spi)
  {
  	struct net_device *dev;
@@ -1569,6 +1605,10 @@ static int __devinit enc28j60_probe(stru
  	INIT_WORK(&priv->restart_work, enc28j60_restart_work_handler);
  	dev_set_drvdata(&spi->dev, priv);	/* spi to priv reference */
  	SET_NETDEV_DEV(dev, &spi->dev);
+	priv->interrupt_deassert_reg = 0;
+#ifdef CONFIG_OF
+	enc28j60_of_probe(spi, priv);
+#endif

  	if (!enc28j60_chipset_init(dev)) {
  		if (netif_msg_probe(priv))
@@ -1631,10 +1671,20 @@ static int __devexit enc28j60_remove(str
  	return 0;
  }

+#ifdef CONFIG_OF
+static const struct of_device_id enc28j60_dt_ids[] = {
+	{ .compatible = "microchip,enc28j60", },
+	{ /* sentinel */ }
+};
+#else
+#define enc28j60_dt_ids NULL
+#endif
+
  static struct spi_driver enc28j60_driver = {
  	.driver = {
  		   .name = DRV_NAME,
  		   .owner = THIS_MODULE,
+		   .of_match_table = enc28j60_dt_ids,
  	 },
  	.probe = enc28j60_probe,
  	.remove = __devexit_p(enc28j60_remove),

^ permalink raw reply

* Re: [RFC PATCH] net/core: support runtime PM on net_device
From: Rafael J. Wysocki @ 2012-10-16 17:07 UTC (permalink / raw)
  To: Ming Lei; +Cc: David S. Miller, Oliver Neukum, Alan Stern, netdev, linux-pm
In-Reply-To: <1349873913-10701-1-git-send-email-ming.lei@canonical.com>

On Wednesday 10 of October 2012 20:58:33 Ming Lei wrote:
> In ioctl path on net_device, the physical deivce is often
> touched, but the physical device may have been put into runtime
> suspend state already, so cause some utilitis(ifconfig, ethtool,
> ...) to return failure in this situation.
> 
> This patch enables runtime PM on net_device and mark it as
> no_callbacks, and resumes the net_device if physical device
> is to be accessed, then suspends it after completion of the
> access.
> 
> This patch fixes the problem above.
> 
> Signed-off-by: Ming Lei <ming.lei@canonical.com>

Well, it looks good in principle.

Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>


> ---
>  net/core/dev.c       |   83 +++++++++++++++++++++++++++++++-------------------
>  net/core/ethtool.c   |    9 ++++--
>  net/core/net-sysfs.c |    4 +++
>  3 files changed, 63 insertions(+), 33 deletions(-)
> 
> diff --git a/net/core/dev.c b/net/core/dev.c
> index de2bad7..d46d4ed 100644
> --- a/net/core/dev.c
> +++ b/net/core/dev.c
> @@ -135,6 +135,7 @@
>  #include <linux/net_tstamp.h>
>  #include <linux/static_key.h>
>  #include <net/flow_keys.h>
> +#include <linux/pm_runtime.h>
>  
>  #include "net-sysfs.h"
>  
> @@ -4966,39 +4967,24 @@ static int dev_ifsioc_locked(struct net *net, struct ifreq *ifr, unsigned int cm
>  /*
>   *	Perform the SIOCxIFxxx calls, inside rtnl_lock()
>   */
> -static int dev_ifsioc(struct net *net, struct ifreq *ifr, unsigned int cmd)
> +static int __dev_ifsioc(struct net *net, struct ifreq *ifr, unsigned int cmd)
>  {
>  	int err;
>  	struct net_device *dev = __dev_get_by_name(net, ifr->ifr_name);
>  	const struct net_device_ops *ops;
>  
> -	if (!dev)
> -		return -ENODEV;
> -
>  	ops = dev->netdev_ops;
>  
>  	switch (cmd) {
>  	case SIOCSIFFLAGS:	/* Set interface flags */
>  		return dev_change_flags(dev, ifr->ifr_flags);
>  
> -	case SIOCSIFMETRIC:	/* Set the metric on the interface
> -				   (currently unused) */
> -		return -EOPNOTSUPP;
> -
>  	case SIOCSIFMTU:	/* Set the MTU of a device */
>  		return dev_set_mtu(dev, ifr->ifr_mtu);
>  
>  	case SIOCSIFHWADDR:
>  		return dev_set_mac_address(dev, &ifr->ifr_hwaddr);
>  
> -	case SIOCSIFHWBROADCAST:
> -		if (ifr->ifr_hwaddr.sa_family != dev->type)
> -			return -EINVAL;
> -		memcpy(dev->broadcast, ifr->ifr_hwaddr.sa_data,
> -		       min(sizeof ifr->ifr_hwaddr.sa_data, (size_t) dev->addr_len));
> -		call_netdevice_notifiers(NETDEV_CHANGEADDR, dev);
> -		return 0;
> -
>  	case SIOCSIFMAP:
>  		if (ops->ndo_set_config) {
>  			if (!netif_device_present(dev))
> @@ -5022,21 +5008,6 @@ static int dev_ifsioc(struct net *net, struct ifreq *ifr, unsigned int cmd)
>  		if (!netif_device_present(dev))
>  			return -ENODEV;
>  		return dev_mc_del_global(dev, ifr->ifr_hwaddr.sa_data);
> -
> -	case SIOCSIFTXQLEN:
> -		if (ifr->ifr_qlen < 0)
> -			return -EINVAL;
> -		dev->tx_queue_len = ifr->ifr_qlen;
> -		return 0;
> -
> -	case SIOCSIFNAME:
> -		ifr->ifr_newname[IFNAMSIZ-1] = '\0';
> -		return dev_change_name(dev, ifr->ifr_newname);
> -
> -	case SIOCSHWTSTAMP:
> -		err = net_hwtstamp_validate(ifr);
> -		if (err)
> -			return err;
>  		/* fall through */
>  
>  	/*
> @@ -5072,6 +5043,56 @@ static int dev_ifsioc(struct net *net, struct ifreq *ifr, unsigned int cmd)
>  	return err;
>  }
>  
> +static int dev_ifsioc(struct net *net, struct ifreq *ifr, unsigned int cmd)
> +{
> +	int err;
> +	struct net_device *dev = __dev_get_by_name(net, ifr->ifr_name);
> +	const struct net_device_ops *ops;
> +
> +	if (!dev)
> +		return -ENODEV;
> +
> +	ops = dev->netdev_ops;
> +
> +	switch (cmd) {
> +	case SIOCSIFMETRIC:	/* Set the metric on the interface
> +				   (currently unused) */
> +		return -EOPNOTSUPP;
> +
> +	case SIOCSIFHWBROADCAST:
> +		if (ifr->ifr_hwaddr.sa_family != dev->type)
> +			return -EINVAL;
> +		memcpy(dev->broadcast, ifr->ifr_hwaddr.sa_data,
> +		       min(sizeof ifr->ifr_hwaddr.sa_data, (size_t) dev->addr_len));
> +		call_netdevice_notifiers(NETDEV_CHANGEADDR, dev);
> +		return 0;
> +
> +	case SIOCSIFTXQLEN:
> +		if (ifr->ifr_qlen < 0)
> +			return -EINVAL;
> +		dev->tx_queue_len = ifr->ifr_qlen;
> +		return 0;
> +
> +	case SIOCSIFNAME:
> +		ifr->ifr_newname[IFNAMSIZ-1] = '\0';
> +		return dev_change_name(dev, ifr->ifr_newname);
> +
> +	case SIOCSHWTSTAMP:
> +		err = net_hwtstamp_validate(ifr);
> +		if (err)
> +			return err;
> +	}
> +
> +	if (pm_runtime_get_sync(&dev->dev) < 0)
> +		return -ENODEV;
> +
> +	err = __dev_ifsioc(net, ifr, cmd);
> +
> +	pm_runtime_put(&dev->dev);
> +
> +	return err;
> +}
> +
>  /*
>   *	This function handles all "interface"-type I/O control requests. The actual
>   *	'doing' part of this is dev_ifsioc above.
> diff --git a/net/core/ethtool.c b/net/core/ethtool.c
> index 4d64cc2..2dc43da 100644
> --- a/net/core/ethtool.c
> +++ b/net/core/ethtool.c
> @@ -25,6 +25,7 @@
>  #include <linux/slab.h>
>  #include <linux/rtnetlink.h>
>  #include <linux/sched.h>
> +#include <linux/pm_runtime.h>
>  
>  /*
>   * Some useful ethtool_ops methods that're device independent.
> @@ -1464,10 +1465,13 @@ int dev_ethtool(struct net *net, struct ifreq *ifr)
>  			return -EPERM;
>  	}
>  
> +	if ((ret = pm_runtime_get_sync(&dev->dev)) < 0)
> +		return -ENODEV;
> +
>  	if (dev->ethtool_ops->begin) {
>  		rc = dev->ethtool_ops->begin(dev);
>  		if (rc  < 0)
> -			return rc;
> +			goto exit;
>  	}
>  	old_features = dev->features;
>  
> @@ -1648,6 +1652,7 @@ int dev_ethtool(struct net *net, struct ifreq *ifr)
>  
>  	if (old_features != dev->features)
>  		netdev_features_change(dev);
> -
> +exit:
> +	pm_runtime_put(&dev->dev);
>  	return rc;
>  }
> diff --git a/net/core/net-sysfs.c b/net/core/net-sysfs.c
> index bcf02f6..c9adb89 100644
> --- a/net/core/net-sysfs.c
> +++ b/net/core/net-sysfs.c
> @@ -23,6 +23,7 @@
>  #include <linux/export.h>
>  #include <linux/jiffies.h>
>  #include <net/wext.h>
> +#include <linux/pm_runtime.h>
>  
>  #include "net-sysfs.h"
>  
> @@ -1415,6 +1416,9 @@ int netdev_register_kobject(struct net_device *net)
>  	if (error)
>  		return error;
>  
> +	pm_runtime_no_callbacks(dev);
> +	pm_runtime_enable(dev);
> +
>  	error = register_queue_kobjects(net);
>  	if (error) {
>  		device_del(dev);
> 
-- 
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox