* Re: [patch iproute2] iplink: add support for num[tr]xqueues
From: David Miller @ 2012-07-20 18:10 UTC (permalink / raw)
To: jiri; +Cc: stephen.hemminger, netdev, edumazet, shemminger
In-Reply-To: <20120720180813.GA1560@minipsycho.orion>
From: Jiri Pirko <jiri@resnulli.us>
Date: Fri, 20 Jul 2012 20:08:13 +0200
> Fri, Jul 20, 2012 at 05:52:18PM CEST, stephen.hemminger@vyatta.com wrote:
>>I like the option, but numtxqueue is too verbose for the syntax model
>>of iproute. Why not use txq and rxq?
>
> There is "txqueuelen" present already in iplink. I tried to be uniform here.
> Isn't "txq" and "rxq" rather too short? And afterall, these parameters
> are not supposed to be used on daily basis by anyone :)
Perhaps a good compromise is numtxq and numrxq?
^ permalink raw reply
* Re: [patch net-next 5/6] bond_sysfs: use ream_num_tx_queues rather than params.tx_queue
From: Jiri Pirko @ 2012-07-20 18:09 UTC (permalink / raw)
To: David Miller; +Cc: bhutchings, netdev, edumazet, shemminger, fubar, andy
In-Reply-To: <20120720.110453.200101053484551575.davem@davemloft.net>
Fri, Jul 20, 2012 at 08:04:53PM CEST, davem@davemloft.net wrote:
>From: Ben Hutchings <bhutchings@solarflare.com>
>Date: Fri, 20 Jul 2012 16:03:00 +0100
>
>> Typo in the subject line. :-)
Doh!
>
>I'll fix this up when I apply it :-)
Thanks Dave :) I will use clipboard next time...
^ permalink raw reply
* Re: [RFC PATCH] net: Add support for virtual machine device queues (VMDQ)
From: Ben Hutchings @ 2012-07-20 18:09 UTC (permalink / raw)
To: John Fastabend
Cc: or.gerlitz, davem, roland, netdev, ali, sean.hefty, shlomop
In-Reply-To: <20120718220544.22619.97136.stgit@i40e.jf1>
On Wed, 2012-07-18 at 18:05 -0400, John Fastabend wrote:
> This adds support to allow virtual net devices to be created. These
> devices can be managed independtly of the physical function but
> use the same physical link.
>
> This is analagous to an offloaded macvlan device. The primary
> advantage to VMDQ net devices over virtual functions is they can
> be added and removed dynamically as needed.
Is VMDQ intended to become a generic name?
> Sending this for Or Gerlitz to take a peak at and see if this
> could be used for his ipoib bits. Its not pretty as is and
> likely needs some work its just an idea at this point use at
> your own risk I believe it compiles.
[...]
> +static int vmdq_newlink(struct net *src_net, struct net_device *dev,
> + struct nlattr *tb[], struct nlattr *data[])
> +{
> + struct net_device *lowerdev;
> + int err = -EOPNOTSUPP;
> +
> + if (!tb[IFLA_LINK])
> + return -EINVAL;
> +
> + lowerdev = __dev_get_by_index(src_net, nla_get_u32(tb[IFLA_LINK]));
> + if (!lowerdev)
> + return -ENODEV;
> +
> + if (!tb[IFLA_MTU])
> + dev->mtu = lowerdev->mtu;
> + else if (dev->mtu > lowerdev->mtu)
> + return -EINVAL;
> +
> + if (lowerdev->netdev_ops->ndo_add_vmdq)
> + err = lowerdev->netdev_ops->ndo_add_vmdq(lowerdev, dev);
Why isn't the device allocation left to the lower device driver? It
seems like this would simplify things quite a bit.
[...]
> +int vmdq_get_tx_queues(struct net *net, struct nlattr *tb[])
> +{
> + struct net_device *lowerdev;
> +
> + if (!tb[IFLA_LINK])
> + return -EINVAL;
> +
> + lowerdev = __dev_get_by_index(net, nla_get_u32(tb[IFLA_LINK]));
> + if (!lowerdev)
> + return -ENODEV;
> +
> + return lowerdev->num_tx_queues;
> +}
[...]
Why should this match the lower device? Is the assumption that it will
share the lower device's TX queues and only have its own RX queue(s)?
Ben.
--
Ben Hutchings, Staff Engineer, Solarflare
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 net-next 0/6] net: add team multiqueue support and do comple of thing on the way
From: David Miller @ 2012-07-20 18:08 UTC (permalink / raw)
To: jiri; +Cc: netdev, edumazet, shemminger, fubar, andy
In-Reply-To: <1342787331-1866-1-git-send-email-jiri@resnulli.us>
From: Jiri Pirko <jiri@resnulli.us>
Date: Fri, 20 Jul 2012 14:28:45 +0200
> This patchset represents the way I walked when I was adding multiqueue support for
> team driver.
>
> Jiri Pirko (6):
> net: honour netif_set_real_num_tx_queues() retval
> rtnl: allow to specify different num for rx and tx queue count
> rtnl: allow to specify number of rx and tx queues on device creation
> net: rename bond_queue_mapping to slave_dev_queue_mapping
> bond_sysfs: use ream_num_tx_queues rather than params.tx_queue
> team: add multiqueue support
All applied, thanks Jiri.
^ permalink raw reply
* Re: [patch iproute2] iplink: add support for num[tr]xqueues
From: Jiri Pirko @ 2012-07-20 18:08 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: netdev, David Miller, edumazet, shemminger
In-Reply-To: <lh9v01i5y1bg7t9j24kof0f8.1342799538355@email.android.com>
Fri, Jul 20, 2012 at 05:52:18PM CEST, stephen.hemminger@vyatta.com wrote:
>I like the option, but numtxqueue is too verbose for the syntax model
>of iproute. Why not use txq and rxq?
There is "txqueuelen" present already in iplink. I tried to be uniform here.
Isn't "txq" and "rxq" rather too short? And afterall, these parameters
are not supposed to be used on daily basis by anyone :)
Jirka
>
>Sent from my ASUS Pad
>
>Jiri Pirko <jiri@resnulli.us> wrote:
>
>>Signed-off-by: Jiri Pirko <jiri@resnulli.us>
>>---
>> include/linux/if_link.h | 2 ++
>> ip/iplink.c | 20 ++++++++++++++++++++
>> man/man8/ip-link.8.in | 13 +++++++++++++
>> 3 files changed, 35 insertions(+)
>>
>>diff --git a/include/linux/if_link.h b/include/linux/if_link.h
>>index 00e5868..46f03db 100644
>>--- a/include/linux/if_link.h
>>+++ b/include/linux/if_link.h
>>@@ -140,6 +140,8 @@ enum {
>> IFLA_EXT_MASK, /* Extended info mask, VFs, etc */
>> IFLA_PROMISCUITY, /* Promiscuity count: > 0 means acts PROMISC */
>> #define IFLA_PROMISCUITY IFLA_PROMISCUITY
>>+ IFLA_NUM_TX_QUEUES,
>>+ IFLA_NUM_RX_QUEUES,
>> __IFLA_MAX
>> };
>>
>>diff --git a/ip/iplink.c b/ip/iplink.c
>>index 679091e..0baa128 100644
>>--- a/ip/iplink.c
>>+++ b/ip/iplink.c
>>@@ -48,6 +48,8 @@ void iplink_usage(void)
>> fprintf(stderr, " [ address LLADDR ]\n");
>> fprintf(stderr, " [ broadcast LLADDR ]\n");
>> fprintf(stderr, " [ mtu MTU ]\n");
>>+ fprintf(stderr, " [ numtxqueues QUEUE_COUNT ]\n");
>>+ fprintf(stderr, " [ numrxqueues QUEUE_COUNT ]\n");
>> fprintf(stderr, " type TYPE [ ARGS ]\n");
>> fprintf(stderr, " ip link delete DEV type TYPE [ ARGS ]\n");
>> fprintf(stderr, "\n");
>>@@ -279,6 +281,8 @@ int iplink_parse(int argc, char **argv, struct iplink_req *req,
>> int mtu = -1;
>> int netns = -1;
>> int vf = -1;
>>+ int numtxqueues = -1;
>>+ int numrxqueues = -1;
>>
>> *group = -1;
>> ret = argc;
>>@@ -445,6 +449,22 @@ int iplink_parse(int argc, char **argv, struct iplink_req *req,
>> invarg("Invalid operstate\n", *argv);
>>
>> addattr8(&req->n, sizeof(*req), IFLA_OPERSTATE, state);
>>+ } else if (strcmp(*argv, "numtxqueues") == 0) {
>>+ NEXT_ARG();
>>+ if (numtxqueues != -1)
>>+ duparg("numtxqueues", *argv);
>>+ if (get_integer(&numtxqueues, *argv, 0))
>>+ invarg("Invalid \"numtxqueues\" value\n", *argv);
>>+ addattr_l(&req->n, sizeof(*req), IFLA_NUM_TX_QUEUES,
>>+ &numtxqueues, 4);
>>+ } else if (strcmp(*argv, "numrxqueues") == 0) {
>>+ NEXT_ARG();
>>+ if (numrxqueues != -1)
>>+ duparg("numrxqueues", *argv);
>>+ if (get_integer(&numrxqueues, *argv, 0))
>>+ invarg("Invalid \"numrxqueues\" value\n", *argv);
>>+ addattr_l(&req->n, sizeof(*req), IFLA_NUM_RX_QUEUES,
>>+ &numrxqueues, 4);
>> } else {
>> if (strcmp(*argv, "dev") == 0) {
>> NEXT_ARG();
>>diff --git a/man/man8/ip-link.8.in b/man/man8/ip-link.8.in
>>index 9386cc6..8a24e51 100644
>>--- a/man/man8/ip-link.8.in
>>+++ b/man/man8/ip-link.8.in
>>@@ -40,6 +40,11 @@ ip-link \- network device configuration
>> .RB "[ " mtu
>> .IR MTU " ]"
>> .br
>>+.RB "[ " numtxqueues
>>+.IR QUEUE_COUNT " ]"
>>+.RB "[ " numrxqueues
>>+.IR QUEUE_COUNT " ]"
>>+.br
>> .BR type " TYPE"
>> .RI "[ " ARGS " ]"
>>
>>@@ -156,6 +161,14 @@ Link types:
>> - Ethernet Bridge device
>> .in -8
>>
>>+.TP
>>+.BI numtxqueues " QUEUE_COUNT "
>>+specifies the number of transmit queues for new device.
>>+
>>+.TP
>>+.BI numrxqueues " QUEUE_COUNT "
>>+specifies the number of receive queues for new device.
>>+
>> .SS ip link delete - delete virtual link
>> .I DEVICE
>> specifies the virtual device to act operate on.
>>--
>>1.7.10.4
>>
^ permalink raw reply
* Re: [patch net-next 5/6] bond_sysfs: use ream_num_tx_queues rather than params.tx_queue
From: David Miller @ 2012-07-20 18:04 UTC (permalink / raw)
To: bhutchings; +Cc: jiri, netdev, edumazet, shemminger, fubar, andy
In-Reply-To: <1342796580.2678.10.camel@bwh-desktop.uk.solarflarecom.com>
From: Ben Hutchings <bhutchings@solarflare.com>
Date: Fri, 20 Jul 2012 16:03:00 +0100
> Typo in the subject line. :-)
I'll fix this up when I apply it :-)
^ permalink raw reply
* Re: [PATCH v2 net-next] tcp: fix ABC in tcp_slow_start()
From: David Miller @ 2012-07-20 18:02 UTC (permalink / raw)
To: stephen.hemminger
Cc: ncardwell, ycheng, eric.dumazet, netdev, therbert, shemminger,
johnwheffner, nanditad
In-Reply-To: <wwxik81fhb83pkj3alus6j68.1342807303829@email.android.com>
From: Stephen Hemminger <stephen.hemminger@vyatta.com>
Date: Fri, 20 Jul 2012 11:01:43 -0700
> TCP ABC was an experiment that failed. It solves a problem that does
> not exist on Linux. I did the implementation mostly to prove that.
>
> Perhaps it abc should just be removed?
This is my impression as well.
^ permalink raw reply
* Re: pull-request: can-next 2012-07-20
From: David Miller @ 2012-07-20 18:02 UTC (permalink / raw)
To: mkl; +Cc: netdev, linux-can
In-Reply-To: <50098706.2080509@pengutronix.de>
From: Marc Kleine-Budde <mkl@pengutronix.de>
Date: Fri, 20 Jul 2012 18:27:50 +0200
> Hello David,
>
> the fifth pull request for upcoming v3.6 net-next cleans up and
> improves the janz-ican3 driver (6 patches by Ira W. Snyder, one by me).
> A patch by Steffen Trumtrar adds imx53 support to the flexcan driver.
> And another patch by me, which marks the bit timing constant in the CAN
> drivers as "const".
Pulled, thanks Marc.
^ permalink raw reply
* Re: pull request: wireless-next 2012-07-20
From: David Miller @ 2012-07-20 18:02 UTC (permalink / raw)
To: linville; +Cc: linux-wireless, netdev
In-Reply-To: <20120720172014.GB23254@tuxdriver.com>
From: "John W. Linville" <linville@tuxdriver.com>
Date: Fri, 20 Jul 2012 13:20:15 -0400
> commit 90b90f60c4f8e3a8525dfeb4aec46a9c7a29c857
>
> Dave,
>
> Here is what I hope to be the last non-fix pull request for wireless
> bits going into 3.6. It's mostly normal stuff, including driver
> updates to ath9k, mwifiex, libertas, iwlwifi, and a few other bits.
>
> Also included is a bluetooth pull. Gustavo says:
>
> "This is my last pull towards 3.6, the biggest thing here is
> the new 3-wire UART Bluetooth driver by Johan Hedberg. The
> rest is just fixes and clean ups."
>
> Finally, there is a pull of the wireless tree to pick-up a few minor
> fixes I had queued that were not really worthy for this late in the
> 3.5 cycle.
>
> Please let me know if there are problems!
Pulled, thanks John.
^ permalink raw reply
* Re: [PATCH v2 net-next] tcp: fix ABC in tcp_slow_start()
From: David Miller @ 2012-07-20 18:01 UTC (permalink / raw)
To: ncardwell
Cc: ycheng, eric.dumazet, netdev, therbert, shemminger, johnwheffner,
nanditad
In-Reply-To: <CADVnQymoWQmdtTEv_KOvHbQvC6oC0EsJvhda5oAf7CVithS3Pg@mail.gmail.com>
From: Neal Cardwell <ncardwell@google.com>
Date: Fri, 20 Jul 2012 10:58:27 -0700
> On Fri, Jul 20, 2012 at 8:07 AM, Yuchung Cheng <ycheng@google.com> wrote:
>> On Fri, Jul 20, 2012 at 8:02 AM, Eric Dumazet <eric.dumazet@gmail.com> wrote:
>>> From: Eric Dumazet <edumazet@google.com>
>>>
>>> When/if sysctl_tcp_abc > 1, we expect to increase cwnd by 2 if the
>>> received ACK acknowledges more than 2*MSS bytes, in tcp_slow_start()
>>>
>>> Problem is this RFC 3465 statement is not correctly coded, as
>>> the while () loop increases snd_cwnd one by one.
>>>
>>> Add a new variable to avoid this off-by one error.
>>>
>>> Signed-off-by: Eric Dumazet <edumazet@google.com>
>> Acked-by: Yuchung Cheng <ycheng@google.com>
>
> Acked-by: Neal Cardwell <ncardwell@google.com>
Applied.
^ permalink raw reply
* Re: [PATCH v2 net-next] tcp: fix ABC in tcp_slow_start()
From: Stephen Hemminger @ 2012-07-20 18:01 UTC (permalink / raw)
To: Neal Cardwell
Cc: Yuchung Cheng, Eric Dumazet, David Miller, netdev, Tom Herbert,
Stephen Hemminger, John Heffner, Nandita Dukkipati
TCP ABC was an experiment that failed. It solves a problem that does not exist on Linux. I did the implementation mostly to prove that.
Perhaps it abc should just be removed?
^ permalink raw reply
* Re: [PATCH net-next] tcp: improve latencies of timer triggered events
From: David Miller @ 2012-07-20 18:01 UTC (permalink / raw)
To: eric.dumazet
Cc: netdev, therbert, ycheng, ncardwell, nanditad, johnwheffner,
hkchu
In-Reply-To: <1342799150.2626.7574.camel@edumazet-glaptop>
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Fri, 20 Jul 2012 17:45:50 +0200
> From: Eric Dumazet <edumazet@google.com>
>
> Modern TCP stack highly depends on tcp_write_timer() having a small
> latency, but current implementation doesn't exactly meet the
> expectations.
>
> When a timer fires but finds the socket is owned by the user, it rearms
> itself for an additional delay hoping next run will be more
> successful.
>
> tcp_write_timer() for example uses a 50ms delay for next try, and it
> defeats many attempts to get predictable TCP behavior in term of
> latencies.
>
> Use the recently introduced tcp_release_cb(), so that the user owning
> the socket will call various handlers right before socket release.
>
> This will permit us to post a followup patch to address the
> tcp_tso_should_defer() syndrome (some deferred packets have to wait
> RTO timer to be transmitted, while cwnd should allow us to send them
> sooner)
>
> Signed-off-by: Eric Dumazet <edumazet@google.com>
I like this a lot, applied, thanks Eric.
^ permalink raw reply
* Re: [RFC PATCH] net: Add support for virtual machine device queues (VMDQ)
From: Ben Hutchings @ 2012-07-20 18:01 UTC (permalink / raw)
To: John Fastabend
Cc: Jiri Pirko, or.gerlitz, davem, roland, netdev, ali, sean.hefty,
shlomop, Ronciak, John
In-Reply-To: <500987B7.2030705@intel.com>
On Fri, 2012-07-20 at 09:30 -0700, John Fastabend wrote:
> On 7/18/2012 11:42 PM, Jiri Pirko wrote:
> > Thu, Jul 19, 2012 at 12:05:44AM CEST, john.r.fastabend@intel.com wrote:
> >> This adds support to allow virtual net devices to be created. These
> >> devices can be managed independtly of the physical function but
> >> use the same physical link.
>
> [...]
>
> >> +
> >> +size_t vmdq_getpriv_size(struct net *src_net, struct nlattr *tb[])
> >> +{
> >> + struct net_device *lowerdev;
> >> +
> >> + if (!tb[IFLA_LINK])
> >> + return -EINVAL;
> >> +
> >> + lowerdev = __dev_get_by_index(src_net, nla_get_u32(tb[IFLA_LINK]));
> >> + if (!lowerdev)
> >> + return -ENODEV;
> >> +
> >> + return sizeof(netdev_priv(lowerdev));
> >> +}
> >
> > Why exactly do you need to have the priv of same size as lowerdev? I do
> > not see you use that anywhere...
> >
>
> When we add a child device the hardware/sw may have some private data
> it needs to manage this device.
>
> I made an assumption here that the priv space for child devices is the
> same as the lowerdev but this might be a bad assumption.
The code assumes that it is the size of a single pointer...
Ben.
--
Ben Hutchings, Staff Engineer, Solarflare
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 net-next] tcp: use hash_32() in tcp_metrics
From: David Miller @ 2012-07-20 18:00 UTC (permalink / raw)
To: eric.dumazet; +Cc: netdev
In-Reply-To: <1342774954.2626.6290.camel@edumazet-glaptop>
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Fri, 20 Jul 2012 11:02:34 +0200
> From: Eric Dumazet <edumazet@google.com>
>
> Fix a missing roundup_pow_of_two(), since tcpmhash_entries is not
> guaranteed to be a power of two.
>
> Uses hash_32() instead of custom hash.
>
> tcpmhash_entries should be an unsigned int.
>
> Signed-off-by: Eric Dumazet <edumazet@google.com>
Applied.
^ permalink raw reply
* Re: [PATCH net-next] tcp: Return bool instead of int where appropriate
From: David Miller @ 2012-07-20 18:00 UTC (permalink / raw)
To: eric.dumazet; +Cc: subramanian.vijay, netdev
In-Reply-To: <1342771377.2626.6102.camel@edumazet-glaptop>
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Fri, 20 Jul 2012 10:02:57 +0200
> On Fri, 2012-07-20 at 00:32 -0700, Vijay Subramanian wrote:
>> Applied to a set of static inline functions in tcp_input.c
>>
>> Signed-off-by: Vijay Subramanian <subramanian.vijay@gmail.com>
>> ---
>> net/ipv4/tcp_input.c | 16 ++++++++--------
>> 1 files changed, 8 insertions(+), 8 deletions(-)
>
> Acked-by: Eric Dumazet <edumazet@google.com>
Applied.
^ permalink raw reply
* Re: [trivial PATCH resend 2/2] ixgbe: use PCI_VENDOR_ID_INTEL
From: David Miller @ 2012-07-20 18:00 UTC (permalink / raw)
To: jeffrey.t.kirsher
Cc: jdmason, trivial, netdev, linux-kernel, jesse.brandeburg,
bruce.w.allan, carolyn.wyborny, donald.c.skidmore, gregory.v.rose,
peter.p.waskiewicz.jr, alexander.h.duyck, john.ronciak
In-Reply-To: <1342768629.2616.27.camel@jtkirshe-mobl>
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Fri, 20 Jul 2012 00:17:09 -0700
> On Fri, 2012-07-20 at 00:02 -0700, Jon Mason wrote:
>> Use PCI_VENDOR_ID_INTEL from pci_ids.h instead of creating its own
>> vendor ID #define.
>>
>> Signed-off-by: Jon Mason <jdmason@kudzu.us>
...
> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Applied.
^ permalink raw reply
* Re: [trivial PATCH resend 1/2] ixgb: use PCI_VENDOR_ID_INTEL
From: David Miller @ 2012-07-20 18:00 UTC (permalink / raw)
To: jeffrey.t.kirsher
Cc: jdmason, trivial, netdev, linux-kernel, jesse.brandeburg,
bruce.w.allan, carolyn.wyborny, donald.c.skidmore, gregory.v.rose,
peter.p.waskiewicz.jr, alexander.h.duyck, john.ronciak
In-Reply-To: <1342768277.2616.22.camel@jtkirshe-mobl>
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Fri, 20 Jul 2012 00:11:17 -0700
> On Fri, 2012-07-20 at 00:02 -0700, Jon Mason wrote:
>> Use PCI_VENDOR_ID_INTEL from pci_ids.h instead of creating its own
>> vendor ID #define.
>>
>> Signed-off-by: Jon Mason <jdmason@kudzu.us>
...
> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Applied.
^ permalink raw reply
* Re: [PATCH] myri10ge: update MAINTAINERS
From: David Miller @ 2012-07-20 17:59 UTC (permalink / raw)
To: jdmason; +Cc: netdev
In-Reply-To: <1342764673-16671-1-git-send-email-jdmason@kudzu.us>
From: Jon Mason <jdmason@kudzu.us>
Date: Thu, 19 Jul 2012 23:11:13 -0700
> Remove myself from myri10ge MAINTAINERS list
>
> Signed-off-by: Jon Mason <jdmason@kudzu.us>
Applied to net-next
^ permalink raw reply
* Re: [PATCH v2 net-next] tcp: fix ABC in tcp_slow_start()
From: Neal Cardwell @ 2012-07-20 17:58 UTC (permalink / raw)
To: Yuchung Cheng
Cc: Eric Dumazet, David Miller, netdev, Tom Herbert,
Stephen Hemminger, John Heffner, Nandita Dukkipati
In-Reply-To: <CAK6E8=dkwruGMtW2uQ--xZ_so9aZQt-KcmHsy2yE5GApKphrJQ@mail.gmail.com>
On Fri, Jul 20, 2012 at 8:07 AM, Yuchung Cheng <ycheng@google.com> wrote:
> On Fri, Jul 20, 2012 at 8:02 AM, Eric Dumazet <eric.dumazet@gmail.com> wrote:
>> From: Eric Dumazet <edumazet@google.com>
>>
>> When/if sysctl_tcp_abc > 1, we expect to increase cwnd by 2 if the
>> received ACK acknowledges more than 2*MSS bytes, in tcp_slow_start()
>>
>> Problem is this RFC 3465 statement is not correctly coded, as
>> the while () loop increases snd_cwnd one by one.
>>
>> Add a new variable to avoid this off-by one error.
>>
>> Signed-off-by: Eric Dumazet <edumazet@google.com>
> Acked-by: Yuchung Cheng <ycheng@google.com>
Acked-by: Neal Cardwell <ncardwell@google.com>
neal
^ permalink raw reply
* Re: [PATCH v4] sctp: Implement quick failover draft from tsvwg
From: Vlad Yasevich @ 2012-07-20 17:55 UTC (permalink / raw)
To: Neil Horman; +Cc: netdev, Sridhar Samudrala, David S. Miller, linux-sctp, joe
In-Reply-To: <1342804752-17044-1-git-send-email-nhorman@tuxdriver.com>
On 07/20/2012 01:19 PM, Neil Horman wrote:
> I've seen several attempts recently made to do quick failover of sctp transports
> by reducing various retransmit timers and counters. While its possible to
> implement a faster failover on multihomed sctp associations, its not
> particularly robust, in that it can lead to unneeded retransmits, as well as
> false connection failures due to intermittent latency on a network.
>
> Instead, lets implement the new ietf quick failover draft found here:
> http://tools.ietf.org/html/draft-nishida-tsvwg-sctp-failover-05
>
> This will let the sctp stack identify transports that have had a small number of
> errors, and avoid using them quickly until their reliability can be
> re-established. I've tested this out on two virt guests connected via multiple
> isolated virt networks and believe its in compliance with the above draft and
> works well.
>
> Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
> CC: Vlad Yasevich <vyasevich@gmail.com>
> CC: Sridhar Samudrala <sri@us.ibm.com>
> CC: "David S. Miller" <davem@davemloft.net>
> CC: linux-sctp@vger.kernel.org
> CC: joe@perches.com
>
> ---
> Change notes:
>
> V2)
> - Added socket option API from section 6.1 of the specification, as per
> request from Vlad. Adding this socket option allows us to alter both the path
> maximum retransmit value and the path partial failure threshold for each
> transport and the association as a whole.
>
> - Added a per transport pf_retrans value, and initialized it from the
> association value. This makes each transport independently configurable as per
> the socket option above, and prevents changes in the sysctl from bleeding into
> an already created association.
>
> V3)
> - Cleaned up some line spacing (Joe Perches)
> - Fixed some socket option user data sanitization (Vlad Yasevich)
>
> V4)
> - Added additional documentation (Flavio Leitner)
> ---
> Documentation/networking/ip-sysctl.txt | 14 +++++
> include/net/sctp/constants.h | 1 +
> include/net/sctp/structs.h | 20 ++++++-
> include/net/sctp/user.h | 11 ++++
> net/sctp/associola.c | 37 ++++++++++--
> net/sctp/outqueue.c | 6 +-
> net/sctp/sm_sideeffect.c | 33 +++++++++-
> net/sctp/socket.c | 100 ++++++++++++++++++++++++++++++++
> net/sctp/sysctl.c | 9 +++
> net/sctp/transport.c | 4 +-
> 10 files changed, 220 insertions(+), 15 deletions(-)
>
[ snip ]
>
> diff --git a/net/sctp/socket.c b/net/sctp/socket.c
> index b3b8a8d..fef9bfa 100644
> --- a/net/sctp/socket.c
> +++ b/net/sctp/socket.c
> @@ -3470,6 +3470,56 @@ static int sctp_setsockopt_auto_asconf(struct sock *sk, char __user *optval,
> }
>
>
> +/*
> + * SCTP_PEER_ADDR_THLDS
> + *
> + * This option allows us to alter the partially failed threshold for one or all
> + * transports in an association. See Section 6.1 of:
> + * http://www.ietf.org/id/draft-nishida-tsvwg-sctp-failover-05.txt
> + */
> +static int sctp_setsockopt_paddr_thresholds(struct sock *sk,
> + char __user *optval,
> + unsigned int optlen)
> +{
> + struct sctp_paddrthlds val;
> + struct sctp_transport *trans;
> + struct sctp_association *asoc;
> +
> + if (optlen < sizeof(struct sctp_paddrthlds))
> + return -EINVAL;
> + if (copy_from_user(&val, (struct sctp_paddrthlds __user *)optval,
> + sizeof(struct sctp_paddrthlds)))
> + return -EFAULT;
> +
> + /* path_max_retrans shouldn't ever be zero */
> + if (!val.spt_pathmaxrxt)
> + return -EINVAL;
I am not sure I like this solution. This means that the application
must fetch the pathmaxrx and then write the same value back here.
Why not simply ignore the patthmaxrxt if it's 0? That way someone can
just tweak the pf value without changing the pathmaxrxt.
> +
> + if (sctp_is_any(sk, (const union sctp_addr *)&val.spt_address)) {
> + asoc = sctp_id2assoc(sk, val.spt_assoc_id);
> + if (!asoc)
> + return -ENOENT;
> + list_for_each_entry(trans, &asoc->peer.transport_addr_list,
> + transports) {
> + trans->pathmaxrxt = val.spt_pathmaxrxt;
> + trans->pf_retrans = val.spt_pathpfthld;
> + }
> +
> + asoc->pf_retrans = val.spt_pathpfthld;
> + asoc->pathmaxrxt = val.spt_pathmaxrxt;
> + } else {
> + trans = sctp_addr_id2transport(sk, &val.spt_address,
> + val.spt_assoc_id);
> + if (!trans)
> + return -ENOENT;
> +
> + trans->pathmaxrxt = val.spt_pathmaxrxt;
> + trans->pf_retrans = val.spt_pathpfthld;
> + }
> +
> + return 0;
> +}
> +
> /* API 6.2 setsockopt(), getsockopt()
> *
> * Applications use setsockopt() and getsockopt() to set or retrieve
> @@ -3619,6 +3669,9 @@ SCTP_STATIC int sctp_setsockopt(struct sock *sk, int level, int optname,
> case SCTP_AUTO_ASCONF:
> retval = sctp_setsockopt_auto_asconf(sk, optval, optlen);
> break;
> + case SCTP_PEER_ADDR_THLDS:
> + retval = sctp_setsockopt_paddr_thresholds(sk, optval, optlen);
> + break;
> default:
> retval = -ENOPROTOOPT;
> break;
> @@ -5490,6 +5543,50 @@ static int sctp_getsockopt_assoc_ids(struct sock *sk, int len,
> return 0;
> }
>
> +/*
> + * SCTP_PEER_ADDR_THLDS
> + *
> + * This option allows us to fetch the partially failed threshold for one or all
> + * transports in an association. See Section 6.1 of:
> + * http://www.ietf.org/id/draft-nishida-tsvwg-sctp-failover-05.txt
> + */
> +static int sctp_getsockopt_paddr_thresholds(struct sock *sk,
> + char __user *optval,
> + int optlen)
> +{
> + struct sctp_paddrthlds val;
> + struct sctp_transport *trans;
> + struct sctp_association *asoc;
> +
> + if (optlen < sizeof(struct sctp_paddrthlds))
> + return -EINVAL;
> + optlen = sizeof(struct sctp_paddrthlds);
> + if (copy_from_user(&val, (struct sctp_paddrthlds __user *)optval, optlen))
> + return -EFAULT;
> +
> + if (sctp_is_any(sk, (const union sctp_addr *)&val.spt_address)) {
> + asoc = sctp_id2assoc(sk, val.spt_assoc_id);
> + if (!asoc)
> + return -ENOENT;
> +
> + val.spt_pathpfthld = asoc->pf_retrans;
> + val.spt_pathmaxrxt = asoc->pathmaxrxt;
> + } else {
> + trans = sctp_addr_id2transport(sk, &val.spt_address,
> + val.spt_assoc_id);
> + if (!trans)
> + return -ENOENT;
> +
> + val.spt_pathmaxrxt = trans->pathmaxrxt;
> + val.spt_pathpfthld = trans->pf_retrans;
> + }
> +
> + if (copy_to_user(optval, &val, optlen))
> + return -EFAULT;
> +
getsockopt typically returns the length of the option data that was
written to the user.
> + return 0;
> +}
> +
> SCTP_STATIC int sctp_getsockopt(struct sock *sk, int level, int optname,
> char __user *optval, int __user *optlen)
> {
> @@ -5628,6 +5725,9 @@ SCTP_STATIC int sctp_getsockopt(struct sock *sk, int level, int optname,
> case SCTP_AUTO_ASCONF:
> retval = sctp_getsockopt_auto_asconf(sk, len, optval, optlen);
> break;
> + case SCTP_PEER_ADDR_THLDS:
> + retval = sctp_getsockopt_paddr_thresholds(sk, optval, len);
> + break;
You are passing the len. The user may have passed in a bigger buffer
and is expecting back the length of the option.
-vlad
> default:
> retval = -ENOPROTOOPT;
> break;
> diff --git a/net/sctp/sysctl.c b/net/sctp/sysctl.c
> index e5fe639..2b2bfe9 100644
> --- a/net/sctp/sysctl.c
> +++ b/net/sctp/sysctl.c
> @@ -141,6 +141,15 @@ static ctl_table sctp_table[] = {
> .extra2 = &int_max
> },
> {
> + .procname = "pf_retrans",
> + .data = &sctp_pf_retrans,
> + .maxlen = sizeof(int),
> + .mode = 0644,
> + .proc_handler = proc_dointvec_minmax,
> + .extra1 = &zero,
> + .extra2 = &int_max
> + },
> + {
> .procname = "max_init_retransmits",
> .data = &sctp_max_retrans_init,
> .maxlen = sizeof(int),
> diff --git a/net/sctp/transport.c b/net/sctp/transport.c
> index b026ba0..194d0f3 100644
> --- a/net/sctp/transport.c
> +++ b/net/sctp/transport.c
> @@ -85,6 +85,7 @@ static struct sctp_transport *sctp_transport_init(struct sctp_transport *peer,
>
> /* Initialize the default path max_retrans. */
> peer->pathmaxrxt = sctp_max_retrans_path;
> + peer->pf_retrans = sctp_pf_retrans;
>
> INIT_LIST_HEAD(&peer->transmitted);
> INIT_LIST_HEAD(&peer->send_ready);
> @@ -585,7 +586,8 @@ unsigned long sctp_transport_timeout(struct sctp_transport *t)
> {
> unsigned long timeout;
> timeout = t->rto + sctp_jitter(t->rto);
> - if (t->state != SCTP_UNCONFIRMED)
> + if ((t->state != SCTP_UNCONFIRMED) &&
> + (t->state != SCTP_PF))
> timeout += t->hbinterval;
> timeout += jiffies;
> return timeout;
>
^ permalink raw reply
* Re: New commands to configure IOV features
From: Ben Hutchings @ 2012-07-20 17:42 UTC (permalink / raw)
To: Don Dutile
Cc: Chris Friesen, David Miller, yuvalmin, gregory.v.rose, netdev,
linux-pci
In-Reply-To: <50097FBD.9080202@redhat.com>
On Fri, 2012-07-20 at 11:56 -0400, Don Dutile wrote:
> On 07/20/2012 11:27 AM, Chris Friesen wrote:
> > On 07/17/2012 03:11 PM, David Miller wrote:
> >> From: Chris Friesen<chris.friesen@genband.com>
> >> Date: Tue, 17 Jul 2012 15:08:45 -0600
> >>
> >>> From that perspective a sysfs-based interface is ideal since it is
> >>> directly scriptable.
> >>
> >> As is anything ethtool or netlink based, since we have 'ethtool'
> >> and 'ip' for scripting.
> >
> > I'm not picky...whatever works.
> >
> > To me the act of creating virtual functions seems generic enough (I'm aware of SR-IOV capable storage controllers, I'm sure there is other hardware as well) that ethtool/ip don't really seem like the most appropriate tools for the job.
> >
> Yes, and then there are 'other network' controllers too ... IB which
> I don't know if it adheres to ethtool, since it's not an Ethernet
> device ... isn't that why they call it Infiniband ... ;-) )
> In the telecom space, they use NTBs and PCI as a 'network' ... I know,
> not common in Linux space, and VFs in that space aren't being
> discussed (that I've ever heard), but another example where
> 'network' != Ethernet, so ethtool doesn't solve PCI-level
> configuration/use.
[...]
The ethtool API is typically used for net device operations that can be
largely devolved to individual drivers, and which the network stack can
mostly ignore (though offload features are an historical exception to
this). It started with Ethernet link settings, but many operations are
applicable (and implemented by) other types of network device.
Ben.
--
Ben Hutchings, Staff Engineer, Solarflare
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 00/16]: Kill the ipv4 routing cache.
From: David Miller @ 2012-07-20 17:42 UTC (permalink / raw)
To: eric.dumazet; +Cc: bhutchings, netdev
In-Reply-To: <1342802634.2626.7718.camel@edumazet-glaptop>
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Fri, 20 Jul 2012 18:43:54 +0200
> It would be nice if you can copy the changelog of 00/16 to 01/16
I can crib the first few paragraphs that describe the justification,
sure.
^ permalink raw reply
* pull request: wireless-next 2012-07-20
From: John W. Linville @ 2012-07-20 17:20 UTC (permalink / raw)
To: davem; +Cc: linux-wireless, netdev
[-- Attachment #1: Type: text/plain, Size: 23676 bytes --]
commit 90b90f60c4f8e3a8525dfeb4aec46a9c7a29c857
Dave,
Here is what I hope to be the last non-fix pull request for wireless
bits going into 3.6. It's mostly normal stuff, including driver
updates to ath9k, mwifiex, libertas, iwlwifi, and a few other bits.
Also included is a bluetooth pull. Gustavo says:
"This is my last pull towards 3.6, the biggest thing here is
the new 3-wire UART Bluetooth driver by Johan Hedberg. The
rest is just fixes and clean ups."
Finally, there is a pull of the wireless tree to pick-up a few minor
fixes I had queued that were not really worthy for this late in the
3.5 cycle.
Please let me know if there are problems!
Thanks,
John
---
The following changes since commit 769162e38b91e1d300752e666260fa6c7b203fbc:
Merge branch 'net' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile (2012-07-19 13:39:27 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next.git for-davem
for you to fetch changes up to 90b90f60c4f8e3a8525dfeb4aec46a9c7a29c857:
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem (2012-07-20 12:30:48 -0400)
----------------------------------------------------------------
Alan Cox (1):
mac80211: fix use after free
Amitkumar Karwar (5):
mwifiex: correction in mcs index check
mwifiex: remove redundant code in set channel path
mwifiex: remove unnecessary code in data rate configuration
mwifiex: add support to use basic rates in ibss join request
mwifiex: improvement in cfg80211 set_bitrate_mask handler
Andre Guedes (4):
Bluetooth: Remove magic value in disconnect mgmt handler
Bluetooth: Use GFP_KERNEL in mgmt_handlers
Bluetooth: Use GFP_KERNEL in mgmt_pending_add
Bluetooth: Use GFP_KERNEL in mgmt events functions
Andrei Emeltchenko (20):
Bluetooth: Use standard HCI cmd timeout for RESET
Bluetooth: Update HCI timeouts constants to use msecs_to_jiffies
Bluetooth: Add opcode to error message
Bluetooth: Correct debug print specifier for u16 objects
Bluetooth: Fix not setting HCI_RESET flag for AMP
Bluetooth: Fix compile warnings in mgmt
Bluetooth: Use AUTO_OFF constant in jiffies
Bluetooth: Improve debugging messages for hci_conn
Bluetooth: Fix warning: using int as NULL pointer
Bluetooth: Route traffic only through BR/EDR controller
Bluetooth: bluecard_cs: Shorten scope for iobase
Bluetooth: Do not auto off AMP controller
Bluetooth: btmrvl: trivial style fixes
Bluetooth: debug: Add printing num of cmds queued
Bluetooth: debug: Correct types specifiers for L2CAP
Bluetooth: debug: Print CID and PSM in hex format
Bluetooth: debug: Add debug to l2cap_security_cfm
Bluetooth: debug: Use standard hex object specifiers in hci_event
Bluetooth: debug: Print l2cap_chan refcount
Bluetooth: debug: Print amp_mgr refcnt
Andy Shevchenko (1):
wireless: brcm80211: use %pM to print BSSID
Arik Nemtsov (5):
mac80211: fix invalid band deref building preq IEs
wl18xx: alloc conf.phy memory to ensure alignemnt
wl18xx: fix bogus compile warning on cc config option
wlcore: don't issue SLEEP_AUTH command during recovery
wl18xx: enable MIMO rates when connected as a MIMO STA
Christian Lamparter (2):
mac80211: request TX status for BlockAck Requests
mac80211: fix read outside array bounds
Chun-Yeow Yeoh (1):
mac80211: Fix the Problem of Unreachable Mesh STA from DS
Daniel Drake (3):
libertas: Update 11d info only when interface is active
libertas: handle command failure immediately
libertas USB: don't set surpriseremoved flag
Dave Jones (1):
NFC: NCI module license 'unspecified' taints kernel
Devendra Naga (1):
Bluetooth: cleanup dtl1_config
Duan Jiong (1):
libertas: firmware.c: remove duplicated include
Eliad Peller (3):
mac80211: go out of PS before sending disassoc
wlcore: use basic rates for non-data packets
mac80211: flush stations before stop beaconing
Emmanuel Grumbach (1):
iwlwifi: REPLY_RX doesn't exist any more
Eric Lapuyade (1):
NFC: Set target nfcid1 for all HCI reader A targets
Eyal Shapira (1):
wlcore: don't re-configure wakeup conditions if not needed
Felix Fietkau (15):
cfg80211: ignore channel state for stopped AP/mesh interfaces
ath9k_hw: fix 5 GHz frequency selection on AR934x/AR955x with 25 MHz refclock
ath9k_hw: fall back to OTP ROM when platform data has no valid eeprom data
ath9k: validate rx antenna settings
ath9k_hw: enable ANI on AR934x
ath9k_hw: fix tx gain tables for AR934x
ath9k_hw: remove redundant arguments to INIT_INI_ARRAY
ath9k/ath9k_htc: fix txop limit handling
ath9k: make per-WMM-AC queue sizes configurable via debugfs
ath9k: fix aggregate size limit based on queue TXOP limit
ath9k_hw: apply XPA timing control values from EEPROM
ath9k_hw: clean up AR9003 EEPROM code
ath9k_hw: apply XLNA bias settings from EEPROM
ath9k_hw: fix SREV checks for applying tuning caps from EEPROM
ath5k: fix txop limit handling
Forest Bond (1):
rtlwifi: rtl8192de: Fix phy-based version calculation
Gustavo Padovan (2):
Merge branch 'for-upstream' of git://git.kernel.org/.../bluetooth/bluetooth
Merge branch 'for-upstream' of git://git.kernel.org/.../bluetooth/bluetooth
Igal Chernobelsky (1):
wlcore: send EAPOLs using minimum basic rate for all roles
Jaganath Kanakkassery (1):
Bluetooth: Refactor PIN code rejection to use user_pairing_resp()
Jefferson Delfes (1):
Bluetooth: Fix flags of mgmt_device_found event
Johan Hedberg (19):
Bluetooth: Change page scan interval in fast connectable mode
Bluetooth: Initial skeleton for Three-wire UART (H5) support
Bluetooth: Add basic state tracking to Three-wire UART driver
Bluetooth: Add initial reliable packet support for Three-wire UART
Bluetooth: Add basic packet parsing to Three-wire UART driver
Bluetooth: Add initial packet sending support to Three-wire UART
Bluetooth: Add Three-wire header value convenience macros
Bluetooth: Fix/implement Three-wire reliable packet sending
Bluetooth: Add support for Three-wire Link Control packets
Bluetooth: Simplify hci_uart_tty_close logic
Bluetooth: Add delayed init sequence support for UART controllers
Bluetooth: Use delayed init for Three-wire UART
Bluetooth: Improve rx debug logs for Three-wire UART
Bluetooth: Add initial sleep support to Three-wire UART
Bluetooth: Add initialization tracking to HCI Three-wire driver
Bluetooth: Implement proper low-power support for Three-wire UART
Bluetooth: Remove unnecessary h5_build_pkt function
Bluetooth: Improve Three-wire UART configuration handling
Bluetooth: Introduce a flags variable to Three-wire UART state
Johannes Berg (27):
mac80211: update BSS info on AC parameters change
mac80211: remove unused assignment
mac80211: remove ieee80211_key_removed
nl80211: prepare for non-netdev wireless devs
nl80211: add NL80211_FLAG_NEED_WDEV
nl80211: retrieve interface data by wdev
nl80211: don't assume wdev->netdev exists
cfg80211: use wdev in mgmt-tx/ROC APIs
cfg80211: use wireless_dev for interface management
nl80211: send interface after creation
nl80211: move scan API to wdev
mac80211: make scan_sdata pointer usable with RCU
mac80211: track scheduled scan virtual interface
mac80211: redesign scan RX
mac80211: optimize ieee80211_rx_status struct layout
mac80211: add time synchronisation with BSS for assoc
mac80211: restructure key selection
cfg80211: fix locking and lockdep complaints
mac80211: iterate the virtual monitor interface
iwlwifi: don't use stack memory for kmem cache name
nl80211: allow enabling WoWLAN without triggers
Revert "mac80211: refactor virtual monitor code"
cfg80211/mac80211: re-add get_channel operation
cfg80211: reduce monitor interface tracking
nl80211: add wdev ID as u64 as it should
b43: use temporary rate_index for error checking
b43: fix crash with OpenFWWF
John W. Linville (7):
Merge branch 'for-john' of git://git.kernel.org/.../jberg/mac80211-next
Merge branch 'for-john' of git://git.kernel.org/.../iwlwifi/iwlwifi-next
Merge branch 'for-john' of git://git.kernel.org/.../jberg/mac80211-next
Merge branch 'master' of git://git.kernel.org/.../linville/wireless
Merge branch 'master' of git://git.kernel.org/.../bluetooth/bluetooth-next
Merge branch 'for-john' of git://git.kernel.org/.../jberg/mac80211-next
Merge branch 'master' of git://git.kernel.org/.../linville/wireless-next into for-davem
Kalle Valo (1):
cfg80211: fix set_regdom() to cancel requests with same alpha2
Larry Finger (2):
rtlwifi: Remove extra argument from queue setup routine
rtlwifi: rtl8192cu: Change buffer allocation for synchronous reads
Luciano Coelho (2):
wlcore: wait for command completion event when sending CMD_ROLE_STOP
wlcore: increase command completion timeout
Luis R. Rodriguez (6):
cfg80211: add CONFIG_CFG80211_CERTIFICATION_ONUS
cfg80211: add cellular base station regulatory hint support
cfg80211: rename reg_device_remove() to wiphy_regulatory_deregister()
cfg80211: make regulatory_update() static
cfg80211: remove regulatory_update()
ath9k: make CONFIG_ATH9K_DFS_CERTIFIED depend on CFG80211_CERTIFICATION_ONUS
Mat Martineau (1):
Bluetooth: Use tx window from config response for ack timing
Mathias Jeppsson (2):
NFC: Fix empty HCI message list check
NFC: Fix order of arguments to list_add_tail() when queueing HCP frames
Mohammed Shafi Shajakhan (11):
ath9k_hw: Add register definitions for WoW support
ath9k: Add definitions and structures to support WoW
ath9k_hw: Add WoW hardware capability flags
ath9k_hw: advertise WoW support for capable chipsets
ath9k: advertise supported WoW flags to upper layer
ath9k_hw: INI changes for WoW for AR9002 chipsets
ath9k_hw: Add hardware code for WoW
ath: Add Wake-on-Wireless debug mask
ath9k: Add WoW related mac80211 callbacks
ath9k: do not disable hardware while wow is enabled
cfg80211: Fix mutex locking in reg_last_request_cell_base
Nicolas Cavallari (2):
mac80211: tx: do not drop non-robust mgmt to non-MFP stas.
mac80211: fix tx-mgmt cookie value being left uninitialized
Rafał Miłecki (6):
bcma: support alternative (BCM4706) ChipCommon core id
bcma: fix typo - reading number of slave wrappers
bcma: add trivial GBIT MAC COMMON driver
bcma: add new cores at the end of list
bcma: cc: update defines
bcma: add place for flash memory support
Rajkumar Manoharan (1):
ath9k: Fix race in reset-work usage
Sujith Manoharan (11):
ath9k: Fix beacon setup
ath9k_hw: Cleanup ath9k_hw_set_tsfadjust
ath9k: Cleanup interface handling
ath9k: Simplify ASSOC handling
ath9k: Cleanup beacon logic
ath9k: Remove is_bslot_active
ath9k: Cleanup beacon queue configuration
ath9k: Set the TSF adjust value properly
ath9k: Cleanup the beacon tasklet
ath9k: Fix ANI management
ath9k: Reconfigure VIF state properly
Sylvain Roger Rieunier (1):
minstrel_ht: enable frame aggregation for fixed rate
Thomas Huehn (3):
mwl8k: fix possible race condition in info->control.sta use
brcmsmac: restructure info->control.sta handling as it is goning to be removed soon.
mac80211_hwsim: fix race condition with sta/vif pointers
Thomas Pedersen (1):
cfg80211: support TX error rate CQM
Vladimir Kondratiev (1):
cfg80211: fix oops due to unassigned set_monitor_enabled callback
Wey-Yi Guy (1):
iwlwifi: set correct 32 bit boost register value
Yair Shapira (5):
wl18xx: add support for ht_mode in conf.h
wlcore: add plt_mode including new PLT_FEM_DETECT
wl18xx: disable calibrator based fem detect
wlcore/wl12xx: calibrator fem detect implementation
wlcore: make usage of nla_put clearer
Documentation/DocBook/80211.tmpl | 1 -
drivers/bcma/Kconfig | 19 +
drivers/bcma/Makefile | 3 +
drivers/bcma/bcma_private.h | 22 +
drivers/bcma/driver_chipcommon_nflash.c | 19 +
drivers/bcma/driver_chipcommon_sflash.c | 19 +
drivers/bcma/driver_gmac_cmn.c | 14 +
drivers/bcma/driver_mips.c | 15 +-
drivers/bcma/main.c | 25 +-
drivers/bcma/scan.c | 20 +-
drivers/bcma/scan.h | 2 +-
drivers/bluetooth/Kconfig | 12 +
drivers/bluetooth/Makefile | 1 +
drivers/bluetooth/bluecard_cs.c | 6 +-
drivers/bluetooth/bt3c_cs.c | 2 +-
drivers/bluetooth/btmrvl_main.c | 8 +-
drivers/bluetooth/btmrvl_sdio.c | 3 +-
drivers/bluetooth/btuart_cs.c | 2 +-
drivers/bluetooth/dtl1_cs.c | 18 +-
drivers/bluetooth/hci_h5.c | 747 ++++++++++++++++++++
drivers/bluetooth/hci_ldisc.c | 66 +-
drivers/bluetooth/hci_uart.h | 10 +
drivers/net/wireless/ath/ath.h | 2 +
drivers/net/wireless/ath/ath5k/mac80211-ops.c | 2 +-
drivers/net/wireless/ath/ath6kl/cfg80211.c | 58 +-
drivers/net/wireless/ath/ath6kl/cfg80211.h | 6 +-
drivers/net/wireless/ath/ath6kl/core.c | 8 +-
drivers/net/wireless/ath/ath6kl/core.h | 5 +
drivers/net/wireless/ath/ath6kl/wmi.c | 10 +-
drivers/net/wireless/ath/ath9k/Kconfig | 2 +-
drivers/net/wireless/ath/ath9k/Makefile | 1 +
drivers/net/wireless/ath/ath9k/ar9002_hw.c | 160 ++---
drivers/net/wireless/ath/ath9k/ar9002_initvals.h | 14 +
drivers/net/wireless/ath/ath9k/ar9003_eeprom.c | 198 +++---
drivers/net/wireless/ath/ath9k/ar9003_eeprom.h | 3 +-
drivers/net/wireless/ath/ath9k/ar9003_hw.c | 546 ++++----------
drivers/net/wireless/ath/ath9k/ar9003_phy.c | 4 +-
drivers/net/wireless/ath/ath9k/ar9003_phy.h | 5 +
drivers/net/wireless/ath/ath9k/ath9k.h | 40 +-
drivers/net/wireless/ath/ath9k/beacon.c | 523 ++++++--------
drivers/net/wireless/ath/ath9k/calib.h | 6 +-
drivers/net/wireless/ath/ath9k/debug.c | 13 +-
drivers/net/wireless/ath/ath9k/debug.h | 24 +-
drivers/net/wireless/ath/ath9k/eeprom.h | 4 -
drivers/net/wireless/ath/ath9k/htc_drv_main.c | 4 +-
drivers/net/wireless/ath/ath9k/hw.c | 16 +-
drivers/net/wireless/ath/ath9k/hw.h | 84 ++-
drivers/net/wireless/ath/ath9k/init.c | 21 +-
drivers/net/wireless/ath/ath9k/link.c | 73 +-
drivers/net/wireless/ath/ath9k/main.c | 691 +++++++++++++-----
drivers/net/wireless/ath/ath9k/mci.c | 2 +-
drivers/net/wireless/ath/ath9k/pci.c | 3 +
drivers/net/wireless/ath/ath9k/recv.c | 2 +-
drivers/net/wireless/ath/ath9k/reg.h | 145 +++-
drivers/net/wireless/ath/ath9k/wow.c | 532 ++++++++++++++
drivers/net/wireless/ath/ath9k/xmit.c | 102 +--
drivers/net/wireless/b43/b43.h | 7 -
drivers/net/wireless/b43/main.c | 32 +-
drivers/net/wireless/b43/xmit.c | 9 +-
.../net/wireless/brcm80211/brcmfmac/wl_cfg80211.c | 7 +-
drivers/net/wireless/brcm80211/brcmsmac/ampdu.c | 11 +-
.../net/wireless/brcm80211/brcmsmac/mac80211_if.c | 2 +
drivers/net/wireless/brcm80211/brcmsmac/main.c | 2 +-
drivers/net/wireless/iwlegacy/common.c | 2 +-
drivers/net/wireless/iwlwifi/dvm/commands.h | 1 +
drivers/net/wireless/iwlwifi/dvm/lib.c | 2 +
drivers/net/wireless/iwlwifi/dvm/main.c | 1 -
drivers/net/wireless/iwlwifi/dvm/rx.c | 44 +-
drivers/net/wireless/iwlwifi/dvm/rxon.c | 2 +-
drivers/net/wireless/iwlwifi/iwl-config.h | 2 +-
drivers/net/wireless/iwlwifi/iwl-trans.h | 1 +
drivers/net/wireless/iwlwifi/pcie/2000.c | 2 +-
drivers/net/wireless/iwlwifi/pcie/trans.c | 7 +-
drivers/net/wireless/libertas/cfg.c | 7 +-
drivers/net/wireless/libertas/cmd.c | 25 +-
drivers/net/wireless/libertas/cmd.h | 4 +-
drivers/net/wireless/libertas/dev.h | 1 +
drivers/net/wireless/libertas/firmware.c | 2 -
drivers/net/wireless/libertas/if_usb.c | 1 -
drivers/net/wireless/libertas/main.c | 6 +
drivers/net/wireless/mac80211_hwsim.c | 5 -
drivers/net/wireless/mwifiex/cfg80211.c | 287 ++++----
drivers/net/wireless/mwifiex/cfp.c | 31 -
drivers/net/wireless/mwifiex/decl.h | 9 -
drivers/net/wireless/mwifiex/fw.h | 10 -
drivers/net/wireless/mwifiex/init.c | 1 -
drivers/net/wireless/mwifiex/ioctl.h | 6 -
drivers/net/wireless/mwifiex/main.c | 4 +-
drivers/net/wireless/mwifiex/main.h | 20 +-
drivers/net/wireless/mwifiex/sta_cmd.c | 38 -
drivers/net/wireless/mwifiex/sta_cmdresp.c | 70 +-
drivers/net/wireless/mwifiex/sta_ioctl.c | 287 +-------
drivers/net/wireless/mwl8k.c | 5 +-
drivers/net/wireless/orinoco/cfg.c | 2 +-
drivers/net/wireless/rndis_wlan.c | 5 +-
drivers/net/wireless/rt2x00/rt2x00config.c | 2 +-
drivers/net/wireless/rtlwifi/base.c | 2 +-
drivers/net/wireless/rtlwifi/base.h | 2 +-
drivers/net/wireless/rtlwifi/pci.c | 2 +-
drivers/net/wireless/rtlwifi/rtl8192de/phy.c | 6 +-
drivers/net/wireless/rtlwifi/usb.c | 14 +-
drivers/net/wireless/rtlwifi/wifi.h | 1 +
drivers/net/wireless/ti/wl12xx/cmd.c | 34 +-
drivers/net/wireless/ti/wl12xx/main.c | 23 +
drivers/net/wireless/ti/wl18xx/conf.h | 21 +-
drivers/net/wireless/ti/wl18xx/io.c | 2 +-
drivers/net/wireless/ti/wl18xx/main.c | 117 ++-
drivers/net/wireless/ti/wlcore/cmd.c | 12 +
drivers/net/wireless/ti/wlcore/cmd.h | 2 +-
drivers/net/wireless/ti/wlcore/main.c | 44 +-
drivers/net/wireless/ti/wlcore/testmode.c | 85 ++-
drivers/net/wireless/ti/wlcore/tx.c | 14 +-
drivers/net/wireless/ti/wlcore/wlcore.h | 2 +
drivers/net/wireless/ti/wlcore/wlcore_i.h | 8 +-
include/linux/bcma/bcma.h | 2 +
include/linux/bcma/bcma_driver_chipcommon.h | 51 +-
include/linux/bcma/bcma_driver_gmac_cmn.h | 100 +++
include/linux/nl80211.h | 53 ++
include/net/bluetooth/hci.h | 11 +-
include/net/bluetooth/hci_core.h | 8 +-
include/net/bluetooth/l2cap.h | 5 +
include/net/bluetooth/mgmt.h | 2 +-
include/net/cfg80211.h | 107 ++-
include/net/mac80211.h | 40 +-
include/net/regulatory.h | 5 +
net/bluetooth/a2mp.c | 4 +-
net/bluetooth/hci_conn.c | 47 +-
net/bluetooth/hci_core.c | 77 +-
net/bluetooth/hci_event.c | 170 ++---
net/bluetooth/l2cap_core.c | 151 ++--
net/bluetooth/mgmt.c | 60 +-
net/mac80211/agg-tx.c | 3 +-
net/mac80211/cfg.c | 62 +-
net/mac80211/debugfs.c | 2 -
net/mac80211/ieee80211_i.h | 24 +-
net/mac80211/iface.c | 60 +-
net/mac80211/key.c | 20 -
net/mac80211/main.c | 3 +-
net/mac80211/mlme.c | 62 +-
net/mac80211/offchannel.c | 12 +-
net/mac80211/rc80211_minstrel_ht.c | 8 +-
net/mac80211/rx.c | 49 +-
net/mac80211/scan.c | 116 +--
net/mac80211/status.c | 9 +-
net/mac80211/trace.h | 6 +-
net/mac80211/tx.c | 30 +-
net/mac80211/util.c | 11 +
net/nfc/hci/core.c | 20 +-
net/nfc/hci/hcp.c | 2 +-
net/nfc/nci/core.c | 3 +
net/wireless/Kconfig | 21 +
net/wireless/chan.c | 24 +-
net/wireless/core.c | 79 +--
net/wireless/core.h | 14 +-
net/wireless/mlme.c | 47 +-
net/wireless/nl80211.c | 537 ++++++++++----
net/wireless/nl80211.h | 21 +-
net/wireless/reg.c | 132 +++-
net/wireless/reg.h | 8 +-
net/wireless/scan.c | 24 +-
net/wireless/sme.c | 10 +-
net/wireless/util.c | 17 +-
net/wireless/wext-compat.c | 9 +-
163 files changed, 5129 insertions(+), 2905 deletions(-)
create mode 100644 drivers/bcma/driver_chipcommon_nflash.c
create mode 100644 drivers/bcma/driver_chipcommon_sflash.c
create mode 100644 drivers/bcma/driver_gmac_cmn.c
create mode 100644 drivers/bluetooth/hci_h5.c
create mode 100644 drivers/net/wireless/ath/ath9k/wow.c
create mode 100644 include/linux/bcma/bcma_driver_gmac_cmn.h
--
John W. Linville Someday the world will need a hero, and you
linville@tuxdriver.com might be all we have. Be ready.
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply
* Re: [PATCH] sunrpc: clnt: Add missing braces
From: Myklebust, Trond @ 2012-07-20 17:25 UTC (permalink / raw)
To: Joe Perches
Cc: David S. Miller, Myklebust, Trond, J. Bruce Fields, Chuck Lever,
<linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
<netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
In-Reply-To: <1342803059.21447.45.camel@joe2Laptop>
No. It should go through the NFS client tree.
I can queue it up.
--
Trond Myklebust
Linux NFS client maintainer
NetApp
Trond.Myklebust-HgOvQuBEEgTQT0dZR+AlfA@public.gmane.org
www.netapp.com
On Jul 20, 2012, at 6:50 PM, Joe Perches wrote:
> On Wed, 2012-07-18 at 11:17 -0700, Joe Perches wrote:
>> Add a missing set of braces that commit 4e0038b6b24
>> ("SUNRPC: Move clnt->cl_server into struct rpc_xprt")
>> forgot.
>>
>> Signed-off-by: Joe Perches <joe-6d6DIl74uiNBDgjK7y7TUQ@public.gmane.org>
>> ---
>> net/sunrpc/clnt.c | 3 ++-
>> 1 files changed, 2 insertions(+), 1 deletions(-)
>>
>> diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c
>> index f56f045..aaf70aa 100644
>> --- a/net/sunrpc/clnt.c
>> +++ b/net/sunrpc/clnt.c
>> @@ -1844,12 +1844,13 @@ call_timeout(struct rpc_task *task)
>> return;
>> }
>> if (RPC_IS_SOFT(task)) {
>> - if (clnt->cl_chatty)
>> + if (clnt->cl_chatty) {
>> rcu_read_lock();
>> printk(KERN_NOTICE "%s: server %s not responding, timed out\n",
>> clnt->cl_protname,
>> rcu_dereference(clnt->cl_xprt)->servername);
>> rcu_read_unlock();
>> + }
>> if (task->tk_flags & RPC_TASK_TIMEOUT)
>> rpc_exit(task, -ETIMEDOUT);
>> else
>
> Hi David.
>
> I think it'd be good to get this into 3.6 as a bug fix.
>
> This is marked in netdev patchwork as "not applicable".
>
> Do you need the sunrpc maintainers to apply or ack it
> and then push it to you?
>
> Trond? Bruce?
>
--
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 00/16]: Kill the ipv4 routing cache.
From: Ben Hutchings @ 2012-07-20 17:22 UTC (permalink / raw)
To: David Miller; +Cc: netdev
In-Reply-To: <20120720.092614.1285553995467252576.davem@davemloft.net>
On Fri, 2012-07-20 at 09:26 -0700, David Miller wrote:
> From: Ben Hutchings <bhutchings@solarflare.com>
> Date: Fri, 20 Jul 2012 16:09:29 +0100
>
> > On Thu, 2012-07-19 at 14:34 -0700, David Miller wrote:
> >> The ipv4 routing cache is non-deterministic, performance wise, and is
> >> subject to reasonably easy to launch denial of service attacks.
> > [...]
> >
> > This is a great explanation, but it still doesn't appear to be going
> > into the commit log...
>
> What in the world do you mean?
>
> When I actually commit this stuff, I'll have it all in a branch and
> merge it into net-next's master using "git merge --no-ff" and then use
> the merge commit to add this commit message test.
>
> Every damn set of changes I've commited over the past few weeks have
> used this technique, are you simply not paying attention?
Sorry, I get it now.
Ben.
--
Ben Hutchings, Staff Engineer, Solarflare
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
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox