Netdev List
 help / color / mirror / Atom feed
* Re: [PATCH net-next] tcp: be more strict before accepting ECN negociation
From: Eric Dumazet @ 2012-05-04 19:05 UTC (permalink / raw)
  To: Rick Jones
  Cc: David Miller, netdev, Perry Lorier, Matt Mathis, Yuchung Cheng,
	Neal Cardwell, Tom Herbert, Wilmer van der Gaast, Dave Täht,
	Ankur Jain
In-Reply-To: <4FA42491.2020104@hp.com>

On Fri, 2012-05-04 at 11:48 -0700, Rick Jones wrote:
> On 05/04/2012 11:23 AM, Eric Dumazet wrote:
> > On Fri, 2012-05-04 at 11:09 -0700, Rick Jones wrote:
> >> What sort of networks were these?  Any chance it was some sort of
> >> attempt to add ECN to FastOpen?
> >
> > Nothing to do with fastopen.
> >
> > Just take a look at a random http server and sample all SYN packets it
> > receives.
> >
> > Some of them have TOS bits 0 or 1 set, or even both bits set.
> 
> I'll fire-up tcpdump on netperf.org:
> 
> tcpdump -i eth0 -vvv '(tcp[tcpflags] & tcp-syn != 0) && (ip[1] != 0x0)'
> 
> and see what appears.
> 
> rick

of (ip[1] & 3 != 0)


Note that you could catch SYNACK with this filter (if your machine
initiates some active TCP sessions), since SYNACK might have ECT bits,
if some stacks implemented :

http://tools.ietf.org/html/draft-kuzmanovic-ecn-syn-00  ( Adding
Explicit Congestion Notification (ECN) Capability to TCP's SYN/ACK
Packets )

http://tools.ietf.org/id/draft-ietf-tcpm-ecnsyn-04.txt

^ permalink raw reply

* Re: [PATCH net-next] tcp: be more strict before accepting ECN negociation
From: Rick Jones @ 2012-05-04 18:48 UTC (permalink / raw)
  To: Eric Dumazet
  Cc: David Miller, netdev, Perry Lorier, Matt Mathis, Yuchung Cheng,
	Neal Cardwell, Tom Herbert, Wilmer van der Gaast, Dave Täht,
	Ankur Jain
In-Reply-To: <1336155815.3752.365.camel@edumazet-glaptop>

On 05/04/2012 11:23 AM, Eric Dumazet wrote:
> On Fri, 2012-05-04 at 11:09 -0700, Rick Jones wrote:
>> What sort of networks were these?  Any chance it was some sort of
>> attempt to add ECN to FastOpen?
>
> Nothing to do with fastopen.
>
> Just take a look at a random http server and sample all SYN packets it
> receives.
>
> Some of them have TOS bits 0 or 1 set, or even both bits set.

I'll fire-up tcpdump on netperf.org:

tcpdump -i eth0 -vvv '(tcp[tcpflags] & tcp-syn != 0) && (ip[1] != 0x0)'

and see what appears.

rick

^ permalink raw reply

* Re: [PATCH v3 0/7] ARM: davinci: add support for the am1808 based enbw_cmc board
From: Sekhar Nori @ 2012-05-04 18:36 UTC (permalink / raw)
  To: hs-ynQEQJNshbs
  Cc: davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ,
	linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA, netdev-u79uwXL29TY76Z2rM5mHXA,
	David Woodhouse, Ben Dooks, Wolfram Sang, Kevin Hilman,
	Wolfgang Denk, Sergei Shtylyov, Grant Likely, Rob Herring
In-Reply-To: <4FA3F6C2.9010602-ynQEQJNshbs@public.gmane.org>

Hi Heiko,

On 5/4/2012 9:03 PM, Heiko Schocher wrote:
> Hello,
> 
> this v3 patchset is now pending for more than 1 month without
> seeing comments for it. Are there no more issues?

I am yet to get to them. I have mostly cleared my backlog and will be
looking into these next. Sorry about the delay.

> Should I rebase it (if no further comments occur), as it is
> pending so long? (If so, against which tree?)

The series touches multiple subsystems, so may be each patch will go
through individual subsystem maintainer.

Also copying Grant and Rob as device tree maintainers.

Thanks,
Sekhar

> 
> Thanks.
> 
> bye,
> Heiko
> 
> Heiko Schocher wrote:
>> This patchserie add support for the davinci am1808 based
>> enbw_cmc board.
>>
>> Important: I rebased this patchserie against the irqdomain/next
>> branch from grant likely, as he suggested to rework the OF
>> intcontroller changes to the irqdomain work, branch found here:
>>
>> http://git.secretlab.ca/?p=linux-2.6.git;a=shortlog;h=refs/heads/irqdomain/next
>>
>>     git://git.secretlab.ca/git/linux-2.6.git irqdomain/next
>>
>>     commit 280ad7fda5f95211857fda38960f2b6fdf6edd3e
>>     Author: Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
>>     Date:   Fri Feb 24 14:58:54 2012 -0700
>>
>>     mfd: twl-core: Add IRQ_DOMAIN dependency
>>
>> changes for v2:
>> Post this patchserie now as v2, as reworked in the
>> comments I got for the RFC serie.
>>
>> changes for v3:
>> - Interrupt Controller:
>>   - comment from Sergei Shtylyov:
>>     - rename compatible" prop to "ti,cp_intc"
>>     - cp_intc_init() is now also for the of case
>>       the name of the init function (it calls the
>>       "new" __cp_intc_init() function, which was
>>       the "old" cp_intc_init()). Through this
>>       rework the changes for OF is better visible.
>>       As the OF case uses the irq_domain rework from
>>       Grant Likely, maybe the none OF case can use
>>       this also, but this should be tested on a hw ...
>>  
>> Got no comments to the following points, I noted in the
>> RFC series, so posting this patchseries with them:
>>
>> - ARM: davinci: configure davinci aemif chipselects through OF
>>   not moved to mfd, as mentioned in this discussion:
>>   http://davinci-linux-open-source.1494791.n2.nabble.com/PATCH-arm-davinci-configure-davinci-aemif-chipselects-through-OF-td7059739.html
>>   instead use a phandle in the DTS, so drivers which
>>   uses the davinci aemif, can call davinci_aemif_setup_timing_of()
>>
>>   This is just thought as an RFC ... The enbw_cmc board
>>   support not really need to setup this bus timings, as
>>   they are setup in U-Boot ... but I want to post this,
>>   as I think, it is a nice to have, and I am not really
>>   sure, if this has to be a MFD device (If so, all bus
>>   interfaces for other SoCs should be converted also to
>>   MFD devices) ... as an example how this can be used
>>   I add this to the davinci nand controller OF support
>>   patch, in this patchserie.
>>
>> - ARM: davinci: mux: add OF support
>>   I want to get rid of the pin setup code in board code ...
>>   This patch introduces a davinci_cfg_reg_of() function,
>>   which davinci drivers can call, if they found a
>>   "pinmux-handle", so used in the following drivers in
>>   this patchserie:
>>
>>   drivers/net/ethernet/ti/davinci_emac
>>   drivers/i2c/busses/i2c-davinci.c
>>   drivers/mtd/nand/davinci_nand.c
>>
>> - post this board support with USB support, even though
>>   USB is only working with the 10 ms "workaround", posted here:
>>   http://comments.gmane.org/gmane.linux.usb.general/54505
>>   I see this issue also on the AM1808 TMDXEXP1808L evalboard.
>>
>> - MMC and USB are not using OF support yet, ideas how to port
>>   this are welcome. I need for USB and MMC board specific
>>   callbacks, how to solve this with OF support?
>>
>> Signed-off-by: Heiko Schocher <hs-ynQEQJNshbs@public.gmane.org>
>> Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
>> Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org
>> Cc: davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/@public.gmane.org
>> Cc: linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
>> Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
>> Cc: netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
>> Cc: David Woodhouse <dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
>> Cc: Ben Dooks <ben-linux-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org>
>> Cc: Wolfram Sang <w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
>> Cc: Sekhar Nori <nsekhar-l0cyMroinI0@public.gmane.org>
>> Cc: Kevin Hilman <khilman-l0cyMroinI0@public.gmane.org>
>> Cc: Wolfgang Denk <wd-ynQEQJNshbs@public.gmane.org>
>> Cc: Sergei Shtylyov <sshtylyov-Igf4POYTYCDQT0dZR+AlfA@public.gmane.org>
>>
>> Heiko Schocher (7):
>>   ARM: davinci, intc: Add OF support for TI interrupt controller
>>   ARM: davinci: configure davinci aemif chipselects through OF
>>   ARM: davinci: mux: add OF support
>>   ARM: davinci: net: davinci_emac: add OF support
>>   ARM: davinci: i2c: add OF support
>>   ARM: mtd: nand: davinci: add OF support for davinci nand controller
>>   ARM: davinci: add support for the am1808 based enbw_cmc board
>>
>>  .../devicetree/bindings/arm/davinci/aemif.txt      |  119 ++++++
>>  .../bindings/arm/davinci/davinci_emac.txt          |   43 +++
>>  .../devicetree/bindings/arm/davinci/i2c.txt        |   33 ++
>>  .../devicetree/bindings/arm/davinci/intc.txt       |   27 ++
>>  .../devicetree/bindings/arm/davinci/mux.txt        |   40 ++
>>  .../devicetree/bindings/arm/davinci/nand.txt       |   74 ++++
>>  arch/arm/boot/dts/enbw_cmc.dts                     |  268 ++++++++++++++
>>  arch/arm/configs/enbw_cmc_defconfig                |  123 +++++++
>>  arch/arm/mach-davinci/Kconfig                      |    9 +
>>  arch/arm/mach-davinci/Makefile                     |    1 +
>>  arch/arm/mach-davinci/aemif.c                      |   86 +++++-
>>  arch/arm/mach-davinci/board-enbw-cmc.c             |  380 ++++++++++++++++++++
>>  arch/arm/mach-davinci/cp_intc.c                    |   87 ++++-
>>  arch/arm/mach-davinci/include/mach/aemif.h         |    1 +
>>  arch/arm/mach-davinci/include/mach/mux.h           |    2 +
>>  arch/arm/mach-davinci/include/mach/uncompress.h    |    1 +
>>  arch/arm/mach-davinci/mux.c                        |   73 ++++-
>>  drivers/i2c/busses/i2c-davinci.c                   |   37 ++
>>  drivers/mtd/nand/davinci_nand.c                    |   85 +++++-
>>  drivers/net/ethernet/ti/davinci_emac.c             |   94 +++++-
>>  20 files changed, 1569 insertions(+), 14 deletions(-)
>>  create mode 100644 Documentation/devicetree/bindings/arm/davinci/aemif.txt
>>  create mode 100644 Documentation/devicetree/bindings/arm/davinci/davinci_emac.txt
>>  create mode 100644 Documentation/devicetree/bindings/arm/davinci/i2c.txt
>>  create mode 100644 Documentation/devicetree/bindings/arm/davinci/intc.txt
>>  create mode 100644 Documentation/devicetree/bindings/arm/davinci/mux.txt
>>  create mode 100644 Documentation/devicetree/bindings/arm/davinci/nand.txt
>>  create mode 100644 arch/arm/boot/dts/enbw_cmc.dts
>>  create mode 100644 arch/arm/configs/enbw_cmc_defconfig
>>  create mode 100644 arch/arm/mach-davinci/board-enbw-cmc.c
>>
> 

^ permalink raw reply

* Re: [PATCH] net: davinci_emac: Add pre_open, post_stop platform callbacks
From: Mark A. Greer @ 2012-05-04 18:29 UTC (permalink / raw)
  To: Kevin Hilman
  Cc: Bedia, Vaibhav, nsekhar, Ben Hutchings, netdev@vger.kernel.org,
	linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org
In-Reply-To: <87fwbgdnlp.fsf@ti.com>

On Fri, May 04, 2012 at 07:31:30AM -0700, Kevin Hilman wrote:
> "Bedia, Vaibhav" <vaibhav.bedia@ti.com> writes:

Hi Kevin.

> > If it does, perhaps there should some other mechanism for letting
> > users control the system behavior.
> 
> Come to think of it, the right solution here is probably to use runtime
> PM.  We could then to add some custom hooks for davinci_emac in the
> device code to use enable_hlt/disable_hlt based on activity.

That was my first thought, actually, but that only works if its
okay for the driver to call enable_hlt/disable_hlt directly (i.e.,
have runtime_suspend() call enable_hlt() and runtime_resume() call
disable_hlt()).  However, I assumed it would _not_ be acceptable for
the driver to issue those calls directly.  Its a platform-specific
issue that we shouldn't be polluting the driver with and there are
currently no drivers that call them under the drivers directory.

If its not okay to call enable_hlt/disable_hlt directly, then we still
need callback hooks to the plaform code (i.e., some version of this
patch).

> In order to do that though, the davinci_emac driver needs to be runtime
> PM converted.

We probably should pm_runtime-ize the driver either way but we need
to resolve the question of whether its okay for the driver to call
enable_hlt/disable_hlt directly or not.  If it is okay, we call them
in runtime_suspend/resume.  If it isn't okay, then we still need 
platform callback hooks.

Mark

^ permalink raw reply

* Re: [PATCH net-next] tcp: be more strict before accepting ECN negociation
From: Eric Dumazet @ 2012-05-04 18:23 UTC (permalink / raw)
  To: Rick Jones
  Cc: David Miller, netdev, Perry Lorier, Matt Mathis, Yuchung Cheng,
	Neal Cardwell, Tom Herbert, Wilmer van der Gaast, Dave Täht,
	Ankur Jain
In-Reply-To: <4FA41B5B.5080103@hp.com>

On Fri, 2012-05-04 at 11:09 -0700, Rick Jones wrote:
> On 05/04/2012 08:14 AM, Eric Dumazet wrote:
> > From: Eric Dumazet<edumazet@google.com>
> >
> > It appears some networks play bad games with the two bits reserved for
> > ECN. This can trigger false congestion notifications and very slow
> > transferts.
> >
> > Since RFC 3168 (6.1.1) forbids SYN packets to carry CT bits, we can
> > disable TCP ECN negociation if it happens we receive mangled CT bits in
> > the SYN packet.
> 
> What sort of networks were these?  Any chance it was some sort of 
> attempt to add ECN to FastOpen?

Nothing to do with fastopen.

Just take a look at a random http server and sample all SYN packets it
receives.

Some of them have TOS bits 0 or 1 set, or even both bits set.

^ permalink raw reply

* Re: [PATCH 04/15] drivers/net: Do not free an IRQ if its request failed
From: Linus Walleij @ 2012-05-04 18:22 UTC (permalink / raw)
  To: Lee Jones
  Cc: linux, linus.walleij, arnd, netdev, grant.likely, cjb,
	linux-arm-kernel
In-Reply-To: <4FA3E35B.3000604@linaro.org>

On Fri, May 4, 2012 at 4:10 PM, Lee Jones <lee.jones@linaro.org> wrote:
> On 19/04/12 21:36, Lee Jones wrote:

>> -               goto out_free_irq;
>> +               goto out_disable_resources;
>>        }
>>
>>        retval = register_netdev(dev);
>
>
> Anything on this from the Net guys?

This was merged for 3.4-rc5, check:
https://lkml.org/lkml/2012/4/29/2

Linus Walleij

^ permalink raw reply

* Re: [PATCH net-next] tcp: be more strict before accepting ECN negociation
From: Rick Jones @ 2012-05-04 18:09 UTC (permalink / raw)
  To: Eric Dumazet
  Cc: David Miller, netdev, Perry Lorier, Matt Mathis, Yuchung Cheng,
	Neal Cardwell, Tom Herbert, Wilmer van der Gaast, Dave Täht,
	Ankur Jain
In-Reply-To: <1336144442.3752.348.camel@edumazet-glaptop>

On 05/04/2012 08:14 AM, Eric Dumazet wrote:
> From: Eric Dumazet<edumazet@google.com>
>
> It appears some networks play bad games with the two bits reserved for
> ECN. This can trigger false congestion notifications and very slow
> transferts.
>
> Since RFC 3168 (6.1.1) forbids SYN packets to carry CT bits, we can
> disable TCP ECN negociation if it happens we receive mangled CT bits in
> the SYN packet.

What sort of networks were these?  Any chance it was some sort of 
attempt to add ECN to FastOpen?

rick jones

^ permalink raw reply

* Re: [PATCH] net: davinci_emac: Add pre_open, post_stop platform callbacks
From: Mark A. Greer @ 2012-05-04 16:35 UTC (permalink / raw)
  To: Bedia, Vaibhav
  Cc: Hilman, Kevin, Ben Hutchings, netdev@vger.kernel.org,
	linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org
In-Reply-To: <B5906170F1614E41A8A28DE3B8D121433EA81B04@DBDE01.ent.ti.com>

On Fri, May 04, 2012 at 01:55:58PM +0000, Bedia, Vaibhav wrote:

Hi Vaibhav.

