* Re: [PATCH v2] selftests: net: add in_netns.sh TEST_GEN_PROGS_EXTENDED
From: David Miller @ 2018-04-27 17:14 UTC (permalink / raw)
To: anders.roxell; +Cc: shuah, netdev, linux-kselftest, linux-kernel
In-Reply-To: <20180425213206.7531-1-anders.roxell@linaro.org>
From: Anders Roxell <anders.roxell@linaro.org>
Date: Wed, 25 Apr 2018 23:32:06 +0200
> Script in_netns.sh is a utility function and not its own test so it
> shouldn't be part of the TEST_PROGS. The in_netns.sh get used by
> run_afpackettests.
> To install in_netns.sh without being added to the main run_kselftest.sh
> script use the TEST_GEN_PROGS_EXTENDED variable.
>
> Fixes: 5ff9c1a3dd92 ("selftests: net: add in_netns.sh to TEST_PROGS")
> Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
> ---
>
> respin against the 'net' tree.
Applied, thank you.
^ permalink raw reply
* Re: [PATCH net-next 0/8] net: Extend availability of PHY statistics
From: Florian Fainelli @ 2018-04-27 17:15 UTC (permalink / raw)
To: David Miller; +Cc: netdev, andrew, vivien.didelot, cphealy, nikita.yoush
In-Reply-To: <20180427.121014.155526016617000480.davem@davemloft.net>
On 04/27/2018 09:10 AM, David Miller wrote:
> From: David Miller <davem@davemloft.net>
> Date: Fri, 27 Apr 2018 12:00:02 -0400 (EDT)
>
>> From: Florian Fainelli <f.fainelli@gmail.com>
>> Date: Wed, 25 Apr 2018 12:12:46 -0700
>>
>>> This patch series adds support for retrieving PHY statistics with DSA switches
>>> when the CPU port uses a PHY to PHY connection (as opposed to MAC to MAC).
>>> To get there a number of things are done:
>>>
>>> - first we move the code dealing with PHY statistics outside of net/core/ethtool.c
>>> and create helper functions since the same code will be reused
>>> - then we allow network device drivers to provide an ethtool_get_phy_stats callback
>>> when the standard PHY library helpers are not suitable
>>> - we update the DSA functions dealing with ethtool operations to get passed a
>>> stringset instead of assuming ETH_SS_STATS like they currently do
>>> - then we provide a set of standard helpers within DSA as a framework and add
>>> the plumbing to allow retrieving the PHY statistics of the CPU port(s)
>>> - finally plug support for retrieving such PHY statistics with the b53 driver
>> ...
>>
>> Series applied, thanks Florian.
>
> Ugh, this breaks the allmodconfig build.
>
> You can't move interfaces to drivers/net/phy/phy.c which are
> referenced in core networking like net/core/ethtool.c unless you make
> PHYLIB 'bool' only.
>
> net/core/ethtool.o: In function `__ethtool_get_sset_count':
> ethtool.c:(.text+0x1cd8): undefined reference to `phy_ethtool_get_sset_count'
> net/core/ethtool.o: In function `dev_ethtool':
> (.text+0x5407): undefined reference to `phy_ethtool_get_strings'
> (.text+0x6869): undefined reference to `phy_ethtool_get_sset_count'
> (.text+0x69b3): undefined reference to `phy_ethtool_get_stats'
>
> Please fix this somehow, thanks Florian.
Just seeing this now (this gmail rate limiting again), humm, I can't
think of a better way to fix this for now so let's go with your
temporary fix. Sorry about that, will come up with a hopefully better
alternative that keeps PHY library being fully modular.
--
Florian
^ permalink raw reply
* Re: [PATCH net] net: systemport: Correclty disambiguate driver instances
From: David Miller @ 2018-04-27 17:15 UTC (permalink / raw)
To: f.fainelli; +Cc: netdev, vivien.didelot
In-Reply-To: <20180425232151.23649-1-f.fainelli@gmail.com>
From: Florian Fainelli <f.fainelli@gmail.com>
Date: Wed, 25 Apr 2018 16:21:51 -0700
> While adding the DSA notifier, we will be sending DSA notifications with
> info->master that is going to point to a particular net_device instance.
>
> Our logic in bcm_sysport_map_queues() correctly disambiguates net_device
> instances that are not covered by our own driver, but it will not make
> sure that info->master points to a particular driver instance that we
> are interested in. In a system where e.g: two or more SYSTEMPORT
> instances are registered, this would lead in programming two or more
> times the queue mapping, completely messing with the logic which does
> the queue/port allocation and tracking.
>
> Fix this by looking at the notifier_block pointer which is unique per
> instance and allows us to go back to our driver private structure, and
> in turn to the backing net_device instance.
>
> Fixes: d156576362c0 ("net: systemport: Establish lower/upper queue mapping")
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Applied and queued up for -stable, thanks.
^ permalink raw reply
* Re: [PATCH bpf-next v2 00/15] Introducing AF_XDP support
From: Willem de Bruijn @ 2018-04-27 17:16 UTC (permalink / raw)
To: Björn Töpel
Cc: Karlsson, Magnus, Alexander Duyck, Alexander Duyck,
John Fastabend, Alexei Starovoitov, Jesper Dangaard Brouer,
Daniel Borkmann, Michael S. Tsirkin, Network Development,
Björn Töpel, michael.lundkvist, Brandeburg, Jesse,
Singhai, Anjali, Zhang, Qi Z
In-Reply-To: <20180427121728.18512-1-bjorn.topel@gmail.com>
On Fri, Apr 27, 2018 at 8:17 AM, Björn Töpel <bjorn.topel@gmail.com> wrote:
> From: Björn Töpel <bjorn.topel@intel.com>
>
> This patch set introduces a new address family called AF_XDP that is
> optimized for high performance packet processing and, in upcoming
> patch sets, zero-copy semantics. In this v2 version, we have removed
> all zero-copy related code in order to make it smaller, simpler and
> hopefully more review friendly. This patch set only supports copy-mode
> for the generic XDP path (XDP_SKB) for both RX and TX and copy-mode
> for RX using the XDP_DRV path. Zero-copy support requires XDP and
> driver changes that Jesper Dangaard Brouer is working on. Some of his
> work has already been accepted. We will publish our zero-copy support
> for RX and TX on top of his patch sets at a later point in time.
> Changes from V1:
>
> * Fixes to bugs spotted by Will in his review
> * Implemented the performance otimization to BPF_MAP_TYPE_XSKMAP
> suggested by Will
An xsk may only exist in one map at a time. Is this somehow assured?
> * Refactored packet_direct_xmit to become a common function
> in core/dev.c as suggested by Will
> * Added documentation as suggested by Jesper
> * Proper page unpinning as suggested by MST
> * Some minor code cleanups
Everything else looks great to me. If the above is correct (or corrected)
Acked-by: Willem de Bruijn <willemb@google.com>
I did not read everything again, but applied both patchsets on top of
bpf-next to do a diff of diffs. In case others find it useful:
https://github.com/wdebruij/linux/tree/bpf-next-afxdp-v1
https://github.com/wdebruij/linux/tree/bpf-next-afxdp-v2
^ permalink raw reply
* Re: [PATCH 1/2] bpf: btf: silence uninitialize variable warnings
From: Martin KaFai Lau @ 2018-04-27 17:18 UTC (permalink / raw)
To: Dan Carpenter
Cc: Alexei Starovoitov, Daniel Borkmann, netdev, linux-kernel,
kernel-janitors
In-Reply-To: <20180427140409.GA19583@mwanda>
On Fri, Apr 27, 2018 at 05:04:09PM +0300, Dan Carpenter wrote:
> Smatch complains that size can be uninitialized if btf_type_id_size()
> returns NULL. It seems reasonable enough to check for that.
>
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
> ---
> This goes to the BPF tree (linux-next).
>
> diff --git a/kernel/bpf/btf.c b/kernel/bpf/btf.c
> index 22e1046a1a86..e631b6fd60d3 100644
> --- a/kernel/bpf/btf.c
> +++ b/kernel/bpf/btf.c
> @@ -1229,7 +1229,8 @@ static int btf_array_check_member(struct btf_verifier_env *env,
> }
>
> array_type_id = member->type;
> - btf_type_id_size(btf, &array_type_id, &array_size);
> + if (!btf_type_id_size(btf, &array_type_id, &array_size))
> + return -EINVAL;
This check is not needed. It does not happen for array.
> struct_size = struct_type->size;
> bytes_offset = BITS_ROUNDDOWN_BYTES(struct_bits_off);
> if (struct_size - bytes_offset < array_size) {
> @@ -1351,6 +1352,8 @@ static void btf_array_seq_show(const struct btf *btf, const struct btf_type *t,
>
> elem_type_id = array->type;
> elem_type = btf_type_id_size(btf, &elem_type_id, &elem_size);
> + if (!elem_type)
> + return;
This case has already been checked in verification phase. No need
to recheck everything again..
> elem_ops = btf_type_ops(elem_type);
> seq_puts(m, "[");
> for (i = 0; i < array->nelems; i++) {
^ permalink raw reply
* Re: [PATCH net-next 0/8] net: Extend availability of PHY statistics
From: Florian Fainelli @ 2018-04-27 17:19 UTC (permalink / raw)
To: David Miller; +Cc: netdev, andrew, vivien.didelot, cphealy, nikita.yoush
In-Reply-To: <20180427.131307.1508236842102601104.davem@davemloft.net>
On 04/27/2018 10:13 AM, David Miller wrote:
> From: David Miller <davem@davemloft.net>
> Date: Fri, 27 Apr 2018 12:10:14 -0400 (EDT)
>
>> Ugh, this breaks the allmodconfig build.
>>
>> You can't move interfaces to drivers/net/phy/phy.c which are
>> referenced in core networking like net/core/ethtool.c unless you make
>> PHYLIB 'bool' only.
>>
>> net/core/ethtool.o: In function `__ethtool_get_sset_count':
>> ethtool.c:(.text+0x1cd8): undefined reference to `phy_ethtool_get_sset_count'
>> net/core/ethtool.o: In function `dev_ethtool':
>> (.text+0x5407): undefined reference to `phy_ethtool_get_strings'
>> (.text+0x6869): undefined reference to `phy_ethtool_get_sset_count'
>> (.text+0x69b3): undefined reference to `phy_ethtool_get_stats'
>>
>> Please fix this somehow, thanks Florian.
>
> I'm applying this temporary fix to net-next so that I can get work
> down without having to revert all of your changes.
I forgot to put a static keyword in front of the functions declared
within the else part of the #IS_ENABLED(CONFIG_PHYLIB) in
include/linux/phy.h, will submit a fix for that immediately, *sigh*.
>
> ====================
> [PATCH] phy: Temporary build fix after phylib changes.
>
> Make PHYLIB boolean, because we reference phylib provided symbols now
> from net/core/ethtool.c and therefore 'm' doesn't work.
>
> Signed-off-by: David S. Miller <davem@davemloft.net>
> ---
> drivers/net/phy/Kconfig | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig
> index edb8b9ab827f..7c5e8c1e9370 100644
> --- a/drivers/net/phy/Kconfig
> +++ b/drivers/net/phy/Kconfig
> @@ -9,7 +9,6 @@ menuconfig MDIO_DEVICE
>
> config MDIO_BUS
> tristate
> - default m if PHYLIB=m
> default MDIO_DEVICE
> help
> This internal symbol is used for link time dependencies and it
> @@ -171,7 +170,7 @@ config PHYLINK
> autonegotiation modes.
>
> menuconfig PHYLIB
> - tristate "PHY Device support and infrastructure"
> + bool "PHY Device support and infrastructure"
> depends on NETDEVICES
> select MDIO_DEVICE
> help
>
--
Florian
^ permalink raw reply
* Re: [PATCH net-next 0/2] liquidio: add support for ndo_get_stats64
From: David Miller @ 2018-04-27 17:19 UTC (permalink / raw)
To: felix.manlunas
Cc: netdev, raghu.vatsavayi, derek.chickles, satananda.burla,
pradeep.nalla
In-Reply-To: <20180425235942.GA14044@felix-thinkpad.cavium.com>
From: Felix Manlunas <felix.manlunas@cavium.com>
Date: Wed, 25 Apr 2018 16:59:42 -0700
> From: Pradeep Nalla <pradeep.nalla@cavium.com>
>
> Support ndo_get_stats64 instead of ndo_get_stats. Also add stats for
> multicast and broadcast packets.
Series applied, thanks.
^ permalink raw reply
* Re: [PATCH 2/2] bpf: btf: remove a couple conditions
From: Martin KaFai Lau @ 2018-04-27 17:20 UTC (permalink / raw)
To: Dan Carpenter
Cc: Alexei Starovoitov, Daniel Borkmann, netdev, linux-kernel,
kernel-janitors
In-Reply-To: <20180427140459.GB19583@mwanda>
On Fri, Apr 27, 2018 at 05:04:59PM +0300, Dan Carpenter wrote:
> We know "err" is zero so we can remove these and pull the code in one
> indent level.
>
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Thanks for the simplification!
Acked-by: Martin KaFai Lau <kafai@fb.com>
> ---
> This applies to the BPF tree (linux-next)
>
> diff --git a/kernel/bpf/btf.c b/kernel/bpf/btf.c
> index e631b6fd60d3..7cb0905f37c2 100644
> --- a/kernel/bpf/btf.c
> +++ b/kernel/bpf/btf.c
> @@ -1973,16 +1973,14 @@ static struct btf *btf_parse(void __user *btf_data, u32 btf_data_size,
> if (err)
> goto errout;
>
> - if (!err && log->level && bpf_verifier_log_full(log)) {
> + if (log->level && bpf_verifier_log_full(log)) {
> err = -ENOSPC;
> goto errout;
> }
>
> - if (!err) {
> - btf_verifier_env_free(env);
> - btf_get(btf);
> - return btf;
> - }
> + btf_verifier_env_free(env);
> + btf_get(btf);
> + return btf;
>
> errout:
> btf_verifier_env_free(env);
^ permalink raw reply
* Re: [PATCH net-next] bridge: use hlist_entry_safe
From: David Miller @ 2018-04-27 17:21 UTC (permalink / raw)
To: yuehaibing; +Cc: stephen, netdev, bridge
In-Reply-To: <20180426030705.6632-1-yuehaibing@huawei.com>
From: YueHaibing <yuehaibing@huawei.com>
Date: Thu, 26 Apr 2018 11:07:05 +0800
> Use hlist_entry_safe() instead of open-coding it.
>
> Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Applied, thanks.
^ permalink raw reply
* Re: [PATCH net] sctp: handle two v4 addrs comparison in sctp_inet6_cmp_addr
From: David Miller @ 2018-04-27 17:22 UTC (permalink / raw)
To: lucien.xin; +Cc: netdev, linux-sctp, marcelo.leitner, nhorman, syzkaller
In-Reply-To: <17bfe46d7b9941f2283043f45ea5644c166c32c3.1524723237.git.lucien.xin@gmail.com>
From: Xin Long <lucien.xin@gmail.com>
Date: Thu, 26 Apr 2018 14:13:57 +0800
> Since sctp ipv6 socket also supports v4 addrs, it's possible to
> compare two v4 addrs in pf v6 .cmp_addr, sctp_inet6_cmp_addr.
>
> However after Commit 1071ec9d453a ("sctp: do not check port in
> sctp_inet6_cmp_addr"), it no longer calls af1->cmp_addr, which
> in this case is sctp_v4_cmp_addr, but calls __sctp_v6_cmp_addr
> where it handles them as two v6 addrs. It would cause a out of
> bounds crash.
>
> syzbot found this crash when trying to bind two v4 addrs to a
> v6 socket.
>
> This patch fixes it by adding the process for two v4 addrs in
> sctp_inet6_cmp_addr.
>
> Fixes: 1071ec9d453a ("sctp: do not check port in sctp_inet6_cmp_addr")
> Reported-by: syzbot+cd494c1dd681d4d93ebb@syzkaller.appspotmail.com
> Signed-off-by: Xin Long <lucien.xin@gmail.com>
What a long chain we are building of fixes to fixes to fixes... :(
Applied and queued up for -stable, thanks.
^ permalink raw reply
* Re: [PATCH] NET: usb: qmi_wwan: add support for ublox R410M PID 0x90b2
From: David Miller @ 2018-04-27 17:24 UTC (permalink / raw)
To: sz.lin; +Cc: stable, bjorn, netdev, linux-usb, linux-kernel
In-Reply-To: <20180426063013.453-1-sz.lin@moxa.com>
From: SZ Lin (林上智) <sz.lin@moxa.com>
Date: Thu, 26 Apr 2018 14:30:13 +0800
> This patch adds support for PID 0x90b2 of ublox R410M.
>
> qmicli -d /dev/cdc-wdm0 --dms-get-manufacturer
> [/dev/cdc-wdm0] Device manufacturer retrieved:
> Manufacturer: 'u-blox'
>
> qmicli -d /dev/cdc-wdm0 --dms-get-model
> [/dev/cdc-wdm0] Device model retrieved:
> Model: 'SARA-R410M-02B'
>
> Signed-off-by: SZ Lin (林上智) <sz.lin@moxa.com>
> Cc: stable <stable@vger.kernel.org>
Applied.
^ permalink raw reply
* Re: [PATCH net-next 0/8] net: Extend availability of PHY statistics
From: Florian Fainelli @ 2018-04-27 17:27 UTC (permalink / raw)
To: David Miller; +Cc: netdev, andrew, vivien.didelot, cphealy, nikita.yoush
In-Reply-To: <f03ff529-bd67-7334-5e39-7ccb9260e60f@gmail.com>
On 04/27/2018 10:19 AM, Florian Fainelli wrote:
>
>
> On 04/27/2018 10:13 AM, David Miller wrote:
>> From: David Miller <davem@davemloft.net>
>> Date: Fri, 27 Apr 2018 12:10:14 -0400 (EDT)
>>
>>> Ugh, this breaks the allmodconfig build.
>>>
>>> You can't move interfaces to drivers/net/phy/phy.c which are
>>> referenced in core networking like net/core/ethtool.c unless you make
>>> PHYLIB 'bool' only.
>>>
>>> net/core/ethtool.o: In function `__ethtool_get_sset_count':
>>> ethtool.c:(.text+0x1cd8): undefined reference to `phy_ethtool_get_sset_count'
>>> net/core/ethtool.o: In function `dev_ethtool':
>>> (.text+0x5407): undefined reference to `phy_ethtool_get_strings'
>>> (.text+0x6869): undefined reference to `phy_ethtool_get_sset_count'
>>> (.text+0x69b3): undefined reference to `phy_ethtool_get_stats'
>>>
>>> Please fix this somehow, thanks Florian.
>>
>> I'm applying this temporary fix to net-next so that I can get work
>> down without having to revert all of your changes.
>
> I forgot to put a static keyword in front of the functions declared
> within the else part of the #IS_ENABLED(CONFIG_PHYLIB) in
> include/linux/phy.h, will submit a fix for that immediately, *sigh*.
Still not enough coffee, what I am suggesting is actually to make the
body of the functions be static inline functions within
include/net/phy.h that way they get inlined into net/core/ethtool.c and
we can keep PHYLIB modular, does that look acceptable?
>
>>
>> ====================
>> [PATCH] phy: Temporary build fix after phylib changes.
>>
>> Make PHYLIB boolean, because we reference phylib provided symbols now
>> from net/core/ethtool.c and therefore 'm' doesn't work.
>>
>> Signed-off-by: David S. Miller <davem@davemloft.net>
>> ---
>> drivers/net/phy/Kconfig | 3 +--
>> 1 file changed, 1 insertion(+), 2 deletions(-)
>>
>> diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig
>> index edb8b9ab827f..7c5e8c1e9370 100644
>> --- a/drivers/net/phy/Kconfig
>> +++ b/drivers/net/phy/Kconfig
>> @@ -9,7 +9,6 @@ menuconfig MDIO_DEVICE
>>
>> config MDIO_BUS
>> tristate
>> - default m if PHYLIB=m
>> default MDIO_DEVICE
>> help
>> This internal symbol is used for link time dependencies and it
>> @@ -171,7 +170,7 @@ config PHYLINK
>> autonegotiation modes.
>>
>> menuconfig PHYLIB
>> - tristate "PHY Device support and infrastructure"
>> + bool "PHY Device support and infrastructure"
>> depends on NETDEVICES
>> select MDIO_DEVICE
>> help
>>
>
--
Florian
^ permalink raw reply
* Re: [PATCH V8 net-next 00/14] TLS offload, netdev & MLX5 support
From: David Miller @ 2018-04-27 17:31 UTC (permalink / raw)
To: borisp; +Cc: netdev, saeedm, davejwatson, ktkhai
In-Reply-To: <1524724642-119397-1-git-send-email-borisp@mellanox.com>
From: Boris Pismenny <borisp@mellanox.com>
Date: Thu, 26 Apr 2018 09:37:08 +0300
> This series adds a generic infrastructure to offload TLS crypto to a
> network devices. It enables the kernel TLS socket to skip encryption and
> authentication operations on the transmit side of the data path. Leaving
> those computationally expensive operations to the NIC.
...
Series applied.
Assuming no build test issues I will push it out to net-next.
Thanks.
^ permalink raw reply
* Re: [PATCH net-next 0/8] net: Extend availability of PHY statistics
From: David Miller @ 2018-04-27 17:33 UTC (permalink / raw)
To: f.fainelli; +Cc: netdev, andrew, vivien.didelot, cphealy, nikita.yoush
In-Reply-To: <98af5159-e53d-72a3-c5ec-6c99c347d4ea@gmail.com>
From: Florian Fainelli <f.fainelli@gmail.com>
Date: Fri, 27 Apr 2018 10:27:38 -0700
> Still not enough coffee, what I am suggesting is actually to make the
> body of the functions be static inline functions within
> include/net/phy.h that way they get inlined into net/core/ethtool.c and
> we can keep PHYLIB modular, does that look acceptable?
That should be fine.
^ permalink raw reply
* Re: [PATCH V8 net-next 00/14] TLS offload, netdev & MLX5 support
From: David Miller @ 2018-04-27 17:34 UTC (permalink / raw)
To: borisp; +Cc: netdev, saeedm, davejwatson, ktkhai
In-Reply-To: <20180427.133147.399393882476929920.davem@davemloft.net>
From: David Miller <davem@davemloft.net>
Date: Fri, 27 Apr 2018 13:31:47 -0400 (EDT)
> From: Boris Pismenny <borisp@mellanox.com>
> Date: Thu, 26 Apr 2018 09:37:08 +0300
>
>> This series adds a generic infrastructure to offload TLS crypto to a
>> network devices. It enables the kernel TLS socket to skip encryption and
>> authentication operations on the transmit side of the data path. Leaving
>> those computationally expensive operations to the NIC.
> ...
>
> Series applied.
>
> Assuming no build test issues I will push it out to net-next.
No dice, I'm reverting.
net/tls/tls_sw.c: In function ‘tls_set_sw_offload’:
net/tls/tls_sw.c:1192:22: warning: ‘sw_ctx_rx’ may be used uninitialized in this function [-Wmaybe-uninitialized]
sw_ctx_rx->sk_poll = sk->sk_socket->ops->poll;
~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/linux/dma-mapping.h:11:0,
from ./include/linux/skbuff.h:34,
from ./include/net/strparser.h:14,
from net/tls/tls_sw.c:41:
./include/linux/scatterlist.h:183:31: warning: ‘sw_ctx_tx’ may be used uninitialized in this function [-Wmaybe-uninitialized]
prv[prv_nents - 1].page_link = ((unsigned long) sgl | SG_CHAIN)
^
net/tls/tls_sw.c:1051:28: note: ‘sw_ctx_tx’ was declared here
struct tls_sw_context_tx *sw_ctx_tx;
^~~~~~~~~
^ permalink raw reply
* Re: [PATCH net] sctp: clear the new asoc's stream outcnt in sctp_stream_update
From: David Miller @ 2018-04-27 17:35 UTC (permalink / raw)
To: lucien.xin; +Cc: netdev, linux-sctp, marcelo.leitner, nhorman
In-Reply-To: <7a1180e29789ab0aa339ae8b456a100520ffcdc5.1524727304.git.lucien.xin@gmail.com>
From: Xin Long <lucien.xin@gmail.com>
Date: Thu, 26 Apr 2018 15:21:44 +0800
> When processing a duplicate cookie-echo chunk, sctp moves the new
> temp asoc's stream out/in into the old asoc, and later frees this
> new temp asoc.
>
> But now after this move, the new temp asoc's stream->outcnt is not
> cleared while stream->out is set to NULL, which would cause a same
> crash as the one fixed in Commit 79d0895140e9 ("sctp: fix error
> path in sctp_stream_init") when freeing this asoc later.
>
> This fix is to clear this outcnt in sctp_stream_update.
>
> Fixes: f952be79cebd ("sctp: introduce struct sctp_stream_out_ext")
> Reported-by: Jianwen Ji <jiji@redhat.com>
> Signed-off-by: Xin Long <lucien.xin@gmail.com>
Applied and queued up for -stable.
^ permalink raw reply
* Re: [PATCH V8 net-next 00/14] TLS offload, netdev & MLX5 support
From: David Miller @ 2018-04-27 17:37 UTC (permalink / raw)
To: borisp; +Cc: netdev, saeedm, davejwatson, ktkhai
In-Reply-To: <20180427.133412.16008743935367755.davem@davemloft.net>
From: David Miller <davem@davemloft.net>
Date: Fri, 27 Apr 2018 13:34:12 -0400 (EDT)
> From: David Miller <davem@davemloft.net>
> Date: Fri, 27 Apr 2018 13:31:47 -0400 (EDT)
>
>> From: Boris Pismenny <borisp@mellanox.com>
>> Date: Thu, 26 Apr 2018 09:37:08 +0300
>>
>>> This series adds a generic infrastructure to offload TLS crypto to a
>>> network devices. It enables the kernel TLS socket to skip encryption and
>>> authentication operations on the transmit side of the data path. Leaving
>>> those computationally expensive operations to the NIC.
>> ...
>>
>> Series applied.
>>
>> Assuming no build test issues I will push it out to net-next.
>
> No dice, I'm reverting.
>
> net/tls/tls_sw.c: In function ‘tls_set_sw_offload’:
> net/tls/tls_sw.c:1192:22: warning: ‘sw_ctx_rx’ may be used uninitialized in this function [-Wmaybe-uninitialized]
> sw_ctx_rx->sk_poll = sk->sk_socket->ops->poll;
> ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
Also in one of the later patches, there are new files added with empty
lines at the end. GIT warns about this and I have to fix it up each
and every time.
So if you could fix that too I would appreciate it.
Thanks.
^ permalink raw reply
* Re: [PATCH net] nfp: don't depend on eth_tbl being available
From: Jakub Kicinski @ 2018-04-27 17:38 UTC (permalink / raw)
To: David Miller; +Cc: netdev, oss-drivers
In-Reply-To: <20180427.111556.1931814913979522341.davem@davemloft.net>
On Fri, 27 Apr 2018 11:15:56 -0400 (EDT), David Miller wrote:
> From: Jakub Kicinski <jakub.kicinski@netronome.com>
> Date: Wed, 25 Apr 2018 11:21:08 -0700
>
> > For very very old generation of the management FW Ethernet port
> > information table may theoretically not be available. This in
> > turn will cause the nfp_port structures to not be allocated.
> >
> > Make sure we don't crash the kernel when there is no eth_tbl:
> >
> > RIP: 0010:nfp_net_pci_probe+0xf2/0xb40 [nfp]
> > ...
> > Call Trace:
> > nfp_pci_probe+0x6de/0xab0 [nfp]
> > local_pci_probe+0x47/0xa0
> > work_for_cpu_fn+0x1a/0x30
> > process_one_work+0x1de/0x3e0
> >
> > Found while working with broken/development version of management FW.
> >
> > Fixes: a5950182c00e ("nfp: map mac_stats and vf_cfg BARs")
> > Fixes: 93da7d9660ee ("nfp: provide nfp_port to of nfp_net_get_mac_addr()")
> > Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
> > Reviewed-by: Dirk van der Merwe <dirk.vandermerwe@netronome.com>
>
> Applied, thanks Jakub.
Thank you!
> Do you want this queued up for -stable? It seems borderline, at best, to me.
Yes, I think we don't need stable for now. This should never happen
(tm) in production and there has been some churn around this code. I
don't think it's worth a backport.
^ permalink raw reply
* Re: [PATCH net-next 00/13] s390/net: updates 2018-04-26
From: David Miller @ 2018-04-27 17:41 UTC (permalink / raw)
To: jwi; +Cc: netdev, linux-s390, schwidefsky, heiko.carstens, raspl, ubraun
In-Reply-To: <20180426074224.100432-1-jwi@linux.ibm.com>
From: Julian Wiedmann <jwi@linux.ibm.com>
Date: Thu, 26 Apr 2018 09:42:11 +0200
> please apply the following patches to net-next. There's the usual
> cleanups & small improvements, and Kittipon adds HW offload support
> for IPv6 checksumming.
Series applied, thanks Julian.
^ permalink raw reply
* Re: [PATCH net] mlxsw: spectrum_switchdev: Do not remove mrouter port from MDB's ports list
From: David Miller @ 2018-04-27 17:45 UTC (permalink / raw)
To: idosch; +Cc: netdev, jiri, nogahf, colin.king, mlxsw
In-Reply-To: <20180426084629.20978-1-idosch@mellanox.com>
From: Ido Schimmel <idosch@mellanox.com>
Date: Thu, 26 Apr 2018 11:46:29 +0300
> When IGMP snooping is enabled on a bridge, traffic forwarded by an MDB
> entry should be sent to both ports member in the MDB's ports list and
> mrouter ports.
>
> In case a port needs to be removed from an MDB's ports list, but this
> port is also configured as an mrouter port, then do not update the
> device so that it will continue to forward traffic through that port.
>
> Fix a copy-paste error that checked that IGMP snooping is enabled twice
> instead of checking the port's mrouter state.
>
> Fixes: ded711c87a04 ("mlxsw: spectrum_switchdev: Consider mrouter status for mdb changes")
> Signed-off-by: Ido Schimmel <idosch@mellanox.com>
> Reported-by: Colin King <colin.king@canonical.com>
> Reviewed-by: Nogah Frankel <nogahf@mellanox.com>
Applied and queued up for -stable, thanks.
^ permalink raw reply
* Re: [PATCH net-next v9 0/4] Enable virtio_net to act as a standby for a passthru device
From: Jiri Pirko @ 2018-04-27 17:45 UTC (permalink / raw)
To: Sridhar Samudrala
Cc: mst, stephen, davem, netdev, virtualization, virtio-dev,
jesse.brandeburg, alexander.h.duyck, kubakici, jasowang,
loseweigh, aaron.f.brown
In-Reply-To: <1524848820-42258-1-git-send-email-sridhar.samudrala@intel.com>
Fri, Apr 27, 2018 at 07:06:56PM CEST, sridhar.samudrala@intel.com wrote:
>v9:
>Select NET_FAILOVER automatically when VIRTIO_NET/HYPERV_NET
>are enabled. (stephen)
>
>Tested live migration with virtio-net/AVF(i40evf) configured in
>failover mode while running iperf in background.
>Build tested netvsc module.
>
>The main motivation for this patch is to enable cloud service providers
>to provide an accelerated datapath to virtio-net enabled VMs in a
>transparent manner with no/minimal guest userspace changes. This also
>enables hypervisor controlled live migration to be supported with VMs that
>have direct attached SR-IOV VF devices.
>
>Patch 1 introduces a new feature bit VIRTIO_NET_F_STANDBY that can be
>used by hypervisor to indicate that virtio_net interface should act as
>a standby for another device with the same MAC address.
>
>Patch 2 introduces a failover module that provides a generic interface for
>paravirtual drivers to listen for netdev register/unregister/link change
>events from pci ethernet devices with the same MAC and takeover their
>datapath. The notifier and event handling code is based on the existing
>netvsc implementation. It provides 2 sets of interfaces to paravirtual
>drivers to support 2-netdev(netvsc) and 3-netdev(virtio_net) models.
>
>Patch 3 extends virtio_net to use alternate datapath when available and
>registered. When STANDBY feature is enabled, virtio_net driver creates
>an additional 'failover' netdev that acts as a master device and controls
>2 slave devices. The original virtio_net netdev is registered as
>'standby' netdev and a passthru/vf device with the same MAC gets
>registered as 'primary' netdev. Both 'standby' and 'primary' netdevs are
>associated with the same 'pci' device. The user accesses the network
>interface via 'failover' netdev. The 'failover' netdev chooses 'primary'
>netdev as default for transmits when it is available with link up and
>running.
>
>Patch 4 refactors netvsc to use the registration/notification framework
>supported by failover module.
>
>As this patch series is initially focusing on usecases where hypervisor
>fully controls the VM networking and the guest is not expected to directly
>configure any hardware settings, it doesn't expose all the ndo/ethtool ops
>that are supported by virtio_net at this time. To support additional usecases,
>it should be possible to enable additional ops later by caching the state
>in virtio netdev and replaying when the 'primary' netdev gets registered.
>
>The hypervisor needs to enable only one datapath at any time so that packets
>don't get looped back to the VM over the other datapath. When a VF is
>plugged, the virtio datapath link state can be marked as down.
>At the time of live migration, the hypervisor needs to unplug the VF device
>from the guest on the source host and reset the MAC filter of the VF to
>initiate failover of datapath to virtio before starting the migration. After
>the migration is completed, the destination hypervisor sets the MAC filter
>on the VF and plugs it back to the guest to switch over to VF datapath.
>
>This patch is based on the discussion initiated by Jesse on this thread.
>https://marc.info/?l=linux-virtualization&m=151189725224231&w=2
No changes in v9?
>
>v8:
>- Made the failover managment routines more robust by updating the feature
> bits/other fields in the failover netdev when slave netdevs are
> registered/unregistered. (mst)
>- added support for handling vlans.
>- Limited the changes in netvsc to only use the notifier/event/lookups
> from the failover module. The slave register/unregister/link-change
> handlers are only updated to use the getbymac routine to get the
> upper netdev. There is no change in their functionality. (stephen)
>- renamed structs/function/file names to use net_failover prefix. (mst)
>
>v7
>- Rename 'bypass/active/backup' terminology with 'failover/primary/standy'
> (jiri, mst)
>- re-arranged dev_open() and dev_set_mtu() calls in the register routines
> so that they don't get called for 2-netdev model. (stephen)
>- fixed select_queue() routine to do queue selection based on VF if it is
> registered as primary. (stephen)
>- minor bugfixes
>
>v6 RFC:
> Simplified virtio_net changes by moving all the ndo_ops of the
> bypass_netdev and create/destroy of bypass_netdev to 'bypass' module.
> avoided 2 phase registration(driver + instances).
> introduced IFF_BYPASS/IFF_BYPASS_SLAVE dev->priv_flags
> replaced mutex with a spinlock
>
>v5 RFC:
> Based on Jiri's comments, moved the common functionality to a 'bypass'
> module so that the same notifier and event handlers to handle child
> register/unregister/link change events can be shared between virtio_net
> and netvsc.
> Improved error handling based on Siwei's comments.
>v4:
>- Based on the review comments on the v3 version of the RFC patch and
> Jakub's suggestion for the naming issue with 3 netdev solution,
> proposed 3 netdev in-driver bonding solution for virtio-net.
>v3 RFC:
>- Introduced 3 netdev model and pointed out a couple of issues with
> that model and proposed 2 netdev model to avoid these issues.
>- Removed broadcast/multicast optimization and only use virtio as
> backup path when VF is unplugged.
>v2 RFC:
>- Changed VIRTIO_NET_F_MASTER to VIRTIO_NET_F_BACKUP (mst)
>- made a small change to the virtio-net xmit path to only use VF datapath
> for unicasts. Broadcasts/multicasts use virtio datapath. This avoids
> east-west broadcasts to go over the PCI link.
>- added suppport for the feature bit in qemu
>
>Sridhar Samudrala (4):
> virtio_net: Introduce VIRTIO_NET_F_STANDBY feature bit
> net: Introduce generic failover module
> virtio_net: Extend virtio to use VF datapath when available
> netvsc: refactor notifier/event handling code to use the failover
> framework
>
> drivers/net/Kconfig | 1 +
> drivers/net/hyperv/Kconfig | 1 +
> drivers/net/hyperv/hyperv_net.h | 2 +
> drivers/net/hyperv/netvsc_drv.c | 134 ++----
> drivers/net/virtio_net.c | 37 +-
> include/linux/netdevice.h | 16 +
> include/net/net_failover.h | 62 +++
> include/uapi/linux/virtio_net.h | 3 +
> net/Kconfig | 10 +
> net/core/Makefile | 1 +
> net/core/net_failover.c | 892 ++++++++++++++++++++++++++++++++++++++++
> 11 files changed, 1046 insertions(+), 113 deletions(-)
> create mode 100644 include/net/net_failover.h
> create mode 100644 net/core/net_failover.c
>
>--
>2.14.3
^ permalink raw reply
* Re: pull-request: wireless-drivers 2018-04-26
From: David Miller @ 2018-04-27 17:50 UTC (permalink / raw)
To: kvalo; +Cc: linux-wireless, netdev, linux-kernel
In-Reply-To: <87h8ny6ztl.fsf@kamboji.qca.qualcomm.com>
From: Kalle Valo <kvalo@codeaurora.org>
Date: Thu, 26 Apr 2018 13:12:54 +0300
> here's a pull request to net tree, more info below. Please let me know
> if you have any problems.
Pulled, thanks Kalle.
^ permalink raw reply
* Re: [PATCH net-next] geneve: fix build with modular IPV6
From: David Miller @ 2018-04-27 17:52 UTC (permalink / raw)
To: tobias.regnery; +Cc: netdev, linux-kernel, alexey.kodanev
In-Reply-To: <20180426103636.16113-1-tobias.regnery@gmail.com>
From: Tobias Regnery <tobias.regnery@gmail.com>
Date: Thu, 26 Apr 2018 12:36:36 +0200
> Commit c40e89fd358e ("geneve: configure MTU based on a lower device") added
> an IS_ENABLED(CONFIG_IPV6) to geneve, leading to the following link error
> with CONFIG_GENEVE=y and CONFIG_IPV6=m:
>
> drivers/net/geneve.o: In function `geneve_link_config':
> geneve.c:(.text+0x14c): undefined reference to `rt6_lookup'
>
> Fix this by adding a Kconfig dependency and forcing GENEVE to be a module
> when IPV6 is a module.
>
> Fixes: c40e89fd358e ("geneve: configure MTU based on a lower device")
> Signed-off-by: Tobias Regnery <tobias.regnery@gmail.com>
Applied, thank you.
^ permalink raw reply
* Re: [PATCH net-next v9 0/4] Enable virtio_net to act as a standby for a passthru device
From: Samudrala, Sridhar @ 2018-04-27 17:53 UTC (permalink / raw)
To: Jiri Pirko
Cc: mst, stephen, davem, netdev, virtualization, virtio-dev,
jesse.brandeburg, alexander.h.duyck, kubakici, jasowang,
loseweigh, aaron.f.brown
In-Reply-To: <20180427174523.GE5632@nanopsycho.orion>
On 4/27/2018 10:45 AM, Jiri Pirko wrote:
> Fri, Apr 27, 2018 at 07:06:56PM CEST, sridhar.samudrala@intel.com wrote:
>> v9:
>> Select NET_FAILOVER automatically when VIRTIO_NET/HYPERV_NET
>> are enabled. (stephen)
>>
>> Tested live migration with virtio-net/AVF(i40evf) configured in
>> failover mode while running iperf in background.
>> Build tested netvsc module.
>>
>> The main motivation for this patch is to enable cloud service providers
>> to provide an accelerated datapath to virtio-net enabled VMs in a
>> transparent manner with no/minimal guest userspace changes. This also
>> enables hypervisor controlled live migration to be supported with VMs that
>> have direct attached SR-IOV VF devices.
>>
>> Patch 1 introduces a new feature bit VIRTIO_NET_F_STANDBY that can be
>> used by hypervisor to indicate that virtio_net interface should act as
>> a standby for another device with the same MAC address.
>>
>> Patch 2 introduces a failover module that provides a generic interface for
>> paravirtual drivers to listen for netdev register/unregister/link change
>> events from pci ethernet devices with the same MAC and takeover their
>> datapath. The notifier and event handling code is based on the existing
>> netvsc implementation. It provides 2 sets of interfaces to paravirtual
>> drivers to support 2-netdev(netvsc) and 3-netdev(virtio_net) models.
>>
>> Patch 3 extends virtio_net to use alternate datapath when available and
>> registered. When STANDBY feature is enabled, virtio_net driver creates
>> an additional 'failover' netdev that acts as a master device and controls
>> 2 slave devices. The original virtio_net netdev is registered as
>> 'standby' netdev and a passthru/vf device with the same MAC gets
>> registered as 'primary' netdev. Both 'standby' and 'primary' netdevs are
>> associated with the same 'pci' device. The user accesses the network
>> interface via 'failover' netdev. The 'failover' netdev chooses 'primary'
>> netdev as default for transmits when it is available with link up and
>> running.
>>
>> Patch 4 refactors netvsc to use the registration/notification framework
>> supported by failover module.
>>
>> As this patch series is initially focusing on usecases where hypervisor
>> fully controls the VM networking and the guest is not expected to directly
>> configure any hardware settings, it doesn't expose all the ndo/ethtool ops
>> that are supported by virtio_net at this time. To support additional usecases,
>> it should be possible to enable additional ops later by caching the state
>> in virtio netdev and replaying when the 'primary' netdev gets registered.
>>
>> The hypervisor needs to enable only one datapath at any time so that packets
>> don't get looped back to the VM over the other datapath. When a VF is
>> plugged, the virtio datapath link state can be marked as down.
>> At the time of live migration, the hypervisor needs to unplug the VF device
> >from the guest on the source host and reset the MAC filter of the VF to
>> initiate failover of datapath to virtio before starting the migration. After
>> the migration is completed, the destination hypervisor sets the MAC filter
>> on the VF and plugs it back to the guest to switch over to VF datapath.
>>
>> This patch is based on the discussion initiated by Jesse on this thread.
>> https://marc.info/?l=linux-virtualization&m=151189725224231&w=2
>
> No changes in v9?
I listed v9 updates at the start of the message.
v9:
Select NET_FAILOVER automatically when VIRTIO_NET/HYPERV_NET
are enabled. (stephen)
Tested live migration with virtio-net/AVF(i40evf) configured in
failover mode while running iperf in background.
Build tested netvsc module.
>
>> v8:
>> - Made the failover managment routines more robust by updating the feature
>> bits/other fields in the failover netdev when slave netdevs are
>> registered/unregistered. (mst)
>> - added support for handling vlans.
>> - Limited the changes in netvsc to only use the notifier/event/lookups
>> from the failover module. The slave register/unregister/link-change
>> handlers are only updated to use the getbymac routine to get the
>> upper netdev. There is no change in their functionality. (stephen)
>> - renamed structs/function/file names to use net_failover prefix. (mst)
>>
>> v7
>> - Rename 'bypass/active/backup' terminology with 'failover/primary/standy'
>> (jiri, mst)
>> - re-arranged dev_open() and dev_set_mtu() calls in the register routines
>> so that they don't get called for 2-netdev model. (stephen)
>> - fixed select_queue() routine to do queue selection based on VF if it is
>> registered as primary. (stephen)
>> - minor bugfixes
>>
>> v6 RFC:
>> Simplified virtio_net changes by moving all the ndo_ops of the
>> bypass_netdev and create/destroy of bypass_netdev to 'bypass' module.
>> avoided 2 phase registration(driver + instances).
>> introduced IFF_BYPASS/IFF_BYPASS_SLAVE dev->priv_flags
>> replaced mutex with a spinlock
>>
>> v5 RFC:
>> Based on Jiri's comments, moved the common functionality to a 'bypass'
>> module so that the same notifier and event handlers to handle child
>> register/unregister/link change events can be shared between virtio_net
>> and netvsc.
>> Improved error handling based on Siwei's comments.
>> v4:
>> - Based on the review comments on the v3 version of the RFC patch and
>> Jakub's suggestion for the naming issue with 3 netdev solution,
>> proposed 3 netdev in-driver bonding solution for virtio-net.
>> v3 RFC:
>> - Introduced 3 netdev model and pointed out a couple of issues with
>> that model and proposed 2 netdev model to avoid these issues.
>> - Removed broadcast/multicast optimization and only use virtio as
>> backup path when VF is unplugged.
>> v2 RFC:
>> - Changed VIRTIO_NET_F_MASTER to VIRTIO_NET_F_BACKUP (mst)
>> - made a small change to the virtio-net xmit path to only use VF datapath
>> for unicasts. Broadcasts/multicasts use virtio datapath. This avoids
>> east-west broadcasts to go over the PCI link.
>> - added suppport for the feature bit in qemu
>>
>> Sridhar Samudrala (4):
>> virtio_net: Introduce VIRTIO_NET_F_STANDBY feature bit
>> net: Introduce generic failover module
>> virtio_net: Extend virtio to use VF datapath when available
>> netvsc: refactor notifier/event handling code to use the failover
>> framework
>>
>> drivers/net/Kconfig | 1 +
>> drivers/net/hyperv/Kconfig | 1 +
>> drivers/net/hyperv/hyperv_net.h | 2 +
>> drivers/net/hyperv/netvsc_drv.c | 134 ++----
>> drivers/net/virtio_net.c | 37 +-
>> include/linux/netdevice.h | 16 +
>> include/net/net_failover.h | 62 +++
>> include/uapi/linux/virtio_net.h | 3 +
>> net/Kconfig | 10 +
>> net/core/Makefile | 1 +
>> net/core/net_failover.c | 892 ++++++++++++++++++++++++++++++++++++++++
>> 11 files changed, 1046 insertions(+), 113 deletions(-)
>> create mode 100644 include/net/net_failover.h
>> create mode 100644 net/core/net_failover.c
>>
>> --
>> 2.14.3
^ permalink raw reply
* Re: [PATCH net-next] net: Fix coccinelle warning
From: David Miller @ 2018-04-27 17:53 UTC (permalink / raw)
To: ktkhai; +Cc: netdev, lkp
In-Reply-To: <152474505955.21078.9976470400033894421.stgit@localhost.localdomain>
From: Kirill Tkhai <ktkhai@virtuozzo.com>
Date: Thu, 26 Apr 2018 15:18:38 +0300
> kbuild test robot says:
>
> >coccinelle warnings: (new ones prefixed by >>)
> >>> net/core/dev.c:1588:2-3: Unneeded semicolon
>
> So, let's remove it.
>
> Reported-by: kbuild test robot <lkp@intel.com>
> Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com>
Applied, thank you.
^ 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