Netdev List
 help / color / mirror / Atom feed
* Re: [PATCH v5] net: add Faraday FTMAC100 10/100 Ethernet driver
From: Po-Yu Chuang @ 2011-01-25  2:46 UTC (permalink / raw)
  To: Eric Dumazet
  Cc: netdev, linux-kernel, bhutchings, joe, dilinger, mirqus,
	Po-Yu Chuang
In-Reply-To: <1295881662.2755.34.camel@edumazet-laptop>

Dear Eric,

On Mon, Jan 24, 2011 at 11:07 PM, Eric Dumazet <eric.dumazet@gmail.com> wrote:
> Le lundi 24 janvier 2011 à 20:39 +0800, Po-Yu Chuang a écrit :
>> From: Po-Yu Chuang <ratbert@faraday-tech.com>
>> +
>> +     priv->tx_pending++;
>> +     if (priv->tx_pending == TX_QUEUE_ENTRIES) {
>> +             if (net_ratelimit())
>> +                     netdev_info(netdev, "tx queue full\n");
>
> Hmm, I guess you didnt tested your driver with a pktgen flood ;)
>
> This 'netdev_info(netdev, "tx queue full\n");' is not necessary, since
> its a pretty normal condition for a driver (to fill its TX ring buffer)

Errr... No, I didn't test it with pktgen. I tested it with normal NFS usages.
I'll try it.

best regards,
Po-Yu Chuang

^ permalink raw reply

* Re: panic in tg3 driver
From: Matt Carlson @ 2011-01-25  2:25 UTC (permalink / raw)
  To: Matt Carlson; +Cc: Stephen Clark, Linux Kernel Network Developers, Michael Chan
In-Reply-To: <20110125005922.GA19701@mcarlson.broadcom.com>

On Mon, Jan 24, 2011 at 04:59:22PM -0800, Matt Carlson wrote:
> On Sun, Jan 16, 2011 at 10:11:50AM -0800, Stephen Clark wrote:
> > On 01/13/2011 08:12 AM, Stephen Clark wrote:
> > > On 01/11/2011 10:06 PM, Matt Carlson wrote:
> > >> lspci -vvv -xxx -s 81:00.0
> > >
> > >
> > >
> > > Further information - I found these messages in /var/log/messages. It 
> > > looks
> > > like after it switched to INTx mode interrupts for other devices were 
> > > hosed.
> > >
> > > Jan 12 08:37:49 localhost kernel: tg3 0000:81:00.0: eth2: No interrupt 
> > > was gener
> > > ated using MSI. Switching to INTx mode. Please report this failure to 
> > > the PCI ma
> > > intainer and include system chipset information
> > > Jan 12 08:37:49 localhost kernel: ADDRCONF(NETDEV_UP): eth2: link is 
> > > not ready
> > > Jan 12 08:38:50 localhost kernel: ata2: lost interrupt (Status 0x50)
> > > Jan 12 08:38:50 localhost kernel: ata2.01: exception Emask 0x0 SAct 
> > > 0x0 SErr 0x0
> > >  action 0x6 frozen
> > > Jan 12 08:38:50 localhost kernel: ata2.01: failed command: WRITE DMA
> > > Jan 12 08:38:50 localhost kernel: ata2.01: cmd 
> > > ca/00:08:e0:bc:51/00:00:00:00:00/f0 tag 0 dma 4096 out
> > > Jan 12 08:38:50 localhost kernel:          res 
> > > 40/00:01:00:4f:c2/00:00:00:00:00/b0 Emask 0x4 (timeout)
> > > Jan 12 08:38:50 localhost kernel: ata2.01: status: { DRDY }
> > > Jan 12 08:38:50 localhost kernel: ata2: soft resetting link
> > > Jan 12 08:38:50 localhost kernel: do_IRQ: 0.64 No irq handler for 
> > > vector (irq -1)
> > > Jan 12 08:38:50 localhost kernel: ata2.01: configured for UDMA/33
> > > Jan 12 08:38:54 localhost pppd[1983]: No response to 3 echo-requests
> > > Jan 12 08:39:55 localhost pppoe[1988]: Inactivity timeout... something 
> > > wicked happened on session 3363 
> > Just checking to make sure you have everything you need?
> 
> Sorry for the delay Stephen.
> 
> It looks to me like interrupts aren't being setup correctly on this
> system.  I tested MSI and INTx interrupt modes locally and they both
> work.  I'm guessing one of two things could be happening:
> 
> 1) The 2nd parameter of the low-level ISR (tg3_interrupt_tagged()) is
>    not correct.  The ISR tries to tell the hardware the interrupt is
>    acknowledged, but the message goes unheard.  (This might also explain
>    why other devices are also afflicted.)
> 
> 2) Something is blocking the delivery of the interrupt to the tg3 driver
>    altogether.
> 
> In both cases, the hardware persistently nags the host to ack the
> interrupt, hence the interrupt storm.

Just curious, is the problem still there if you add pci=nomsi to the
kernel command line?


^ permalink raw reply

* Re: [PATCH 1/1] IPVS netns BUG, register sysctl for root ns
From: Simon Horman @ 2011-01-25  2:15 UTC (permalink / raw)
  To: Hans Schillstrom; +Cc: ja, wensong, lvs-devel, netdev, netfilter-devel, hans
In-Reply-To: <1295878481-13623-1-git-send-email-hans.schillstrom@ericsson.com>

On Mon, Jan 24, 2011 at 03:14:41PM +0100, Hans Schillstrom wrote:
> The newly created table was not used when register sysctl for a new namespace.
> I.e. sysctl doesn't work for other than root namespace (init_net)
> 
> Signed-off-by: Hans Schillstrom <hans.schillstrom@ericsson.com>

Thanks Hans.

Patrick, please pull this change from

git://git.kernel.org/pub/scm/linux/kernel/git/horms/lvs-test-2.6.git for-patrick

^ permalink raw reply

* Re: does intel X520-SR(ixgbe) support RSS on single VLAN?
From: Rui @ 2011-01-25  2:10 UTC (permalink / raw)
  To: Alexander Duyck; +Cc: netdev@vger.kernel.org, e1000-devel@lists.sourceforge.net
In-Reply-To: <4D3DB248.5070802@intel.com>

On Tue, Jan 25, 2011 at 1:09 AM, Alexander Duyck
<alexander.h.duyck@intel.com> wrote:
> On 1/24/2011 6:18 AM, Rui wrote:
>>
>> hi
>> does intel X520-SR support RSS on single VLAN?
>>
>> tested with 3 different vlan id and priority packets
>> What I saw is that all packets were always delivered to the same RxQ.
>> looks can not get a different RSS index for these packet?
>> any setting needed?
>> --
>> 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
>
> The X520 should have no problems hashing on a single VLAN tagged frame.
>  However the VLAN will not be a part of the RSS hash.  The  only components
> of the hash are the IPv4/IPv6 source and destination addresses, and if the
> flow is TCP then the port numbers.
>
hi alexander
I got these information from the intel community:

'I asked our software engineers about your question, and this is what I learned.
You cannot filter by just VLAN or VLAN priority.  The L4 type will
also play a role in the filter and as such you would only be able to
filter TCP, UDP, and SCTP packets that are bound for a VLAN.
The command itself to setup a filter is “ethtool –U ethX flow-type
tcp4 vlan 0x2000 vlan-mask 0xE000 action Y” where X is the correct
index for the interface and Y is the queue you want to route the
traffic to.  This would have to be repeated for udp4 and sctp4.
I hope this will help.
Mark H"

so my question is that the VLAN is PART of the RSS or not? looks the
perfect filter support vlan id ?can the perfect filter support
wildchar,such as: flow-type ANY?
thanks


> I would recommend testing with something like the "netperf -t TCP_CRR" test
> which should open a number of ports and spread traffic out between multiple
> queues.
>
> Thanks,
>
> Alex
>

^ permalink raw reply

* Re: [PATCH 18/79] IPVS: Remove useless { } block from ip_vs_process_message()
From: Simon Horman @ 2011-01-25  2:10 UTC (permalink / raw)
  To: Joe Perches; +Cc: kaber, davem, netfilter-devel, netdev
In-Reply-To: <1295466052.1952.29.camel@Joe-Laptop>

On Wed, Jan 19, 2011 at 11:40:52AM -0800, Joe Perches wrote:
> On Wed, 2011-01-19 at 20:14 +0100, kaber@trash.net wrote:
> > From: Simon Horman <horms@verge.net.au>
> >  net/netfilter/ipvs/ip_vs_sync.c |   24 +++++++++++-------------
> > diff --git a/net/netfilter/ipvs/ip_vs_sync.c b/net/netfilter/ipvs/ip_vs_sync.c
> > @@ -381,20 +381,18 @@ static void ip_vs_process_message(const char *buffer, const size_t buflen)
> >  			}
> >  		}
> >  
> > -		{
> > -			if (ip_vs_conn_fill_param_sync(AF_INET, s->protocol,
> > -					      (union nf_inet_addr *)&s->caddr,
> > -					      s->cport,
> > -					      (union nf_inet_addr *)&s->vaddr,
> > -					      s->vport, &param)) {
> > -				pr_err("ip_vs_conn_fill_param_sync failed");
> > -				return;
> > -			}
> > -			if (!(flags & IP_VS_CONN_F_TEMPLATE))
> > -				cp = ip_vs_conn_in_get(&param);
> > -			else
> > -				cp = ip_vs_ct_in_get(&param);
> > +		if (ip_vs_conn_fill_param_sync(AF_INET, s->protocol,
> > +					       (union nf_inet_addr *)&s->caddr,
> > +					       s->cport,
> > +					       (union nf_inet_addr *)&s->vaddr,
> > +					       s->vport, &param)) {
> > +			pr_err("ip_vs_conn_fill_param_sync failed");
> 
> The original and this pr_err is missing a \n before close quote.

Thanks Joe, I'll get this fixed once nf-next-2.6 opens up again.


^ permalink raw reply

* Re: [PATCH v3 00/16] make rpc_pipefs be mountable multiple time
From: Rob Landley @ 2011-01-25  1:53 UTC (permalink / raw)
  To: Kirill A. Shutemov
  Cc: Trond Myklebust, J. Bruce Fields, Neil Brown, Pavel Emelyanov,
	linux-nfs-u79uwXL29TY76Z2rM5mHXA, David S. Miller, Al Viro,
	containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
	netdev-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <20110124235545.GA793-oKw7cIdHH8eLwutG50LtGA@public.gmane.org>

On 01/24/2011 05:55 PM, Kirill A. Shutemov wrote:
> On Fri, Jan 14, 2011 at 03:48:58PM +0200, Kirill A. Shutemov wrote:
>> Prepare nfs/sunrpc stack to use multiple instances of rpc_pipefs.
>> Only for client for now.
>>
>> It's step forwart to get nfs work from container.
> 
> Any feedback?

I didn't see anything to object to, and I'll give a:

Reviewed-by: Rob Landley <rlandley-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>

To the one that you rewrote for me (um, 12/16).  I still don't
understand at the design level why init_rpc_pipefs exists if containers
don't need it, but it seems to be implementing what it sets out to do.

But it doesn't apply to my test environment (nfsv3 unauthenticated), and
I'm still trying to finish up that before switching gears to look at v4.

Rob
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* Re: [PATCH v2 04/16] net: Introduce new feature setting ops
From: Ben Hutchings @ 2011-01-25  1:26 UTC (permalink / raw)
  To: David Miller; +Cc: mirq-linux, netdev
In-Reply-To: <20110124.155144.35028895.davem@davemloft.net>

On Mon, 2011-01-24 at 15:51 -0800, David Miller wrote:
> From: Michał Mirosław <mirq-linux@rere.qmqm.pl>
> Date: Sat, 22 Jan 2011 23:14:13 +0100 (CET)
> 
> > This introduces a new framework to handle device features setting.
> > It consists of:
> >   - new fields in struct net_device:
> > 	+ hw_features - features that hw/driver supports toggling
> > 	+ wanted_features - features that user wants enabled, when possible
> >   - new netdev_ops:
> > 	+ feat = ndo_fix_features(dev, feat) - API checking constraints for
> > 		enabling features or their combinations
> > 	+ ndo_set_features(dev) - API updating hardware state to match
> > 		changed dev->features
> >   - new ethtool commands:
> > 	+ ETHTOOL_GFEATURES/ETHTOOL_SFEATURES: get/set dev->wanted_features
> > 		and trigger device reconfiguration if resulting dev->features
> > 		changed
> > 	+ ETHTOOL_GSTRINGS(ETH_SS_FEATURES): get feature bits names (meaning)
> > 
> > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
> 
> Ok, I'll stop applying patches right before this one as I'd like to see
> at least some feedback from Ben wrt. the ethtool bits.
> 
> FWIW I like these changes (a lot). :-)

These are on my list to review.  I'm at LCA now (and not on work time)
but I'll try to get through them in the next day or two.

Ben.

-- 
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.


^ permalink raw reply

* Re: [PATCH] GRO: fix merging a paged skb after non-paged skbs
From: Ben Hutchings @ 2011-01-25  1:24 UTC (permalink / raw)
  To: Michal Schmidt; +Cc: David Miller, netdev, Herbert Xu, linux-net-drivers
In-Reply-To: <20110124184752.1d0947dd@delilah>

On Mon, 2011-01-24 at 18:47 +0100, Michal Schmidt wrote:
> Suppose that several linear skbs of the same flow were received by GRO. They
> were thus merged into one skb with a frag_list. Then a new skb of the same flow
> arrives, but it is a paged skb with data starting in its frags[].
> 
> Before adding the skb to the frag_list skb_gro_receive() will of course adjust
> the skb to throw away the headers. It correctly modifies the page_offset and
> size of the frag, but it leaves incorrect information in the skb:
>  ->data_len is not decreased at all.
>  ->len is decreased only by headlen, as if no change were done to the frag.
> Later in a receiving process this causes skb_copy_datagram_iovec() to return
> -EFAULT and this is seen in userspace as the result of the recv() syscall.
> 
> In practice the bug can be reproduced with the sfc driver. By default the
> driver uses an adaptive scheme when it switches between using
> napi_gro_receive() (with skbs) and napi_gro_frags() (with pages). The bug is
> reproduced when under rx load with enough successful GRO merging the driver
> decides to switch from the former to the latter.
[...]

This is odd because I thought we made sure to flush before making such a
change.  Perhaps that got lost during the conversion from inet_lro to
GRO?

Anyway, thanks very much for fixing this.

Ben.

-- 
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.


^ permalink raw reply

* Re: panic in tg3 driver
From: Matt Carlson @ 2011-01-25  0:59 UTC (permalink / raw)
  To: Stephen Clark
  Cc: Matthew Carlson, Linux Kernel Network Developers, Michael Chan
In-Reply-To: <4D3334E6.40100@earthlink.net>

On Sun, Jan 16, 2011 at 10:11:50AM -0800, Stephen Clark wrote:
> On 01/13/2011 08:12 AM, Stephen Clark wrote:
> > On 01/11/2011 10:06 PM, Matt Carlson wrote:
> >> lspci -vvv -xxx -s 81:00.0
> >
> >
> >
> > Further information - I found these messages in /var/log/messages. It 
> > looks
> > like after it switched to INTx mode interrupts for other devices were 
> > hosed.
> >
> > Jan 12 08:37:49 localhost kernel: tg3 0000:81:00.0: eth2: No interrupt 
> > was gener
> > ated using MSI. Switching to INTx mode. Please report this failure to 
> > the PCI ma
> > intainer and include system chipset information
> > Jan 12 08:37:49 localhost kernel: ADDRCONF(NETDEV_UP): eth2: link is 
> > not ready
> > Jan 12 08:38:50 localhost kernel: ata2: lost interrupt (Status 0x50)
> > Jan 12 08:38:50 localhost kernel: ata2.01: exception Emask 0x0 SAct 
> > 0x0 SErr 0x0
> >  action 0x6 frozen
> > Jan 12 08:38:50 localhost kernel: ata2.01: failed command: WRITE DMA
> > Jan 12 08:38:50 localhost kernel: ata2.01: cmd 
> > ca/00:08:e0:bc:51/00:00:00:00:00/f0 tag 0 dma 4096 out
> > Jan 12 08:38:50 localhost kernel:          res 
> > 40/00:01:00:4f:c2/00:00:00:00:00/b0 Emask 0x4 (timeout)
> > Jan 12 08:38:50 localhost kernel: ata2.01: status: { DRDY }
> > Jan 12 08:38:50 localhost kernel: ata2: soft resetting link
> > Jan 12 08:38:50 localhost kernel: do_IRQ: 0.64 No irq handler for 
> > vector (irq -1)
> > Jan 12 08:38:50 localhost kernel: ata2.01: configured for UDMA/33
> > Jan 12 08:38:54 localhost pppd[1983]: No response to 3 echo-requests
> > Jan 12 08:39:55 localhost pppoe[1988]: Inactivity timeout... something 
> > wicked happened on session 3363 
> Just checking to make sure you have everything you need?

Sorry for the delay Stephen.

It looks to me like interrupts aren't being setup correctly on this
system.  I tested MSI and INTx interrupt modes locally and they both
work.  I'm guessing one of two things could be happening:

1) The 2nd parameter of the low-level ISR (tg3_interrupt_tagged()) is
   not correct.  The ISR tries to tell the hardware the interrupt is
   acknowledged, but the message goes unheard.  (This might also explain
   why other devices are also afflicted.)

2) Something is blocking the delivery of the interrupt to the tg3 driver
   altogether.

In both cases, the hardware persistently nags the host to ack the
interrupt, hence the interrupt storm.


^ permalink raw reply

* Re: [PATCH v3 00/16] make rpc_pipefs be mountable multiple time
From: J. Bruce Fields @ 2011-01-25  0:25 UTC (permalink / raw)
  To: Kirill A. Shutemov
  Cc: Trond Myklebust, Neil Brown, Pavel Emelyanov,
	linux-nfs-u79uwXL29TY76Z2rM5mHXA, David S. Miller, Rob Landley,
	Al Viro, containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
	netdev-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <20110124235545.GA793-oKw7cIdHH8eLwutG50LtGA@public.gmane.org>

On Tue, Jan 25, 2011 at 01:55:45AM +0200, Kirill A. Shutemov wrote:
> On Fri, Jan 14, 2011 at 03:48:58PM +0200, Kirill A. Shutemov wrote:
> > Prepare nfs/sunrpc stack to use multiple instances of rpc_pipefs.
> > Only for client for now.
> > 
> > It's step forwart to get nfs work from container.
> 
> Any feedback?

I haven't seen any more problems with them, but also haven't looked all
that closely; I'm assuming Trond will handle them up at some point....

(Trond, tell me if I assume wrong.)

--b.

> 
> > Changelog:
> > 
> > v3:
> >  - rebase to the current Linus' tree (52cfd503ad)
> >  - rework get_rpc_pipefs() once again;
> >  - solve problem with rmmod sunrpc moudle;
> >  - free dns cache on killing rpc_pipefs superblock.
> > 
> > v2:
> >  - one of rpc_create() calls was missed initially, fixed;
> >  - change logic for get_rpc_pipefs(NULL);
> >  - export get_rpc_pipefs() to be able to use from modules (tnx J. Bruce Field);
> >  - change "From:" and "Signed-off-by:" addresses.
> > 
> > v1:
> >  - initial revision of the patchset.
> > 
> > Kirill A. Shutemov (16):
> >   sunrpc: mount rpc_pipefs on initialization
> >   sunrpc: introduce init_rpc_pipefs
> >   sunrpc: push init_rpc_pipefs up to rpc_create() callers
> >   sunrpc: tag svc_serv with rpc_pipefs mount point
> >   sunrpc: get rpc_pipefs mount point for svc_serv from callers
> >   lockd: get rpc_pipefs mount point from callers
> >   sunrpc: get rpc_pipefs mount point for rpcb_create[_local] from
> >     callers
> >   sunrpc: tag pipefs field of cache_detail with rpc_pipefs mount point
> >   sunrpc: introduce rpc_pipefs_add_destroy_cb()
> >   nfs: per-rpc_pipefs dns cache
> >   Export iterate_mounts symbol to be able to use from sunrpc module.
> >   sunrpc: introduce get_rpc_pipefs()
> >   nfs: introduce mount option 'rpcmount'
> >   sunrpc: make rpc_pipefs be mountable multiple times
> >   sunrpc: remove global init_rpc_pipefs
> >   Rework get_rpc_pipefs and introduce put_rpc_pipefs()
> > 
> >  fs/lockd/clntlock.c                |    8 +-
> >  fs/lockd/host.c                    |   15 ++-
> >  fs/lockd/mon.c                     |   13 ++-
> >  fs/lockd/svc.c                     |    4 +-
> >  fs/namespace.c                     |    1 +
> >  fs/nfs/cache_lib.c                 |   18 +--
> >  fs/nfs/cache_lib.h                 |    3 +-
> >  fs/nfs/callback.c                  |    7 +-
> >  fs/nfs/callback.h                  |    3 +-
> >  fs/nfs/client.c                    |   45 ++++++-
> >  fs/nfs/dns_resolve.c               |  137 ++++++++++++++++-----
> >  fs/nfs/dns_resolve.h               |   15 +--
> >  fs/nfs/inode.c                     |    9 +--
> >  fs/nfs/internal.h                  |   10 ++-
> >  fs/nfs/mount_clnt.c                |    1 +
> >  fs/nfs/namespace.c                 |    3 +-
> >  fs/nfs/nfs4namespace.c             |   20 ++--
> >  fs/nfs/super.c                     |   20 +++
> >  fs/nfsd/nfs4callback.c             |    5 +
> >  fs/nfsd/nfssvc.c                   |   20 +++-
> >  include/linux/lockd/bind.h         |    3 +-
> >  include/linux/lockd/lockd.h        |    4 +-
> >  include/linux/nfs_fs_sb.h          |    1 +
> >  include/linux/sunrpc/cache.h       |    9 +-
> >  include/linux/sunrpc/clnt.h        |    5 +-
> >  include/linux/sunrpc/rpc_pipe_fs.h |    7 +-
> >  include/linux/sunrpc/svc.h         |    9 +-
> >  net/sunrpc/cache.c                 |   16 ++-
> >  net/sunrpc/clnt.c                  |   19 ++--
> >  net/sunrpc/rpc_pipe.c              |  235 ++++++++++++++++++++++++++++++++----
> >  net/sunrpc/rpcb_clnt.c             |   19 ++-
> >  net/sunrpc/svc.c                   |   52 +++++---
> >  32 files changed, 549 insertions(+), 187 deletions(-)
> > 
> > -- 
> > 1.7.3.4
> > 
> 
> -- 
>  Kirill A. Shutemov
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* Re: Problems with /proc/net/tcp6 - possible bug - ipv6
From: David Miller @ 2011-01-25  0:02 UTC (permalink / raw)
  To: runningdoglackey; +Cc: eric.dumazet, linux-kernel, netdev
In-Reply-To: <115440.16148.qm@web63902.mail.re1.yahoo.com>

From: PK <runningdoglackey@yahoo.com>
Date: Sat, 22 Jan 2011 11:42:54 -0800 (PST)

> These warnings show up when I run the script (or I presume any tcp6 connection 
> flooder) with /proc/sys/net/tcp/ipv4/tcp_tw_recycle enabled.  There's textual 
> corruption of the traces a lot of the time.  Here's a sample trace that doesn't 
> appear to be corrupt.  All the warnings I've seen are from route.c:209, and I 
> don't see how that would cause memory corruption.

Please give this patch a try:

--------------------
>From d80bc0fd262ef840ed4e82593ad6416fa1ba3fc4 Mon Sep 17 00:00:00 2001
From: David S. Miller <davem@davemloft.net>
Date: Mon, 24 Jan 2011 16:01:58 -0800
Subject: [PATCH] ipv6: Always clone offlink routes.

Do not handle PMTU vs. route lookup creation any differently
wrt. offlink routes, always clone them.

Reported-by: PK <runningdoglackey@yahoo.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
 net/ipv6/route.c |    9 +--------
 1 files changed, 1 insertions(+), 8 deletions(-)

diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index 373bd04..1534508 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -72,8 +72,6 @@
 #define RT6_TRACE(x...) do { ; } while (0)
 #endif
 
-#define CLONE_OFFLINK_ROUTE 0
-
 static struct rt6_info * ip6_rt_copy(struct rt6_info *ort);
 static struct dst_entry	*ip6_dst_check(struct dst_entry *dst, u32 cookie);
 static unsigned int	 ip6_default_advmss(const struct dst_entry *dst);
@@ -738,13 +736,8 @@ restart:
 
 	if (!rt->rt6i_nexthop && !(rt->rt6i_flags & RTF_NONEXTHOP))
 		nrt = rt6_alloc_cow(rt, &fl->fl6_dst, &fl->fl6_src);
-	else {
-#if CLONE_OFFLINK_ROUTE
+	else
 		nrt = rt6_alloc_clone(rt, &fl->fl6_dst);
-#else
-		goto out2;
-#endif
-	}
 
 	dst_release(&rt->dst);
 	rt = nrt ? : net->ipv6.ip6_null_entry;
-- 
1.7.3.4

^ permalink raw reply related

* Re: [PATCH v3 00/16] make rpc_pipefs be mountable multiple time
From: Kirill A. Shutemov @ 2011-01-24 23:55 UTC (permalink / raw)
  To: Trond Myklebust, J. Bruce Fields, Neil Brown, Kirill A. Shutemov,
	Pavel Emelyanov
In-Reply-To: <1295012954-7769-1-git-send-email-kas@openvz.org>

On Fri, Jan 14, 2011 at 03:48:58PM +0200, Kirill A. Shutemov wrote:
> Prepare nfs/sunrpc stack to use multiple instances of rpc_pipefs.
> Only for client for now.
> 
> It's step forwart to get nfs work from container.

Any feedback?

> Changelog:
> 
> v3:
>  - rebase to the current Linus' tree (52cfd503ad)
>  - rework get_rpc_pipefs() once again;
>  - solve problem with rmmod sunrpc moudle;
>  - free dns cache on killing rpc_pipefs superblock.
> 
> v2:
>  - one of rpc_create() calls was missed initially, fixed;
>  - change logic for get_rpc_pipefs(NULL);
>  - export get_rpc_pipefs() to be able to use from modules (tnx J. Bruce Field);
>  - change "From:" and "Signed-off-by:" addresses.
> 
> v1:
>  - initial revision of the patchset.
> 
> Kirill A. Shutemov (16):
>   sunrpc: mount rpc_pipefs on initialization
>   sunrpc: introduce init_rpc_pipefs
>   sunrpc: push init_rpc_pipefs up to rpc_create() callers
>   sunrpc: tag svc_serv with rpc_pipefs mount point
>   sunrpc: get rpc_pipefs mount point for svc_serv from callers
>   lockd: get rpc_pipefs mount point from callers
>   sunrpc: get rpc_pipefs mount point for rpcb_create[_local] from
>     callers
>   sunrpc: tag pipefs field of cache_detail with rpc_pipefs mount point
>   sunrpc: introduce rpc_pipefs_add_destroy_cb()
>   nfs: per-rpc_pipefs dns cache
>   Export iterate_mounts symbol to be able to use from sunrpc module.
>   sunrpc: introduce get_rpc_pipefs()
>   nfs: introduce mount option 'rpcmount'
>   sunrpc: make rpc_pipefs be mountable multiple times
>   sunrpc: remove global init_rpc_pipefs
>   Rework get_rpc_pipefs and introduce put_rpc_pipefs()
> 
>  fs/lockd/clntlock.c                |    8 +-
>  fs/lockd/host.c                    |   15 ++-
>  fs/lockd/mon.c                     |   13 ++-
>  fs/lockd/svc.c                     |    4 +-
>  fs/namespace.c                     |    1 +
>  fs/nfs/cache_lib.c                 |   18 +--
>  fs/nfs/cache_lib.h                 |    3 +-
>  fs/nfs/callback.c                  |    7 +-
>  fs/nfs/callback.h                  |    3 +-
>  fs/nfs/client.c                    |   45 ++++++-
>  fs/nfs/dns_resolve.c               |  137 ++++++++++++++++-----
>  fs/nfs/dns_resolve.h               |   15 +--
>  fs/nfs/inode.c                     |    9 +--
>  fs/nfs/internal.h                  |   10 ++-
>  fs/nfs/mount_clnt.c                |    1 +
>  fs/nfs/namespace.c                 |    3 +-
>  fs/nfs/nfs4namespace.c             |   20 ++--
>  fs/nfs/super.c                     |   20 +++
>  fs/nfsd/nfs4callback.c             |    5 +
>  fs/nfsd/nfssvc.c                   |   20 +++-
>  include/linux/lockd/bind.h         |    3 +-
>  include/linux/lockd/lockd.h        |    4 +-
>  include/linux/nfs_fs_sb.h          |    1 +
>  include/linux/sunrpc/cache.h       |    9 +-
>  include/linux/sunrpc/clnt.h        |    5 +-
>  include/linux/sunrpc/rpc_pipe_fs.h |    7 +-
>  include/linux/sunrpc/svc.h         |    9 +-
>  net/sunrpc/cache.c                 |   16 ++-
>  net/sunrpc/clnt.c                  |   19 ++--
>  net/sunrpc/rpc_pipe.c              |  235 ++++++++++++++++++++++++++++++++----
>  net/sunrpc/rpcb_clnt.c             |   19 ++-
>  net/sunrpc/svc.c                   |   52 +++++---
>  32 files changed, 549 insertions(+), 187 deletions(-)
> 
> -- 
> 1.7.3.4
> 

-- 
 Kirill A. Shutemov

^ permalink raw reply

* [PATCH net-2.6] bnx2: Always set ETH_FLAG_TXVLAN
From: Michael Chan @ 2011-01-24 22:59 UTC (permalink / raw)
  To: davem; +Cc: eric.dumazet, jesse, netdev

TSO does not work if the VLAN tag is in the packet (non-accelerated).
We may be able to remove this restriction in future firmware.

Reported-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
---
 drivers/net/bnx2.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
index df99edf..99e7652 100644
--- a/drivers/net/bnx2.c
+++ b/drivers/net/bnx2.c
@@ -7553,6 +7553,10 @@ bnx2_set_flags(struct net_device *dev, u32 data)
 	    !(data & ETH_FLAG_RXVLAN))
 		return -EINVAL;
 
+	/* TSO with VLAN tag won't work with current firmware */
+	if (!(data & ETH_FLAG_TXVLAN))
+		return -EINVAL;
+
 	rc = ethtool_op_set_flags(dev, data, ETH_FLAG_RXHASH | ETH_FLAG_RXVLAN |
 				  ETH_FLAG_TXVLAN);
 	if (rc)
-- 
1.6.4.GIT



^ permalink raw reply related

* Re: [PATCH v2 04/16] net: Introduce new feature setting ops
From: David Miller @ 2011-01-24 23:51 UTC (permalink / raw)
  To: mirq-linux; +Cc: netdev, bhutchings
In-Reply-To: <7f0bf8e3fa40db0e188fc6310a5dd670718c0fc0.1295734271.git.mirq-linux@rere.qmqm.pl>

From: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Date: Sat, 22 Jan 2011 23:14:13 +0100 (CET)

> This introduces a new framework to handle device features setting.
> It consists of:
>   - new fields in struct net_device:
> 	+ hw_features - features that hw/driver supports toggling
> 	+ wanted_features - features that user wants enabled, when possible
>   - new netdev_ops:
> 	+ feat = ndo_fix_features(dev, feat) - API checking constraints for
> 		enabling features or their combinations
> 	+ ndo_set_features(dev) - API updating hardware state to match
> 		changed dev->features
>   - new ethtool commands:
> 	+ ETHTOOL_GFEATURES/ETHTOOL_SFEATURES: get/set dev->wanted_features
> 		and trigger device reconfiguration if resulting dev->features
> 		changed
> 	+ ETHTOOL_GSTRINGS(ETH_SS_FEATURES): get feature bits names (meaning)
> 
> Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>

Ok, I'll stop applying patches right before this one as I'd like to see
at least some feedback from Ben wrt. the ethtool bits.

FWIW I like these changes (a lot). :-)


^ permalink raw reply

* Re: [PATCH v2 03/16] net: reduce and unify printk level in netdev_fix_features()
From: David Miller @ 2011-01-24 23:45 UTC (permalink / raw)
  To: mirq-linux; +Cc: netdev, bhutchings
In-Reply-To: <29e476c368b6580f7ff5215ca759b69c75d0e021.1295734271.git.mirq-linux@rere.qmqm.pl>

From: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Date: Sat, 22 Jan 2011 23:14:12 +0100 (CET)

> Reduce printk() levels to KERN_INFO in netdev_fix_features() as this will
> be used by ethtool and might spam dmesg unnecessarily.
> 
> This converts the function to use netdev_info() instead of plain printk().
> 
> As a side effect, bonding and bridge devices will now log dropped features
> on every slave device change.
> 
> Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>

I've applied this with the 80-column issues fixed up, we can discuss
using KERN_DEBUG or whatever in follow-up patches.

Thanks.

^ permalink raw reply

* Re: [PATCH v2 02/16] net: change netdev->features to u32
From: David Miller @ 2011-01-24 23:30 UTC (permalink / raw)
  To: mirq-linux; +Cc: netdev, bhutchings
In-Reply-To: <d9fe088556152bd3b43390e0fb5ea20d83aef233.1295734271.git.mirq-linux@rere.qmqm.pl>

From: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Date: Sat, 22 Jan 2011 23:14:12 +0100 (CET)

> Quoting Ben Hutchings: we presumably won't be defining features that
> can only be enabled on 64-bit architectures.
> 
> Occurences found by `grep -r` on net/, drivers/net, include/
> 
> Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>

I'll apply this, with one change, adding the suggestion that
features and vlan_features be moved next to each other in
struct netdev, from Eric Dumazet.

Thanks.

^ permalink raw reply

* Re: [PATCH v2 01/16] net: Move check of checksum features to netdev_fix_features()
From: David Miller @ 2011-01-24 23:29 UTC (permalink / raw)
  To: mirq-linux; +Cc: netdev, bhutchings
In-Reply-To: <056dc972c354cb7904f63640117c75ac26d1a32b.1295734271.git.mirq-linux@rere.qmqm.pl>

From: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Date: Sat, 22 Jan 2011 23:14:12 +0100 (CET)

> Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>

Applied.

^ permalink raw reply

* [PATCH] bonding: update documentation - alternate configuration.
From: Nicolas de Pesloüan @ 2011-01-24 23:21 UTC (permalink / raw)
  To: fubar; +Cc: davem, bonding-devel, netdev, nicolas.2p.debian

The bonding documentation used to provide configuration
details and examples for initscripts and sysconfig only.

This patch describe the third possible configuration:
/etc/network/interfaces.

Signed-off-by: Nicolas de Pesloüan <nicolas.2p.debian@free.fr>
---
 Documentation/networking/bonding.txt |   83 +++++++++++++++++++++++++++++-----
 1 files changed, 71 insertions(+), 12 deletions(-)

diff --git a/Documentation/networking/bonding.txt b/Documentation/networking/bonding.txt
index 5dc6387..b37e36f 100644
--- a/Documentation/networking/bonding.txt
+++ b/Documentation/networking/bonding.txt
@@ -49,7 +49,8 @@ Table of Contents
 3.3	Configuring Bonding Manually with Ifenslave
 3.3.1		Configuring Multiple Bonds Manually
 3.4	Configuring Bonding Manually via Sysfs
-3.5	Overriding Configuration for Special Cases
+3.5	Configuration with Interfaces Support
+3.6	Overriding Configuration for Special Cases
 
 4. Querying Bonding Configuration
 4.1	Bonding Configuration
@@ -161,8 +162,8 @@ onwards) do not have /usr/include/linux symbolically linked to the
 default kernel source include directory.
 
 SECOND IMPORTANT NOTE:
-	If you plan to configure bonding using sysfs, you do not need
-to use ifenslave.
+	If you plan to configure bonding using sysfs or using the
+/etc/network/interfaces file, you do not need to use ifenslave.
 
 2. Bonding Driver Options
 =========================
@@ -779,22 +780,26 @@ resend_igmp
 
 	You can configure bonding using either your distro's network
 initialization scripts, or manually using either ifenslave or the
-sysfs interface.  Distros generally use one of two packages for the
-network initialization scripts: initscripts or sysconfig.  Recent
-versions of these packages have support for bonding, while older
+sysfs interface.  Distros generally use one of three packages for the
+network initialization scripts: initscripts, sysconfig or interfaces.
+Recent versions of these packages have support for bonding, while older
 versions do not.
 
 	We will first describe the options for configuring bonding for
-distros using versions of initscripts and sysconfig with full or
-partial support for bonding, then provide information on enabling
+distros using versions of initscripts, sysconfig and interfaces with full
+or partial support for bonding, then provide information on enabling
 bonding without support from the network initialization scripts (i.e.,
 older versions of initscripts or sysconfig).
 
-	If you're unsure whether your distro uses sysconfig or
-initscripts, or don't know if it's new enough, have no fear.
+	If you're unsure whether your distro uses sysconfig, 
+initscripts or interfaces, or don't know if it's new enough, have no fear.
 Determining this is fairly straightforward.
 
-	First, issue the command:
+	First, look for a file called interfaces in /etc/network directory.
+If this file is present in your system, then your system use interfaces. See
+Configuration with Interfaces Support.
+	
+	Else, issue the command:
 
 $ rpm -qf /sbin/ifup
 
@@ -1327,8 +1332,62 @@ echo 2000 > /sys/class/net/bond1/bonding/arp_interval
 echo +eth2 > /sys/class/net/bond1/bonding/slaves
 echo +eth3 > /sys/class/net/bond1/bonding/slaves
 
-3.5 Overriding Configuration for Special Cases
+3.5 Configuration with Interfaces Support
+-----------------------------------------
+
+        This section applies to distros which use /etc/network/interfaces file
+to describe network interface configuration, most notably Debian and it's
+derivatives.
+
+	The ifup and ifdown commands on Debian don't support bonding out of
+the box. The ifenslave-2.6 package should be installed to provide bonding
+support.  Once installed, this package will provide bond-* options to be used
+into /etc/network/interfaces.
+
+	Note that ifenslave-2.6 package will load the bonding module and use
+the ifenslave command when appropriate.
+
+Example Configurations
+----------------------
+
+In /etc/network/interfaces, the following stanza will configure bond0, in
+active-backup mode, with eth0 and eth1 as slaves.
+
+auto bond0
+iface bond0 inet dhcp
+	bond-slaves eth0 eth1
+	bond-mode active-backup
+	bond-miimon 100
+	bond-primary eth0 eth1
+
+If the above configuration doesn't work, you might have a system using
+upstart for system startup. This is most notably true for recent
+Ubuntu versions. The following stanza in /etc/network/interfaces will
+produce the same result on those systems.
+
+auto bond0
+iface bond0 inet dhcp
+	bond-slaves none
+	bond-mode active-backup
+	bond-miimon 100
+
+auto eth0
+iface eth0 inet manual
+	bond-master bond0
+	bond-primary eth0 eth1
+
+auto eth1
+iface eth1 inet manual
+	bond-master bond0
+	bond-primary eth0 eth1
+
+For a full list of bond-* supported options in /etc/network/interfaces and some
+more advanced examples tailored to you particular distros, see the files in
+/usr/share/doc/ifenslave-2.6.
+
+3.6 Overriding Configuration for Special Cases
 ----------------------------------------------
+
 When using the bonding driver, the physical port which transmits a frame is
 typically selected by the bonding driver, and is not relevant to the user or
 system administrator.  The output port is simply selected using the policies of
-- 
1.7.2.3


^ permalink raw reply related

* Re: [net-2.6 PATCH 2/2] dcbnl: make get_app handling symmetric for IEEE and CEE DCBx
From: David Miller @ 2011-01-24 23:20 UTC (permalink / raw)
  To: john.r.fastabend; +Cc: shmulikr, netdev
In-Reply-To: <20110122023518.4239.3464.stgit@jf-dev1-dcblab>

From: John Fastabend <john.r.fastabend@intel.com>
Date: Fri, 21 Jan 2011 18:35:18 -0800

> The IEEE get/set app handlers use generic routines and do not
> require the net_device to implement the dcbnl_ops routines. This
> patch makes it symmetric so user space and drivers do not have
> to handle the CEE version and IEEE DCBx versions differently.
> 
> Signed-off-by: John Fastabend <john.r.fastabend@intel.com>

Applied, thanks John.

^ permalink raw reply

* Re: [net-2.6 PATCH 1/2] net: dcbnl: remove redundant DCB_CAP_DCBX_STATIC bit
From: David Miller @ 2011-01-24 23:19 UTC (permalink / raw)
  To: john.r.fastabend; +Cc: shmulikr, netdev
In-Reply-To: <4D3DA050.3020006@intel.com>

From: John Fastabend <john.r.fastabend@intel.com>
Date: Mon, 24 Jan 2011 07:52:48 -0800

> On 1/24/2011 7:27 AM, Shmulik Ravid wrote:
>> 
>> On Sun, 2011-01-23 at 21:46 -0800, John Fastabend wrote:
>>> On 1/23/2011 8:53 AM, Shmulik Ravid wrote:
>>>>
>>>> On Fri, 2011-01-21 at 18:52 -0800, John Fastabend wrote:
>>>>> On 1/21/2011 6:35 PM, John Fastabend wrote:
>>>>>> Remove redundant DCB_CAP_DCBX_STATIC bit in DCB capabilities
>>>>>>
>>>>>> Setting this bit indicates that no embedded DCBx engine is
>>>>>> present and the hardware can not be configured. This is the
>>>>>> same as having none of the DCB capability flags set or simply
>>>>>> not implementing the dcbnl ops at all.
>>>>>>
>>>>>> This patch removes this bit. The bit has not made a stable
>>>>>> release yet so removing it should not be an issue with
>>>>>> existing apps.
>>>>>>
>>>>>> Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
>>>>>> CC: Shmulik Ravid <shmulikr@broadcom.com>
>>>>>> ---
>>>>>>
>>>>>
> 
> Dave, Please drop this patch sorry for the noise.

OK.

^ permalink raw reply

* Re: [PATCH v3 0/3] can: at91_can: fix for errata 50.2.6.3 & 50.3.5.3
From: David Miller @ 2011-01-24 23:17 UTC (permalink / raw)
  To: mkl; +Cc: Socketcan-core, netdev
In-Reply-To: <4D3D8A64.6000305@pengutronix.de>

From: Marc Kleine-Budde <mkl@pengutronix.de>
Date: Mon, 24 Jan 2011 15:19:16 +0100

> I've updated the patch series in my git-repo, too.
> 
> The following changes since commit b30532515f0a62bfe17207ab00883dd262497006:
> 
>   bonding: Ensure that we unshare skbs prior to calling pskb_may_pull (2011-01-20 16:45:56 -0800)
> 
> are available in the git repository at:
>   git://git.pengutronix.de/git/mkl/linux-2.6.git can/at91_can-for-net-2.6
> 
> Marc Kleine-Budde (3):
>       can: at91_can: clean up usage of AT91_MB_RX_FIRST and AT91_MB_RX_NUM
>       can: at91_can: don't use mailbox 0
>       can: at91_can: make can_id of mailbox 0 configurable

Pulled into net-2.6, thanks Marc.

^ permalink raw reply

* [PATCH] typhoon: Kill references to UTS_RELEASE
From: David Miller @ 2011-01-24 23:12 UTC (permalink / raw)
  To: netdev; +Cc: dave


This makes the driver get rebuilt every single time you
type 'make' which is beyond rediculious.

I hereby declare this driver to have version "1.0"

Signed-off-by: David S. Miller <davem@davemloft.net>
---

This has been driving me nuts for a long time.

 drivers/net/typhoon.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/drivers/net/typhoon.c b/drivers/net/typhoon.c
index a3c46f6..7fa5ec2 100644
--- a/drivers/net/typhoon.c
+++ b/drivers/net/typhoon.c
@@ -123,12 +123,11 @@ static const int multicast_filter_limit = 32;
 #include <linux/in6.h>
 #include <linux/dma-mapping.h>
 #include <linux/firmware.h>
-#include <generated/utsrelease.h>
 
 #include "typhoon.h"
 
 MODULE_AUTHOR("David Dillow <dave@thedillows.org>");
-MODULE_VERSION(UTS_RELEASE);
+MODULE_VERSION("1.0");
 MODULE_LICENSE("GPL");
 MODULE_FIRMWARE(FIRMWARE_NAME);
 MODULE_DESCRIPTION("3Com Typhoon Family (3C990, 3CR990, and variants)");
-- 
1.7.3.4


^ permalink raw reply related

* Re: [PATCH 1/2 v2] linux-firmware: bnx2: Update firmware to 6.0.x.
From: David Woodhouse @ 2011-01-24 23:09 UTC (permalink / raw)
  To: Michael Chan; +Cc: netdev
In-Reply-To: <1295903115-613-1-git-send-email-mchan@broadcom.com>


Looks better; thanks. Will apply and push after LCA keynote, when I can 
get the laptop out.

-- 
dwmw2


^ permalink raw reply

* Re: [PATCH v2 2/2] tlan: add suspend/resume support
From: David Miller @ 2011-01-24 23:07 UTC (permalink / raw)
  To: sakari.ailus; +Cc: netdev, chessman, joe
In-Reply-To: <1295643571-21216-2-git-send-email-sakari.ailus@iki.fi>

From: Sakari Ailus <sakari.ailus@iki.fi>
Date: Fri, 21 Jan 2011 22:59:31 +0200

> Add suspend/resume support to tlan driver. This allows not unloading the
> driver over suspend/resume.
> 
> Also, start (or now, wake) the queue after resetting the adapter --- not the
> other way around.
> 
> Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>

Applied.

^ permalink raw reply

* Re: [PATCH v2 1/2] tlan: Code cleanup: checkpatch.pl is relatively happy now.
From: David Miller @ 2011-01-24 23:07 UTC (permalink / raw)
  To: sakari.ailus; +Cc: netdev, chessman, joe
In-Reply-To: <1295643571-21216-1-git-send-email-sakari.ailus@iki.fi>

From: Sakari Ailus <sakari.ailus@iki.fi>
Date: Fri, 21 Jan 2011 22:59:30 +0200

> - Remove CamelCase.
> - Convert hexadecimals to lower case.
> - Remove useless comments. Tlan driver contained a name of the function at
>   the end of it in a comment. Remove those comments.
> - Remove local typedefs. Use real types instead of typedefs in code.
> - Resolve space issues and reindent.
> - One warning remain, it's a case where printing a single line involves a
>   number of printk()s.
> 
> Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>

Applied.

^ 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