> Hi Kevin,
> 
> On Fri, May 04, 2012 at 03:02:16, Hilman, Kevin wrote:
> > Ben Hutchings <bhutchings@solarflare.com> writes:
> > 
> > > On Thu, 2012-05-03 at 19:25 +0000, Bedia, Vaibhav wrote:
> > >> On Fri, May 04, 2012 at 00:16:32, Mark A. Greer wrote:
> > >> [...]
> > >> > > 
> > >> > > So, if I understood this correctly, it's effectively like blocking a low power
> > >> > > state transition (here wfi execution) when EMAC is active?
> > >> > 
> > >> > Assuming "it" is my patch, correct.
> > >> > 
> > >> 
> > >> Recently I was thinking about how to get certain drivers to disallow some or all
> > >> low power states and to me this also seems to fall in a similar category.
> > >> 
> > >> One of the suggestions that I got was to check if the 'wakeup' entry associated with
> > >> the device under sysfs could be leveraged for this. The PM code could maintain
> > >> a whitelist (or blacklist) of devices and it decides the low power state to enter
> > >> based on the 'wakeup' entries associated with these devices. In this particular case,
> > >> maybe the driver could simply set this entry to non-wakeup capable when necessary and
> > >> then let the PM code take care of skipping the wfi execution.
> > >> 
> > >> Thoughts/brickbats welcome :)
> > >
> > > You can maybe (ab)use the pm_qos mechanism for this.
> > 
> > I thought of using this too, but it doesn't actually solve the problem:
> > 
> > Using PM QoS, you can avoid hitting the deeper idle states by setting a
> > very low wakeup latency.  However, on ARM platforms, even the shallowest
> > idle states use the WFI instruction, and the EMAC would still not be
> > able to wake the system from WFI.  A possibility would be define the
> > shallowest idle state to be one that doesn't call WFI and just does
> > cpu_relax().  However, that would only work for CPUidle since PM QoS
> > constraints are only checked by CPUidle.  So, a non-CPUidle kernel would
> > still have this bug. :(
> > 
> > Ultimately, this is just broken HW.  This network HW was bolted onto an
> > existing SoC without consideration for wakeup capabilities.  The result
> > is that any use of this device with networking has to completely disable
> > SoC power management.
> > 
> 
> I was checking with internally with some folks on the issue being addressed
> in this patch and unfortunately no one seems to be aware of this :(

This is from the TI hardware engineer that I talked to after spending many
hours trying to get the EMAC to wake up the system.  It was a private
conversation so I won't share his name/email here.  If you want to contact
him, please reach me privately.

"No, AM35x can't be waken up from CPGMAC. If customer need to wake AM35x
 up from Ethernet, a wake up interrupt signal from Ethernet phy should be
 connected to one of wakeup capable GPIO pins."

> Mark mentioned nfs mounted rootfs being slow but in my limited testing I
> didn't observe this on an AM3517 board. I am yet to go through the PSP code
> to be fully sure that wfi instruction is indeed being executed but I wanted
> to check if I need to do something specific to reproduce this at my end.

When you go through the PSP code, look for the definition & use of
omap3_can_sleep().  That routine returns '0' when either cpu_is_omap3505()
or cpu_is_omap3517() ruturns true (among other conditions).  You will see
that its used in omap3_pm_idle() to exit early so pm_idle never executes
the wfi.

I expect that you don't have CONFIG_CPU_IDLE enabled, so cpuidle has no
opportunity to execute a wfi.  If it is enabled, omap3_can_sleep() is
used in omap3_idle_bm_check() which is used in omap3_enter_idle_bm()
so the wfi won't be executed when omap3_enter_idle_bm() is called.
omap3_enter_idle() isn't called (in my testing--the code is very
different from current k.o.) so it doesn't execute the wfi either.

Therefore, you don't see an issue when running PSP code.

> Irrespective of the above problem being present in the h/w, I feel the approach
> of adding platform callbacks for blocking deeper idle states will create problems
> when this is required for multiple peripherals. I agree that the default behavior
> should be to support the deepest idle state based on the peripherals being used but
> IMO the user should have the flexibility to change this behavior if he wishes
> to do so. 

I agree but hopefully this doesn't become common.  The real issue is a
missing hardware feature that--again, hopefully--won't become common.

Mark

^ permalink raw reply

* Re: [net v2 0/4][pull request] Intel Wired LAN Driver Updates
From: Jeff Kirsher @ 2012-05-04 16:11 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, gospo, sassmann
In-Reply-To: <20120504.105815.2251328360345706986.davem@davemloft.net>

[-- Attachment #1: Type: text/plain, Size: 927 bytes --]

On Fri, 2012-05-04 at 10:58 -0400, David Miller wrote:
> From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Date: Fri,  4 May 2012 04:05:00 -0700
> 
> > This series of patches contains fixes for ixgbe, igb and e1000.
> > 
> > v2: Added e1000 patch to fix sparse warnings and igb/ixgbe to
> >     correct an issue of calling function to reset Tx queue in
> >     init path.
> > 
> > The following are changes since commit 5a8887d39e1ba5ee2d4ccb94b14d6f2dce5ddfca:
> >   sungem: Fix WakeOnLan
> > and are available in the git repository at:
> >   git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net master`
> 
> I pulled, but what is that "`" character doing at the end of that GIT url?
> I removed it when I pulled as you don't seem to have a "master`" branch in
> your tree as far as I can tell.

Sorry about that, not sure what happened there.  Guess I missed the ESC
key when editing the cover...

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply

* Re: [PATCH net-next] tcp: be more strict before accepting ECN negociation
From: David Miller @ 2012-05-04 16:06 UTC (permalink / raw)
  To: eric.dumazet
  Cc: netdev, perryl, mattmathis, ycheng, ncardwell, therbert, wilmer,
	dave.taht, jankur
In-Reply-To: <1336144442.3752.348.camel@edumazet-glaptop>

From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Fri, 04 May 2012 17:14:02 +0200

> From: Eric Dumazet <edumazet@google.com>
> 
> It appears some networks play bad games with the two bits reserved for
> ECN. This can trigger false congestion notifications and very slow
> transferts.
> 
> Since RFC 3168 (6.1.1) forbids SYN packets to carry CT bits, we can
> disable TCP ECN negociation if it happens we receive mangled CT bits in
> the SYN packet.
> 
> Signed-off-by: Eric Dumazet <edumazet@google.com>

Applied.

^ permalink raw reply

* Re: [PATCHv3 6/6] mISDN: Help to identify the card
From: Karsten Keil @ 2012-05-04 15:58 UTC (permalink / raw)
  To: Paul Gortmaker; +Cc: David Miller, netdev, Karsten Keil
In-Reply-To: <CAP=VYLpKjFHx7b3oTjz7a8wvxQmPME-sK147n8CX6y8+Pii2rg@mail.gmail.com>

Am 04.05.2012 16:48, schrieb Paul Gortmaker:
> On Fri, May 4, 2012 at 10:15 AM, Karsten Keil <kkeil@linux-pingi.de> wrote:
>> From: Karsten Keil <isdn@linux-pingi.de>
>>
>> With multiple cards is hard to figure out which port caused trouble
>> int the layer2 routines (e.g. got a timeout).
>> Now we have the informations in the log output.
> 
> If you are in here changing all these printk(KERN_LEVEL ...) lines anyway,
> then perhaps it is a good time to make use of pr_warn() and friends to
> help avoid some multi-line fragmentation things like this:
> 
>>                                printk(KERN_WARNING
>>                                       "%s: windowar[%d] is NULL\n",
>> -                                      __func__, p1);
>> +                                      mISDNDevName4ch(&l2->ch), p1);
>>                        l2->windowar[p1] = NULL;
> 

Good point, but this should be consolidated over the complete project.
Will put this on TODO, after the current issues are solved.

Thanks
Karsten

^ permalink raw reply

* Re: [PATCHv3 0/6] mISDN: Collection of patches for layer1/layer2
From: David Miller @ 2012-05-04 16:02 UTC (permalink / raw)
  To: kkeil; +Cc: netdev
In-Reply-To: <1336140935-25830-1-git-send-email-kkeil@linux-pingi.de>

From: Karsten Keil <kkeil@linux-pingi.de>
Date: Fri,  4 May 2012 16:15:29 +0200

> Version 3
> 	Implement the TIMER3 configuration in one patch.
>         Fix additional issues found by checkpatch --strict
> 
> Version 2
> I removed the PCM only stuff and the 2MBit test mode and will rework
> them for a later submit. I added the lowlevel driver changes for the TIMER3
> config to this series.
> 
> These patches are mainly the outcome of a TBR3 recertification done
> within BT labs.
> The patches itself are very well tested more as 10000 valid/invalid
> call setup were done in preparartion for the TBR3 aproval.
> 
> For net-next.

All applied, thanks.

^ permalink raw reply

* Re: [PATCH] bnx2x: bug fix when loading after SAN boot
From: David Miller @ 2012-05-04 15:57 UTC (permalink / raw)
  To: ariele; +Cc: netdev, eilong
In-Reply-To: <1336033320-16440-1-git-send-email-ariele@broadcom.com>

From: "Ariel Elior" <ariele@broadcom.com>
Date: Thu, 3 May 2012 11:22:00 +0300

> +	/* clear hw from errors which mnay have resulted from an interrupted
> +	 * dmae transaction.
> +	 */

Please fix the typos in this comment.

^ permalink raw reply

* Re: [PATCH net-next] tcp: be more strict before accepting ECN negociation
From: Neal Cardwell @ 2012-05-04 15:54 UTC (permalink / raw)
  To: Eric Dumazet
  Cc: David Miller, netdev, Perry Lorier, Matt Mathis, Yuchung Cheng,
	Tom Herbert, Wilmer van der Gaast, Dave Täht, Ankur Jain
In-Reply-To: <1336144442.3752.348.camel@edumazet-glaptop>

On Fri, May 4, 2012 at 11:14 AM, Eric Dumazet <eric.dumazet@gmail.com> wrote:
> From: Eric Dumazet <edumazet@google.com>
>
> It appears some networks play bad games with the two bits reserved for
> ECN. This can trigger false congestion notifications and very slow
> transferts.
>
> Since RFC 3168 (6.1.1) forbids SYN packets to carry CT bits, we can
> disable TCP ECN negociation if it happens we receive mangled CT bits in
> the SYN packet.
>
> Signed-off-by: Eric Dumazet <edumazet@google.com>
> Cc: Perry Lorier <perryl@google.com>
> Cc: Matt Mathis <mattmathis@google.com>
> Cc: Yuchung Cheng <ycheng@google.com>
> Cc: Neal Cardwell <ncardwell@google.com>
> Cc: Wilmer van der Gaast <wilmer@google.com>
> Cc: Ankur Jain <jankur@google.com>
> Cc: Tom Herbert <therbert@google.com>
> Cc: Dave Täht <dave.taht@bufferbloat.net>
> ---
>  include/net/tcp.h   |   23 ++++++++++++++++-------
>  net/ipv4/tcp_ipv4.c |    2 +-
>  net/ipv6/tcp_ipv6.c |    2 +-
>  3 files changed, 18 insertions(+), 9 deletions(-)

Acked-by: Neal Cardwell <ncardwell@google.com>

neal

^ permalink raw reply

* Re: [PATCH net-next] net: sched: factorize code (qdisc_drop())
From: David Miller @ 2012-05-04 15:51 UTC (permalink / raw)
  To: eric.dumazet; +Cc: netdev
In-Reply-To: <1336142241.3752.331.camel@edumazet-glaptop>

From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Fri, 04 May 2012 16:37:21 +0200

> From: Eric Dumazet <edumazet@google.com>
> 
> Use qdisc_drop() helper where possible.
> 
> Signed-off-by: Eric Dumazet <edumazet@google.com>

Applied, thanks Eric.

^ permalink raw reply

* Re: [net-next 0/8][pull request] Intel Wired LAN Driver Updates
From: David Miller @ 2012-05-04 15:49 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
In-Reply-To: <1336127716-20383-1-git-send-email-jeffrey.t.kirsher@intel.com>

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Fri,  4 May 2012 03:35:08 -0700

> This series of patches contains updates for e1000e and ixgbe.
> The e1000e updates the version number and adds support for i217
> silicon.  The ixgbe patches are cleanups/re-organizations to
> the driver.
> 
> The following are changes since commit f19250883fe09dd2b6b5f818d84874837948c546:
>   net/niu: remove one superfluous dma mask check
> and are available in the git repository at:
>   git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next master

Pulled, thanks Jeff.

^ permalink raw reply

* Re: [PATCH v2] RPS: Sparse connection optimizations - v2
From: Eric Dumazet @ 2012-05-04 15:47 UTC (permalink / raw)
  To: Tom Herbert; +Cc: Deng-Cheng Zhu, davem, netdev
In-Reply-To: <CA+mtBx-CErRU=3ewkAjVrGN3dGzjsTz8Q-E8J+Xa+529OVEvwA@mail.gmail.com>

On Fri, 2012-05-04 at 08:31 -0700, Tom Herbert wrote:
> > I think the mechanisms of rps_dev_flow_table and cpu_flow (in this
> > patch) are different: The former works along with rps_sock_flow_table
> > whose CPU info is based on recvmsg by the application. But for the tests
> > like what I did, there's no application involved.
> >
> While rps_sock_flow_table is currently only managed by recvmsg, it
> still is the general mechanism that maps flows to CPUs for steering.
> There should be nothing preventing you from populating and managing
> entries in other ways.

It might be done from a netfilter module, activated in FORWARD chain for
example.

^ permalink raw reply

* Re: [PATCH v3 0/7] ARM: davinci: add support for the am1808 based enbw_cmc board
From: Heiko Schocher @ 2012-05-04 15:33 UTC (permalink / raw)
  To: davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/
  Cc: Kevin Hilman, Wolfgang Denk, Sergei Shtylyov,
	netdev-u79uwXL29TY76Z2rM5mHXA,
	devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ, Wolfram Sang,
	linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA, Ben Dooks, David Woodhouse,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
In-Reply-To: <1330945804-3379-1-git-send-email-hs-ynQEQJNshbs@public.gmane.org>

Hello,

this v3 patchset is now pending for more than 1 month without
seeing comments for it. Are there no more issues?

Should I rebase it (if no further comments occur), as it is
pending so long? (If so, against which tree?)

Thanks.

bye,
Heiko

Heiko Schocher wrote:
> This patchserie add support for the davinci am1808 based
> enbw_cmc board.
> 
> Important: I rebased this patchserie against the irqdomain/next
> branch from grant likely, as he suggested to rework the OF
> intcontroller changes to the irqdomain work, branch found here:
> 
> http://git.secretlab.ca/?p=linux-2.6.git;a=shortlog;h=refs/heads/irqdomain/next
> 
>     git://git.secretlab.ca/git/linux-2.6.git irqdomain/next
> 
>     commit 280ad7fda5f95211857fda38960f2b6fdf6edd3e
>     Author: Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
>     Date:   Fri Feb 24 14:58:54 2012 -0700
> 
>     mfd: twl-core: Add IRQ_DOMAIN dependency
> 
> changes for v2:
> Post this patchserie now as v2, as reworked in the
> comments I got for the RFC serie.
> 
> changes for v3:
> - Interrupt Controller:
>   - comment from Sergei Shtylyov:
>     - rename compatible" prop to "ti,cp_intc"
>     - cp_intc_init() is now also for the of case
>       the name of the init function (it calls the
>       "new" __cp_intc_init() function, which was
>       the "old" cp_intc_init()). Through this
>       rework the changes for OF is better visible.
>       As the OF case uses the irq_domain rework from
>       Grant Likely, maybe the none OF case can use
>       this also, but this should be tested on a hw ...
>  
> Got no comments to the following points, I noted in the
> RFC series, so posting this patchseries with them:
> 
> - ARM: davinci: configure davinci aemif chipselects through OF
>   not moved to mfd, as mentioned in this discussion:
>   http://davinci-linux-open-source.1494791.n2.nabble.com/PATCH-arm-davinci-configure-davinci-aemif-chipselects-through-OF-td7059739.html
>   instead use a phandle in the DTS, so drivers which
>   uses the davinci aemif, can call davinci_aemif_setup_timing_of()
> 
>   This is just thought as an RFC ... The enbw_cmc board
>   support not really need to setup this bus timings, as
>   they are setup in U-Boot ... but I want to post this,
>   as I think, it is a nice to have, and I am not really
>   sure, if this has to be a MFD device (If so, all bus
>   interfaces for other SoCs should be converted also to
>   MFD devices) ... as an example how this can be used
>   I add this to the davinci nand controller OF support
>   patch, in this patchserie.
> 
> - ARM: davinci: mux: add OF support
>   I want to get rid of the pin setup code in board code ...
>   This patch introduces a davinci_cfg_reg_of() function,
>   which davinci drivers can call, if they found a
>   "pinmux-handle", so used in the following drivers in
>   this patchserie:
> 
>   drivers/net/ethernet/ti/davinci_emac
>   drivers/i2c/busses/i2c-davinci.c
>   drivers/mtd/nand/davinci_nand.c
> 
> - post this board support with USB support, even though
>   USB is only working with the 10 ms "workaround", posted here:
>   http://comments.gmane.org/gmane.linux.usb.general/54505
>   I see this issue also on the AM1808 TMDXEXP1808L evalboard.
> 
> - MMC and USB are not using OF support yet, ideas how to port
>   this are welcome. I need for USB and MMC board specific
>   callbacks, how to solve this with OF support?
> 
> Signed-off-by: Heiko Schocher <hs-ynQEQJNshbs@public.gmane.org>
> Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
> Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org
> Cc: davinci-linux-open-source-VycZQUHpC/PFrsHnngEfi1aTQe2KTcn/@public.gmane.org
> Cc: linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
> Cc: linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> Cc: netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> Cc: David Woodhouse <dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
> Cc: Ben Dooks <ben-linux-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org>
> Cc: Wolfram Sang <w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
> Cc: Sekhar Nori <nsekhar-l0cyMroinI0@public.gmane.org>
> Cc: Kevin Hilman <khilman-l0cyMroinI0@public.gmane.org>
> Cc: Wolfgang Denk <wd-ynQEQJNshbs@public.gmane.org>
> Cc: Sergei Shtylyov <sshtylyov-Igf4POYTYCDQT0dZR+AlfA@public.gmane.org>
> 
> Heiko Schocher (7):
>   ARM: davinci, intc: Add OF support for TI interrupt controller
>   ARM: davinci: configure davinci aemif chipselects through OF
>   ARM: davinci: mux: add OF support
>   ARM: davinci: net: davinci_emac: add OF support
>   ARM: davinci: i2c: add OF support
>   ARM: mtd: nand: davinci: add OF support for davinci nand controller
>   ARM: davinci: add support for the am1808 based enbw_cmc board
> 
>  .../devicetree/bindings/arm/davinci/aemif.txt      |  119 ++++++
>  .../bindings/arm/davinci/davinci_emac.txt          |   43 +++
>  .../devicetree/bindings/arm/davinci/i2c.txt        |   33 ++
>  .../devicetree/bindings/arm/davinci/intc.txt       |   27 ++
>  .../devicetree/bindings/arm/davinci/mux.txt        |   40 ++
>  .../devicetree/bindings/arm/davinci/nand.txt       |   74 ++++
>  arch/arm/boot/dts/enbw_cmc.dts                     |  268 ++++++++++++++
>  arch/arm/configs/enbw_cmc_defconfig                |  123 +++++++
>  arch/arm/mach-davinci/Kconfig                      |    9 +
>  arch/arm/mach-davinci/Makefile                     |    1 +
>  arch/arm/mach-davinci/aemif.c                      |   86 +++++-
>  arch/arm/mach-davinci/board-enbw-cmc.c             |  380 ++++++++++++++++++++
>  arch/arm/mach-davinci/cp_intc.c                    |   87 ++++-
>  arch/arm/mach-davinci/include/mach/aemif.h         |    1 +
>  arch/arm/mach-davinci/include/mach/mux.h           |    2 +
>  arch/arm/mach-davinci/include/mach/uncompress.h    |    1 +
>  arch/arm/mach-davinci/mux.c                        |   73 ++++-
>  drivers/i2c/busses/i2c-davinci.c                   |   37 ++
>  drivers/mtd/nand/davinci_nand.c                    |   85 +++++-
>  drivers/net/ethernet/ti/davinci_emac.c             |   94 +++++-
>  20 files changed, 1569 insertions(+), 14 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/arm/davinci/aemif.txt
>  create mode 100644 Documentation/devicetree/bindings/arm/davinci/davinci_emac.txt
>  create mode 100644 Documentation/devicetree/bindings/arm/davinci/i2c.txt
>  create mode 100644 Documentation/devicetree/bindings/arm/davinci/intc.txt
>  create mode 100644 Documentation/devicetree/bindings/arm/davinci/mux.txt
>  create mode 100644 Documentation/devicetree/bindings/arm/davinci/nand.txt
>  create mode 100644 arch/arm/boot/dts/enbw_cmc.dts
>  create mode 100644 arch/arm/configs/enbw_cmc_defconfig
>  create mode 100644 arch/arm/mach-davinci/board-enbw-cmc.c
> 

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd-ynQEQJNshbs@public.gmane.org

^ permalink raw reply

* Re: [PATCH v2] RPS: Sparse connection optimizations - v2
From: Tom Herbert @ 2012-05-04 15:31 UTC (permalink / raw)
  To: Deng-Cheng Zhu; +Cc: davem, netdev, eric.dumazet
In-Reply-To: <4FA35A3D.8000205@mips.com>

> I think the mechanisms of rps_dev_flow_table and cpu_flow (in this
> patch) are different: The former works along with rps_sock_flow_table
> whose CPU info is based on recvmsg by the application. But for the tests
> like what I did, there's no application involved.
>
While rps_sock_flow_table is currently only managed by recvmsg, it
still is the general mechanism that maps flows to CPUs for steering.
There should be nothing preventing you from populating and managing
entries in other ways.

Tom

>
> Deng-Cheng

^ permalink raw reply

* Re: [Lksctp-developers] Bug: sctp packets are dropped after IPSEC rekeying (route cache issue)
From: Nicolas Dichtel @ 2012-05-04 15:24 UTC (permalink / raw)
  To: David Miller, vyasevich
  Cc: babu.srinivasan, lksctp-developers, linux-sctp, netdev,
	michael.kreuzer
In-Reply-To: <20120504.104812.502049217620285020.davem@davemloft.net>

[-- Attachment #1: Type: text/plain, Size: 653 bytes --]

Le 04/05/2012 16:48, David Miller a écrit :
> From: Nicolas Dichtel<nicolas.dichtel@6wind.com>
> Date: Fri, 04 May 2012 12:07:38 +0200
>
>> Finally, this patch was never integrated into the mainline. Should I
>> rebase it on the head?
>>
>> I've attach the last approved patch.
>>
>> Here is the original thread:
>> http://sourceforge.net/mailarchive/message.php?msg_id=25786006
>
> Vlad no longer works for HP so your email likely will bounce, and
> he will not see it.
Right.

>
> His new email address is vyasevich@gmail.com, as per the MAINTAINERS
> file.

I put the right email address now. I attach the patch again, for Vlad.


Thank you,
Nicolas

[-- Attachment #2: 0001-sctp-check-cached-dst-before-using-it.patch --]
[-- Type: text/x-patch, Size: 2498 bytes --]

>From a54926eded11de99a0cfcda45d852d2f6e919b77 Mon Sep 17 00:00:00 2001
From: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Date: Wed, 21 Jul 2010 09:59:49 +0200
Subject: [PATCH] sctp: check cached dst before using it

dst_check() will take care of SA (and obsolete field), hence
IPsec rekeying scenario is taken into account.

Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
---
 include/net/sctp/sctp.h |   13 +++++++++++++
 net/sctp/output.c       |    4 +---
 net/sctp/transport.c    |   17 -----------------
 3 files changed, 14 insertions(+), 20 deletions(-)

diff --git a/include/net/sctp/sctp.h b/include/net/sctp/sctp.h
index 65946bc..ab54df3 100644
--- a/include/net/sctp/sctp.h
+++ b/include/net/sctp/sctp.h
@@ -691,4 +691,17 @@ static inline void sctp_v4_map_v6(union sctp_addr *addr)
 	addr->v6.sin6_addr.s6_addr32[2] = htonl(0x0000ffff);
 }
 
+/* The cookie is always 0 since this is how it's used in the
+ * pmtu code.
+ */
+static inline struct dst_entry *sctp_transport_dst_check(struct sctp_transport *t)
+{
+	if (t->dst && !dst_check(t->dst, 0)) {
+		dst_release(t->dst);
+		t->dst = NULL;
+	}
+
+	return t->dst;
+}
+
 #endif /* __net_sctp_h__ */
diff --git a/net/sctp/output.c b/net/sctp/output.c
index a646681..93daf59 100644
--- a/net/sctp/output.c
+++ b/net/sctp/output.c
@@ -376,9 +376,7 @@ int sctp_packet_transmit(struct sctp_packet *packet)
 	 */
 	skb_set_owner_w(nskb, sk);
 
-	/* The 'obsolete' field of dst is set to 2 when a dst is freed. */
-	if (!dst || (dst->obsolete > 1)) {
-		dst_release(dst);
+	if (!sctp_transport_dst_check(tp)) {
 		sctp_transport_route(tp, NULL, sctp_sk(sk));
 		if (asoc && (asoc->param_flags & SPP_PMTUD_ENABLE)) {
 			sctp_assoc_sync_pmtu(asoc);
diff --git a/net/sctp/transport.c b/net/sctp/transport.c
index 132046c..bce3f06 100644
--- a/net/sctp/transport.c
+++ b/net/sctp/transport.c
@@ -222,23 +222,6 @@ void sctp_transport_pmtu(struct sctp_transport *transport)
 		transport->pathmtu = SCTP_DEFAULT_MAXSEGMENT;
 }
 
-/* this is a complete rip-off from __sk_dst_check
- * the cookie is always 0 since this is how it's used in the
- * pmtu code
- */
-static struct dst_entry *sctp_transport_dst_check(struct sctp_transport *t)
-{
-	struct dst_entry *dst = t->dst;
-
-	if (dst && dst->obsolete && dst->ops->check(dst, 0) == NULL) {
-		dst_release(t->dst);
-		t->dst = NULL;
-		return NULL;
-	}
-
-	return dst;
-}
-
 void sctp_transport_update_pmtu(struct sctp_transport *t, u32 pmtu)
 {
 	struct dst_entry *dst;
-- 
1.5.4.5


^ permalink raw reply related

* [PATCH net-next] tcp: be more strict before accepting ECN negociation
From: Eric Dumazet @ 2012-05-04 15:14 UTC (permalink / raw)
  To: David Miller
  Cc: netdev, Perry Lorier, Matt Mathis, Yuchung Cheng, Neal Cardwell,
	Tom Herbert, Wilmer van der Gaast, Dave Täht, Ankur Jain

From: Eric Dumazet <edumazet@google.com>

It appears some networks play bad games with the two bits reserved for
ECN. This can trigger false congestion notifications and very slow
transferts.

Since RFC 3168 (6.1.1) forbids SYN packets to carry CT bits, we can
disable TCP ECN negociation if it happens we receive mangled CT bits in
the SYN packet.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Perry Lorier <perryl@google.com>
Cc: Matt Mathis <mattmathis@google.com>
Cc: Yuchung Cheng <ycheng@google.com>
Cc: Neal Cardwell <ncardwell@google.com>
Cc: Wilmer van der Gaast <wilmer@google.com>
Cc: Ankur Jain <jankur@google.com>
Cc: Tom Herbert <therbert@google.com>
Cc: Dave Täht <dave.taht@bufferbloat.net>
---
 include/net/tcp.h   |   23 ++++++++++++++++-------
 net/ipv4/tcp_ipv4.c |    2 +-
 net/ipv6/tcp_ipv6.c |    2 +-
 3 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/include/net/tcp.h b/include/net/tcp.h
index c826ed7..92faa6a 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -367,13 +367,6 @@ static inline void tcp_dec_quickack_mode(struct sock *sk,
 #define	TCP_ECN_DEMAND_CWR	4
 #define	TCP_ECN_SEEN		8
 
-static __inline__ void
-TCP_ECN_create_request(struct request_sock *req, struct tcphdr *th)
-{
-	if (sysctl_tcp_ecn && th->ece && th->cwr)
-		inet_rsk(req)->ecn_ok = 1;
-}
-
 enum tcp_tw_status {
 	TCP_TW_SUCCESS = 0,
 	TCP_TW_RST = 1,
@@ -671,6 +664,22 @@ struct tcp_skb_cb {
 
 #define TCP_SKB_CB(__skb)	((struct tcp_skb_cb *)&((__skb)->cb[0]))
 
+/* RFC3168 : 6.1.1 SYN packets must not have ECT/ECN bits set
+ *
+ * If we receive a SYN packet with these bits set, it means a network is
+ * playing bad games with TOS bits. In order to avoid possible false congestion
+ * notifications, we disable TCP ECN negociation.
+ */
+static inline void
+TCP_ECN_create_request(struct request_sock *req, const struct sk_buff *skb)
+{
+	const struct tcphdr *th = tcp_hdr(skb);
+
+	if (sysctl_tcp_ecn && th->ece && th->cwr &&
+	    INET_ECN_is_not_ect(TCP_SKB_CB(skb)->ip_dsfield))
+		inet_rsk(req)->ecn_ok = 1;
+}
+
 /* Due to TSO, an SKB can be composed of multiple actual
  * packets.  To keep these tracked properly, we use this.
  */
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c
index cf97e98..4ff5e1f 100644
--- a/net/ipv4/tcp_ipv4.c
+++ b/net/ipv4/tcp_ipv4.c
@@ -1368,7 +1368,7 @@ int tcp_v4_conn_request(struct sock *sk, struct sk_buff *skb)
 		goto drop_and_free;
 
 	if (!want_cookie || tmp_opt.tstamp_ok)
-		TCP_ECN_create_request(req, tcp_hdr(skb));
+		TCP_ECN_create_request(req, skb);
 
 	if (want_cookie) {
 		isn = cookie_v4_init_sequence(sk, skb, &req->mss);
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c
index 57b2109..078d039 100644
--- a/net/ipv6/tcp_ipv6.c
+++ b/net/ipv6/tcp_ipv6.c
@@ -1140,7 +1140,7 @@ static int tcp_v6_conn_request(struct sock *sk, struct sk_buff *skb)
 	treq->rmt_addr = ipv6_hdr(skb)->saddr;
 	treq->loc_addr = ipv6_hdr(skb)->daddr;
 	if (!want_cookie || tmp_opt.tstamp_ok)
-		TCP_ECN_create_request(req, tcp_hdr(skb));
+		TCP_ECN_create_request(req, skb);
 
 	treq->iif = sk->sk_bound_dev_if;
 

^ permalink raw reply related

* Re: [net v2 0/4][pull request] Intel Wired LAN Driver Updates
From: David Miller @ 2012-05-04 14:58 UTC (permalink / raw)
  To: jeffrey.t.kirsher; +Cc: netdev, gospo, sassmann
In-Reply-To: <1336129504-29919-1-git-send-email-jeffrey.t.kirsher@intel.com>

From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Fri,  4 May 2012 04:05:00 -0700

> This series of patches contains fixes for ixgbe, igb and e1000.
> 
> v2: Added e1000 patch to fix sparse warnings and igb/ixgbe to
>     correct an issue of calling function to reset Tx queue in
>     init path.
> 
> The following are changes since commit 5a8887d39e1ba5ee2d4ccb94b14d6f2dce5ddfca:
>   sungem: Fix WakeOnLan
> and are available in the git repository at:
>   git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net master`

I pulled, but what is that "`" character doing at the end of that GIT url?
I removed it when I pulled as you don't seem to have a "master`" branch in
your tree as far as I can tell.

^ permalink raw reply

* Re: Fwd: Re: WARNING: at net/sched/sch_generic.c:256 dev_watchdog+0x277/0x280()
From: Alex Villací­s Lasso @ 2012-05-04 14:57 UTC (permalink / raw)
  To: netdev, Francois Romieu
In-Reply-To: <4FA2A6A4.1030308@ceibo.fiec.espol.edu.ec>

(Resending to netdev@vger.kernel.org since previous attempt was rejected as spam)

El 03/05/12 10:39, Alex Villací­s Lasso escribió:
> Alex Villací­s Lasso<avillaci@fiec.espol.edu.ec>  :
> [...]
> >  I am currently away from the target computer. How should I check for this? lspci?
>
> lspci can not tell much. Use 'dmesg | grep XID' instead.
[alex@karlalex linux-git]$ dmesg | grep -i xid
[   10.647557] r8169 0000:02:00.0: eth0: RTL8168b/8111b at 0xffffc90000352000, 00:22:68:44:17:2f, XID 98500000 IRQ 43
> A complete dmesg would be welcome.
>
> It could help to know a few things :
> - does the problem qualify as a regression since some kernel version ?
>    If so which one ?
I have only seen these messages since 3.4-rc1. Vanilla kernels up to 3.3, and stock Fedora 16 kernels (kernel-3.3.2-6.fc16.x86_64) did not display this problem. However, I cannot confirm that the latest stock kernel is free from the message, since I prefer 
to run the latest RC kernel on my home machine.
> - can it be reproduced with a kernel that has not been vbox tainted ?
I will check this. However, since the message only appears after an hour of so of moderate bittorrent traffic, it might take a while to confirm.
> - does networking recover ?
It does recover, after a few seconds.
>
> Thanks.
>
> -- 
> Ueimor
>

^ permalink raw reply

* Re: [PATCH v3] bonding: don't increase rx_dropped after processing LACPDUs
From: David Miller @ 2012-05-04 14:53 UTC (permalink / raw)
  To: jbohac; +Cc: eric.dumazet, fubar, andy, netdev
In-Reply-To: <20120504132824.GD32665@midget.suse.cz>

From: Jiri Bohac <jbohac@suse.cz>
Date: Fri, 4 May 2012 15:28:24 +0200

> On Fri, May 04, 2012 at 03:04:56PM +0200, Eric Dumazet wrote:
>> On Fri, 2012-05-04 at 14:19 +0200, Jiri Bohac wrote:
>> >  		if (likely(nskb)) {
>> > -			recv_probe(nskb, bond, slave);
>> > +			ret = recv_probe(nskb, bond, slave);
>> >  			dev_kfree_skb(nskb);
>> > +			if (ret == RX_HANDLER_CONSUMED) {
>> > +				kfree_skb(skb);
>> 
>> consume_skb(skb) to not fool drop_monitor/dropwatch ?
> 
> Thanks, fixed below:

You're doing the patch-as-reply thing again.

^ permalink raw reply

* Re: [PATCH net-next] net: skb_peek()/skb_peek_tail() cleanups
From: David Miller @ 2012-05-04 14:52 UTC (permalink / raw)
  To: eric.dumazet; +Cc: netdev
In-Reply-To: <1336136491.3752.318.camel@edumazet-glaptop>

From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Fri, 04 May 2012 15:01:31 +0200

> On Tue, 2012-05-01 at 09:41 -0400, David Miller wrote:
>> From: Eric Dumazet <eric.dumazet@gmail.com>
>> Date: Tue, 01 May 2012 04:31:46 +0200
>> 
>> > From: Eric Dumazet <edumazet@google.com>
>> > 
>> > remove useless casts and rename variables for less confusion.
>> > 
>> > Signed-off-by: Eric Dumazet <edumazet@google.com>
>> 
>> Applied, I really need to get back to completing the list_head
>> conversion :-/
> 
> Actually doubly linked lists everywhere has a performance issue.
> 
> When we dequeue one skb, we must bring in cpu cache the next skb as
> well, to perform the unlink.
> 
> In some places it would be better to not have a double linked list, and
> only perform a prefetch(skb->next).

Indeed, I'll keep this in mind.

^ 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