* Re: [net-next 0/2] Add promiscous mode support in k2g network driver
From: Murali Karicheri @ 2018-04-02 18:42 UTC (permalink / raw)
To: David Miller; +Cc: w-kwok2, linux-kernel, netdev, nsekhar, grygorii.strashko
In-Reply-To: <20180402.122831.2175483097067229440.davem@davemloft.net>
On 04/02/2018 12:28 PM, David Miller wrote:
> From: Murali Karicheri <m-karicheri2@ti.com>
> Date: Mon, 2 Apr 2018 12:17:17 -0400
>
>> This patch adds support for promiscuous mode in network driver for K2G
>> SoC. This depends on v3 of my series at
>> https://www.spinics.net/lists/kernel/msg2765942.html
>
> The net-next tree is closed, please resubmit this series after the merge
> window when the net-next tree is openned back up.
>
> Thank you.
>
Sure! As I have indicated in my cover letter, I will fold this
to the other series and re-submit it when the merge window opens.
Thanks
--
Murali Karicheri
Linux Kernel, Keystone
^ permalink raw reply
* Re: [net-next 2/2] net: netcp: ethss: k2g: add promiscuous mode support
From: Murali Karicheri @ 2018-04-02 18:40 UTC (permalink / raw)
To: Andrew Lunn
Cc: w-kwok2, linux-kernel, davem, netdev, nsekhar, grygorii.strashko
In-Reply-To: <20180402164708.GD14165@lunn.ch>
Andrew,
Thanks for reviewing this!
On 04/02/2018 12:47 PM, Andrew Lunn wrote:
> On Mon, Apr 02, 2018 at 12:17:19PM -0400, Murali Karicheri wrote:
>> +static int gbe_set_rx_mode(void *intf_priv, bool promisc)
>> +{
>> + struct gbe_intf *gbe_intf = intf_priv;
>> + struct gbe_priv *gbe_dev = gbe_intf->gbe_dev;
>> + struct cpsw_ale *ale = gbe_dev->ale;
>> + unsigned long timeout;
>> + int i, ret = -ETIMEDOUT;
>> +
>> + /* Disable(1)/Enable(0) Learn for all ports (host is port 0 and
>> + * slaves are port 1 and up
>> + */
>> + for (i = 0; i <= gbe_dev->num_slaves; i++) {
>> + cpsw_ale_control_set(ale, i,
>> + ALE_PORT_NOLEARN, !!promisc);
>> + cpsw_ale_control_set(ale, i,
>> + ALE_PORT_NO_SA_UPDATE, !!promisc);
>> + }
>
> Hi Murali
>
> Does this mean that in promisc mode, switching of frames between ports
> in hardware is disabled? You are relying on the software bridge to
> perform such bridging between ports?
The K2G switch has only one slave port. The other port is the host port.
So there is no switching applicable here. At the egress drivers provide
frame with PS_FLAG to indicate which port the frame is forwarded to and
at the Ingress direction, it forward the received frame to the Host port
which is the only other port in a K2G switch (2u). To Implement
promiscuous mode, this requires ALE to be enabled and take advantage of
ALE feature to flood all received unicast frames to host port. In the
non-promiscuous mode, it disables that feature. So only frames with
destination MAC address match is forwarded.
For other K2 devices that has more than one port available, what you say
is applicable. However we have not implemented the switch mode of these
devices with multiple ports and don't have plan to do the same anytime
in the future as this device is already matured and adding this feature
at this point doesn't make much sense now. The driver on these devices
currently bypass ALE and implement plain Ethernet interfaces (n port)
for Ethernet connectivity.
>
> You might want to look at skb->offload_fwd_mark. By setting this, you
> can tell the software bridge the hardware has already bridged the
> frame. You might then be able to have promisc enabled, and the
> hardware still doing the forwarding.
Yes, if we decide to support switch mode for K2 devices, I will certainly
look at this and add support as you have suggested.
>
> Andrew
>
--
Murali Karicheri
Linux Kernel, Keystone
^ permalink raw reply
* Re: [PATCH v15 ] net/veth/XDP: Line-rate packet forwarding in kernel
From: Alexei Starovoitov @ 2018-04-02 18:16 UTC (permalink / raw)
To: David Ahern
Cc: John Fastabend, Md. Islam, netdev, David Miller, stephen, agaceph,
Pavel Emelyanov, Eric Dumazet, brouer
In-Reply-To: <2ac3c590-8f13-b983-7efb-021f82ee3295@gmail.com>
On Mon, Apr 02, 2018 at 12:09:44PM -0600, David Ahern wrote:
> On 4/2/18 12:03 PM, John Fastabend wrote:
> >
> > Can the above be a normal BPF helper that returns an
> > ifindex? Then something roughly like this patter would
> > work for all drivers with redirect support,
> >
> >
> > route_ifindex = ip_route_lookup(__daddr, ....)
> > if (!route_ifindex)
> > return do_foo()
> > return xdp_redirect(route_ifindex);
> >
> > So my suggestion is,
> >
> > 1. enable veth xdp (including redirect support)
> > 2. add a helper to lookup route from routing table
> >
> > Alternatively you can skip step (2) and encode the routing
> > table in BPF directly. Maybe we need a more efficient data
> > structure but that should also work.
> >
>
> That's what I have here:
>
> https://github.com/dsahern/linux/commit/bab42f158c0925339f7519df7fb2cde8eac33aa8
was wondering what's up with the delay and when are you going to
submit them officially...
The use case came up several times.
^ permalink raw reply
* Re: [PATCH v15 ] net/veth/XDP: Line-rate packet forwarding in kernel
From: David Ahern @ 2018-04-02 18:09 UTC (permalink / raw)
To: John Fastabend, Md. Islam, netdev, David Miller, stephen, agaceph,
Pavel Emelyanov, Eric Dumazet, alexei.starovoitov, brouer
In-Reply-To: <7cfca503-3e17-6287-8888-92d43ce7a2e7@gmail.com>
On 4/2/18 12:03 PM, John Fastabend wrote:
>
> Can the above be a normal BPF helper that returns an
> ifindex? Then something roughly like this patter would
> work for all drivers with redirect support,
>
>
> route_ifindex = ip_route_lookup(__daddr, ....)
> if (!route_ifindex)
> return do_foo()
> return xdp_redirect(route_ifindex);
>
> So my suggestion is,
>
> 1. enable veth xdp (including redirect support)
> 2. add a helper to lookup route from routing table
>
> Alternatively you can skip step (2) and encode the routing
> table in BPF directly. Maybe we need a more efficient data
> structure but that should also work.
>
That's what I have here:
https://github.com/dsahern/linux/commit/bab42f158c0925339f7519df7fb2cde8eac33aa8
And Jesper has done some measurements showing a 400% improvement in
throughput.
I have not had time to come back to the xdp forwarding set. It needs to
handle vlan devices at a minimum before I send an RFC.
^ permalink raw reply
* Re: [PATCH v15 ] net/veth/XDP: Line-rate packet forwarding in kernel
From: John Fastabend @ 2018-04-02 18:03 UTC (permalink / raw)
To: Md. Islam, netdev, David Miller, David Ahern, stephen, agaceph,
Pavel Emelyanov, Eric Dumazet, alexei.starovoitov, brouer
In-Reply-To: <CAFgPn1DX9cOpDRGj=wFwvZq_bpq6VFnEOzR1YbMuC0+=DFEWxA@mail.gmail.com>
On 04/01/2018 05:47 PM, Md. Islam wrote:
> This patch implements IPv4 forwarding on xdp_buff. I added a new
> config option XDP_ROUTER. Kernel would forward packets through fast
> path when this option is enabled. But it would require driver support.
> Currently it only works with veth. Here I have modified veth such that
> it outputs xdp_buff. I created a testbed in Mininet. The Mininet
> script (topology.py) is attached. Here the topology is:
>
> h1 -----r1-----h2 (r1 acts as a router)
>
> This patch improves the throughput from 53.8Gb/s to 60Gb/s on my
> machine. Median RTT also improved from around .055 ms to around .035
> ms.
>
> Then I disabled hyperthreading and cpu frequency scaling in order to
> utilize CPU cache (DPDK also utilizes CPU cache to improve
> forwarding). This further improves per-packet forwarding latency from
> around 400ns to 200 ns. More specifically, header parsing and fib
> lookup only takes around 82 ns. This shows that this could be used to
> implement linerate packet forwarding in kernel.
>
> The patch has been generated on 4.15.0+. Please let me know your
> feedback and suggestions. Please feel free to let me know if this
> approach make sense.
Make sense although lets try to avoid hard coded routing into
XDP xmit routines. See details below.
> +#ifdef CONFIG_XDP_ROUTER
> +int veth_xdp_xmit(struct net_device *dev, struct xdp_buff *xdp)
> +{
This is nice but instead of building a new config_xdp_router
just enable standard XDP for veth + a new helper call to
do routing. Then it will be immediately usable from any XDP
enabled device.
> + struct veth_priv *priv = netdev_priv(dev);
> + struct net_device *rcv;
> + struct ethhdr *ethh;
> + struct sk_buff *skb;
> + int length = xdp->data_end - xdp->data;
> +
> + rcu_read_lock();
> + rcv = rcu_dereference(priv->peer);
> + if (unlikely(!rcv)) {
> + kfree(xdp);
> + goto drop;
> + }
> +
> + /* Update MAC address and checksum */
> + ethh = eth_hdr_xdp(xdp);
> + ether_addr_copy(ethh->h_source, dev->dev_addr);
> + ether_addr_copy(ethh->h_dest, rcv->dev_addr);
> +
> + /* if IP forwarding is enabled on the receiver,
> + * call xdp_router_forward()
> + */
> + if (is_forwarding_enabled(rcv)) {
> + prefetch_xdp(xdp);
> + if (likely(xdp_router_forward(rcv, xdp) == NET_RX_SUCCESS)) {
> + struct pcpu_vstats *stats = this_cpu_ptr(dev->vstats);
> +
> + u64_stats_update_begin(&stats->syncp);
> + stats->bytes += length;
> + stats->packets++;
> + u64_stats_update_end(&stats->syncp);
> + goto success;
> + }
> + }
> +
> + /* Local deliver */
> + skb = (struct sk_buff *)xdp->data_meta;
> + if (likely(dev_forward_skb(rcv, skb) == NET_RX_SUCCESS)) {
> + struct pcpu_vstats *stats = this_cpu_ptr(dev->vstats);
> +
> + u64_stats_update_begin(&stats->syncp);
> + stats->bytes += length;
> + stats->packets++;
> + u64_stats_update_end(&stats->syncp);
> + } else {
> +drop:
> + atomic64_inc(&priv->dropped);
> + }
> +success:
> + rcu_read_unlock();
> + return NETDEV_TX_OK;
> +}
> +#endif
> +
> static const struct net_device_ops veth_netdev_ops = {
> .ndo_init = veth_dev_init,
> .ndo_open = veth_open,
> @@ -290,6 +370,9 @@ static const struct net_device_ops veth_netdev_ops = {
> .ndo_get_iflink = veth_get_iflink,
> .ndo_features_check = passthru_features_check,
> .ndo_set_rx_headroom = veth_set_rx_headroom,
> +#ifdef CONFIG_XDP_ROUTER
> + .ndo_xdp_xmit = veth_xdp_xmit,
> +#endif
> };
>
[...]
> +#ifdef CONFIG_XDP_ROUTER
> +int ip_route_lookup(__be32 daddr, __be32 saddr,
> + u8 tos, struct net_device *dev,
> + struct fib_result *res);
> +#endif
> +
Can the above be a normal BPF helper that returns an
ifindex? Then something roughly like this patter would
work for all drivers with redirect support,
route_ifindex = ip_route_lookup(__daddr, ....)
if (!route_ifindex)
return do_foo()
return xdp_redirect(route_ifindex);
So my suggestion is,
1. enable veth xdp (including redirect support)
2. add a helper to lookup route from routing table
Alternatively you can skip step (2) and encode the routing
table in BPF directly. Maybe we need a more efficient data
structure but that should also work.
Thanks,
John
^ permalink raw reply
* [Patch net] af_unix: remove redundant lockdep class
From: Cong Wang @ 2018-04-02 18:01 UTC (permalink / raw)
To: netdev; +Cc: Cong Wang, Paolo Abeni
After commit 581319c58600 ("net/socket: use per af lockdep classes for sk queues")
sock queue locks now have per-af lockdep classes, including unix socket.
It is no longer necessary to workaround it.
I noticed this while looking at a syzbot deadlock report, this patch
itself doesn't fix it (this is why I don't add Reported-by).
Fixes: 581319c58600 ("net/socket: use per af lockdep classes for sk queues")
Cc: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
---
net/unix/af_unix.c | 10 ----------
1 file changed, 10 deletions(-)
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
index 2d465bdeccbc..45971e173924 100644
--- a/net/unix/af_unix.c
+++ b/net/unix/af_unix.c
@@ -745,14 +745,6 @@ static struct proto unix_proto = {
.obj_size = sizeof(struct unix_sock),
};
-/*
- * AF_UNIX sockets do not interact with hardware, hence they
- * dont trigger interrupts - so it's safe for them to have
- * bh-unsafe locking for their sk_receive_queue.lock. Split off
- * this special lock-class by reinitializing the spinlock key:
- */
-static struct lock_class_key af_unix_sk_receive_queue_lock_key;
-
static struct sock *unix_create1(struct net *net, struct socket *sock, int kern)
{
struct sock *sk = NULL;
@@ -767,8 +759,6 @@ static struct sock *unix_create1(struct net *net, struct socket *sock, int kern)
goto out;
sock_init_data(sock, sk);
- lockdep_set_class(&sk->sk_receive_queue.lock,
- &af_unix_sk_receive_queue_lock_key);
sk->sk_allocation = GFP_KERNEL_ACCOUNT;
sk->sk_write_space = unix_write_space;
--
2.13.0
^ permalink raw reply related
* Re: [PATCH net-next v1] ipvs: add consistent source hashing scheduling
From: Vincent Bernat @ 2018-04-02 17:57 UTC (permalink / raw)
To: Eric Dumazet
Cc: Wensong Zhang, Simon Horman, Julian Anastasov, David S. Miller,
netdev, lvs-devel
In-Reply-To: <63c63fab-12ed-8b15-e00e-dc54e5c144eb@gmail.com>
❦ 2 avril 2018 10:33 -0700, Eric Dumazet <eric.dumazet@gmail.com> :
>> +static inline u32
>> +ip_vs_csh_permutation(struct ip_vs_dest *d, int j)
>> +{
>> + u32 offset, skip;
>> + __be32 addr_fold = d->addr.ip;
>> +
>> +#ifdef CONFIG_IP_VS_IPV6
>> + if (d->af == AF_INET6)
>> + addr_fold = d->addr.ip6[0]^d->addr.ip6[1]^
>> + d->addr.ip6[2]^d->addr.ip6[3];
>> +#endif
>> + addr_fold = ntohl(addr_fold) + ntohs(d->port);
>> + offset = hash_32(addr_fold, 32) % IP_VS_CSH_TAB_SIZE;
>> + skip = (hash_32(addr_fold + 1, 32) % (IP_VS_CSH_TAB_SIZE - 1)) + 1;
>> + return (offset + j * skip) % IP_VS_CSH_TAB_SIZE;
>> +}
>> +
>
> This does not look very strong to me, particularly the IPv6 folding
>
> I would rather use __ipv6_addr_jhash() instead of ipv6_addr_hash(),
> even if it is hard coded ;)
I can switch to ipv6_addr_hash(). However, switching to
__ipv6_addr_jhash seems useless as I would need to hardcode the initial
value: people use source hashing to get the same result from one host to
another. Am I missing something?
--
Each module should do one thing well.
- The Elements of Programming Style (Kernighan & Plauger)
^ permalink raw reply
* [GIT] Networking
From: David Miller @ 2018-04-02 17:54 UTC (permalink / raw)
To: torvalds; +Cc: akpm, netdev, linux-kernel
This is more like it:
1) Support offloading wireless authentication to userspace via
NL80211_CMD_EXTERNAL_AUTH, from Srinivas Dasari.
2) A lot of work on network namespace setup/teardown from Kirill
Tkhai. Setup and cleanup of namespaces now all run asynchronously
and thus performance is significantly increased.
3) Add rx/tx timestamping support to mv88e6xxx driver, from Brandon
Streiff.
4) Support zerocopy on RDS sockets, from Sowmini Varadhan.
5) Use denser instruction encoding in x86 eBPF JIT, from Daniel
Borkmann.
6) Support hw offload of vlan filtering in mvpp2 dreiver, from Maxime
Chevallier.
7) Support grafting of child qdiscs in mlxsw driver, from Nogah
Frankel.
8) Add packet forwarding tests to selftests, from Ido Schimmel.
9) Deal with sub-optimal GSO packets better in BBR congestion control,
from Eric Dumazet.
10) Support 5-tuple hashing in ipv6 multipath routing, from David
Ahern.
11) Add path MTU tests to selftests, from Stefano Brivio.
12) Various bits of IPSEC offloading support for mlx5, from Aviad
Yehezkel, Yossi Kuperman, and Saeed Mahameed.
13) Support RSS spreading on ntuple filters in SFC driver, from
Edward Cree.
14) Lots of sockmap work from John Fastabend. Applications can use eBPF
to filter sendmsg and sendpage operations.
15) In-kernel receive TLS support, from Dave Watson.
16) Add XDP support to ixgbevf, this is significant because it should
allow optimized XDP usage in various cloud environments. From
Tony Nguyen.
17) Add new Intel E800 series "ice" ethernet driver, from Anirudh
Venkataramanan et al.
18) IP fragmentation match offload support in nfp driver, from Pieter
Jansen van Vuuren.
19) Support XDP redirect in i40e driver, from Björn Töpel.
20) Add BPF_RAW_TRACEPOINT program type for accessing the arguments
of tracepoints in their raw form, from Alexei Starovoitov.
21) Lots of striding RQ improvements to mlx5 driver with many
performance improvements, from Tariq Toukan.
22) Use rhashtable for inet frag reassembly, from Eric Dumazet.
Please pull, thanks a lot!
The following changes since commit b5dbc28762fd3fd40ba76303be0c7f707826f982:
Merge tag 'kbuild-fixes-v4.16-3' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild (2018-03-30 18:53:57 -1000)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git
for you to fetch changes up to 159f02977b2feb18a4bece5e586c838a6d26d44b:
Merge branch 'net-mvneta-improve-suspend-resume' (2018-04-02 11:14:03 -0400)
----------------------------------------------------------------
Al Viro (1):
sctp: use proc_remove_subtree()
Alaa Hleihel (1):
net/mlx5: Change teardown with force mode failure message to warning
Alan Brady (6):
i40e: fix typo in function description
i40e: use changed_flags to check I40E_FLAG_DISABLE_FW_LLDP
i40e: broadcast filters can trigger overflow promiscuous
i40e: refactor promisc_changed in i40e_sync_vsi_filters
i40e: do not force filter failure in overflow promiscuous
i40e/i40evf: use SW variables for hang detection
Alex Lu (1):
Bluetooth: btrtl: Add RTL8723D and RTL8821C devices
Alexander Aring (11):
ieee802154: 6lowpan: set IFF_NO_QUEUE
net: sched: act: fix code style
net: sched: act: add extack to init
net: sched: act: fix code style
net: sched: act: add extack to init
net: sched: act: handle generic action errors
net: sched: act: add extack to init callback
net: sched: act: add extack for lookup callback
net: sched: act: add extack for walk callback
net: sched: act: handle extack in tcf_generic_walker
net: sched: act: mirred: add extack support
Alexander Duyck (9):
i40e/i40evf: Only track one ITR setting per ring instead of Tx/Rx
i40e/i40evf: Clean up logic for adaptive ITR
i40e/i40evf: Clean-up of bits related to using q_vector->reg_idx
i40e/i40evf: Don't bother setting the CLEARPBA bit
i40e/i40evf: Use usec value instead of reg value for ITR defines
i40evf: Correctly populate rxitr_idx and txitr_idx
i40e/i40evf: Split container ITR into current_itr and target_itr
i40e/i40evf: Add support for new mechanism of updating adaptive ITR
i40evf: Reorder configure_clsflower to avoid deadlock on error
Alexander Kurz (2):
net: usb: asix88179_178a: set permanent address once only
net: usb: asix88179_178a: de-duplicate code
Alexei Starovoitov (13):
Merge branch 'x86-jit'
Merge branch 'bpf-kselftest-improvements'
Merge branch 'bpftool-visualization'
treewide: remove large struct-pass-by-value from tracepoint arguments
net/mediatek: disambiguate mt76 vs mt7601u trace events
net/mac802154: disambiguate mac80215 vs mac802154 trace events
net/wireless/iwlwifi: fix iwlwifi_dev_ucode_error tracepoint
macro: introduce COUNT_ARGS() macro
bpf: introduce BPF_RAW_TRACEPOINT
libbpf: add bpf_raw_tracepoint_open helper
samples/bpf: raw tracepoint test
selftests/bpf: test for bpf_get_stackid() from raw tracepoints
Merge branch 'nfp-bpf-updates'
Alexey Dobriyan (2):
net: make kmem caches as __ro_after_init
xfrm: mark kmem_caches as __ro_after_init
Alexey Kodanev (1):
ip6_gre: remove redundant 'tunnel' setting in ip6erspan_tap_init()
Amitkumar Karwar (2):
rsi: fix error path handling in SDIO probe
rsi: fix kernel panic observed on 64bit machine
Anders Roxell (1):
selftests/net: enable fragments for fib-onlink-tests
Andrea Parri (1):
ptr_ring: Remove now-redundant smp_read_barrier_depends()
Andrew Lunn (20):
net: ptp: Add stub for ptp_classify_raw()
net: dsa: mv88e6xxx: Release mutex between each statistics read
net: dsa: mv88e6xxx: Release mutex between each ATU read
net: dsa: mv88e6xxx: scratch registers and external MDIO pins
net: dsa: mv88e6xxx: Poll when no interrupt defined
arm: mvebu: 370-rd: Enable PHY interrupt handling
dsa: Pass the port to get_sset_count()
net: dsa: mv88e6xxx: Hold mutex while doing stats operations
net: dsa: mv88e6xxx: Allow the SERDES interfaces to have statistics
net: dsa: mv88e6xxx: Add helper to determining if port has SERDES
net: dsa: mv88e6xxx: Get mv88e6352 SERDES statistics
net: dsa: mv88e6xxx: Fix irq free'ing
net: dsa: mv88e6xxx: Fix IRQ when loading module
net: dsa: mv88e6xxx: Add missing g1 IRQ numbers
net: dsa: mv88e6xxx: Add number of internal PHYs
net: dsa: mv88e6xxx: Add MDIO interrupts for internal PHYs
net: dsa: mv88e6xxx: Use the DT IRQ trigger mode
net: dsa: mv88e6xxx: Call the common IRQ free code
net: dsa: mv88e6xxx: Keep ATU/VTU violation statistics
net: dsa: mv88e6xxx: Make VTU miss violations less spammy
Andrey Ignatov (9):
bpf: Check attach type at prog load time
libbpf: Support expected_attach_type at prog load
bpf: Hooks for sys_bind
selftests/bpf: Selftest for sys_bind hooks
net: Introduce __inet_bind() and __inet6_bind
bpf: Hooks for sys_connect
selftests/bpf: Selftest for sys_connect hooks
bpf: Post-hooks for sys_bind
selftests/bpf: Selftest for sys_bind post-hooks.
Andy Shevchenko (2):
r8169: Dereference MMIO address immediately before use
r8169: switch to device-managed functions in probe (part 2)
Anilkumar Kolli (2):
ath10k: add memory dump support QCA9984
ath10k: advertize beacon_int_min_gcd
Anirudh Venkataramanan (15):
ice: Add basic driver framework for Intel(R) E800 Series
ice: Add support for control queues
ice: Start hardware initialization
ice: Get switch config, scheduler config and device capabilities
ice: Get MAC/PHY/link info and scheduler topology
ice: Initialize PF and setup miscellaneous interrupt
ice: Add support for VSI allocation and deallocation
ice: Add support for switch filter programming
ice: Configure VSIs for Tx/Rx
ice: Implement transmit and NAPI support
ice: Add support for VLANs and offloads
ice: Add stats and ethtool support
ice: Update Tx scheduler tree for VSI multi-Tx queue support
ice: Support link events, reset and rebuild
ice: Implement filter sync, NDO operations and bump version
Antoine Tenart (1):
net: mvpp2: enable UDP/TCP checksum over IPv6
Antonio Cardace (1):
x25: use %*ph to print small buffer
Arend Van Spriel (20):
brcmfmac: move brcmf_bus_preinit() call just after changing bus state
brcmfmac: move allocation of control rx buffer to brcmf_sdio_bus_preinit()
brcmfmac: call brcmf_attach() just before calling brcmf_bus_started()
brcmfmac: usb: call brcmf_usb_up() during brcmf_bus_preinit()
brcmfmac: move brcmf_attach() function in core.c
brcmfmac: remove brcmf_bus_started() from bus api
brcmfmac: change log level for some low-level sdio functions
brcmfmac: remove duplicate pointer variable from brcmf_sdio_firmware_callback()
brcmfmac: do not convert linux error to firmware error string
brcmfmac: use brcmf_chip_name() to store name in revinfo
brcmfmac: use brcmf_chip_name() for consistency
brcmfmac: allocate struct brcmf_pub instance using wiphy_new()
brcmfmac: use wiphy debugfs dir entry
brcmfmac: derive firmware filenames from basename mapping
brcmfmac: pass struct in brcmf_fw_get_firmwares()
brcmfmac: introduce brcmf_fw_alloc_request() function
brcmfmac: add extension to .get_fwname() callbacks
brcmfmac: get rid of brcmf_fw_map_chip_to_name()
brcmfmac: get rid of brcmf_fw_get_full_name()
brcmfmac: add kerneldoc for struct brcmf_bus::msgbuf
Arjun Vynipadath (5):
cxgb4vf: Forcefully link up virtual interfaces
cxgb4: Add HMA support
cxgb4: Fix queue free path of ULD drivers
cxgb4: Setup FW queues before registering netdev
cxgb4: copy vlan_id in ndo_get_vf_config
Arkadi Sharshevsky (8):
mlxsw: spectrum: Use NL_SET_ERR_MSG_MOD
devlink: Move size validation to core
devlink: Perform cleanup of resource_set cb
mlxsw: spectrum_kvdl: Add support for linear division resources
mlxsw: spectrum_kvdl: Add support for dynamic partition set
mlxsw: spectrum_kvdl: Add support for per part occupancy
selftests: Extend the tc action test for action mirror
devlink: Change dpipe/resource get privileges
Arnd Bergmann (10):
dsa: ptp: mark dummy helpers as 'inline'
mlxsw: spectrum_kvdl: use div_u64() for 64-bit division
mlxsw: spectrum_kvdl: avoid uninitialized variable warning
ipvlan: fix building with modular IPV6
rtlwifi: rtl8192cu: remove pointless memcpy
ixgbevf: fix unused variable warning
net: fix sysctl_fb_tunnels_only_for_init_net link error
pktgen: use dynamic allocation for debug print buffer
Bluetooth: btrsi: rework dependencies
sctp: fix unused lable warning
Arushi Singhal (2):
netfilter: Replace printk() with pr_*() and define pr_fmt()
netfilter: Merge assignment with return
Arvind Yadav (1):
ssb: use put_device() if device_register fail
Atul Gupta (12):
tls: support for Inline tls record
ethtool: enable Inline TLS in HW
cxgb4: Inline TLS FW Interface
cxgb4: LLD driver changes to support TLS
crypto: chcr - Inline TLS Key Macros
crypto: chtls - structure and macro for Inline TLS
crypto: chtls - Register chtls with net tls
crypto : chtls - CPL handler definition
crypto: chtls - Inline TLS record Tx
crypto: chtls - Inline TLS record Rx
crypto: chtls - Program the TLS session Key
crypto: chtls - Makefile Kconfig
Aviad Yehezkel (14):
IB/mlx5: Removed not used parameters
net/mlx5: Fixed compilation issue when CONFIG_MLX5_ACCEL is disabled
net/mlx5e: Wait for FPGA command responses with a timeout
net/mlx5e: Fixed sleeping inside atomic context
net/mlx5e: Removed not need synchronize_rcu
net/mlx5: Add empty egress namespace to flow steering core
net/mlx5: Flow steering cmd interface should get the fte when deleting
net/mlx5: IPSec, Add command V2 support
net/mlx5: Export ipsec capabilities
net/mlx5: Added required metadata capability for ipsec
net/mlx5: Refactor accel IPSec code
net/mlx5: Add flow-steering commands for FPGA IPSec implementation
net/mlx5e: Added common function for to_ipsec_sa_entry
net/mlx5: IPSec, Add support for ESN
Avinash Dayanand (6):
i40evf: Fix link up issue when queues are disabled
i40e: Enable ADq and create queue channel/s on VF
i40evf: Alloc queues for ADq on VF
i40e: Delete queue channel for ADq on VF
i40e: Service request to configure bandwidth for ADq on a VF
i40e: Add and delete cloud filter
Aviv Heller (1):
net/mlx5e: Add VLAN offload features to hw_enc_features
Ayala Beker (1):
iwlwifi: fw api: support the new scan request FW API version
BTaskaya (1):
tc: python3, string formattings
Ben Greear (1):
mac80211: Add txq flags to debugfs
Ben Hutchings (1):
netfilter: x_tables: Add note about how to free percpu counters
Benjamin Beichler (4):
mac80211_hwsim: add permanent mac address option for new radios
mac80211_hwsim: add nl_err_msg in hwsim_new_radio in netlink case
mac80211_hwsim: add generation count for netlink dump operation
mac80211_hwsim: fix use-after-free bug in hwsim_exit_net
Bernie Harris (2):
netfilter: ebtables: Add support for specifying match revision
netfilter: ebtables: Add string filter
Biju Das (1):
dt-bindings: net: renesas-ravb: Add support for r8a77470 SoC
Björn Töpel (3):
ixgbe: tweak page counting for XDP_REDIRECT
i40e: tweak page counting for XDP_REDIRECT
i40e: add support for XDP_REDIRECT
Boris Pismenny (2):
IB/mlx5: Pass mlx5_flow_act struct instead of multiple arguments
{net,IB}/mlx5: Add flow steering helpers
Brad Mouring (4):
net: macb: Reorganize macb_mii bringup
net: macb: Remove redundant poll irq assignment
net: macb: Add phy-handle DT support
Documentation: macb: Document phy-handle binding
Brandon Streiff (10):
net: dsa: mv88e6xxx: export g2 register accessors
net: dsa: mv88e6xxx: add accessors for PTP/TAI registers
net: dsa: mv88e6xxx: expose switch time as a PTP hardware clock
net: dsa: mv88e6xxx: add support for GPIO configuration
net: dsa: mv88e6xxx: add support for event capture
net: dsa: forward hardware timestamping ioctls to switch driver
net: dsa: forward timestamping callbacks to switch drivers
net: dsa: mv88e6xxx: add rx/tx timestamping support
net: dsa: mv88e6xxx: add workaround for 6341 timestamping
dt-bindings: net: dsa: marvell: describe compatibility string
Brenda J. Butler (12):
tools: tc-testing: Command line parms
tools: tc-testing: Refactor test-runner
tools: tc-testing: Introduce plugin architecture
tools: tc-testing: rootPlugin
tools: tc-testing: nsPlugin
tools: tc-testing: valgrindPlugin
tools: tc-testing: Update README and TODO
tools: tc-testing: Fix indentation
tools: tc-testing: better error reporting
tools: tc-testing: Add notap option
tools: tc-testing: Can refer to $TESTID in test spec
tools: tc-testing: Can pause just before post-suite
Bryan Whitehead (2):
lan743x: Add main source files for new lan743x driver
lan743x: Update MAINTAINERS to include lan743x driver
Carl Huang (1):
ath10k: fix use-after-free in ath10k_wmi_cmd_send_nowait
Chas Williams (1):
bridge: Allow max MTU when multiple VLANs present
Christian Brauner (2):
net: add uevent socket member
netns: send uevent messages
Christian Lamparter (1):
ath10k: fix recent bandwidth conversion bug
Christophe JAILLET (1):
igb: Fix a test with HWTSTAMP_TX_ON
Claudiu Manoil (1):
MAINTAINERS: Update my email address from freescale to nxp
Colin Ian King (30):
esp4: remove redundant initialization of pointer esph
net: dsa: mv88e6xxx: avoid unintended sign extension on a 16 bit shift
mac80211: remove redundant initialization to pointer 'hdr'
atm: idt77252: remove redundant bit-wise or'ing of zero
wil6210: fix spelling mistake: "preperation"-> "preparation"
ixgbe: remove redundant initialization of 'pool'
sfc: falcon: remove duplicated bit-wise or of LOOPBACK_SGMII
xen-netback: make function xenvif_rx_skb static
ixgbevf: remove redundant initialization of variable 'dma'
i40evf: pass struct virtchnl_filter by reference rather than by value
i40e: check that pointer VSI is not null before dereferencing it
i40evf: remove redundant array comparisons to 0 checks
wireless: zd1211rw: remove redundant assignment of pointer 'q'
brcmsmac: remove duplicated bit-wise or of IEEE80211_CHAN_NO_IR
ath5k: remove duplicated re-assignment to pointer 'tq'
ieee802154: remove unused variable 'val'
net/usb/kalmia: use ARRAY_SIZE for various array sizing calculations
net: phy: Fix spelling mistake: "advertisment"-> "advertisement"
net: amd8111e: remove redundant assignment to 'tx_index'
rds: remove redundant variable 'sg_off'
lan743x: remove some redundant variables and assignments
lan743x: make functions lan743x_csr_read and lan743x_csr_read static
rxrpc: remove redundant initialization of variable 'len'
net: mvpp2: use correct index on array mvpp2_pools
gre: fix TUNNEL_SEQ bit check on sequence numbering
net: qualcomm: rmnet: check for null ep to avoid null pointer dereference
rsi: remove redundant duplicate assignment of buffer_size
rtlwifi: rtl8821ae: fix spelling mistake: "Aboslute" -> "Absolute"
net/ncsi: check for null return from call to nla_nest_start
samples/bpf: fix spelling mistake: "revieve" -> "receive"
Cong Wang (1):
netfilter: make xt_rateest hash table per net
Corentin Labbe (1):
i40e: remove i40e_fcoe files
Corinna Vinschen (1):
igb: add VF trust infrastructure
Dan Carpenter (5):
i40e: remove some stray indenting
net/ncsi: use kfree_skb() instead of kfree()
net/ncsi: unlock on error in ncsi_set_interface_nl()
ibmvnic: Potential NULL dereference in clean_one_tx_pool()
test_bpf: Fix NULL vs IS_ERR() check in test_skb_segment()
Daniel Borkmann (23):
Merge branch 'bpf-misc-selftest-improvements'
bpf, x64: save one byte per shl/shr/sar when imm is 1
bpf, x64: save several bytes by using mov over movabsq when possible
bpf, x64: save several bytes when mul dest is r0/r3 anyway
bpf, x64: save few bytes when mul is in alu32
bpf, x64: save 5 bytes in prologue when ebpf insns came from cbpf
bpf: add various jit test cases
bpf: unify rlimit handling in selftests
bpf: add tail call tests to test_verifier
bpf, x64: remove bpf_flush_icache
Merge branch 'bpf-bpftool-batch-improvements'
Merge branch 'bpf-perf-sample-addr'
Merge branch 'bpf-tools-makefile-improvements'
Merge branch 'bpf-stackmap-build-id'
Merge branch 'bpf-tools-build-improvements'
Merge branch 'bpf-sockmap-ulp'
bpf, doc: add description wrt native/bpf clang target and pointer size
Merge branch 'bpf-print-insns-api'
Merge branch 'bpf-verifier-log-btf-prep'
Merge branch 'bpf-raw-tracepoints'
Merge branch 'bpf-sockmap-ingress'
Merge branch 'bpf-sockmap-sg-api-fixes'
Merge branch 'bpf-cgroup-bind-connect'
Daniel Mack (1):
wcn36xx: dequeue all pending indicator messages
Dave Ertman (1):
i40e: i40e: Change ethtool check from MAC to HW flag
Dave Watson (6):
tls: Generalize zerocopy_from_iter
tls: Move cipher info to a separate struct
tls: Pass error code explicitly to tls_err_abort
tls: Refactor variable names
tls: RX path for ktls
tls: Add receive path documentation
David Ahern (46):
net/ipv4: Simplify fib_select_path
net/ipv4: Unexport fib_multipath_hash and fib_select_path
selftests: fib_tests: simplify ip commands in a namespace
selftests: fib_tests: Make test results more verbose
selftests: fib_tests: Move admin of dummy0 to helpers
selftests: fib_tests: sleep after changing carrier
selftests: Add FIB onlink tests
net: Make dn_ptr depend on CONFIG_DECNET
net: Make ax25_ptr depend on CONFIG_AX25
net: Make atalk_ptr depend on ATALK or IRDA
net: Remove atalk header from socket.c
net: Move ipv4 set_lwt_redirect helper to lwtunnel
net/ipv4: Remove fib table id from rtable
net: Only honor ifindex in IP_PKTINFO if non-0
selftests: Add fib-onlink-tests.sh to TEST_PROGS
selftests: forwarding: Only check tc version for tc tests
selftests: forwarding: Handle 0 for packet difference in multipath tests
selftests: forwarding: Use PING6 instead of ping for ipv6 multipath test
selftests: forwarding: Add description to the multipath tests
net/ipv4: Pass net to fib_multipath_hash instead of fib_info
net: Align ip_multipath_l3_keys and ip6_multipath_l3_keys
net/ipv4: Simplify fib_multipath_hash with optional flow keys
net/ipv6: Make rt6_multipath_hash similar to fib_multipath_hash
net: Rename NETEVENT_MULTIPATH_HASH_UPDATE
net/ipv6: Pass skb to route lookup
net/ipv6: Add support for path selection using hash of 5-tuple
mlxsw: spectrum_router: Add support for ipv6 hash policy update
net: Remove unused get_hash_from_flow functions
selftests: forwarding: Add multipath test for L4 hashing
selftests: forwarding: Add suppport to create veth interfaces
net/ipv6: Refactor gateway validation on route add
net/ipv6: Change address check to always take a device argument
net/ipv6: Add l3mdev check to ipv6_chk_addr_and_flags
selftests: fib_tests: Use an alias for ip command
selftests: fib_tests: Allow user to run a specific test
selftests: fib_tests: Add IPv6 nexthop spec tests
selftests: Add multipath tests for onlink flag
devlink: Remove top_hierarchy arg to devlink_resource_register
devlink: Remove top_hierarchy arg for DEVLINK disabled path
net: Fix fib notifer to return errno
net: Move call_fib_rule_notifiers up in fib_nl_newrule
net/ipv4: Move call_fib_entry_notifiers up for new routes
net/ipv4: Allow notifier to fail route replace
net/ipv6: Move call_fib6_entry_notifiers up for route adds
netdevsim: Add simple FIB resource controller via devlink
netdevsim: Change nsim_devlink_setup to return error to caller
David Howells (13):
rxrpc: Trace resend
rxrpc, afs: Use debug_ids rather than pointers in traces
rxrpc: Trace call completion
rxrpc: Fix firewall route keepalive
rxrpc: Fix a bit of time confusion
rxrpc: Fix Tx ring annotation after initial Tx failure
rxrpc: Don't treat call aborts as conn aborts
rxrpc: Fix checker warnings and errors
rxrpc: Fix potential call vs socket/net destruction race
rxrpc: Add a tracepoint to track rxrpc_local refcounting
rxrpc: Fix apparent leak of rxrpc_local objects
rxrpc: Add a tracepoint to track rxrpc_peer refcounting
rxrpc: Fix leak of rxrpc_peer objects
David S. Miller (185):
Merge branch '40GbE' of git://git.kernel.org/.../jkirsher/next-queue
Merge branch 'Replacing-net_mutex-with-rw_semaphore'
Merge branch 'mlxsw-IPIP-cleanups'
Merge branch 'mlxsw-SPAN-cleanups'
Merge branch 'sctp-rename-sctp-diag-file-and-add-file-comments-for-it'
Merge branch 'selftests-fib_tests-simplifications-verbosity-and-a-race'
Merge branch '40GbE' of git://git.kernel.org/.../jkirsher/next-queue
Merge branch 'net-dev-Make-protocol-ptr-dependent-on-CONFIG'
Merge branch 'PTP-support-for-DSA-and-mv88e6xxx-driver'
Merge branch 'cxgb4-speed-up-reading-on-chip-memory'
Merge branch '40GbE' of git://git.kernel.org/.../jkirsher/next-queue
Merge branch 'tunchr-get-netns'
Merge branch 'tc-testing-plugin-architecture'
Merge branch 'for-upstream' of git://git.kernel.org/.../bluetooth/bluetooth-next
Merge branch 'tipc-de-generealize-topology-server'
Merge branch 'dsa-mv88e6xxx-Improve-PTP-access-latency'
Merge branch 'net-sched-act-add-extack-support'
net: Revert sched action extack support series.
Merge branch 'RDS-zerocopy-support'
Merge branch 'net-sched-act-add-extack-support'
Merge branch 'nfp-whitespace-sync-and-flower-TCP-flags'
Merge branch 'dwmac-meson8b-small-cleanup'
Merge branch 'pernet_ops-conversions-part-2'
Merge git://git.kernel.org/.../davem/net
Merge branch 'net-Get-rid-of-net_mutex-and-simplify-cleanup_list-queueing'
Merge branch 'net-Expose-KVD-linear-parts-as-resources'
Merge branch 'stmmac-multi-queue-fixes-and-cleanups'
Merge branch '8390-cleanups'
Merge branch 'ibmvnic-Make-driver-resources-dynamic'
Merge branch 'tcp-remove-non-GSO-code'
Merge branch 'ipvlan-deps'
Merge tag 'mlx5-updates-2018-02-21' of git://git.kernel.org/.../mellanox/linux
Merge tag 'mac80211-next-for-davem-2018-02-22' of git://git.kernel.org/.../jberg/mac80211-next
Merge branch 'nfp-build-and-FW-initramfs-updates'
Merge git://git.kernel.org/.../davem/net
Merge git://git.kernel.org/.../bpf/bpf-next
Merge branch 'mv88e6xxx-Poll-when-no-interrupt-defined'
Merge branch 'tools-tc-testing-better-error-reporting'
Merge branch 'sonic-ethernet-cleanups'
Merge branch '10GbE' of git://git.kernel.org/.../jkirsher/next-queue
Merge branch 'pernet_operations-convert-part-3'
Merge branch 'ieee802154-for-davem-2018-02-26' of git://git.kernel.org/.../sschmidt/wpan-next
Merge branch 'DPAA-Ethernet-fixes'
Merge branch '40GbE' of git://git.kernel.org/.../jkirsher/next-queue
Merge branch 'RDS-optimized-notification-for-zerocopy-completion'
Merge branch 'stmmac-barrier-fixes-and-cleanup'
Merge branch 'ibmvnic-Miscellaneous-driver-fixes-and-enhancements'
Merge branch 'mlxsw-Offloading-encapsulated-SPAN'
Merge branch 'mlx4-misc'
Merge tag 'mlx5-updates-2018-02-23' of git://git.kernel.org/.../mellanox/linux
Merge branch 'SFP-updates'
Merge branch 'macmace-cleanups'
Merge branch 'mlxsw-mq-red-offload'
Merge branch 'selftests-forwarding-Add-VRF-based-tests'
Merge branch '100GbE' of git://git.kernel.org/.../jkirsher/next-queue
Merge branch 'fib_rules-support-sport-dport-and-proto-match'
Merge branch 'ipv4-ipv6-mcast-align'
Merge branch 'smc-link-layer-control-enhancements'
Merge branch 'forwarding-selftest-fixes'
Merge branch 'mac89x0-fixes-and-cleanups'
Merge branch 'net-phy-Reduce-duplication'
Merge branch 'tcp_bbr-more-GSO-work'
Merge tag 'mac80211-next-for-davem-2018-03-02' of git://git.kernel.org/.../jberg/mac80211-next
Merge git://git.kernel.org/.../bpf/bpf-next
Merge branch 'sctp-clean-up-sctp_sendmsg'
Merge branch 'net-ipv6-Add-support-for-path-selection-using-hash-of-5-tuple'
Merge branch 'dsa-serdes-stats'
Merge branch 'enic-update'
Merge branch 'gre-seq-collect_md'
Merge tag 'batadv-next-for-davem-20180302' of git://git.open-mesh.org/linux-merge
Merge branch 'convert-pernet_operations-part4'
Merge branch 'mvpp2-jumbo-frames-support'
Merge git://git.kernel.org/.../davem/net
Merge branch 'sctp-add-support-for-some-msg_control-options-from-RFC6458'
Merge branch 'lan743x-driver'
Merge branch '1GbE' of git://git.kernel.org/.../jkirsher/next-queue
Merge branch 'net-phy-remove-phy_error-from-phy_disable_interrupts'
Merge tag 'mlx5-updates-2018-02-28-1' of git://git.kernel.org/.../mellanox/linux
Merge branch 'mvpp2-ucast-filter'
Merge branch 'RDS-zerocopy-code-enhancements'
Merge branch 'hns3-next'
Merge branch 'pernet-convert-part5'
Merge branch 'ibmvnic-Clean-up-net-close-and-fix-reset-bug'
Merge tag 'mlx5-updates-2018-02-28-2' of git://git.kernel.org/.../mellanox/linux
Merge branch 'ntuple-filters-with-RSS'
Merge branch 'sched-action-events'
Merge branch 'hns3-fixes-for-configuration-lost-problems'
Merge branch 's390-qeth-next'
Merge branch 'selftests-forwarding-Tweaks-and-a-new-test'
Merge branch 'hns3-next'
Merge branch 'mlxsw-Removing-dependency-of-mlxsw-on-GRE'
ipv6: Use ip6_multipath_hash_policy() in rt6_multipath_hash().
Merge branch '10GbE' of git://git.kernel.org/.../jkirsher/next-queue
Merge branch 'ibmvnic-Fix-VLAN-and-other-device-errata'
Merge branch 'pernet-convert-part6'
Merge branch 'sfc-support-FEC-configuration'
Merge branch 'smc-fixes'
Merge branch 'sctp-add-support-for-some-sctp-auth-APIs-from-RFC6458'
Merge branch '40GbE' of git://git.kernel.org/.../jkirsher/next-queue
Merge branch 'macb-Introduce-phy-handle-DT-functionality'
Merge branch 'net-ipv6-Address-checks-need-to-consider-the-L3-domain'
Merge branch 'rtnl_lock_killable'
Merge branch 'net-smc-IPv6-support'
Merge branch 'pernet-convert-part8'
Merge branch 'tipc-obsolete-zone-concept'
Merge branch 'hv_netvsc-minor-enhancements'
Merge branch 'ibmvnic-Update-TX-pool-and-TX-routines'
Merge branch 'selftests-pmtu-Add-further-vti-vti6-MTU-and-PMTU-tests'
Merge branch 'mv88e6xxx-auto-phy-intr'
Merge branch '40GbE' of git://git.kernel.org/.../jkirsher/next-queue
Merge branch 'mlxsw-Adapt-driver-to-upcoming-firmware-versions'
Merge branch 'dsa-mv88e6xxx-some-fixes'
Merge git://git.kernel.org/.../bpf/bpf-next
Merge tag 'batadv-next-for-davem-20180319' of git://git.open-mesh.org/linux-merge
Merge branch 'r8169-small-improvements'
Merge branch 'cxgb4-rdma'
Merge branch 'fix-some-bugs-for-HNS3-driver'
Merge branch 'mlxsw-Update-supported-firmware-version'
Merge branch 'tipc-diag'
Merge branch 'rmnet-next'
Merge branch 'Rework-ip_ra_chain-protection'
Merge branch 'hns3-VF-reset'
Merge git://git.kernel.org/.../davem/net
Merge branch 'tls-RX'
Merge branch 'pernet-convert-part11'
Merge branch 'tipc-introduce-128-bit-auto-configurable-node-id'
Merge branch 'liquidio-Tx-queue-cleanup'
Merge branch '10GbE' of git://git.kernel.org/.../jkirsher/next-queue
Merge branch 'net-permit-skb_segment-on-head_frag-frag_list-skb'
Merge branch 'hv_netvsc-Fix-improve-RX-path-error-handling'
Merge branch 'mv88e6xxx-module-reloading'
Merge branch 'broadcom-Adaptive-interrupt-coalescing'
Merge tag 'wireless-drivers-next-for-davem-2018-03-24' of git://git.kernel.org/.../kvalo/wireless-drivers-next
Merge branch 'ethernet-ave-add-UniPhier-PXs3-support'
Merge branch 'Drop-NETDEV_UNREGISTER_FINAL'
Merge branch 'hns3-fixes-next'
Merge branch 'sh_eth-unify-the-SoC-feature-checks'
Merge branch 'net-driver-barriers'
Merge branch 'nfp-flower-add-ip-fragmentation-offloading-support'
Merge branch 'pernet-convert-part7.1'
Merge branch 'mlxsw-Offload-IPv6-multicast-routes'
Merge branch '100GbE' of git://git.kernel.org/.../jkirsher/next-queue
Merge branch '40GbE' of git://git.kernel.org/.../jkirsher/next-queue
Merge branch 'net-mvpp2-Remove-unnecessary-dynamic-allocs'
Merge tag 'mlx5-updates-2018-03-22' of git://git.kernel.org/.../saeed/linux
Merge branch 'pernet-all-async'
Merge branch 'sfc-filter-locking'
Merge branch 'master' of git://git.kernel.org/.../klassert/ipsec-next
Merge tag 'rxrpc-next-20180327' of git://git.kernel.org/.../dhowells/linux-fs
Merge branch 'net-bgmac-Couple-of-small-bgmac-changes'
Merge branch 'Introduce-net_rwsem-to-protect-net_namespace_list'
Merge tag 'mlx5-updates-2018-03-27' of git://git.kernel.org/.../saeed/linux
Merge branch 'net-Allow-FIB-notifiers-to-fail-add-and-replace'
Merge branch 'qed-flash-upgrade-support'
Merge branch 'dsa-Add-ATU-VTU-statistics'
Merge tag 'mac80211-next-for-davem-2018-03-29' of git://git.kernel.org/.../jberg/mac80211-next
Merge tag 'wireless-drivers-next-for-davem-2018-03-29' of git://git.kernel.org/.../kvalo/wireless-drivers-next
Merge branch 'net-Broadcom-drivers-coalescing-fixes'
Merge branch 'phylink-API-changes'
Merge branch 'nfp-flower-handle-MTU-changes'
Merge branch 'Implement-of_get_nvmem_mac_address-helper'
Merge branch 'Close-race-between-un-register_netdevice_notifier-and-pernet_operations'
Merge git://git.kernel.org/.../pablo/nf-next
Merge branch 'do-not-allow-adding-routes-if-disable_ipv6-is-enabled'
Merge branch 'stmmac-DWMAC5'
Merge branch 'ieee802154-for-davem-2018-03-29' of git://git.kernel.org/.../sschmidt/wpan-next
Merge branch 'meson8b'
Merge branch 'thunderx-DMAC-filtering'
Merge branch 'bridge-mtu'
Merge branch 'tipc-slim-down-name-table'
Merge branch 'net_rwsem-fixes'
Merge tag 'rxrpc-next-20180330' of git://git.kernel.org/.../dhowells/linux-fs
Merge tag 'mlx5-updates-2018-03-30' of git://git.kernel.org/.../saeed/linux
Merge branch 'bnxt_en-next'
Merge branch 'inet-frags-bring-rhashtables-to-IP-defrag'
Merge git://git.kernel.org/.../bpf/bpf-next
Merge branch 'chelsio-inline-tls'
Merge branch 'mlxsw-cleanups'
Revert "net: usb: asix88179_178a: de-duplicate code"
Merge branch 'inet-factorize-sk_wmem_alloc-updates'
Merge branch 'sh_eth-remove-SH_ETH_OFFSET_INVALID-abuses'
Merge branch 'for-upstream' of git://git.kernel.org/.../bluetooth/bluetooth-next
Merge git://git.kernel.org/.../davem/net
Merge branch 'net-bgmac-Couple-of-sparse-warnings'
Merge branch 'net-mvneta-improve-suspend-resume'
Davide Caratti (4):
net: sched: fix unbalance in the error path of tca_action_flush()
tc-testing: add selftests for 'bpf' action
net/sched: remove tcf_idr_cleanup()
net/sched: act_vlan: declare push_vid with host byte order
Denis 'GNUtoo' Carikli (1):
bcma: add HP Stream Notebook
Denis Kenzior (12):
uapi: Add 802.11 Preauthentication to if_ether
cfg80211: Support all iftypes in autodisconnect_wk
nl80211: Add SOCKET_OWNER support to JOIN_IBSS
nl80211: Add SOCKET_OWNER support to JOIN_MESH
nl80211: Add SOCKET_OWNER support to START_AP
nl80211: Add CMD_CONTROL_PORT_FRAME API
nl80211: Implement TX of control port frames
nl80211: Add CONTROL_PORT_OVER_NL80211 attribute
nl80211: Add control_port_over_nl80211 for ibss
nl80211: Add control_port_over_nl80211 to mesh_setup
mac80211: Add support for tx_control_port
mac80211: Send control port frames over nl80211
Denys Vlasenko (1):
net: make getname() functions return length rather than use int* parameter
Dirk van der Merwe (1):
nfp: advertise firmware for mixed 10G/25G mode
Dmitry Lebed (4):
cfg80211/nl80211: add CAC_STARTED event
cfg80211/nl80211: add DFS offload flag
cfg80211: fix CAC_STARTED event handling
cfg80211: enable use of non-cleared DFS channels for DFS offload
Donald Sharp (2):
net: Allow a rule to track originating protocol
net: fib_rules: Add new attribute to set protocol
Doug Dziggel (1):
i40e: Fix incorrect return types
Edward Cree (10):
net: ethtool: extend RXNFC API to support RSS spreading of filter matches
sfc: support RSS spreading of ethtool ntuple filters
sfc: update MCDI protocol headers
sfc: support FEC configuration through ethtool
sfc: replace asynchronous filter operations
sfc: give ef10 its own rwsem in the filter table instead of filter_lock
sfc: use a semaphore to lock farch filters too
sfc: return a better error if filter insertion collides with MC reboot
sfc: protect list of RSS contexts under a mutex
sfc: fix flow type handling for RSS filters
Emil Tantilov (9):
ixgbevf: use page_address offset from page
ixgbevf: add ethtool private flag for legacy Rx
ixgbevf: add support for using order 1 pages to receive large frames
ixgbevf: setup queue counts
ixgbevf: add support for padding packet
ixgbevf: make sure all frames fit minimum size requirements
ixgbevf: allocate the rings as part of q_vector
ixgbevf: break out Rx buffer page management
ixgbevf: add build_skb support
Emmanuel Grumbach (2):
iwlwifi: bump the max API version for 9000 and 22000 devices
mac80211: don't WARN on bad WMM parameters from buggy APs
Eran Ben Elisha (7):
net/mlx4_en: Add physical RX/TX bytes/packets counters
net/mlx4_en: Remove unnecessary warn print in reset config
net/mlx5e: Move all TX timeout logic to be under state lock
mlx5_{ib,core}: Add query SQ state helper function
mlx5: Move dump error CQE function out of mlx5_ib for code sharing
net/mlx5e: Dump xmit error completions
net/mlx5e: Recover Send Queue (SQ) from error state
Eric Dumazet (36):
tcp: try to keep packet if SYN_RCV race is lost
tcp: switch to GSO being always on
tcp: remove sk_can_gso() use
tcp: remove sk_check_csum_caps()
tcp: tcp_sendmsg() only deals with CHECKSUM_PARTIAL
tcp: remove dead code from tcp_set_skb_tso_segs()
tcp: remove dead code after CHECKSUM_PARTIAL adoption
tcp_bbr: better deal with suboptimal GSO (II)
tcp_bbr: remove bbr->tso_segs_goal
net/mlx4_en: try to use high order pages for RX rings
ip6mr: remove synchronize_rcu() in favor of SOCK_RCU_FREE
net: do not create fallback tunnels for non-default namespaces
ipv6: export ip6 fragments sysctl to unprivileged users
ipv6: frag: remove unused field
inet: frags: change inet_frags_init_net() return value
inet: frags: add a pointer to struct netns_frags
inet: frags: refactor ipv6_frag_init()
inet: frags: refactor lowpan_net_frag_init()
inet: frags: refactor ipfrag_init()
rhashtable: add schedule points
inet: frags: use rhashtables for reassembly units
inet: frags: remove some helpers
inet: frags: get rif of inet_frag_evicting()
inet: frags: remove inet_frag_maybe_warn_overflow()
inet: frags: break the 2GB limit for frags storage
inet: frags: do not clone skb in ip_expire()
ipv6: frags: rewrite ip6_expire_frag_queue()
rhashtable: reorganize struct rhashtable layout
inet: frags: reorganize struct netns_frags
inet: frags: get rid of ipfrag_skb_cb/FRAG_CB
ipv6: frags: get rid of ip6frag_skb_cb/FRAG6_CB
inet: frags: get rid of nf_ct_frag6_skb_cb/NFCT_FRAG6_CB
net/mlx4_en: CHECKSUM_COMPLETE support for fragments
ipv4: factorize sk_wmem_alloc updates done by __ip_append_data()
ipv6: factorize sk_wmem_alloc updates done by __ip6_append_data()
ipv6: frags: fix /proc/sys/net/ipv6/ip6frag_low_thresh
Eyal Birger (1):
net: sched: add em_ipt ematch for calling xtables matches
Felix Fietkau (4):
mac80211: support AP 4-addr mode fast-rx
mac80211: support fast-rx with incompatible PS capabilities when PS is disabled
mac80211: support station 4-addr mode fast-rx
mac80211: support A-MSDU in fast-rx
Fengguang Wu (2):
net: dsa: mv88e6xxx: fix boolreturn.cocci warnings
enic: fix boolreturn.cocci warnings
Filip Sadowski (2):
i40e: Add delay after EMP reset for firmware to recover
i40e: Fix permission check for VF MAC filters
Finn Thain (14):
net/8390: Remove redundant make dependencies
net/8390: Fix msg_enable patch snafu
net/mac8390: Convert to nubus_driver
net/mac8390: Fix log messages
net/macsonic: Convert to nubus_driver
net/macsonic: Drop redundant MACH_IS_MAC test
net/sonic: Clean up and modernize log messages
net/sonic: Replace custom debug logging with netif_* calls
net/macmace: Fix and clean up log messages
net/macmace: Drop redundant MACH_IS_MAC test
net/mac89x0: Remove redundant code
net/mac89x0: Convert to platform_driver
net/mac89x0: Fix and modernize log messages
net/mac89x0: Replace custom debug logging with netif_* calls
Florian Fainelli (16):
net: phy: aquantia: Utilize genphy_c45_aneg_done()
net: phy: Export gen10g_* functions
net: phy: teranetics: Utilize generic functions
net: phy: cortina: Utilize generic functions
net: phy: marvell10g: Utilize gen10g_no_soft_reset()
net: dsa: mv88e6xxx: Fix missing register lock in serdes_get_stats
net: systemport: Implement adaptive interrupt coalescing
net: bcmgenet: Add support for adaptive RX coalescing
net: bgmac: Use interface name to request interrupt
net: bgmac: Mask interrupts during probe
net: systemport: Remove adaptive TX coalescing
net: systemport: Fix coalescing settings handling
net: bcmgenet: Fix coalescing settings handling
net: phy: phylink: Provide PHY interface to mac_link_{up, down}
net: bgmac: Correctly annotate register space
net: bgmac: Fix endian access in bgmac_dma_tx_ring_free()
Florian Westphal (13):
netfilter: x_tables: check standard verdicts in core
netfilter: x_tables: check error target size too
netfilter: x_tables: move hook entry checks into core
netfilter: x_tables: enforce unique and ascending entry points
netfilter: x_tables: cap allocations at 512 mbyte
netfilter: x_tables: limit allocation requests for blob rule heads
netfilter: x_tables: add counters allocation wrapper
netfilter: compat: prepare xt_compat_init_offsets to return errors
netfilter: compat: reject huge allocation requests
netfilter: x_tables: make sure compat af mutex is held
netfilter: x_tables: ensure last rule in base chain matches underflow/policy
netfilter: x_tables: fix build with CONFIG_COMPAT=n
Revert "netfilter: x_tables: ensure last rule in base chain matches underflow/policy"
Frans Meulenbroeks (1):
fix typo in command value in drivers/net/phy/mdio-bitbang.
Fuyun Liang (15):
net: hns3: add existence check when remove old uc mac address
net: hns3: fix for netdev not running problem after calling net_stop and net_open
net: hns3: fix for ipv6 address loss problem after setting channels
net: hns3: unify the pause params setup function
net: hns3: reallocate tx/rx buffer after changing mtu
net: hns3: change GL update rate
net: hns3: change the time interval of int_gl calculating
net: hns3: fix for getting wrong link mode problem
net: hns3: add get_link support to VF
net: hns3: add querying speed and duplex support to VF
net: hns3: fix for not returning problem in get_link_ksettings when phy exists
net: hns3: fix for returning wrong value problem in hns3_get_rss_key_size
net: hns3: fix for returning wrong value problem in hns3_get_rss_indir_size
net: hns3: fix for the wrong shift problem in hns3_set_txbd_baseinfo
net: hns3: fix for not initializing VF rss_hash_key problem
Gal Pressman (8):
net: Fix spelling mistake "greater then" -> "greater than"
net: Make RX-FCS and LRO mutually exclusive
net: Make RX-FCS and HW GRO mutually exclusive
net/mlx5e: Remove redundant check in get ethtool stats
net/mlx5e: Make choose LRO timeout function static
net/mlx5e: Add a helper macro in set features ndo
net/mlx5e: Remove unused max inline related code
net: Call add/kill vid ndo on vlan filter feature toggling
Ganapathi Bhat (4):
Revert "mwifiex: fix incorrect ht capability problem"
mwifiex: fix incorrect ht capability problem
mwifiex: get_channel from firmware
mwifiex: remove warnings in mwifiex_cmd_append_11n_tlv()
Ganesh Goudar (8):
cxgb4: remove dead code when allocating filter
cxgb4: Add TP Congestion map entry for single-port
cxgb4: increase max tx rate limit to 100 Gbps
cxgb4: do not display 50Gbps as unsupported speed
cxgb4/cxgb4vf: check fw caps to set link mode mask
cxgb4: notify fatal error to uld drivers
cxgb4: depend on firmware event for link status
cxgb4: support new ISSI flash parts
Geert Uytterhoeven (1):
netfilter: xt_limit: Spelling s/maxmum/maximum/
GhantaKrishnamurthy MohanKrishna (3):
tipc: modify socket iterator for sock_diag
tipc: implement socket diagnostics for AF_TIPC
tipc: step sk->sk_drops when rcv buffer is full
Govind Singh (1):
ath10k: fix log message for hif power on failure
Govindarajulu Varadarajan (7):
enic: Check inner ip proto for pseudo header csum
enic: Add vxlan offload support for IPv6 pkts
enic: Check if hw supports multi wq with vxlan offload
enic: set UDP rss flag
enic: enable rq before updating rq descriptors
enic: set IG desc cache flag in open
enic: drop IP proto check for vxlan tunnel delete
Grygorii Strashko (1):
net: ethernet: ti: cpsw: enable vlan rx vlan offload
Gustavo A R Silva (1):
i40evf/i40evf_main: Fix variable assignment in i40evf_parse_cls_flower
Gustavo A. R. Silva (18):
net: dsa: mv88e6xxx: hwtstamp: remove unnecessary range checking tests
rds: send: mark expected switch fall-through in rds_rm_size
ssb: return boolean instead of integer in ssb_dma_translation_special_bit
netfilter: ipt_ah: return boolean instead of integer
xfrm_policy: use true and false for boolean values
tipc: bcast: use true and false for boolean values
ipv6: ndisc: use true and false for boolean values
cxgb3: remove VLA usage
pktgen: Remove VLA usage
ipvs: use true and false for boolean values
pktgen: Fix memory leak in pktgen_if_write
netfilter: cttimeout: remove VLA usage
netfilter: nfnetlink_cthelper: Remove VLA usage
netfilter: nf_tables: remove VLA usage
net/mlx5: Fix use-after-free
dpaa_eth: use true and false for boolean values
qed: Use true and false for boolean values
Bluetooth: Mark expected switch fall-throughs
Haim Dreyfuss (4):
iwlwifi: api: Add geographic profile information to MCC_UPDATE_CMD
cfg80211: read wmm rules from regulatory database
mac80211: limit wmm params to comply with ETSI requirements
cfg80211: Add API to allow querying regdb for wmm_rule
Haiyang Zhang (3):
hv_netvsc: Fix the return status in RX path
hv_netvsc: Add range checking for rx packet offset and length
hv_netvsc: Clean up extra parameter from rndis_filter_receive_data()
Hangbin Liu (1):
vlan: also check phy_driver ts_info for vlan's real device
Hans de Goede (6):
Bluetooth: hci_bcm: Add irq_polarity module option
Bluetooth: hci_bcm: Treat Interrupt ACPI resources as always being active-low
Bluetooth: hci_bcm: Add 6 new ACPI HIDs
Bluetooth: hci_bcm: Remove duplication in gpio-mappings declaration
Bluetooth: hci_bcm: Do not tie GPIO pin order to a specific ACPI HID
Bluetooth: hci_bcm: Add ACPI HIDs found in Windows .inf files and DSTDs
Harry Morris (1):
ieee802154: ca8210: fix uninitialised data read
Harshitha Ramamurthy (8):
i40evf: Use an iterator of the same type as the list
i40evf: Make VF reset warning message more clear
virtchnl: Add virtchl structures to support queue channels
i40evf: add ndo_setup_tc callback to i40evf
i40evf: Add support to configure bw via tc tool
virtchnl: Add a macro to check the size of a union
virtchnl: Add filter data structures
i40evf: Add support to apply cloud filters
Heiner Kallweit (14):
r8169: remove some WOL-related dead code
r8169: remove not needed PHY soft reset in rtl8168e_2_hw_phy_config
r8169: disable WOL per default
r8169: simplify and improve check for dash
r8169: improve interrupt handling
r8169: convert remaining feature flag and remove enum features
r8169: fix interrupt number after adding support for MSI-X interrupts
net: phy: remove phy_error from phy_disable_interrupts
net: phy: use phy_disable_interrupts in phy_stop
net: phy: set link state to down when creating the phy_device
r8169: simplify rtl_set_mac_address
r8169: change type of first argument in rtl_tx_performance_tweak
r8169: change type of argument in rtl_disable/enable_clock_request
r8169: add helper tp_to_dev
Hernán Gonzalez (2):
qlogic/qed: Constify *pkt_type_str[]
emulex/benet: Constify *be_misconfig_evt_port_state[]
Ian W MORRISON (1):
Bluetooth: hci_bcm: Remove DMI quirk for the MINIX Z83-4
Ido Schimmel (16):
mlxsw: spectrum_switchdev: Allow port enslavement to a VLAN-unaware bridge
team: Use extack to report enslavement failures
selftests: forwarding: Add initial testing framework
selftests: forwarding: Add a test for FDB learning
selftests: forwarding: Add a test for flooded traffic
selftests: forwarding: Add a test for basic IPv4 and IPv6 routing
selftests: forwarding: Create test topology for multipath routing
selftests: forwarding: Test IPv4 weighted nexthops
selftests: forwarding: Test IPv6 weighted nexthops
selftests: forwarding: Add a test for VLAN-unaware bridge
selftests: forwarding: Exit with error when missing dependencies
selftests: forwarding: Exit with error when missing interfaces
selftests: forwarding: Allow creation of interfaces without a config file
mlxsw: spectrum_acl: Adapt ACL configuration to new firmware versions
mlxsw: spectrum_acl: Do not invalidate already invalid ACL groups
mlxsw: spectrum_span: Prevent duplicate mirrors
Ignacio Nunez Hernanz (1):
ath10k: make ath10k report discarded packets to mac80211
Ilan Peer (3):
mac80211: Call mgd_prep_tx before transmitting deauthentication
mac80211: agg-rx: Accept ADDBA request update if timeout did not change
iwlwifi: mvm: Allow iwl_mvm_mac_mgd_prepare_tx() when associated
Inbar Karmy (3):
net/mlx5e: Expose PFC stall prevention counters
ethtool: Add support for configuring PFC stall prevention in ethtool
net/mlx5e: PFC stall prevention support
Intiyaz Basha (19):
liquidio: Corrected Rx bytes counting
liquidio: Resolved mbox read issue while reading more than one 64bit data
liquidio: Simplified napi poll
liquidio: Added support for trusted VF
liquidio: Moved common function txqs_stop to octeon_network.h
liquidio: Moved common function txqs_wake to octeon_network.h
liquidio: Moved common function txqs_start to octeon_network.h
liquidio: Moved common function skb_iq to to octeon_network.h
liquidio: Removed one line function stop_txq
liquidio: Removed start_txq function
liquidio: Removed netif_is_multiqueue check
liquidio: Removed one line function stop_q
liquidio: Removed one line function wake_q
liquidio: Function call skb_iq for deriving queue from skb
liquidio: Renamed txqs_wake to wake_txqs
liquidio: Renamed txqs_stop to stop_txqs
liquidio: Renamed txqs_start to start_txqs
liquidio: Removed duplicate Tx queue status check
liquidio: Prioritize control messages
Jack Ma (1):
netfilter: xt_conntrack: Support bit-shifting for CONNMARK & MARK targets.
Jacob Keller (19):
i40evf: use __dev_[um]c_sync routines in .set_rx_mode
ixgbe: prevent ptp_rx_hang from running when in FILTER_ALL mode
fm10k: fix function doxygen comments
fm10k: fix incorrect warning for function prototype
fm10k: bump version number
i40e: Cleanup i40e_vlan_rx_register
i40e: track filter type statistics when deleting invalid filters
i40e: factor out re-enable functions for ATR and SB
i40e: restore TCPv4 input set when re-enabling ATR
i40e: add doxygen comment for new mode parameter
i40evf: remove flags that are never used
i40e: move I40E_FLAG_FILTER_SYNC to a state bit
i40e: move I40E_FLAG_UDP_FILTER_SYNC to the state field
i40e: move AUTO_DISABLED flags into the state field
i40e: move I40E_FLAG_TEMP_LINK_POLLING to state field
i40e: move client flags into state bits
i40e: hold the RTNL lock while changing interrupt schemes
i40e: stop using cmpxchg flow in i40e_set_priv_flags()
i40e: re-number feature flags to remove gaps
Jaganath Kanakkassery (1):
Bluetooth: Fix data type of appearence
Jake Moroni (2):
dpaa_eth: fix incorrect comment
dpaa_eth: fix pause capability advertisement logic
Jakub Kicinski (17):
nfp: add Makefiles to all directories
aquantia: add Makefiles to all directories
tools: bpftool: fix dependency file path
tools: bpftool: fix potential format truncation
tools: bpf: cleanup PHONY target
tools: bpf: remove feature detection output
nfp: bpf: rename map_lookup_stack() to map_call_stack_common()
nfp: bpf: add helper for validating stack pointers
nfp: bpf: add helper for basic map call checks
nfp: bpf: add map updates from the datapath
nfp: bpf: add map deletes from the datapath
bpf: add parenthesis around argument of BPF_LDST_BYTES()
nfp: bpf: add basic support for atomic adds
nfp: bpf: expose command delay slots
nfp: bpf: add support for atomic add of unknown values
nfp: bpf: add support for bpf_get_prandom_u32()
nfp: bpf: improve wrong FW response warnings
Jan Sokolowski (1):
i40e: Properly check allowed advertisement capabilities
Jason Wang (2):
virtio-net: re enable XDP_REDIRECT for mergeable buffer
tuntap: XDP_TX can use native XDP
Jay Vosburgh (1):
virtio-net: Fix operstate for virtio when no VIRTIO_NET_F_STATUS
Jeff Kirsher (1):
intel: add SPDX identifiers to all the Intel drivers
Jerome Brunet (1):
net: phy: mdio-mux: slience probe defer error
Jesper Dangaard Brouer (2):
net: avoid including xdp.h in filter.h
selftests/bpf: fix Makefile for cgroup_helpers.c
Jesus Sanchez-Palencia (1):
sock: Fix SO_ZEROCOPY switch case
Jia-Ju Bai (4):
Bluetooth: hci_ath: Replace mdelay with msleep in ath_wakeup_ar3k
Bluetooth: btmrvl_main: Replace GFP_ATOMIC with GFP_KERNEL in btmrvl_send_sync_cmd
Bluetooth: hci_ll: Replace mdelay with msleep in download_firmware
bcma: Replace mdelay with usleep_range in bcma_pmu_resources_init
Jian Shen (4):
net: hns3: fix error type definition of return value
net: hns3: fix return value error of hclge_get_mac_vlan_cmd_status()
net: hns3: add existence checking before adding unicast mac address
net: hns3: add result checking for VF when modify unicast mac address
Jiong Wang (10):
tools: bpftool: remove unnecessary 'if' to reduce indentation
tools: bpftool: factor out xlated dump related code into separate file
tools: bpftool: detect sub-programs from the eBPF sequence
tools: bpftool: partition basic-block for each function in the CFG
tools: bpftool: add out edges for each basic-block
tools: bpftool: generate .dot graph from CFG information
tools: bpftool: new command-line option and documentation for 'visual'
nfp: bpf: read from packet data cache for PTR_TO_PACKET
nfp: bpf: support unaligned read offset
nfp: bpf: detect packet reads could be cached, enable the optimisation
Jiri Benc (7):
tools: bpftool: silence 'missing initializer' warnings
tools: bpf: respect output directory during build
tools: bpf: consistent make bpf_install
tools: bpf: make install should build first
tools: bpf: call descend in Makefile
tools: bpf: respect quiet/verbose build
tools: bpf: silence make by not deleting intermediate file
Jiri Olsa (2):
bpf: Remove struct bpf_verifier_env argument from print_bpf_insn
bpftool: Adjust to new print_bpf_insn interface
Jiri Pirko (18):
selftests: forwarding: Add tc offload check helper
selftests: forwarding: Add MAC get helper
selftests: forwarding: Allow to get netdev interfaces names from commandline
selftests: forwarding: Introduce tc flower matching tests
selftests: forwarding: Introduce tc actions tests
selftests: forwarding: Introduce basic tc chains tests
selftests: forwarding: Introduce basic shared blocks tests
selftests: forwarding: fix "ok" action test
selftests: forwarding: fix flags passed to first drop rule in gact_drop_and_ok_test
mlxsw: spectrum_acl: Fix flex actions header ifndef define construct
mlxsw: spectrum_kvdl: Fix handling of resource_size_param
mlxsw: Constify devlink_resource_ops
mlxsw: spectrum: Change KVD linear parts from list to array
mlxsw: remove kvd_hash_granularity from config profile struct
mlxsw: core: Fix arg name of MLXSW_CORE_RES_VALID and MLXSW_CORE_RES_GET
mlxsw: Move "used_kvd_sizes" check to mlxsw_pci_config_profile
mlxsw: Move "resources_query_enable" out of mlxsw_config_profile
mlxsw: spectrum: Pass mlxsw_core as arg of mlxsw_sp_kvdl_resources_register()
Jisheng Zhang (3):
net: mvneta: remove duplicate *_coal assignment
net: mvneta: split rxq/txq init and txq deinit into SW and HW parts
net: mvneta: improve suspend/resume
Joe Perches (10):
net: drivers/net: Remove unnecessary skb_copy_expand OOM messages
net: Use octal not symbolic permissions
drivers/net: Use octal not symbolic permissions
ethernet: Use octal not symbolic permissions
wireless: Use octal not symbolic permissions
ipv6: addrconf: Use normal debugging style
ath: Remove unnecessary ath_bcast_mac and use eth_broadcast_addr
netfilter: ebt_stp: Use generic functions for comparisons
netfilter: ipset: Use is_zero_ether_addr instead of static and memcmp
ethernet: hisilicon: hns: hns_dsaf_mac: Use generic eth_broadcast_addr
Joe Stringer (4):
selftests/bpf: Print unexpected output on fail
selftests/bpf: Count tests skipped by unpriv
selftests/bpf: Only run tests if !bpf_disabled
bpf: Remove unused callee_saved array
Johan Hovold (2):
net: kalmia: clean up bind error path
net: cdc_eem: clean up bind error path
Johannes Berg (7):
nl80211: remove unnecessary genlmsg_cancel() calls
mac80211: support reporting A-MPDU EOF bit value/known
brcmfmac: reject too long PSK
mac80211_hwsim: fix secondary MAC address assignment
cfg80211: don't require RTNL held for regdomain reads
mac80211: remove shadowing duplicated variable
Merge branch 'eapol-over-nl80211' into mac80211-next
John Allen (2):
ibmvnic: Fix reset return from closed state
ibmvnic: Disable irqs before exiting reset from closed state
John Fastabend (22):
sock: make static tls function alloc_sg generic sock helper
sockmap: convert refcnt to an atomic refcnt
net: do_tcp_sendpages flag to avoid SKBTX_SHARED_FRAG
net: generalize sk_alloc_sg to work with scatterlist rings
bpf: create tcp_bpf_ulp allowing BPF to monitor socket TX/RX data
bpf: sockmap, add bpf_msg_apply_bytes() helper
bpf: sockmap, add msg_cork_bytes() helper
bpf: sk_msg program helper bpf_sk_msg_pull_data
bpf: add map tests for BPF_PROG_TYPE_SK_MSG
bpf: add verifier tests for BPF_PROG_TYPE_SK_MSG
bpf: sockmap sample, add option to attach SK_MSG program
bpf: sockmap sample, add sendfile test
bpf: sockmap sample, add data verification option
bpf: sockmap, add sample option to test apply_bytes helper
bpf: sockmap sample support for bpf_msg_cork_bytes()
bpf: sockmap add SK_DROP tests
bpf: sockmap sample test for bpf_msg_pull_data
bpf: sockmap test script
bpf: sockmap redirect ingress support
bpf: sockmap, add BPF_F_INGRESS tests
bpf: sockmap, BPF_F_INGRESS flag for BPF_SK_SKB_STREAM_VERDICT:
bpf: sockmap, more BPF_SK_SKB_STREAM_VERDICT tests
John Hurley (2):
nfp: modify app MTU setting callbacks
nfp: flower: offload phys port MTU change
Jon Maloy (30):
tipc: apply bearer link tolerance on running links
tipc: remove redundant code in topology server
tipc: remove unnecessary function pointers
tipc: eliminate struct tipc_subscriber
tipc: simplify interaction between subscription and topology connection
tipc: simplify endianness handling in topology subscriber
tipc: collapse subscription creation functions
tipc: some prefix changes
tipc: make struct tipc_server private for server.c
tipc: separate topology server listener socket from subcsriber sockets
tipc: rename tipc_server to tipc_topsrv
tipc: fix bug on error path in tipc_topsrv_kern_subscr()
tipc: obsolete TIPC_ZONE_SCOPE
tipc: remove zone publication list in name table
tipc: remove zone_list member in struct publication
tipc: merge two lists in struct publication
tipc: some name changes
tipc: refactor function tipc_enable_bearer()
tipc: some cleanups in the file discover.c
tipc: remove restrictions on node address values
tipc: allow closest-first lookup algorithm when legacy address is configured
tipc: remove direct accesses to own_addr field in struct tipc_net
tipc: add 128-bit node identifier
tipc: handle collisions of 32-bit node address hash values
tipc: obtain node identity from interface by default
tipc: replace name table service range array with rb tree
tipc: refactor name table translate function
tipc: permit overlapping service ranges in name table
tipc: tipc: rename address types in user api
tipc: avoid possible string overflow
Jon Nettleton (1):
sfp: add high power module support
Jonathan Neuschäfer (3):
net: core: dst_cache: Fix a typo in a comment
net: core: dst_cache_set_ip6: Rename 'addr' parameter to 'saddr' for consistency
net: core: dst: Add kernel-doc for 'net' parameter
Jose Abreu (2):
net: stmmac: Rework and fix TX Timeout code
net: stmmac: Add support for DWMAC5 and implement Safety Features
Julian Wiedmann (12):
s390/qeth: use __ipa_cmd() for casting an IPA cmd buffer
s390/qeth: remove outdated portname debug msg
s390/qeth: support SG for more device types
s390/qeth: advertise IFF_UNICAST_FLT
s390/qeth: pass correct length to header_ops->create()
s390/qeth: allocate skb from NAPI cache
s390/qeth: reduce RX skb setup
s390/qeth: reset NAPI context during queue init
s390/qeth: restructure IP notification handlers
s390/qeth: simplify card look-up on IP notification
s390/qeth: extract helpers for managing special IPs
s390/qeth: shrink qeth_ipaddr struct
Kai-Heng Feng (1):
sky2: Increase D3 delay to sky2 stops working after suspend
Kalle Valo (5):
Merge ath-next from git://git.kernel.org/.../kvalo/ath.git
Merge git://git.kernel.org/.../kvalo/wireless-drivers.git
Merge tag 'iwlwifi-next-for-kalle-2018-03-28' of git://git.kernel.org/.../iwlwifi/iwlwifi-next
ath10k: refactor ath10k_pci_dump_memory() in preparation for QCA9984 support
Merge ath-next from git://git.kernel.org/.../kvalo/ath.git
Karsten Graul (11):
net/smc: move netinfo function to file smc_clc.c
net/smc: remove unused fields from smc structures
net/smc: respond to test link messages
net/smc: process confirm/delete rkey messages
net/smc: do not allow eyecatchers in rmbe
net/smc: process add/delete link messages
net/smc: prevent new connections on link group
net/smc: schedule free_work when link group is terminated
net/smc: restructure netinfo for CLC proposal msgs
net/smc: add ipv6 support to CLC layer
net/smc: enable ipv6 support for smc
Karthikeyan Periyasamy (2):
ath10k: Fix kernel panic while using worker (ath10k_sta_rc_update_wk)
Revert "ath10k: send (re)assoc peer command when NSS changed"
Kevin Lo (1):
rtlwifi: correct comment
Kirill Tkhai (158):
net: Assign net to net_namespace_list in setup_net()
net: Cleanup in copy_net_ns()
net: Introduce net_sem for protection of pernet_list
net: Move mutex_unlock() in cleanup_net() up
net: Allow pernet_operations to be executed in parallel
net: Convert proc_net_ns_ops
net: Convert net_ns_ops methods
net: Convert sysctl_pernet_ops
net: Convert netfilter_net_ops
net: Convert nf_log_net_ops
net: Convert net_inuse_ops
net: Convert net_defaults_ops
net: Convert netlink_net_ops
net: Convert rtnetlink_net_ops
net: Convert audit_net_ops
net: Convert uevent_net_ops
net: Convert proto_net_ops
net: Convert pernet_subsys ops, registered via net_dev_init()
net: Convert fib_* pernet_operations, registered via subsys_initcall
net: Convert subsys_initcall() registered pernet_operations from net/sched
net: Convert genl_pernet_ops
net: Convert wext_pernet_ops
net: Convert sysctl_core_ops
net: Convert pernet_subsys, registered from inet_init()
net: Convert unix_net_ops
net: Convert packet_net_ops
net: Convert ipv4_sysctl_ops
net: Convert addrconf_ops
net: Convert loopback_net_ops
net: Convert default_device_ops
net: Convert diag_net_ops
net: Convert netlink_tap_net_ops
net: Make extern and export get_net_ns()
net: Export open_related_ns()
tun: Add ioctl() SIOCGSKNS cmd to allow obtaining net ns of tun device
net: Convert inet6_net_ops
net: Convert cfg80211_pernet_ops
net: Convert ip6mr_net_ops
net: Convert icmpv6_sk_ops, ndisc_net_ops and igmp6_net_ops
net: Convert raw6_net_ops, udplite6_net_ops, ipv6_proc_ops, if6_proc_net_ops and ip6_route_net_late_ops
net: Convert ipv6_inetpeer_ops
net: Convert fib6_rules_net_ops
net: Convert tcpv6_net_ops
net: Convert ipv6_sysctl_net_ops
net: Convert ping_v6_net_ops
net: Convert ip6_flowlabel_net_ops
net: Convert xfrm6_net_ops
net: Convert fib6_net_ops, ipv6_addr_label_ops and ip6_segments_ops
net: Convert ip6_frags_ops
net: Convert ip_tables_net_ops, udplite6_net_ops and xt_net_ops
net: Convert iptable_filter_net_ops
net: Kill net_mutex
net: Make cleanup_list and net::cleanup_list of llist type
net: Queue net_cleanup_work only if there is first net added
net: Convert /proc creating and destroying pernet_operations
net: Convert hashlimit_net_ops and recent_net_ops
net: Convert synproxy_net_ops
net: Convert nfs_net_ops
net: Convert simple pernet_operations
net: Convert cma_pernet_operations
net: Convert sysctl creating and destroying pernet_operations
net: Convert tc_action_net_init() and tc_action_net_exit() based pernet_operations
net: Convert bond_net_ops
net: Convert geneve_net_ops
net: Convert gtp_net_ops
net: Convert ppp_net_ops
net: Convert vxlan_net_ops
net: Convert br_net_ops
net: Convert ipgre_net_ops, ipgre_tap_net_ops, erspan_net_ops, vti_net_ops and ipip_net_ops
net: Convert ip6gre_net_ops
net: Convert ip6_tnl_net_ops
net: Convert vti6_net_ops
net: Convert sit_net_ops
net: Convert cfg802154_pernet_ops
net: Convert ipvlan_net_ops
net: Convert brnf_net_ops
net: Convert clusterip_net_ops
net: Convert defrag4_net_ops
net: Convert ila_net_ops
net: Convert defrag6_net_ops
net: Convert selinux_net_ops
net: Convert smack_net_ops
mac80211_hwsim: Make hwsim_netgroup IDA
net: Convert hwsim_net_ops
net: Convert broute_net_ops, frame_filter_net_ops and frame_nat_net_ops
net: Convert log pernet_operations
net: Convert arp_tables_net_ops and ip6_tables_net_ops
net: Convert caif_net_ops
net: Convert cangw_pernet_ops
net: Convert dccp_v4_ops
net: Convert dccp_v6_ops
net: Convert fou_net_ops
net: Convert ip_set_net_ops
net: Convert nf_conntrack_net_ops
net: Convert ctnetlink_net_ops
net: Convert proto_gre_net_ops
net: Make account struct net to memcg
net: Convert ip6 tables pernet_operations
net: Convert xfrm_user_net_ops
net: Convert nf_tables_net_ops
net: Convert nfnetlink_net_ops
net: Convert nfnl_acct_ops
net: Convert cttimeout_ops
net: Convert nfnl_log_net_ops
net: Convert nfnl_queue_net_ops
net: Convert pg_net_ops
net: Convert arptable_filter_net_ops
net: Convert iptable_mangle_net_ops
net: Convert iptable_nat_net_ops
net: Convert iptable_raw_net_ops
net: Convert iptable_security_net_ops
net: Convert ipv4_net_ops
net: Convet ipv6_net_ops
net: Convert sctp_defaults_ops
net: Convert sctp_ctrlsock_ops
net: Convert tipc_net_ops
net: Convert rds_tcp_net_ops
net: Add comment about pernet_operations methods and synchronization
net: Add rtnl_lock_killable()
net: Use rtnl_lock_killable() in register_netdev()
net: Convert l2tp_net_ops
net: Convert mpls_net_ops
net: Convert ovs_net_ops
net: Convert ipvs_core_ops
net: Convert ipvs_core_dev_ops
net: Convert ip_vs_ftp_ops
net: Convert can_pernet_ops
net: Convert lowpan_frags_ops
net: Convert nf_ct_net_ops
net: Revert "ipv4: get rid of ip_ra_lock"
net: Move IP_ROUTER_ALERT out of lock_sock(sk)
net: Revert "ipv4: fix a deadlock in ip_ra_control"
net: Make ip_ra_chain per struct net
net: Replace ip_ra_lock with per-net mutex
net: Convert udp_sysctl_ops
net: Convert rxrpc_net_ops
net: Make NETDEV_XXX commands enum { }
infiniband: Replace usnic_ib_netdev_event_to_string() with netdev_cmd_to_name()
net: Drop NETDEV_UNREGISTER_FINAL
net: Convert rpcsec_gss_net_ops
net: Convert sunrpc_net_ops
net: Convert nfs4_dns_resolver_ops
net: Convert nfs4blocklayout_net_ops
net: Convert nfsd_net_ops
net: Reflect all pernet_operations are converted
net: Drop pernet_operations::async
net: Rename net_sem to pernet_ops_rwsem
net: Add more comments
net: Introduce net_rwsem to protect net_namespace_list
net: Don't take rtnl_lock() in wireless_nlevent_flush()
security: Remove rtnl_lock() in selinux_xfrm_notify_policyload()
ovs: Remove rtnl_lock() from ovs_exit_net()
net: Remove rtnl_lock() in nf_ct_iterate_destroy()
xfrm: Register xfrm_dev_notifier in appropriate place
netfilter: Rework xt_TEE netdevice notifier
net: Close race between {un, }register_netdevice_notifier() and setup_net()/cleanup_net()
net: Remove net_rwsem from {, un}register_netdevice_notifier()
net: Do not take net_rwsem in __rtnl_link_unregister()
Kunihiko Hayashi (2):
dt-bindings: net: ave: add PXs3 support
net: ethernet: ave: add UniPhier PXs3 support
Larry Finger (1):
Bluetooth: btusb: Add device ID for RTL8822BE
Leo Yan (1):
samples/bpf: Add program for CPU state statistics
Leon Romanovsky (2):
net/mlx5: Fix wrongly assigned CQ reference counter
net/mlx5: Protect from command bit overflow
Li RongQing (1):
net: sched: do not emit messages while holding spinlock
Linus Lüssing (3):
batman-adv: Avoid redundant multicast TT entries
batman-adv: add DAT cache netlink support
batman-adv: add multicast flags netlink support
Lior David (8):
wil6210: add wil6210_vif structure for per-VIF data
wil6210: support concurrency record in FW file
wil6210: infrastructure for multiple virtual interfaces
wil6210: add support for adding and removing virtual interfaces
wil6210: multiple VIFs support for start/stop AP
wil6210: rename p2p_wdev_mutex to vif_mutex
wil6210: multiple VIFs support for connections and data path
wil6210: add debugfs 'mids' file
Loic Poulain (3):
wcn36xx: Fix warning due to duplicate scan_completed notification
wcn36xx: Fix firmware crash due to corrupted buffer address
Bluetooth: hci_bcm: use gpiod cansleep version
Lorenzo Bianconi (16):
mt76x2: remove warnings in mt76x2_mac_write_txwi()
mt7601u: move mt7601u_set_macaddr in mac related code
mt7601u: set device mac address in mt7601u_add_interface()
mt7601u: make write with mask access atomic
mt76: initialize available_antennas_{tx,rx} info
mt76: add mt76_init_stream_cap routine
mt76x2: add mac80211 {set,get}_antenna callbacks
mt7601u: remove a warning in mt7601u_efuse_physical_size_check()
mt76x2: remove unnecessary len variable in mt76x2_eeprom_load()
mt7601u: simplify mt7601u_mcu_msg_alloc signature
mt7601u: let mac80211 validate rx CCMP PN
mt76: use mt76_poll_msec routine in mt76pci_load_firmware()
mt76x2: fix possible NULL pointer dereferencing in mt76x2_tx()
mt76x2: fix warning in ieee80211_get_key_rx_seq()
ipv6: do not set routes if disable_ipv6 has been enabled
Documentation: ip-sysctl.txt: clarify disable_ipv6
Luca Coelho (2):
iwlwifi: mvm: check if mac80211_queue is valid in iwl_mvm_disable_txq
iwlwifi: add a bunch of new 9000 PCI IDs
Lucas Bates (2):
tc-testing: Correct compound statements for namespace execution
tc-testing: Add newline when writing test case files
Madalin Bucur (4):
dpaa_eth: fix SG mapping
dpaa_eth: make sure all Rx errors are counted
dpaa_eth: refactor frag count checking
fsl/fman: remove unnecessary set_dma_ops() call and HAS_DMA dependency
Maharaja Kennadyrajan (1):
ath10k: debugfs support to get final TPC stats for 10.4 variants
Manikanta Pubbisetty (1):
mac80211: allow AP_VLAN operation on crypto controlled devices
Marc Dionne (1):
rxrpc: Fix resend event time calculation
Marcel Holtmann (5):
Bluetooth: hci_bcm: Use default baud rate if missing shutdown GPIO
Bluetooth: hci_ll: Use skb_put_u8 instead of struct hcill_cmd
Bluetooth: hci_ll: Convert to use h4_recv_buf helper
Bluetooth: bpa10x: Use separate h4_recv_buf helper
Bluetooth: Remove unused btuart_cs driver
Mariusz Stachura (2):
i40e: link_down_on_close private flag support
i40e: fix for wrong partition id calculation on OCP mezz cards
Mark Bloch (15):
net/mlx5: E-Switch, Add callback to get representor device
net/mlx5: E-Switch, Move representors definition to a global scope
net/mlx5: E-Switch, Increase number of FTEs in FDB in switchdev mode
net/mlx5: E-Switch, Optimize HW steering tables in switchdev mode
net/mlx5: E-Switch, Add definition of IB representor
IB/mlx5: Add basic regiser/unregister representors code
IB/mlx5: Allocate flow DB only on PF IB device
IB/mlx5: Add match on vport when in switchdev mode
IB/mlx5: Listen to netdev register/unresiter events in switchdev mode
IB/mlx5: When in switchdev mode, expose only raw packet capabilities
IB/mlx5: Don't expose MR cache in switchdev mode
IB/mlx5: E-Switch, Add rule to forward traffic to vport
IB/mlx5: Add proper representors support
net/mlx5: E-Switch, Reload IB interface when switching devlink modes
IB/mlx5: Disable self loopback check when in switchdev mode
Markus Elfring (2):
Bluetooth: btmrvl: Delete an unnecessary variable initialisation in btmrvl_sdio_register_dev()
Bluetooth: btmrvl: Delete an unnecessary variable initialisation in btmrvl_sdio_card_to_host()
Martin Blumenstingl (5):
net: stmmac: dwmac-meson8b: simplify clock registration
net: stmmac: dwmac-meson8b: only keep struct device around
net: stmmac: dwmac-meson8b: make the clock configurations private
dt-bindings: net: meson-dwmac: add support for the Meson8m2 SoC
net: stmmac: dwmac-meson8b: Add support for the Meson8m2 SoC
Martin KaFai Lau (2):
bpf: Rename bpf_verifer_log
bpf: Add bpf_verifier_vlog() and bpf_verifier_log_needed()
Matan Barak (4):
net/mlx5: FPGA and IPSec initialization to be before flow steering
{net,IB}/mlx5: Add has_tag to mlx5_flow_act
net/mlx5: Add shim layer between fs and cmd
net/mlx5: Embed mlx5_flow_act into fs_fte
Mathias Kresin (2):
net: phy: intel-xway: add VR9 version number
net: phy: intel-xway: add VR9 v1.1 phy ids
Matt Redfearn (2):
ssb: Prevent build of PCI host features in module
bcma: Prevent build of PCI host features in module
Matteo Croce (2):
ipvlan: drop ipv6 dependency
ipvlan: selects master_l3 device instead of depending on it
Matthew Wilcox (1):
mlx5: Remove call to ida_pre_get
Matthias Kaehlcke (1):
rtlwifi: rtl8192cu: Remove variable self-assignment in rf.c
Matthias Schiffer (3):
batman-adv: always assume 2-byte packet alignment
netfilter: ebtables: add support for matching ICMP type and code
netfilter: ebtables: add support for matching IGMP type
Maxim Zhukov (5):
Bluetooth: ath3k: replace hardcode numbers with define
Bluetooth: ath3k: do not init variables
Bluetooth: ath3k: remove blank line after if
Bluetooth: ath3k: Fix warning: quoted string split across lines
Bluetooth: ath3k: fix checkpatch warning
Maxime Chevallier (5):
net: mvpp2: Add hardware offloading for VLAN filtering
net: mvpp2: Simplify MAC filtering function parameters
net: mvpp2: Add support for unicast filtering
net: mvpp2: Make mvpp2_prs_hw_read a parser entry init function
net: mvpp2: Don't use dynamic allocs for local variables
Michael Chan (12):
bnxt_en: Update firmware interface to 1.9.1.15.
bnxt_en: Adjust default rings for multi-port NICs.
bnxt_en: Use a dedicated VNIC mode for RDMA.
bnxt_en: Check max_tx_scheduler_inputs value from firmware.
bnxt_en: Improve resource accounting for SRIOV.
bnxt_en: Improve valid bit checking in firmware response message.
bnxt_en: Improve ring allocation logic.
bnxt_en: Change IRQ assignment for RDMA driver.
bnxt_en: Add IRQ remapping logic.
bnxt_en: Refactor bnxt_need_reserve_rings().
bnxt_en: Reserve completion rings and MSIX for bnxt_re RDMA driver.
bnxt_en: Add ULP calls to stop and restart IRQs.
Michael Rapson (1):
nfp: standardize FW header whitespace
Michal Kalderon (1):
qed*: Utilize FW 8.33.11.0
Mika Westerberg (1):
igb: Do not call netif_device_detach() when PCIe link goes missing
Mike Looijmans (2):
of_net: Implement of_get_nvmem_mac_address helper
net: macb: Try to retrieve MAC addess from nvmem provider
Mitch Williams (1):
i40e: don't leak memory addresses
Mordechay Goodstein (1):
iwlwifi: set default timstamp marker cmd
Moritz Fischer (2):
dt-bindings: net: Add bindings for National Instruments XGE netdev
net: ethernet: nixge: Add support for National Instruments XGE netdev
Moshe Shemesh (4):
net/mlx5: Add support for QUERY_VNIC_ENV command
net/mlx5e: Add vnic steering drop statistics
net/mlx5: Add packet dropped while vport down statistics
net/mlx5e: Add interface down dropped packets statistics
Nathan Fontenot (7):
ibmvnic: Rename active queue count variables
ibmvnic: Move active sub-crq count settings
ibmvnic: Free and re-allocate scrqs when tx/rx scrqs change
ibmvnic: Make napi usage dynamic
ibmvnic: Allocate max queues stats buffers
ibmvnic: Correct goto target for tx irq initialization failure
ibmvnic: Split counters for scrq/pools/napi
Neil Horman (1):
sctp: Fix double free in sctp_sendmsg_to_asoc
Nikita V. Shirokov (1):
bpf: Add sock_ops R/W access to ipv4 tos
Niklas Cassel (11):
net: stmmac: set MSS for each tx DMA channel
net: stmmac: do not clear tx_skbuff entries in stmmac_xmit()/stmmac_tso_xmit()
net: stmmac: WARN if tx_skbuff entries are reused before cleared
net: stmmac: rename dwmac4_tx_queue_routing() to match reality
net: stmmac: call correct function in stmmac_mac_config_rx_queues_routing()
net: stmmac: add error handling in stmmac_mtl_setup()
net: stmmac: honor error code from stmmac_dt_phy()
net: stmmac: ensure that the MSS desc is the last desc to set the own bit
net: stmmac: use correct barrier between coherent memory and MMIO
net: stmmac: ensure that the device has released ownership before reading data
net: stmmac: make dwmac4_release_tx_desc() clear all descriptor fields
Niklas Söderlund (2):
ravb: add support for changing MTU
ravb: remove erroneous comment
Nikolay Aleksandrov (3):
net: bridge: fix direct access to bridge vlan_enabled and use helper
net: bridge: set min MTU on port events and allow user to set max
net: bridge: disable bridge MTU auto tuning if it was set manually
Nogah Frankel (10):
mlxsw: spectrum: qdiscs: Support qdisc per tclass
mlxsw: spectrum: Add priority counters
mlxsw: spectrum: qdiscs: Add priority map per qdisc
mlxsw: spectrum: qdiscs: Collect stats for sch_red based on priomap
mlxsw: spectrum: qdiscs: Update backlog handling of a child qdiscs
net: sch: Don't warn on missmatching qlen and backlog for offloaded qdiscs
mlxsw: spectrum: Update sch_prio stats to include sch_red related drops
mlxsw: spectrum: qdiscs: prio: Delete child qdiscs when removing bands
net: sch: prio: Add offload ability for grafting a child
mlxsw: spectrum: qdiscs: prio: Handle graft command
Or Gerlitz (3):
net/mlx5: E-Switch, Use same source for offloaded actions check
net/mlx5: Add core support for vlan push/pop steering action
net/mlx5e: Offload tc vlan push/pop using HW action
Pablo Neira Ayuso (9):
netfilter: nft_ct: add NFT_CT_{SRC,DST}_{IP,IP6}
netfilter: ctnetlink: synproxy support
netfilter: add flowtable documentation
netfilter: nf_tables: rename struct nf_chain_type
netfilter: nf_tables: nft_register_chain_type() returns void
netfilter: nf_tables: build-in filter chain type
netfilter: nf_tables: enable conntrack if NAT chain is registered
netfilter: nf_tables: rename to nft_set_lookup_global()
netfilter: nf_tables: use nft_set_lookup_global from nf_tables_newsetelem()
Pali Rohár (4):
wl1251: Update wl->nvs_len after wl->nvs is valid
wl1251: Generate random MAC address only if driver does not have valid
wl1251: Parse and use MAC address from supplied NVS data
wl1251: Set generated MAC address back to NVS data
Paolo Abeni (7):
tipc: don't call sock_release() in atomic context
ipvlan: egress mcast packets are not exceptional
ipvlan: use per device spinlock to protect addrs list updates
ipvlan: forbid vlan devices on top of ipvlan
net: unpollute priv_flags space
ipvlan: properly annotate rx_handler access
net: introduce IFF_NO_RX_HANDLER
Patryk Małek (2):
i40e: Prevent setting link speed on KX_X722
i40e: Prevent setting link speed on I40E_DEV_ID_25G_B
Paul Greenwalt (3):
ixgbe: fix disabling hide VLAN on VF reset
ixgbe: add status reg reads to ixgbe_check_remove
ixgbe: fix read-modify-write in x550 phy setup
Paweł Jabłoński (4):
i40e: Warn when setting link-down-on-close while in MFP
i40evf: Fix double locking the same resource
i40e: Fix attach VF to VM issue
i40e: Fix the polling mechanism of GLGEN_RSTAT.DEVSTATE
Peng Li (11):
net: hns3: VF should get the real rss_size instead of rss_size_max
net: hns3: set the cmdq out_vld bit to 0 after used
net: hns3: fix endian issue when PF get mbx message flag
net: hns3: fix the queue id for tqp enable&&reset
net: hns3: set the max ring num when alloc netdev
net: hns3: add support for VF driver inner interface hclgevf_ops.get_tqps_and_rss_info
net: hns3: fix rx path skb->truesize reporting bug
net: hns3: add support for querying pfc puase packets statistic
net: hns3: fix the VF queue reset flow error
net: hns3: increase the max time for IMP handle command
net: hns3: never send command queue message to IMP when reset
Peter Große (1):
ath9k: spelling s/premble/preamble/
Petr Machata (25):
mlxsw: spectrum_ipip: Add a forgotten include
mlxsw: spectrum: Distinguish between IPv4/6 tunnels
mlxsw: spectrum: Fix a coding style nit
mlxsw: spectrum: Drop struct span_entry.used
mlxsw: spectrum: Move SPAN code to separate module
mlxsw: spectrum_ipip: Extract mlxsw_sp_l3addr_is_zero
mlxsw: spectrum_ipip: Support decoding IPv6 tunnel addresses
net: GRE: Add is_gretap_dev, is_ip6gretap_dev
ip_tunnel: Rename & publish init_tunnel_flow
mlxsw: reg: Add SPAN encapsulation to MPAT register
mlxsw: reg: Extend mlxsw_reg_mpat_pack()
mlxsw: span: Remove span_entry by span_id
mlxsw: spectrum_span: Initialize span_entry.id eagerly
mlxsw: spectrum_span: Extract mlxsw_sp_span_entry_{de, }configure()
mlxsw: spectrum: Keep mirror netdev in mlxsw_sp_span_entry
mlxsw: spectrum_span: Generalize SPAN support
mlxsw: Handle config changes pertinent to SPAN
mlxsw: Move a mirroring check to mlxsw_sp_span_entry_create
mlxsw: spectrum_span: Support mirror to gretap
mlxsw: spectrum_span: Support mirror to ip6gretap
net: ipv6: Introduce ip6_multipath_hash_policy()
mlxsw: spectrum: Move mlxsw_sp_span_gretap4_route()
mlxsw: spectrum: Don't depend on ip_gre and ip6_gre
mlxsw: spectrum_span: Fix initialization of struct mlxsw_sp_span_parms
mlxsw: spectrum: Don't use resource ID of 0
Pieter Jansen van Vuuren (4):
nfp: flower: implement tcp flag match offload
net/sched: cls_flower: Add support to handle first frag as match field
nfp: flower: refactor shared ip header in match offload
nfp: flower: implement ip fragmentation match offload
Ping-Ke Shih (22):
rtlwifi: enable mac80211 fast-tx support
rtlwifi: Add Support VHT to spec_ver
rtlwifi: Use 6 bits as sequence number of TX report
rtlwifi: Extend tx_power_by_rate_offset size for newer IC
rtlwifi: Add rate section and its related definition and comment
rtlwifi: Fix VHT NSS in RC
rtlwifi: add definition radio_mask for RF and maximum bandwidth
rtlwifi: add efuse ops for other components
rtlwifi: btcoex: add routine to set default port id
rtlwifi: btcoex: Add 8822be btcoex supported files for wifi only
rtlwifi: btcoex: fix argument typo of if-statement found by Coccinelle
rtlwifi: Add modifier static to functions reported by sparse
rtlwifi: remove redundant statement found by static checker
rtlwifi: btcoex: Add enum DM_INFO for btcoex to query dm's counters
rtlwifi: btcoex: Add customer_id to do special deal to oem vendor
rtlwifi: btcoex: Get status of multichannel concurrence
rtlwifi: btcoex: Add rate table for the use of btcoex
rtlwifi: btcoex: Add interaction with phydm
rtlwifi: btcoex: Add pre- and post- normal LPS function
rtlwifi: btcoex: add assoc type v2 to connection notify
rtlwifi: btcoex: new definitions introduced by 8822be
rtlwifi: btcoex: Add new but dummy definitions introduced by 8822b
Pradeep Kumar Chitrapu (1):
mac80211: notify driver for change in multicast rates
Prameela Rani Garnepudi (9):
rsi: add rx control block to handle rx packets in USB
rsi: add header file rsi_91x
rsi: add coex support
Bluetooth: btrsi: add new rsi bluetooth driver
rsi: add module parameter operating mode
rsi: sdio changes to support BT
rsi: improve RX handling in SDIO interface
rsi: use dynamic RX control blocks instead of MAX_RX_URB
rsi: improve RX packet handling in USB interface
Prasad Kanneganti (1):
liquidio: avoid doing useless work
Prashant Bhole (8):
bpf: samples/sockmap fix Makefile for build error
bpf: samples/sockmap detach sock ops program
selftests/net: fixes psock_fanout eBPF test case
samples/bpf: detach prog from cgroup
selftests: rtnetlink: remove testns on test fail
selftests/net: fix in_netns.sh script
lib/scatterlist: add sg_init_marker() helper
bpf: sockmap: initialize sg table entries properly
Priyaranjan Jha (2):
tcp: add send queue size stat in SCM_TIMESTAMPING_OPT_STATS
tcp: add ca_state stat in SCM_TIMESTAMPING_OPT_STATS
Quentin Monnet (6):
tools: bpftool: add bash completion for CFG dump
tools: bpftool: support comments in batch files
tools: bpftool: support continuation lines in batch files
tools: bpftool: read from stdin when batch file name is "-"
tools: bpftool: add support for quotations in batch files
bpf: comment why dots in filenames under BPF virtual FS are not allowed
Radu Bulie (1):
dpaa_eth: Add allmulti option
Raghu Vatsavayi (1):
liquidio: prevent rx queues from getting stalled
Rahul Lakkireddy (2):
cxgb4: rework on-chip memory read
cxgb4: speed up on-chip memory read
Rajkumar Manoharan (1):
ath10k: fix vdev stats for 10.4 firmware
Raju Rangoju (5):
cxgb4: Adds CPL support for Shared Receive Queues
cxgb4: Add support to initialise/read SRQ entries
cxgb4: Add support to query HW SRQ parameters
cxgb4: Support firmware rdma write with immediate work request.
cxgb4: Support firmware rdma write completion work request.
Rakesh Pillai (1):
ath10k: dma unmap mgmt tx buffer if wmi cmd send fails
Ramon Fried (5):
wcn36xx: reduce verbosity of drivers messages
wcn36xx: calculate DXE control registers values
wcn36xx: calculate DXE default channel values
wcn36xx: Check DXE IRQ reason
wcn36xx: turn off probe response offloading
Randy Dunlap (1):
net/wireless: fix spaces and grammar copy/paste in vendor Kconfig help text
Richard Cochran (2):
net: phylink: Remove redundant netdev.phydev assignment
ptp: Fix documentation to match code.
Roman Mashak (10):
net sched actions: corrected extack message
tc-testing: add csum tests
net sched actions: update Add/Delete action API with new argument
net sched actions: add new tc_action_ops callback
net sched actions: calculate add/delete event message size
net sched actions: implement get_fill_size routine in act_gact
tc-testing: add TC vlan action tests
tc-testing: updated gact tests with batch test cases
tc-testing: updated police, mirred, skbedit and skbmod with more tests
tc-testing: add connmark action tests
Ronak Doshi (1):
MAINTAINERS: update vmxnet3 driver maintainer
Roopa Prabhu (6):
net: fib_rules: support for match on ip_proto, sport and dport
ipv4: fib_rules: support match on sport, dport and ip proto
ipv6: fib6_rules: support for match on sport, dport and ip proto
ipv6: route: dissect flow in input path if fib rules need it
ipv6: route: dissect flow in input path if fib rules need it
fib_rules: FRA_GENERIC_POLICY updates for ip proto, sport and dport attrs
Russell King (5):
sfp: support 1G BiDi (eg, FiberStore SFP-GE-BX) modules
phylink,sfp: negotiate interface format with MAC
dt-bindings: add maximum power level to SFP binding
sfp: allow cotsworks modules
sfp/phylink: move module EEPROM ethtool access into netdev core ethtool
Ryan Hsu (3):
ath10k: update the IRAM bank number for QCA9377
ath10k: enable QCA6174/QCA9377 to read the chip temperature
ath10k: add FW API 6 firmware image for QCA9377
Sabrina Dubroca (2):
tun: export flags, uid, gid, queue information over netlink
ipv6: allow userspace to add IFA_F_OPTIMISTIC addresses
Saeed Mahameed (9):
net/mlx5: CQ Database per EQ
net/mlx5: Add missing likely/unlikely hints to cq events
net/mlx5: EQ add/del CQ API
net/mlx5: CQ hold/put API
net/mlx5: Move CQ completion and event forwarding logic to eq.c
net/mlx5: Remove redundant EQ API exports
net/mlx5: Use MLX5_IPSEC_DEV macro for ipsec caps
net/mlx5e: Use eq ptr from cq
net/mlx5: Eliminate query xsrq dead code
Salil Mehta (9):
net: hns3: Changes to make enet watchdog timeout func common for PF/VF
net: hns3: Add VF Reset Service Task to support event handling
net: hns3: Add VF Reset device state and its handling
net: hns3: Add support to request VF Reset to PF
net: hns3: Add support to reset the enet/ring mgmt layer
net: hns3: Add support to re-initialize the hclge device
net: hns3: Changes to support ARQ(Asynchronous Receive Queue)
net: hns3: Add *Asserting Reset* mailbox message & handling in VF
net: hns3: Changes required in PF mailbox to support VF reset
Salvatore Mesoraca (3):
net: llc: drop VLA in llc_sap_mcast()
net: rds: drop VLA in rds_for_each_conn_info()
net: rds: drop VLA in rds_walk_conn_path_info()
Samuel Mendoza-Jonas (1):
net/ncsi: Add generic netlink family
Sara Sharon (5):
mac80211: add get TID helper
iwlwifi: mvm: flip AMSDU addresses only for 9000 family
iwlwifi: mvm: take RCU lock before dereferencing
iwlwifi: mvm: move TSO segment to a separate function
iwlwifi: mvm: save low latency causes in an enum
Sathishkumar Muruganandam (1):
ath10k: suppress "Unknown eventid: 36925" warnings
Scott Branden (1):
bnxt_en: fix clear flags in ethtool reset handling
Sebastian Andrzej Siewior (1):
rxrpc: remove unused static variables
Sebastian Gottschall (1):
ath9k: fix crash in spectral scan
Sergei Maksimenko (1):
qtnfmac: enable reloading of qtnfmac kernel modules
Sergei Shtylyov (10):
sh_eth: simplify sh_eth_check_reset()
sh_eth: TSU_QTAG0/1 registers the same as TSU_QTAGM0/1
sh_eth: fix TSU init on SH7734/R8A7740
sh_eth: add sh_eth_cpu_data::soft_reset() method
sh_eth: add sh_eth_cpu_data::edtrr_trns value
sh_eth: add sh_eth_cpu_data::xdfar_rw flag
sh_eth: add sh_eth_cpu_data::no_tx_cntrs flag
sh_eth: add sh_eth_cpu_data::cexcr flag
sh_eth: add sh_eth_cpu_data::no_xdfar flag
sh_eth: kill useless check in __sh_eth_get_regs()
Sergey Matyukevich (2):
qtnfmac: fix releasing Tx/Rx data buffers
qtnfmac: implement asynchronous firmware loading
Shahar S Matityahu (1):
iwlwifi: wrt: add fw force restart via triggers
Shalom Toledo (1):
mlxsw: pci: Set mbox dma addresses to zero when not used
Shannon Nelson (8):
esp: check the NETIF_F_HW_ESP_TX_CSUM bit before segmenting
ixgbe: check for 128-bit authentication
ixgbe: fix ipsec trailer length
ixgbe: remove unneeded ipsec state free callback
ixgbe: no need for ipsec csum feature check
ixgbe: remove unneeded ipsec test in TX path
ixgbe: no need for esp trailer if GSO
ixgbe: enable TSO with IPsec offload
Shaohua Li (1):
bpf: follow idr code convention
Shiraz Saleem (1):
i40e: Close client on suspend and restore client MSIx on resume
Simon Wunderlich (1):
batman-adv: Start new development cycle
Sinan Kaya (7):
net: qla3xxx: Eliminate duplicate barriers on weakly-ordered archs
qlcnic: Eliminate duplicate barriers on weakly-ordered archs
bnx2x: Replace doorbell barrier() with wmb()
bnx2x: Eliminate duplicate barriers on weakly-ordered archs
net: qlge: Eliminate duplicate barriers on weakly-ordered archs
bnxt_en: Eliminate duplicate barriers on weakly-ordered archs
net: ena: Eliminate duplicate barriers on weakly-ordered archs
Siva Rebbagondla (2):
rsi: add bluetooth rx endpoint
rsi: handle BT traffic in driver
Soheil Hassas Yeganeh (1):
socket: skip checking sk_err for recvmmsg(MSG_ERRQUEUE)
Song Liu (2):
bpf: extend stackmap to save binary_build_id+offset instead of address
bpf: add selftest for stackmap with BPF_F_STACK_BUILD_ID
Sowmini Varadhan (15):
skbuff: export mm_[un]account_pinned_pages for other modules
rds: hold a sock ref from rds_message to the rds_sock
sock: permit SO_ZEROCOPY on PF_RDS socket
rds: support for zcopy completion notification
rds: zerocopy Tx support.
selftests/net: add support for PF_RDS sockets
selftests/net: add zerocopy support for PF_RDS test case
rds: rds_msg_zcopy should return error of null rm->data.op_mmp_znotifier
selftests/net: revert the zerocopy Rx path for PF_RDS
rds: deliver zerocopy completion notification with data
selftests/net: reap zerocopy completions passed up as ancillary data.
rds: refactor zcopy code into rds_message_zcopy_from_user
rds: use list structure to track information for zerocopy completion notification
rds: tcp: must use spin_lock_irq* and not spin_lock_bh with rds_tcp_conn_lock
rds: tcp: remove register_netdevice_notifier infrastructure.
Srinivas Dasari (4):
cfg80211/nl80211: Optional authentication offload to userspace
nl80211: Allow SAE Authentication for NL80211_CMD_CONNECT
nl80211: Fix external_auth check for offloaded authentication
ieee80211: Increase PMK maximum length to 64 bytes
Sriram R (1):
ath: fix false radar detection in JP region
Stefan Chulski (3):
net: mvpp2: use the same buffer pool for all ports
net: mvpp2: update the BM buffer free/destroy logic
net: mvpp2: jumbo frames support
Stefan Raspl (1):
net/smc: cleanup smc_llc.h and smc_clc.h headers
Stefano Brivio (12):
selftests: net: Introduce first PMTU test
selftests: pmtu: Reverse return codes of functions
selftests: pmtu: Use namespace command prefix to fetch route mtu
selftests: pmtu: Factor out MTU parsing helper
selftests: pmtu: Introduce support for multiple tests
selftests: pmtu: Add pmtu_vti4_default_mtu test
selftests: pmtu: Add pmtu_vti6_default_mtu test
selftests: pmtu: Add test_pmtu_vti4_exception test
selftests: pmtu: Add pmtu_vti4_link_add_mtu test
selftests: pmtu: Add pmtu_vti6_link_add_mtu test
selftests: pmtu: Add pmtu_vti6_link_change_mtu test
selftests: pmtu: Drop prints to kernel log from pmtu_vti6_link_change_mtu
Stephen Hemminger (4):
inet: whitespace cleanup
doc: remove out of date links and info from packet mmap
hv_netvsc: pass netvsc_device to rndis halt
hv_netvsc: add trace points
Subash Abhinov Kasiviswanathan (5):
net: qualcomm: rmnet: Fix casting issues
net: qualcomm: rmnet: Update copyright year to 2018
net: qualcomm: rmnet: Remove unnecessary device assignment
net: qualcomm: rmnet: Export mux_id and flags to netlink
net: qualcomm: rmnet: Implement fill_info
Sudarsana Reddy Kalluru (5):
qed: Populate nvm image attribute shadow.
qed: Fix PTT entry leak in the selftest error flow.
qed: Add APIs for flash access.
qed: Adapter flash update support.
qede: Ethtool flash update support.
Sudhir Sreedharan (1):
rtl8187: Fix NULL pointer dereference in priv->conf_mutex
Sunil Dutt (1):
nl80211: Introduce scan flags to emphasize requested scan behavior
Sven Eckelmann (3):
batman-adv: Update copyright years for 2018
batman-adv: Fix indentation of batadv_seq_before
batman-adv: Avoid relation operator comparison with bool
Taehee Yoo (4):
netfilter: nfnetlink_acct: remove useless parameter
netfilter: xt_cluster: get rid of xt_cluster_ipv6_is_multicast
netfilter: nf_conntrack_broadcast: remove useless parameter
netfilter: ebtables: use ADD_COUNTER macro
Takashi Iwai (1):
brcmsmac: allocate ucode with GFP_KERNEL
Tal Bar (3):
mlxsw: spectrum: Reserved field in mbox profile shouldn't be set
mlxsw: spectrum: Update the supported firmware to version 13.1620.192
mlxsw: spectrum: Add support for auto-negotiation disable mode
Tal Gilboa (2):
Documentation/networking: Add net DIM documentation
net/mlx5e: Set EQE based as default TX interrupt moderation mode
Talat Batheesh (1):
net/mlx5e: IPoIB, Fix spelling mistake
Tariq Toukan (22):
net/mlx4_en: Combine checks of end-cases in RX completion function
net/mlx4_en: RX csum, pre-define enabled protocols for IP status masking
net/mlx5e: Unify slow PCI heuristic
net/mlx5e: Disable Striding RQ when PCI is slower than link
net/mlx5e: Remove unused define MLX5_MPWRQ_STRIDES_PER_PAGE
net/mlx5e: Separate dma base address and offset in dma_sync call
net/mlx5e: Use no-offset function in skb header copy
net/mlx5e: Remove RQ MPWQE fields from params
net/mlx5e: Remove rq_headroom field from params
net/mlx5e: Do not reset Receive Queue params on every type change
net/mlx5e: Add ethtool priv-flag for Striding RQ
net/mlx5e: Save MTU in channels params
net/mlx5e: Derive Striding RQ size from MTU
net/mlx5e: Code movements in RX UMR WQE post
net/mlx5e: Do not busy-wait for UMR completion in Striding RQ
net/mlx5e: Use inline MTTs in UMR WQEs
net/mlx5e: Use linear SKB in Striding RQ
net/mlx5e: Refactor RQ XDP_TX indication
net/mlx5e: Support XDP over Striding RQ
net/mlx5e: Remove page_ref bulking in Striding RQ
net/mlx5e: Keep single pre-initialized UMR WQE per RQ
net/mlx5e: RX, Recycle buffer of UMR WQEs
Tedd Ho-Jeong An (1):
Bluetooth: btusb: Add support for Intel Bluetooth device 22560 [8087:0026]
Teng Qin (2):
bpf: add support to read sample address in bpf program
samples/bpf: add example to test reading address
Thomas Falcon (23):
ibmvnic: Keep track of supplementary TX descriptors
ibmvnic: Fix TX descriptor tracking
ibmvnic: Fix TX descriptor tracking again
ibmvnic: Allocate statistics buffers during probe
ibmvnic: Harden TX/RX pool cleaning
ibmvnic: Report queue stops and restarts as debug output
ibmvnic: Do not attempt to login if RX or TX queues are not allocated
ibmvnic: Clean up device close
ibmvnic: Reorganize device close
ibmvnic: Do not disable device during failover or partition migration
ibmvnic: Account for VLAN tag in L2 Header descriptor
ibmvnic: Account for VLAN header length in TX buffers
ibmvnic: Pad small packets to minimum MTU size
ibmvnic: Handle TSO backing device errata
ibmvnic: Fix recent errata commit
ibmvnic: Generalize TX pool structure
ibmvnic: Update and clean up reset TX pool routine
ibmvnic: Update release TX pool routine
ibmvnic: Update TX pool initialization routine
ibmvnic: Update TX and TX completion routines
ibmvnic: Improve TX buffer accounting
ibmvnic: Update TX pool cleaning routine
ibmvnic: Remove unused TSO resources in TX pool structure
Timothy Redaelli (1):
ath9k: fix DFS detector synchronization
Tobin C. Harding (1):
rsi: Remove stack VLA usage
Toke Høiland-Jørgensen (1):
ath9k: Protect queue draining by rcu_read_lock()
Tom Herbert (1):
kcm: Call strp_stop before strp_done in kcm_attach
Tonghao Zhang (4):
ixgbe: Avoid to write the RETA table when unnecessary
ixgbe: Add receive length error counter
udp: Move the udp sysctl to namespace.
doc: Change the udp/sctp rmem/wmem default value.
Tony Nguyen (5):
ixgbevf: Add XDP support for pass and drop actions
ixgbevf: Add support for XDP_TX action
ixgbevf: Delay tail write for XDP packets
ixgbevf: Add support for meta data
ixgbevf: Add XDP queue stats reporting
Tosoni (1):
mac80211: inform wireless layer when frame RSSI is invalid
Tushar Dave (1):
samples/bpf: adjust rlimit RLIMIT_MEMLOCK for xdp_redirect
Ursula Braun (2):
net/smc: pay attention to MAX_ORDER for CQ entries
net/smc: free link group without pending free_work only
Uwe Kleine-König (3):
net: dsa: mv88e6xxx: Fix name of switch 88E6141
net: dsa: mv88e6xxx: Fix typo in a comment
net: dsa: mv88e6xxx: Fix interrupt name for g2 irq
Vadim Lomovtsev (7):
net: thunderx: move filter register related macro into proper place
net: thunderx: add MAC address filter tracking for LMAC
net: thunderx: add multicast filter management support
net: thunderx: add new messages for handle ndo_set_rx_mode callback
net: thunderx: add XCAST messages handlers for PF
net: thunderx: add workqueue control structures for handle ndo_set_rx_mode request
net: thunderx: add ndo_set_rx_mode callback implementation for VF
Vaibhav Murkute (1):
drivers: vhost: vsock: fixed a brace coding style issue
Vasanthakumar Thiagarajan (1):
ath10k: add sta rx packet stats per tid
Vasundhara Volam (3):
bnxt_en: Add support for ndo_set_vf_trust
bnxt_en: Include additional hardware port statistics in ethtool -S.
bnxt_en: Add extended port statistics support
Veerasenareddy Burru (2):
liquidio: fix ndo_change_mtu to always return correct status to the caller
liquidio: Add support for liquidio 10GBase-T NIC
Venkateswara Naralasetty (2):
cfg80211: send ack_signal to user in probe client response
mac80211: Add tx ack signal support in sta info
Vic Wei (1):
Bluetooth: Set HCI_QUIRK_SIMULTANEOUS_DISCOVERY for BTUSB_QCA_ROME
Vicente Bergas (1):
Bluetooth: btusb: Add USB ID 7392:a611 for Edimax EW-7611ULB
Vinicius Costa Gomes (1):
selftests/txtimestamp: Add more configurable parameters
Wadim Egorov (2):
net: phy: dp83867: Add binding for the CLK_OUT pin muxing option
net: phy: dp83867: Add documentation for CLK_OUT pin muxing
Wei Yongjun (13):
i40e: Make local function i40e_get_link_speed static
i40evf: use GFP_ATOMIC under spin lock
mlxsw: spectrum_kvdl: Make some functions static
sctp: fix error return code in sctp_sendmsg_new_asoc()
net: aquantia: Make function hw_atl_utils_mpi_set_speed() static
tipc: fix error handling in tipc_udp_enable()
tipc: tipc_node_create() can be static
net: bcmgenet: return NULL instead of plain integer
net: cavium: use module_pci_driver to simplify the code
cxgb4: fix error return code in adap_init0()
net: hns3: remove unnecessary pci_set_drvdata() and devm_kfree()
vlan: vlan_hw_filter_capable() can be static
Bluetooth: btrsi: remove unused including <linux/version.h>
Willem de Bruijn (2):
selftests/net: ignore background traffic in psock_fanout
sock: remove zerocopy sockopt restriction on closed tcp state
William Tu (3):
gre: add sequence number for collect md mode.
samples/bpf: add gre sequence number test.
openvswitch: fix vport packet length check.
Wojciech Dubowik (2):
ath9k: Fix airtime calculation for quarter/half channels
ath9k: Fix ack SIFS time for quarter/half channels
Xin Long (22):
sctp: rename sctp_diag.c as diag.c
sctp: add file comments in diag.c
sctp: factor out sctp_sendmsg_to_asoc from sctp_sendmsg
sctp: factor out sctp_sendmsg_new_asoc from sctp_sendmsg
sctp: factor out sctp_sendmsg_check_sflags from sctp_sendmsg
sctp: factor out sctp_sendmsg_get_daddr from sctp_sendmsg
sctp: factor out sctp_sendmsg_parse from sctp_sendmsg
sctp: factor out sctp_sendmsg_update_sinfo from sctp_sendmsg
sctp: remove the unnecessary transport looking up from sctp_sendmsg
sctp: improve some variables in sctp_sendmsg
sctp: adjust some codes in a better order in sctp_sendmsg
netfilter: unlock xt_table earlier in __do_replace
sctp: add support for PR-SCTP Information for sendmsg
sctp: add support for SCTP_DSTADDRV4/6 Information for sendmsg
sctp: add support for snd flag SCTP_SENDALL process in sendmsg
sctp: add refcnt support for sh_key
sctp: add support for SCTP AUTH Information for sendmsg
sctp: add sockopt SCTP_AUTH_DEACTIVATE_KEY
sctp: add SCTP_AUTH_FREE_KEY type for AUTHENTICATION_EVENT
sctp: add SCTP_AUTH_NO_AUTH type for AUTHENTICATION_EVENT
sctp: remove unnecessary asoc in sctp_has_association
route: check sysctl_fib_multipath_use_neigh earlier than hash
Xinming Hu (2):
mwifiex: set different mac address for interfaces with same bss type
mwifiex: correct antenna number with high bits reserved
Xue Liu (3):
ieee802154: Add device tree documentation for MCR20A
ieee802154: Add entry in MAINTAINTERS for MCR20a driver
ieee802154: Add NXP MCR20A IEEE 802.15.4 transceiver driver
Yafang Shao (2):
tcp: remove the hardcode in the definition of TCPF Macro
bpf: NULL pointer check is not needed in BPF_CGROUP_RUN_PROG_INET_SOCK
Yan Markman (2):
net: mvpp2: use a data size of 10kB for Tx FIFO on port 0
net: mvpp2: Use relaxed I/O in data path
Yi-Hung Wei (2):
netfilter: Refactor nf_conncount
netfilter: conncount: Support count only use case
Yingying Tang (4):
ath10k: enable TDLS peer buffer STA feature
ath10k: enable TDLS peer inactivity detection
ath10k: avoid to set WEP key for TDLS peer
ath10k: fix TDLS peer TX data failure issue on encryped AP
Yonatan Cohen (1):
IB/mlx5: Implement fragmented completion queue (CQ)
Yonghong Song (3):
tools/bpf: adjust rlimit RLIMIT_MEMLOCK for test_tcpbpf_user
net: permit skb_segment on head_frag frag_list skb
net: bpf: add a test for skb_segment in test_bpf module
Yossi Kuperman (2):
net/mlx5: IPSec, Generalize sandbox QP commands
net/mlx5e: IPSec, Add support for ESP trailer removal by hardware
Yousuk Seung (2):
tcp: add snd_ssthresh stat in SCM_TIMESTAMPING_OPT_STATS
net-tcp_bbr: set tp->snd_ssthresh to BDP upon STARTUP exit
Yunsheng Lin (13):
net: hns3: refactor the hclge_get/set_rss function
net: hns3: refactor the hclge_get/set_rss_tuple function
net: hns3: fix for RSS configuration loss problem during reset
net: hns3: fix for pause configuration lost during reset
net: hns3: fix for use-after-free when setting ring parameter
net: hns3: refactor the get/put_vector function
net: hns3: fix for coalesce configuration lost during reset
net: hns3: refactor the coalesce related struct
net: hns3: fix for coal configuation lost when setting the channel
net: hns3: fix for loopback failure when vlan filter is enable
net: hns3: fix for buffer overflow smatch warning
net: hns3: fix for vlan table lost problem when resetting
net: hns3: export pci table of hclge and hclgevf to userspace
Yuval Mintz (26):
ipmr,ipmr6: Define a uniform vif_device
ip6mr: Make mroute_sk rcu-based
ip6mr: Align hash implementation to ipmr
mroute*: Make mr_table a common struct
ipmr, ip6mr: Unite creation of new mr_table
ipmr, ip6mr: Make mfc_cache a common structure
ipmr, ip6mr: Unite logic for searching in MFC cache
ipmr, ip6mr: Unite mfc seq logic
ipmr, ip6mr: Unite vif seq functions
ip6mr: Remove MFC_NOTIFY and refactor flags
ipmr, ip6mr: Unite dumproute flows
ipmr: Make vif fib notifiers common
ipmr: Make MFC fib notifiers common
ipmr: Make ipmr_dump() common
ip6mr: Support fib notifications
ip6mr: Add API for default_rule fib
ip6mr: Add refcounting to mfc
mlxsw: reg: Configure RIF to forward IPv6 multicast packets
mlxsw: reg: Add register settings for IPv6 multicast routing
mlxsw: spectrum_mr: Pass protocol as part of catchall route params
mlxsw: spectrum_router: Support IPv6 multicast to host CPU
mlxsw: spectrum_mr: Convert into using mr_mfc
mlxsw: spectrum_router: Make IPMR-related APIs family agnostic
mlxsw: spectrum_mr: Add ipv6 specific operations
mlxsw: spectrum_router: Process IP6MR fib notification
mlxsw: spectrum: Add multicast router trap for PIMv6
Zamir, Roee (2):
iwlwifi: mvm: add adaptive dwell support
iwlwifi: mvm: add support for oce
kbuild test robot (6):
netfilter: nf_tables: nf_tables_obj_lookup_byhandle() can be static
net: mvpp2: mvpp2_check_hw_buf_num() can be static
rds: rds_message_zcopy_from_user() can be static
rds: rds_info_from_znotifier() can be static
net: hns3: hclge_inform_reset_assert_to_vf() can be static
tipc: tipc_disc_addr_trial_msg() can be static
tamizhr@codeaurora.org (5):
cfg80211: Add support to notify station's opmode change to userspace
mac80211: Add support to notify ht/vht opmode modification.
cfg80211: fix data type of sta_opmode_info parameter
mac80211: Use proper smps_mode enum in sta opmode event
mac80211: Use proper chan_width enum in sta opmode event
Łukasz Rymanowski (1):
Bluetooth: Fix incorrect bits for LE states
Documentation/bpf/bpf_devel_QA.txt | 12 +
Documentation/devicetree/bindings/net/dsa/marvell.txt | 11 +-
Documentation/devicetree/bindings/net/ethernet.txt | 2 +
Documentation/devicetree/bindings/net/ieee802154/mcr20a.txt | 23 +
Documentation/devicetree/bindings/net/macb.txt | 1 +
Documentation/devicetree/bindings/net/meson-dwmac.txt | 5 +-
Documentation/devicetree/bindings/net/nixge.txt | 32 +
Documentation/devicetree/bindings/net/renesas,ravb.txt | 1 +
Documentation/devicetree/bindings/net/sff,sfp.txt | 5 +
Documentation/devicetree/bindings/net/socionext,uniphier-ave4.txt | 1 +
Documentation/devicetree/bindings/net/ti,dp83867.txt | 2 +
Documentation/networking/ice.txt | 39 +
Documentation/networking/ip-sysctl.txt | 30 +-
Documentation/networking/msg_zerocopy.rst | 5 -
Documentation/networking/net_dim.txt | 174 +++
Documentation/networking/nf_flowtable.txt | 112 ++
Documentation/networking/packet_mmap.txt | 22 +-
Documentation/networking/tls.txt | 66 +-
Documentation/ptp/ptp.txt | 5 +-
Documentation/sysctl/net.txt | 12 +
MAINTAINERS | 21 +-
arch/arm/boot/dts/armada-370-rd.dts | 32 +
arch/m68k/mac/config.c | 4 +
arch/x86/net/bpf_jit_comp.c | 234 ++--
drivers/atm/idt77252.c | 12 +-
drivers/bcma/Kconfig | 2 +-
drivers/bcma/driver_chipcommon_pmu.c | 2 +-
drivers/bcma/host_pci.c | 1 +
drivers/bluetooth/Kconfig | 30 +-
drivers/bluetooth/Makefile | 3 +-
drivers/bluetooth/ath3k.c | 28 +-
drivers/bluetooth/bpa10x.c | 2 +-
drivers/bluetooth/btmrvl_main.c | 2 +-
drivers/bluetooth/btmrvl_sdio.c | 4 +-
drivers/bluetooth/btrsi.c | 187 +++
drivers/bluetooth/btrtl.c | 119 +-
drivers/bluetooth/btuart_cs.c | 675 ---------
drivers/bluetooth/btusb.c | 14 +
drivers/bluetooth/h4_recv.h | 160 +++
drivers/bluetooth/hci_ath.c | 4 +-
drivers/bluetooth/hci_bcm.c | 305 ++++-
drivers/bluetooth/hci_ll.c | 224 +--
drivers/crypto/chelsio/Kconfig | 11 +
drivers/crypto/chelsio/Makefile | 1 +
drivers/crypto/chelsio/chcr_algo.h | 42 +
drivers/crypto/chelsio/chcr_core.h | 55 +-
drivers/crypto/chelsio/chtls/Makefile | 4 +
drivers/crypto/chelsio/chtls/chtls.h | 482 +++++++
drivers/crypto/chelsio/chtls/chtls_cm.c | 2126 +++++++++++++++++++++++++++++
drivers/crypto/chelsio/chtls/chtls_cm.h | 203 +++
drivers/crypto/chelsio/chtls/chtls_hw.c | 412 ++++++
drivers/crypto/chelsio/chtls/chtls_io.c | 1822 +++++++++++++++++++++++++
drivers/crypto/chelsio/chtls/chtls_main.c | 578 ++++++++
drivers/infiniband/core/cma.c | 2 +-
drivers/infiniband/core/roce_gid_mgmt.c | 2 +
drivers/infiniband/hw/cxgb4/device.c | 1 +
drivers/infiniband/hw/hfi1/file_ops.c | 2 +-
drivers/infiniband/hw/hfi1/trace_ctxts.h | 12 +-
drivers/infiniband/hw/mlx5/Makefile | 1 +
drivers/infiniband/hw/mlx5/cq.c | 72 +-
drivers/infiniband/hw/mlx5/ib_rep.c | 192 +++
drivers/infiniband/hw/mlx5/ib_rep.h | 72 +
drivers/infiniband/hw/mlx5/main.c | 394 ++++--
drivers/infiniband/hw/mlx5/mlx5_ib.h | 38 +-
drivers/infiniband/hw/mlx5/mr.c | 5 +-
drivers/infiniband/hw/mlx5/qp.c | 41 +-
drivers/infiniband/hw/qedr/main.c | 4 +-
drivers/infiniband/hw/qedr/qedr_hsi_rdma.h | 4 +-
drivers/infiniband/hw/qedr/verbs.c | 4 +-
drivers/infiniband/hw/usnic/usnic_ib_main.c | 28 +-
drivers/infiniband/hw/usnic/usnic_transport.c | 5 +-
drivers/isdn/mISDN/socket.c | 5 +-
drivers/net/Kconfig | 5 +-
drivers/net/Space.c | 6 -
drivers/net/bonding/bond_procfs.c | 2 +-
drivers/net/bonding/bond_sysfs.c | 73 +-
drivers/net/bonding/bond_sysfs_slave.c | 4 +-
drivers/net/caif/caif_serial.c | 32 +-
drivers/net/caif/caif_spi.c | 16 +-
drivers/net/caif/caif_virtio.c | 16 +-
drivers/net/can/at91_can.c | 3 +-
drivers/net/can/cc770/cc770.c | 4 +-
drivers/net/can/cc770/cc770_isa.c | 16 +-
drivers/net/can/grcan.c | 4 +-
drivers/net/can/janz-ican3.c | 6 +-
drivers/net/can/sja1000/sja1000_isa.c | 14 +-
drivers/net/can/softing/softing_main.c | 4 +-
drivers/net/can/spi/mcp251x.c | 2 +-
drivers/net/can/usb/esd_usb2.c | 6 +-
drivers/net/can/vcan.c | 2 +-
drivers/net/dsa/b53/b53_common.c | 2 +-
drivers/net/dsa/b53/b53_priv.h | 2 +-
drivers/net/dsa/dsa_loop.c | 2 +-
drivers/net/dsa/lan9303-core.c | 2 +-
drivers/net/dsa/microchip/ksz_common.c | 2 +-
drivers/net/dsa/mt7530.c | 2 +-
drivers/net/dsa/mv88e6xxx/Kconfig | 10 +
drivers/net/dsa/mv88e6xxx/Makefile | 4 +
drivers/net/dsa/mv88e6xxx/chip.c | 437 ++++--
drivers/net/dsa/mv88e6xxx/chip.h | 135 +-
drivers/net/dsa/mv88e6xxx/global1_atu.c | 12 +-
drivers/net/dsa/mv88e6xxx/global1_vtu.c | 11 +-
drivers/net/dsa/mv88e6xxx/global2.c | 43 +-
drivers/net/dsa/mv88e6xxx/global2.h | 115 +-
drivers/net/dsa/mv88e6xxx/global2_avb.c | 193 +++
drivers/net/dsa/mv88e6xxx/global2_scratch.c | 291 ++++
drivers/net/dsa/mv88e6xxx/hwtstamp.c | 576 ++++++++
drivers/net/dsa/mv88e6xxx/hwtstamp.h | 172 +++
drivers/net/dsa/mv88e6xxx/ptp.c | 381 ++++++
drivers/net/dsa/mv88e6xxx/ptp.h | 108 ++
drivers/net/dsa/mv88e6xxx/serdes.c | 109 +-
drivers/net/dsa/mv88e6xxx/serdes.h | 6 +-
drivers/net/dsa/qca8k.c | 2 +-
drivers/net/dummy.c | 2 +
drivers/net/ethernet/8390/Makefile | 6 +-
drivers/net/ethernet/8390/apne.c | 2 +-
drivers/net/ethernet/8390/ax88796.c | 3 -
drivers/net/ethernet/8390/axnet_cs.c | 2 -
drivers/net/ethernet/8390/etherh.c | 17 -
drivers/net/ethernet/8390/hydra.c | 4 -
drivers/net/ethernet/8390/lib8390.c | 4 +-
drivers/net/ethernet/8390/mac8390.c | 171 ++-
drivers/net/ethernet/8390/mcf8390.c | 4 -
drivers/net/ethernet/8390/ne.c | 4 +-
drivers/net/ethernet/8390/ne2k-pci.c | 2 +-
drivers/net/ethernet/8390/pcnet_cs.c | 4 -
drivers/net/ethernet/8390/smc-ultra.c | 2 +-
drivers/net/ethernet/8390/stnic.c | 2 +-
drivers/net/ethernet/8390/wd.c | 4 +-
drivers/net/ethernet/8390/zorro8390.c | 5 -
drivers/net/ethernet/Kconfig | 1 +
drivers/net/ethernet/Makefile | 1 +
drivers/net/ethernet/altera/altera_tse_main.c | 6 +-
drivers/net/ethernet/amazon/ena/ena_com.c | 8 +-
drivers/net/ethernet/amazon/ena/ena_eth_com.h | 8 +-
drivers/net/ethernet/amazon/ena/ena_netdev.c | 5 +-
drivers/net/ethernet/amd/amd8111e.c | 2 +-
drivers/net/ethernet/amd/xgbe/xgbe-drv.c | 10 +-
drivers/net/ethernet/amd/xgbe/xgbe-main.c | 2 +-
drivers/net/ethernet/apple/macmace.c | 25 +-
drivers/net/ethernet/aquantia/atlantic/hw_atl/Makefile | 2 +
drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c | 2 +-
drivers/net/ethernet/broadcom/bcmsysport.c | 130 +-
drivers/net/ethernet/broadcom/bcmsysport.h | 13 +
drivers/net/ethernet/broadcom/bgmac.c | 7 +-
drivers/net/ethernet/broadcom/bgmac.h | 6 +-
drivers/net/ethernet/broadcom/bnx2.c | 2 +-
drivers/net/ethernet/broadcom/bnx2x/bnx2x.h | 12 +-
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 5 +-
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 4 +-
drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c | 5 +-
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 16 +-
drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c | 4 +-
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 341 +++--
drivers/net/ethernet/broadcom/bnxt/bnxt.h | 30 +-
drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.h | 5 +-
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 56 +-
drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h | 289 ++--
drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c | 61 +-
drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.h | 3 +-
drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c | 144 +-
drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.h | 22 +-
drivers/net/ethernet/broadcom/genet/bcmgenet.c | 145 +-
drivers/net/ethernet/broadcom/genet/bcmgenet.h | 12 +
drivers/net/ethernet/broadcom/sb1250-mac.c | 10 +-
drivers/net/ethernet/broadcom/tg3.c | 6 +-
drivers/net/ethernet/brocade/bna/bnad.c | 2 +-
drivers/net/ethernet/brocade/bna/bnad_debugfs.c | 10 +-
drivers/net/ethernet/cadence/macb_main.c | 96 +-
drivers/net/ethernet/cavium/common/cavium_ptp.c | 13 +-
drivers/net/ethernet/cavium/liquidio/lio_core.c | 145 +-
drivers/net/ethernet/cavium/liquidio/lio_ethtool.c | 24 +-
drivers/net/ethernet/cavium/liquidio/lio_main.c | 440 +++---
drivers/net/ethernet/cavium/liquidio/lio_vf_main.c | 278 +---
drivers/net/ethernet/cavium/liquidio/liquidio_common.h | 30 +-
drivers/net/ethernet/cavium/liquidio/octeon_device.h | 2 +
drivers/net/ethernet/cavium/liquidio/octeon_droq.c | 83 +-
drivers/net/ethernet/cavium/liquidio/octeon_droq.h | 11 +-
drivers/net/ethernet/cavium/liquidio/octeon_mailbox.c | 5 +-
drivers/net/ethernet/cavium/liquidio/octeon_network.h | 73 +
drivers/net/ethernet/cavium/liquidio/request_manager.c | 8 +-
drivers/net/ethernet/cavium/liquidio/response_manager.c | 6 +-
drivers/net/ethernet/cavium/thunder/nic.h | 29 +
drivers/net/ethernet/cavium/thunder/nic_main.c | 45 +-
drivers/net/ethernet/cavium/thunder/nicvf_main.c | 112 +-
drivers/net/ethernet/cavium/thunder/thunder_bgx.c | 201 ++-
drivers/net/ethernet/cavium/thunder/thunder_bgx.h | 19 +-
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c | 6 +-
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c | 8 +-
drivers/net/ethernet/chelsio/cxgb4/Makefile | 2 +-
drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c | 86 +-
drivers/net/ethernet/chelsio/cxgb4/cxgb4.h | 23 +
drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c | 122 +-
drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c | 24 +-
drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c | 6 -
drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c | 333 ++++-
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c | 3 +
drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h | 13 +-
drivers/net/ethernet/chelsio/cxgb4/sched.h | 4 +-
drivers/net/ethernet/chelsio/cxgb4/sge.c | 107 +-
drivers/net/ethernet/chelsio/cxgb4/srq.c | 138 ++
drivers/net/ethernet/chelsio/cxgb4/srq.h | 65 +
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c | 215 ++-
drivers/net/ethernet/chelsio/cxgb4/t4_msg.h | 193 ++-
drivers/net/ethernet/chelsio/cxgb4/t4_regs.h | 2 +
drivers/net/ethernet/chelsio/cxgb4/t4fw_api.h | 226 +++-
drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c | 61 +-
drivers/net/ethernet/cirrus/mac89x0.c | 158 +--
drivers/net/ethernet/cisco/enic/enic.h | 3 +-
drivers/net/ethernet/cisco/enic/enic_ethtool.c | 36 +
drivers/net/ethernet/cisco/enic/enic_main.c | 86 +-
drivers/net/ethernet/cisco/enic/vnic_dev.c | 22 +-
drivers/net/ethernet/cisco/enic/vnic_dev.h | 3 +-
drivers/net/ethernet/cisco/enic/vnic_devcmd.h | 5 +
drivers/net/ethernet/cisco/enic/vnic_nic.h | 1 +
drivers/net/ethernet/ec_bhf.c | 2 +-
drivers/net/ethernet/emulex/benet/be_cmds.c | 2 +-
drivers/net/ethernet/emulex/benet/be_cmds.h | 2 +-
drivers/net/ethernet/emulex/benet/be_main.c | 6 +-
drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 65 +-
drivers/net/ethernet/freescale/dpaa/dpaa_ethtool.c | 4 +-
drivers/net/ethernet/freescale/fman/Kconfig | 1 -
drivers/net/ethernet/freescale/fman/fman_dtsec.c | 19 +
drivers/net/ethernet/freescale/fman/fman_dtsec.h | 1 +
drivers/net/ethernet/freescale/fman/fman_memac.c | 32 +-
drivers/net/ethernet/freescale/fman/fman_memac.h | 1 +
drivers/net/ethernet/freescale/fman/fman_tgec.c | 33 +-
drivers/net/ethernet/freescale/fman/fman_tgec.h | 1 +
drivers/net/ethernet/freescale/fman/mac.c | 4 +-
drivers/net/ethernet/freescale/fman/mac.h | 2 +
drivers/net/ethernet/hisilicon/hns/hns_dsaf_mac.c | 6 +-
drivers/net/ethernet/hisilicon/hns3/hclge_mbx.h | 18 +
drivers/net/ethernet/hisilicon/hns3/hnae3.h | 18 +-
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 398 ++++--
drivers/net/ethernet/hisilicon/hns3/hns3_enet.h | 18 +-
drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c | 153 +--
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_cmd.h | 4 +-
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_dcb.c | 16 +
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 559 +++++---
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h | 27 +
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c | 94 +-
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mdio.c | 6 +
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c | 76 +-
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.h | 8 +-
drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_cmd.c | 6 +
drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_cmd.h | 2 +-
drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c | 475 ++++++-
drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h | 35 +
drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_mbx.c | 95 +-
drivers/net/ethernet/ibm/ehea/ehea_main.c | 7 +-
drivers/net/ethernet/ibm/ibmveth.c | 2 +-
drivers/net/ethernet/ibm/ibmvnic.c | 626 +++++----
drivers/net/ethernet/ibm/ibmvnic.h | 16 +-
drivers/net/ethernet/intel/Kconfig | 14 +
drivers/net/ethernet/intel/Makefile | 1 +
drivers/net/ethernet/intel/e100.c | 1 +
drivers/net/ethernet/intel/e1000/Makefile | 1 +
drivers/net/ethernet/intel/e1000/e1000.h | 1 +
drivers/net/ethernet/intel/e1000/e1000_ethtool.c | 1 +
drivers/net/ethernet/intel/e1000/e1000_hw.c | 1 +
drivers/net/ethernet/intel/e1000/e1000_hw.h | 1 +
drivers/net/ethernet/intel/e1000/e1000_main.c | 1 +
drivers/net/ethernet/intel/e1000/e1000_osdep.h | 1 +
drivers/net/ethernet/intel/e1000/e1000_param.c | 1 +
drivers/net/ethernet/intel/e1000e/80003es2lan.c | 1 +
drivers/net/ethernet/intel/e1000e/80003es2lan.h | 1 +
drivers/net/ethernet/intel/e1000e/82571.c | 1 +
drivers/net/ethernet/intel/e1000e/82571.h | 1 +
drivers/net/ethernet/intel/e1000e/Makefile | 1 +
drivers/net/ethernet/intel/e1000e/defines.h | 1 +
drivers/net/ethernet/intel/e1000e/e1000.h | 1 +
drivers/net/ethernet/intel/e1000e/ethtool.c | 1 +
drivers/net/ethernet/intel/e1000e/hw.h | 1 +
drivers/net/ethernet/intel/e1000e/ich8lan.c | 1 +
drivers/net/ethernet/intel/e1000e/ich8lan.h | 1 +
drivers/net/ethernet/intel/e1000e/mac.c | 1 +
drivers/net/ethernet/intel/e1000e/mac.h | 1 +
drivers/net/ethernet/intel/e1000e/manage.c | 1 +
drivers/net/ethernet/intel/e1000e/manage.h | 1 +
drivers/net/ethernet/intel/e1000e/netdev.c | 1 +
drivers/net/ethernet/intel/e1000e/nvm.c | 1 +
drivers/net/ethernet/intel/e1000e/nvm.h | 1 +
drivers/net/ethernet/intel/e1000e/param.c | 1 +
drivers/net/ethernet/intel/e1000e/phy.c | 1 +
drivers/net/ethernet/intel/e1000e/phy.h | 1 +
drivers/net/ethernet/intel/e1000e/ptp.c | 1 +
drivers/net/ethernet/intel/e1000e/regs.h | 1 +
drivers/net/ethernet/intel/fm10k/Makefile | 1 +
drivers/net/ethernet/intel/fm10k/fm10k.h | 1 +
drivers/net/ethernet/intel/fm10k/fm10k_common.c | 6 +-
drivers/net/ethernet/intel/fm10k/fm10k_common.h | 1 +
drivers/net/ethernet/intel/fm10k/fm10k_dcbnl.c | 1 +
drivers/net/ethernet/intel/fm10k/fm10k_debugfs.c | 1 +
drivers/net/ethernet/intel/fm10k/fm10k_ethtool.c | 1 +
drivers/net/ethernet/intel/fm10k/fm10k_iov.c | 1 +
drivers/net/ethernet/intel/fm10k/fm10k_main.c | 5 +-
drivers/net/ethernet/intel/fm10k/fm10k_mbx.c | 1 +
drivers/net/ethernet/intel/fm10k/fm10k_mbx.h | 1 +
drivers/net/ethernet/intel/fm10k/fm10k_netdev.c | 11 +-
drivers/net/ethernet/intel/fm10k/fm10k_pci.c | 14 +-
drivers/net/ethernet/intel/fm10k/fm10k_pf.c | 5 +-
drivers/net/ethernet/intel/fm10k/fm10k_pf.h | 1 +
drivers/net/ethernet/intel/fm10k/fm10k_tlv.c | 8 +-
drivers/net/ethernet/intel/fm10k/fm10k_tlv.h | 1 +
drivers/net/ethernet/intel/fm10k/fm10k_type.h | 1 +
drivers/net/ethernet/intel/fm10k/fm10k_vf.c | 1 +
drivers/net/ethernet/intel/fm10k/fm10k_vf.h | 1 +
drivers/net/ethernet/intel/i40e/Makefile | 1 +
drivers/net/ethernet/intel/i40e/i40e.h | 82 +-
drivers/net/ethernet/intel/i40e/i40e_adminq.c | 1 +
drivers/net/ethernet/intel/i40e/i40e_adminq.h | 1 +
drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h | 38 +
drivers/net/ethernet/intel/i40e/i40e_alloc.h | 1 +
drivers/net/ethernet/intel/i40e/i40e_client.c | 24 +-
drivers/net/ethernet/intel/i40e/i40e_client.h | 1 +
drivers/net/ethernet/intel/i40e/i40e_common.c | 64 +-
drivers/net/ethernet/intel/i40e/i40e_dcb.c | 1 +
drivers/net/ethernet/intel/i40e/i40e_dcb.h | 1 +
drivers/net/ethernet/intel/i40e/i40e_dcb_nl.c | 1 +
drivers/net/ethernet/intel/i40e/i40e_debugfs.c | 53 +-
drivers/net/ethernet/intel/i40e/i40e_devids.h | 1 +
drivers/net/ethernet/intel/i40e/i40e_diag.c | 1 +
drivers/net/ethernet/intel/i40e/i40e_diag.h | 1 +
drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 127 +-
drivers/net/ethernet/intel/i40e/i40e_fcoe.c | 1571 ---------------------
drivers/net/ethernet/intel/i40e/i40e_fcoe.h | 127 --
drivers/net/ethernet/intel/i40e/i40e_hmc.c | 1 +
drivers/net/ethernet/intel/i40e/i40e_hmc.h | 1 +
drivers/net/ethernet/intel/i40e/i40e_lan_hmc.c | 1 +
drivers/net/ethernet/intel/i40e/i40e_lan_hmc.h | 1 +
drivers/net/ethernet/intel/i40e/i40e_main.c | 465 ++++---
drivers/net/ethernet/intel/i40e/i40e_nvm.c | 1 +
drivers/net/ethernet/intel/i40e/i40e_osdep.h | 1 +
drivers/net/ethernet/intel/i40e/i40e_prototype.h | 5 +-
drivers/net/ethernet/intel/i40e/i40e_ptp.c | 1 +
drivers/net/ethernet/intel/i40e/i40e_register.h | 1 +
drivers/net/ethernet/intel/i40e/i40e_status.h | 1 +
drivers/net/ethernet/intel/i40e/i40e_trace.h | 1 +
drivers/net/ethernet/intel/i40e/i40e_txrx.c | 542 +++++---
drivers/net/ethernet/intel/i40e/i40e_txrx.h | 73 +-
drivers/net/ethernet/intel/i40e/i40e_type.h | 6 +-
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 1091 +++++++++++++--
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.h | 21 +
drivers/net/ethernet/intel/i40evf/Makefile | 1 +
drivers/net/ethernet/intel/i40evf/i40e_adminq.c | 1 +
drivers/net/ethernet/intel/i40evf/i40e_adminq.h | 1 +
drivers/net/ethernet/intel/i40evf/i40e_adminq_cmd.h | 1 +
drivers/net/ethernet/intel/i40evf/i40e_alloc.h | 1 +
drivers/net/ethernet/intel/i40evf/i40e_common.c | 1 +
drivers/net/ethernet/intel/i40evf/i40e_devids.h | 1 +
drivers/net/ethernet/intel/i40evf/i40e_hmc.h | 1 +
drivers/net/ethernet/intel/i40evf/i40e_lan_hmc.h | 1 +
drivers/net/ethernet/intel/i40evf/i40e_osdep.h | 1 +
drivers/net/ethernet/intel/i40evf/i40e_prototype.h | 1 +
drivers/net/ethernet/intel/i40evf/i40e_register.h | 1 +
drivers/net/ethernet/intel/i40evf/i40e_status.h | 1 +
drivers/net/ethernet/intel/i40evf/i40e_trace.h | 1 +
drivers/net/ethernet/intel/i40evf/i40e_txrx.c | 428 ++++--
drivers/net/ethernet/intel/i40evf/i40e_txrx.h | 68 +-
drivers/net/ethernet/intel/i40evf/i40e_type.h | 1 +
drivers/net/ethernet/intel/i40evf/i40evf.h | 79 +-
drivers/net/ethernet/intel/i40evf/i40evf_ethtool.c | 53 +-
drivers/net/ethernet/intel/i40evf/i40evf_main.c | 934 ++++++++++++-
drivers/net/ethernet/intel/i40evf/i40evf_virtchnl.c | 339 ++++-
drivers/net/ethernet/intel/ice/Makefile | 17 +
drivers/net/ethernet/intel/ice/ice.h | 312 +++++
drivers/net/ethernet/intel/ice/ice_adminq_cmd.h | 1352 ++++++++++++++++++
drivers/net/ethernet/intel/ice/ice_common.c | 2233 ++++++++++++++++++++++++++++++
drivers/net/ethernet/intel/ice/ice_common.h | 86 ++
drivers/net/ethernet/intel/ice/ice_controlq.c | 1066 +++++++++++++++
drivers/net/ethernet/intel/ice/ice_controlq.h | 94 ++
drivers/net/ethernet/intel/ice/ice_devids.h | 19 +
drivers/net/ethernet/intel/ice/ice_ethtool.c | 940 +++++++++++++
drivers/net/ethernet/intel/ice/ice_hw_autogen.h | 266 ++++
drivers/net/ethernet/intel/ice/ice_lan_tx_rx.h | 473 +++++++
drivers/net/ethernet/intel/ice/ice_main.c | 5495 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
drivers/net/ethernet/intel/ice/ice_nvm.c | 236 ++++
drivers/net/ethernet/intel/ice/ice_osdep.h | 73 +
drivers/net/ethernet/intel/ice/ice_sched.c | 1659 +++++++++++++++++++++++
drivers/net/ethernet/intel/ice/ice_sched.h | 43 +
drivers/net/ethernet/intel/ice/ice_status.h | 32 +
drivers/net/ethernet/intel/ice/ice_switch.c | 1883 ++++++++++++++++++++++++++
drivers/net/ethernet/intel/ice/ice_switch.h | 161 +++
drivers/net/ethernet/intel/ice/ice_txrx.c | 1782 ++++++++++++++++++++++++
drivers/net/ethernet/intel/ice/ice_txrx.h | 192 +++
drivers/net/ethernet/intel/ice/ice_type.h | 394 ++++++
drivers/net/ethernet/intel/igb/Makefile | 1 +
drivers/net/ethernet/intel/igb/e1000_82575.c | 1 +
drivers/net/ethernet/intel/igb/e1000_82575.h | 1 +
drivers/net/ethernet/intel/igb/e1000_defines.h | 1 +
drivers/net/ethernet/intel/igb/e1000_hw.h | 1 +
drivers/net/ethernet/intel/igb/e1000_i210.c | 1 +
drivers/net/ethernet/intel/igb/e1000_i210.h | 1 +
drivers/net/ethernet/intel/igb/e1000_mac.c | 1 +
drivers/net/ethernet/intel/igb/e1000_mac.h | 1 +
drivers/net/ethernet/intel/igb/e1000_mbx.c | 1 +
drivers/net/ethernet/intel/igb/e1000_mbx.h | 1 +
drivers/net/ethernet/intel/igb/e1000_nvm.c | 1 +
drivers/net/ethernet/intel/igb/e1000_nvm.h | 1 +
drivers/net/ethernet/intel/igb/e1000_phy.c | 1 +
drivers/net/ethernet/intel/igb/e1000_phy.h | 1 +
drivers/net/ethernet/intel/igb/e1000_regs.h | 1 +
drivers/net/ethernet/intel/igb/igb.h | 2 +
drivers/net/ethernet/intel/igb/igb_ethtool.c | 1 +
drivers/net/ethernet/intel/igb/igb_hwmon.c | 3 +-
drivers/net/ethernet/intel/igb/igb_main.c | 36 +-
drivers/net/ethernet/intel/igb/igb_ptp.c | 1 +
drivers/net/ethernet/intel/igbvf/Makefile | 1 +
drivers/net/ethernet/intel/igbvf/defines.h | 1 +
drivers/net/ethernet/intel/igbvf/ethtool.c | 1 +
drivers/net/ethernet/intel/igbvf/igbvf.h | 1 +
drivers/net/ethernet/intel/igbvf/mbx.c | 1 +
drivers/net/ethernet/intel/igbvf/mbx.h | 1 +
drivers/net/ethernet/intel/igbvf/netdev.c | 1 +
drivers/net/ethernet/intel/igbvf/regs.h | 1 +
drivers/net/ethernet/intel/igbvf/vf.c | 1 +
drivers/net/ethernet/intel/igbvf/vf.h | 1 +
drivers/net/ethernet/intel/ixgb/Makefile | 1 +
drivers/net/ethernet/intel/ixgb/ixgb.h | 1 +
drivers/net/ethernet/intel/ixgb/ixgb_ee.h | 1 +
drivers/net/ethernet/intel/ixgb/ixgb_hw.h | 1 +
drivers/net/ethernet/intel/ixgb/ixgb_ids.h | 1 +
drivers/net/ethernet/intel/ixgb/ixgb_osdep.h | 1 +
drivers/net/ethernet/intel/ixgbe/Makefile | 1 +
drivers/net/ethernet/intel/ixgbe/ixgbe.h | 1 +
drivers/net/ethernet/intel/ixgbe/ixgbe_82598.c | 1 +
drivers/net/ethernet/intel/ixgbe/ixgbe_82599.c | 1 +
drivers/net/ethernet/intel/ixgbe/ixgbe_common.c | 1 +
drivers/net/ethernet/intel/ixgbe/ixgbe_common.h | 2 +
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb.h | 1 +
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82598.c | 1 +
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82598.h | 1 +
drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_82599.h | 1 +
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 5 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.h | 1 +
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c | 69 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.h | 2 +
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c | 1 -
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 82 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_mbx.h | 1 +
drivers/net/ethernet/intel/ixgbe/ixgbe_model.h | 1 +
drivers/net/ethernet/intel/ixgbe/ixgbe_phy.h | 1 +
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 6 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.h | 1 +
drivers/net/ethernet/intel/ixgbe/ixgbe_sysfs.c | 2 +-
drivers/net/ethernet/intel/ixgbe/ixgbe_type.h | 1 +
drivers/net/ethernet/intel/ixgbe/ixgbe_x540.h | 1 +
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c | 4 +-
drivers/net/ethernet/intel/ixgbevf/Makefile | 1 +
drivers/net/ethernet/intel/ixgbevf/defines.h | 1 +
drivers/net/ethernet/intel/ixgbevf/ethtool.c | 116 +-
drivers/net/ethernet/intel/ixgbevf/ixgbevf.h | 101 +-
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 1214 +++++++++++------
drivers/net/ethernet/intel/ixgbevf/mbx.h | 1 +
drivers/net/ethernet/intel/ixgbevf/regs.h | 1 +
drivers/net/ethernet/intel/ixgbevf/vf.h | 1 +
drivers/net/ethernet/marvell/mvneta.c | 188 ++-
drivers/net/ethernet/marvell/mvpp2.c | 1264 +++++++++++------
drivers/net/ethernet/marvell/skge.c | 2 +-
drivers/net/ethernet/marvell/sky2.c | 4 +-
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c | 14 +
drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 8 +-
drivers/net/ethernet/mellanox/mlx4/en_port.c | 38 +-
drivers/net/ethernet/mellanox/mlx4/en_rx.c | 41 +-
drivers/net/ethernet/mellanox/mlx4/main.c | 16 +-
drivers/net/ethernet/mellanox/mlx4/mlx4_en.h | 1 +
drivers/net/ethernet/mellanox/mlx4/mlx4_stats.h | 10 +-
drivers/net/ethernet/mellanox/mlx5/core/accel/ipsec.c | 59 +-
drivers/net/ethernet/mellanox/mlx5/core/accel/ipsec.h | 98 +-
drivers/net/ethernet/mellanox/mlx5/core/alloc.c | 37 +-
drivers/net/ethernet/mellanox/mlx5/core/cmd.c | 4 +-
drivers/net/ethernet/mellanox/mlx5/core/cq.c | 113 +-
drivers/net/ethernet/mellanox/mlx5/core/dev.c | 8 +
drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.c | 3 +
drivers/net/ethernet/mellanox/mlx5/core/diag/fs_tracepoint.h | 6 +-
drivers/net/ethernet/mellanox/mlx5/core/en.h | 138 +-
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c | 323 +++--
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.h | 24 +
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_rxtx.c | 39 +-
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_rxtx.h | 5 +
drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c | 210 ++-
drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 675 +++++----
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 17 +-
drivers/net/ethernet/mellanox/mlx5/core/en_rx.c | 306 +++--
drivers/net/ethernet/mellanox/mlx5/core/en_stats.c | 132 +-
drivers/net/ethernet/mellanox/mlx5/core/en_stats.h | 10 +
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 16 +-
drivers/net/ethernet/mellanox/mlx5/core/en_tx.c | 27 +-
drivers/net/ethernet/mellanox/mlx5/core/eq.c | 92 +-
drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 54 +-
drivers/net/ethernet/mellanox/mlx5/core/eswitch.h | 55 +-
drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c | 134 +-
drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.c | 1290 +++++++++++++++++-
drivers/net/ethernet/mellanox/mlx5/core/fpga/ipsec.h | 76 +-
drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c | 217 ++-
drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.h | 72 +-
drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 145 +-
drivers/net/ethernet/mellanox/mlx5/core/fs_core.h | 8 +-
drivers/net/ethernet/mellanox/mlx5/core/fw.c | 5 +-
drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c | 31 +-
drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib_vlan.c | 2 +-
drivers/net/ethernet/mellanox/mlx5/core/main.c | 49 +-
drivers/net/ethernet/mellanox/mlx5/core/mlx5_core.h | 33 +-
drivers/net/ethernet/mellanox/mlx5/core/port.c | 64 +-
drivers/net/ethernet/mellanox/mlx5/core/transobj.c | 46 +-
drivers/net/ethernet/mellanox/mlx5/core/vport.c | 26 +
drivers/net/ethernet/mellanox/mlx5/core/wq.c | 18 +-
drivers/net/ethernet/mellanox/mlx5/core/wq.h | 22 +-
drivers/net/ethernet/mellanox/mlxsw/Kconfig | 2 +
drivers/net/ethernet/mellanox/mlxsw/Makefile | 2 +-
drivers/net/ethernet/mellanox/mlxsw/core.c | 5 +-
drivers/net/ethernet/mellanox/mlxsw/core.h | 14 +-
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c | 19 +-
drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.h | 9 +-
drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c | 10 +-
drivers/net/ethernet/mellanox/mlxsw/pci.c | 20 +-
drivers/net/ethernet/mellanox/mlxsw/reg.h | 230 +++-
drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 557 +-------
drivers/net/ethernet/mellanox/mlxsw/spectrum.h | 47 +-
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c | 52 +-
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_flex_actions.c | 34 +-
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_flex_actions.h | 4 +-
drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c | 5 -
drivers/net/ethernet/mellanox/mlxsw/spectrum_ipip.c | 174 +--
drivers/net/ethernet/mellanox/mlxsw/spectrum_ipip.h | 15 +-
drivers/net/ethernet/mellanox/mlxsw/spectrum_kvdl.c | 265 ++--
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c | 292 ++--
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.h | 9 +-
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr_tcam.c | 105 +-
drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c | 206 ++-
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c | 144 +-
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.h | 1 +
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c | 824 +++++++++++
drivers/net/ethernet/mellanox/mlxsw/spectrum_span.h | 107 ++
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c | 16 +-
drivers/net/ethernet/mellanox/mlxsw/switchib.c | 1 -
drivers/net/ethernet/mellanox/mlxsw/switchx2.c | 9 +-
drivers/net/ethernet/mellanox/mlxsw/trap.h | 1 +
drivers/net/ethernet/microchip/Kconfig | 10 +
drivers/net/ethernet/microchip/Makefile | 3 +
drivers/net/ethernet/microchip/lan743x_main.c | 2771 +++++++++++++++++++++++++++++++++++++
drivers/net/ethernet/microchip/lan743x_main.h | 597 ++++++++
drivers/net/ethernet/myricom/myri10ge/myri10ge.c | 32 +-
drivers/net/ethernet/natsemi/jazzsonic.c | 32 +-
drivers/net/ethernet/natsemi/macsonic.c | 244 ++--
drivers/net/ethernet/natsemi/sonic.c | 99 +-
drivers/net/ethernet/natsemi/sonic.h | 2 +
drivers/net/ethernet/natsemi/xtsonic.c | 30 +-
drivers/net/ethernet/netronome/nfp/bpf/Makefile | 2 +
drivers/net/ethernet/netronome/nfp/bpf/cmsg.c | 12 +-
drivers/net/ethernet/netronome/nfp/bpf/fw.h | 1 +
drivers/net/ethernet/netronome/nfp/bpf/jit.c | 462 ++++++-
drivers/net/ethernet/netronome/nfp/bpf/main.c | 22 +-
drivers/net/ethernet/netronome/nfp/bpf/main.h | 85 +-
drivers/net/ethernet/netronome/nfp/bpf/offload.c | 45 +-
drivers/net/ethernet/netronome/nfp/bpf/verifier.c | 217 ++-
drivers/net/ethernet/netronome/nfp/flower/Makefile | 2 +
drivers/net/ethernet/netronome/nfp/flower/cmsg.c | 41 +-
drivers/net/ethernet/netronome/nfp/flower/cmsg.h | 35 +-
drivers/net/ethernet/netronome/nfp/flower/main.c | 87 +-
drivers/net/ethernet/netronome/nfp/flower/main.h | 20 +
drivers/net/ethernet/netronome/nfp/flower/match.c | 93 +-
drivers/net/ethernet/netronome/nfp/flower/offload.c | 49 +
drivers/net/ethernet/netronome/nfp/nfp_app.h | 25 +-
drivers/net/ethernet/netronome/nfp/nfp_asm.c | 2 +
drivers/net/ethernet/netronome/nfp/nfp_asm.h | 7 +
drivers/net/ethernet/netronome/nfp/nfp_main.c | 1 +
drivers/net/ethernet/netronome/nfp/nfp_net_common.c | 2 +-
drivers/net/ethernet/netronome/nfp/nfp_net_ctrl.h | 280 ++--
drivers/net/ethernet/netronome/nfp/nfp_net_debugfs.c | 6 +-
drivers/net/ethernet/netronome/nfp/nfp_net_repr.c | 13 +-
drivers/net/ethernet/netronome/nfp/nfpcore/Makefile | 2 +
drivers/net/ethernet/netronome/nfp/nfpcore/nfp6000/Makefile | 2 +
drivers/net/ethernet/netronome/nfp/nic/Makefile | 2 +
drivers/net/ethernet/ni/Kconfig | 27 +
drivers/net/ethernet/ni/Makefile | 1 +
drivers/net/ethernet/ni/nixge.c | 1310 ++++++++++++++++++
drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c | 14 +-
drivers/net/ethernet/qlogic/qed/qed.h | 15 +
drivers/net/ethernet/qlogic/qed/qed_debug.c | 415 +++---
drivers/net/ethernet/qlogic/qed/qed_dev.c | 38 +-
drivers/net/ethernet/qlogic/qed/qed_hsi.h | 1899 +++++++++++++-------------
drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c | 103 +-
drivers/net/ethernet/qlogic/qed/qed_iwarp.c | 9 +-
drivers/net/ethernet/qlogic/qed/qed_l2.c | 2 +-
drivers/net/ethernet/qlogic/qed/qed_ll2.c | 13 -
drivers/net/ethernet/qlogic/qed/qed_main.c | 338 +++++
drivers/net/ethernet/qlogic/qed/qed_mcp.c | 219 ++-
drivers/net/ethernet/qlogic/qed/qed_mcp.h | 56 +-
drivers/net/ethernet/qlogic/qed/qed_selftest.c | 9 +-
drivers/net/ethernet/qlogic/qede/qede_ethtool.c | 9 +
drivers/net/ethernet/qlogic/qla3xxx.c | 5 +-
drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c | 2 +-
drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c | 30 +-
drivers/net/ethernet/qlogic/qlge/qlge.h | 16 +
drivers/net/ethernet/qlogic/qlge/qlge_main.c | 3 +-
drivers/net/ethernet/qualcomm/qca_debug.c | 2 +-
drivers/net/ethernet/qualcomm/qca_spi.c | 1 -
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c | 75 +-
drivers/net/ethernet/qualcomm/rmnet/rmnet_config.h | 2 +-
drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c | 12 +-
drivers/net/ethernet/qualcomm/rmnet/rmnet_map.h | 8 +-
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_command.c | 4 +-
drivers/net/ethernet/qualcomm/rmnet/rmnet_map_data.c | 5 +-
drivers/net/ethernet/qualcomm/rmnet/rmnet_private.h | 8 +-
drivers/net/ethernet/qualcomm/rmnet/rmnet_vnd.c | 2 +-
drivers/net/ethernet/realtek/r8169.c | 1154 ++++++----------
drivers/net/ethernet/renesas/ravb.h | 1 +
drivers/net/ethernet/renesas/ravb_main.c | 33 +-
drivers/net/ethernet/renesas/sh_eth.c | 247 ++--
drivers/net/ethernet/renesas/sh_eth.h | 13 +-
drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c | 4 +-
drivers/net/ethernet/sfc/ef10.c | 796 +++++------
drivers/net/ethernet/sfc/efx.c | 91 +-
drivers/net/ethernet/sfc/efx.h | 19 +-
drivers/net/ethernet/sfc/ethtool.c | 218 ++-
drivers/net/ethernet/sfc/falcon/enum.h | 1 -
drivers/net/ethernet/sfc/farch.c | 91 +-
drivers/net/ethernet/sfc/filter.h | 7 +-
drivers/net/ethernet/sfc/mcdi_mon.c | 2 +-
drivers/net/ethernet/sfc/mcdi_pcol.h | 2822 ++++++++++++++++++++++++--------------
drivers/net/ethernet/sfc/mcdi_port.c | 150 ++
drivers/net/ethernet/sfc/net_driver.h | 68 +-
drivers/net/ethernet/sfc/nic.h | 7 +-
drivers/net/ethernet/sfc/rx.c | 119 +-
drivers/net/ethernet/sfc/siena.c | 27 +-
drivers/net/ethernet/socionext/sni_ave.c | 8 +
drivers/net/ethernet/stmicro/stmmac/Makefile | 2 +-
drivers/net/ethernet/stmicro/stmmac/common.h | 22 +
drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c | 213 ++-
drivers/net/ethernet/stmicro/stmmac/dwmac4.h | 4 +
drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c | 45 +-
drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c | 2 +
drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c | 6 +
drivers/net/ethernet/stmicro/stmmac/dwmac5.c | 298 ++++
drivers/net/ethernet/stmicro/stmmac/dwmac5.h | 52 +
drivers/net/ethernet/stmicro/stmmac/stmmac.h | 14 +-
drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c | 39 +-
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 168 ++-
drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c | 34 +-
drivers/net/ethernet/sun/niu.c | 10 +-
drivers/net/ethernet/ti/cpsw.c | 67 +-
drivers/net/ethernet/ti/davinci_cpdma.c | 2 +-
drivers/net/ethernet/ti/davinci_cpdma.h | 2 +
drivers/net/hamradio/bpqether.c | 3 +-
drivers/net/hamradio/yam.c | 2 +-
drivers/net/hyperv/Makefile | 2 +-
drivers/net/hyperv/hyperv_net.h | 1 +
drivers/net/hyperv/netvsc.c | 51 +-
drivers/net/hyperv/netvsc_drv.c | 6 +-
drivers/net/hyperv/netvsc_trace.c | 7 +
drivers/net/hyperv/netvsc_trace.h | 182 +++
drivers/net/hyperv/rndis_filter.c | 32 +-
drivers/net/ieee802154/Kconfig | 11 +
drivers/net/ieee802154/Makefile | 1 +
drivers/net/ieee802154/at86rf230.c | 2 +-
drivers/net/ieee802154/ca8210.c | 14 +-
drivers/net/ieee802154/mcr20a.c | 1411 +++++++++++++++++++
drivers/net/ieee802154/mcr20a.h | 498 +++++++
drivers/net/ifb.c | 2 +
drivers/net/ipvlan/ipvlan.h | 7 +
drivers/net/ipvlan/ipvlan_core.c | 103 +-
drivers/net/ipvlan/ipvlan_main.c | 118 +-
drivers/net/netdevsim/Makefile | 4 +
drivers/net/netdevsim/devlink.c | 296 ++++
drivers/net/netdevsim/fib.c | 263 ++++
drivers/net/netdevsim/netdev.c | 16 +-
drivers/net/netdevsim/netdevsim.h | 44 +
drivers/net/phy/aquantia.c | 20 +-
drivers/net/phy/bcm7xxx.c | 2 +-
drivers/net/phy/cortina.c | 18 +-
drivers/net/phy/dp83867.c | 19 +
drivers/net/phy/intel-xway.c | 44 +-
drivers/net/phy/marvell.c | 2 +-
drivers/net/phy/marvell10g.c | 13 +-
drivers/net/phy/mdio-bitbang.c | 2 +-
drivers/net/phy/mdio-mux-mmioreg.c | 5 +-
drivers/net/phy/phy-c45.c | 28 +-
drivers/net/phy/phy-core.c | 4 +-
drivers/net/phy/phy.c | 22 +-
drivers/net/phy/phy_device.c | 2 +-
drivers/net/phy/phylink.c | 77 +-
drivers/net/phy/sfp-bus.c | 168 ++-
drivers/net/phy/sfp.c | 191 ++-
drivers/net/phy/spi_ks8995.c | 2 +-
drivers/net/phy/teranetics.c | 32 +-
drivers/net/ppp/ppp_generic.c | 2 +-
drivers/net/ppp/pppoe.c | 8 +-
drivers/net/ppp/pptp.c | 6 +-
drivers/net/team/team.c | 16 +-
drivers/net/tun.c | 91 +-
drivers/net/usb/ax88179_178a.c | 1 -
drivers/net/usb/cdc_eem.c | 5 +-
drivers/net/usb/cdc_ncm.c | 12 +-
drivers/net/usb/hso.c | 8 +-
drivers/net/usb/kalmia.c | 14 +-
drivers/net/usb/lg-vl600.c | 6 +-
drivers/net/virtio_net.c | 2 +-
drivers/net/vrf.c | 12 +-
drivers/net/wimax/i2400m/usb-rx.c | 3 -
drivers/net/wireless/admtek/Kconfig | 4 +-
drivers/net/wireless/ath/Kconfig | 4 +-
drivers/net/wireless/ath/ath.h | 2 -
drivers/net/wireless/ath/ath10k/core.c | 9 +-
drivers/net/wireless/ath/ath10k/core.h | 88 ++
drivers/net/wireless/ath/ath10k/coredump.c | 90 ++
drivers/net/wireless/ath/ath10k/coredump.h | 2 +
drivers/net/wireless/ath/ath10k/debug.c | 154 +++
drivers/net/wireless/ath/ath10k/debug.h | 41 +
drivers/net/wireless/ath/ath10k/debugfs_sta.c | 286 ++++
drivers/net/wireless/ath/ath10k/htt_rx.c | 113 +-
drivers/net/wireless/ath/ath10k/mac.c | 54 +-
drivers/net/wireless/ath/ath10k/pci.c | 101 +-
drivers/net/wireless/ath/ath10k/trace.h | 12 +-
drivers/net/wireless/ath/ath10k/txrx.c | 12 +-
drivers/net/wireless/ath/ath10k/wmi-ops.h | 56 +-
drivers/net/wireless/ath/ath10k/wmi-tlv.c | 116 +-
drivers/net/wireless/ath/ath10k/wmi-tlv.h | 18 +
drivers/net/wireless/ath/ath10k/wmi.c | 462 ++++++-
drivers/net/wireless/ath/ath10k/wmi.h | 94 +-
drivers/net/wireless/ath/ath5k/attach.c | 2 +-
drivers/net/wireless/ath/ath5k/base.c | 6 +-
drivers/net/wireless/ath/ath5k/debug.c | 37 +-
drivers/net/wireless/ath/ath5k/qcu.c | 2 -
drivers/net/wireless/ath/ath5k/sysfs.c | 8 +-
drivers/net/wireless/ath/ath6kl/debug.c | 43 +-
drivers/net/wireless/ath/ath9k/common-debug.c | 9 +-
drivers/net/wireless/ath/ath9k/common-init.c | 2 +-
drivers/net/wireless/ath/ath9k/common-spectral.c | 22 +-
drivers/net/wireless/ath/ath9k/debug.c | 40 +-
drivers/net/wireless/ath/ath9k/debug_sta.c | 6 +-
drivers/net/wireless/ath/ath9k/dfs_debug.c | 4 +-
drivers/net/wireless/ath/ath9k/htc_drv_debug.c | 16 +-
drivers/net/wireless/ath/ath9k/htc_drv_init.c | 2 +-
drivers/net/wireless/ath/ath9k/hw.c | 14 +-
drivers/net/wireless/ath/ath9k/init.c | 11 +-
drivers/net/wireless/ath/ath9k/tx99.c | 4 +-
drivers/net/wireless/ath/ath9k/xmit.c | 4 +
drivers/net/wireless/ath/carl9170/debug.c | 8 +-
drivers/net/wireless/ath/carl9170/main.c | 4 +-
drivers/net/wireless/ath/dfs_pattern_detector.c | 2 +-
drivers/net/wireless/ath/wcn36xx/debug.c | 5 +-
drivers/net/wireless/ath/wcn36xx/dxe.c | 69 +-
drivers/net/wireless/ath/wcn36xx/dxe.h | 221 ++-
drivers/net/wireless/ath/wcn36xx/main.c | 14 +-
drivers/net/wireless/ath/wcn36xx/smd.c | 115 +-
drivers/net/wireless/ath/wcn36xx/txrx.c | 32 +-
drivers/net/wireless/ath/wcn36xx/wcn36xx.h | 2 +
drivers/net/wireless/ath/wil6210/cfg80211.c | 744 +++++++---
drivers/net/wireless/ath/wil6210/debug.c | 9 +-
drivers/net/wireless/ath/wil6210/debugfs.c | 117 +-
drivers/net/wireless/ath/wil6210/ethtool.c | 4 +-
drivers/net/wireless/ath/wil6210/fw.h | 38 +-
drivers/net/wireless/ath/wil6210/fw_inc.c | 52 +-
drivers/net/wireless/ath/wil6210/interrupt.c | 8 +-
drivers/net/wireless/ath/wil6210/main.c | 333 +++--
drivers/net/wireless/ath/wil6210/netdev.c | 382 +++++-
drivers/net/wireless/ath/wil6210/p2p.c | 175 +--
drivers/net/wireless/ath/wil6210/pcie_bus.c | 57 +-
drivers/net/wireless/ath/wil6210/pm.c | 132 +-
drivers/net/wireless/ath/wil6210/pmc.c | 8 +-
drivers/net/wireless/ath/wil6210/rx_reorder.c | 45 +-
drivers/net/wireless/ath/wil6210/txrx.c | 177 ++-
drivers/net/wireless/ath/wil6210/txrx.h | 22 +-
drivers/net/wireless/ath/wil6210/wil6210.h | 217 ++-
drivers/net/wireless/ath/wil6210/wmi.c | 460 +++++--
drivers/net/wireless/atmel/Kconfig | 4 +-
drivers/net/wireless/broadcom/Kconfig | 4 +-
drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcdc.c | 6 +
drivers/net/wireless/broadcom/brcm80211/brcmfmac/btcoex.c | 2 +-
drivers/net/wireless/broadcom/brcm80211/brcmfmac/bus.h | 8 +-
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 89 +-
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.h | 17 +-
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c | 14 +-
drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.h | 3 +-
drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c | 80 +-
drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c | 151 ++-
drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.h | 4 +-
drivers/net/wireless/broadcom/brcm80211/brcmfmac/debug.c | 42 +-
drivers/net/wireless/broadcom/brcm80211/brcmfmac/debug.h | 17 -
drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c | 3 +
drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.h | 7 +
drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c | 242 ++--
drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.h | 82 +-
drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwil.c | 3 +-
drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c | 11 +-
drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.h | 1 +
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c | 8 +-
drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c | 2 +-
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c | 177 +--
drivers/net/wireless/broadcom/brcm80211/brcmfmac/proto.c | 3 +-
drivers/net/wireless/broadcom/brcm80211/brcmfmac/proto.h | 7 +
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 244 ++--
drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c | 129 +-
drivers/net/wireless/broadcom/brcm80211/brcmsmac/channel.c | 1 -
drivers/net/wireless/broadcom/brcm80211/brcmsmac/debug.c | 2 +-
drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c | 6 +-
drivers/net/wireless/cisco/Kconfig | 4 +-
drivers/net/wireless/cisco/airo.c | 6 +-
drivers/net/wireless/intel/Kconfig | 4 +-
drivers/net/wireless/intel/ipw2x00/ipw2100.c | 29 +-
drivers/net/wireless/intel/ipw2x00/ipw2200.c | 51 +-
drivers/net/wireless/intel/ipw2x00/libipw_module.c | 2 +-
drivers/net/wireless/intel/iwlegacy/3945-mac.c | 35 +-
drivers/net/wireless/intel/iwlegacy/4965-mac.c | 19 +-
drivers/net/wireless/intel/iwlegacy/4965-rs.c | 8 +-
drivers/net/wireless/intel/iwlegacy/common.c | 4 +-
drivers/net/wireless/intel/iwlegacy/debug.c | 58 +-
drivers/net/wireless/intel/iwlwifi/cfg/22000.c | 4 +-
drivers/net/wireless/intel/iwlwifi/cfg/9000.c | 4 +-
drivers/net/wireless/intel/iwlwifi/dvm/debugfs.c | 78 +-
drivers/net/wireless/intel/iwlwifi/dvm/main.c | 7 +-
drivers/net/wireless/intel/iwlwifi/dvm/rs.c | 16 +-
drivers/net/wireless/intel/iwlwifi/fw/api/nvm-reg.h | 20 +-
drivers/net/wireless/intel/iwlwifi/fw/api/scan.h | 73 +-
drivers/net/wireless/intel/iwlwifi/fw/dbg.c | 10 +
drivers/net/wireless/intel/iwlwifi/fw/debugfs.c | 26 +-
drivers/net/wireless/intel/iwlwifi/fw/debugfs.h | 5 +
drivers/net/wireless/intel/iwlwifi/fw/file.h | 16 +-
drivers/net/wireless/intel/iwlwifi/iwl-devtrace-iwlwifi.h | 39 +-
drivers/net/wireless/intel/iwlwifi/iwl-devtrace.c | 1 +
drivers/net/wireless/intel/iwlwifi/iwl-drv.c | 43 +-
drivers/net/wireless/intel/iwlwifi/mvm/constants.h | 2 +
drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c | 51 +-
drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c | 110 +-
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c | 15 +-
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h | 48 +-
drivers/net/wireless/intel/iwlwifi/mvm/ops.c | 6 +-
drivers/net/wireless/intel/iwlwifi/mvm/rs-fw.c | 6 +-
drivers/net/wireless/intel/iwlwifi/mvm/rs.c | 12 +-
drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c | 25 +-
drivers/net/wireless/intel/iwlwifi/mvm/scan.c | 199 ++-
drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 158 ++-
drivers/net/wireless/intel/iwlwifi/mvm/utils.c | 26 +-
drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 157 ++-
drivers/net/wireless/intel/iwlwifi/pcie/trans.c | 12 +-
drivers/net/wireless/intersil/Kconfig | 4 +-
drivers/net/wireless/intersil/p54/main.c | 2 +-
drivers/net/wireless/mac80211_hwsim.c | 103 +-
drivers/net/wireless/mac80211_hwsim.h | 9 +-
drivers/net/wireless/marvell/Kconfig | 4 +-
drivers/net/wireless/marvell/mwifiex/11n.c | 32 +
drivers/net/wireless/marvell/mwifiex/cfg80211.c | 40 +-
drivers/net/wireless/marvell/mwifiex/cmdevt.c | 3 +-
drivers/net/wireless/marvell/mwifiex/decl.h | 17 +
drivers/net/wireless/marvell/mwifiex/fw.h | 7 +
drivers/net/wireless/marvell/mwifiex/main.c | 24 +-
drivers/net/wireless/marvell/mwifiex/main.h | 29 +-
drivers/net/wireless/marvell/mwifiex/sta_cmd.c | 22 +
drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c | 19 +
drivers/net/wireless/marvell/mwifiex/sta_ioctl.c | 56 +-
drivers/net/wireless/mediatek/Kconfig | 4 +-
drivers/net/wireless/mediatek/mt76/debugfs.c | 10 +-
drivers/net/wireless/mediatek/mt76/mac80211.c | 68 +-
drivers/net/wireless/mediatek/mt76/mt76.h | 3 +
drivers/net/wireless/mediatek/mt76/mt76x2.h | 1 +
drivers/net/wireless/mediatek/mt76/mt76x2_debugfs.c | 8 +-
drivers/net/wireless/mediatek/mt76/mt76x2_eeprom.c | 12 +-
drivers/net/wireless/mediatek/mt76/mt76x2_init.c | 3 +
drivers/net/wireless/mediatek/mt76/mt76x2_mac.c | 4 +-
drivers/net/wireless/mediatek/mt76/mt76x2_main.c | 47 +
drivers/net/wireless/mediatek/mt76/mt76x2_mcu.c | 13 +-
drivers/net/wireless/mediatek/mt76/mt76x2_phy.c | 55 +-
drivers/net/wireless/mediatek/mt76/mt76x2_regs.h | 2 +
drivers/net/wireless/mediatek/mt76/mt76x2_tx.c | 5 +-
drivers/net/wireless/mediatek/mt7601u/debugfs.c | 16 +-
drivers/net/wireless/mediatek/mt7601u/eeprom.c | 26 +-
drivers/net/wireless/mediatek/mt7601u/initvals.h | 1 +
drivers/net/wireless/mediatek/mt7601u/mac.c | 26 +-
drivers/net/wireless/mediatek/mt7601u/mac.h | 1 +
drivers/net/wireless/mediatek/mt7601u/main.c | 3 +
drivers/net/wireless/mediatek/mt7601u/mcu.c | 7 +-
drivers/net/wireless/mediatek/mt7601u/mt7601u.h | 3 +-
drivers/net/wireless/mediatek/mt7601u/trace.h | 6 +-
drivers/net/wireless/mediatek/mt7601u/usb.c | 52 +-
drivers/net/wireless/quantenna/Kconfig | 4 +-
drivers/net/wireless/quantenna/qtnfmac/bus.h | 3 +-
drivers/net/wireless/quantenna/qtnfmac/pearl/pcie.c | 418 +++---
drivers/net/wireless/quantenna/qtnfmac/pearl/pcie_ipc.h | 1 +
drivers/net/wireless/quantenna/qtnfmac/pearl/pcie_regs_pearl.h | 1 +
drivers/net/wireless/ralink/Kconfig | 4 +-
drivers/net/wireless/ralink/rt2x00/rt2500usb.c | 2 +-
drivers/net/wireless/ralink/rt2x00/rt2800pci.c | 2 +-
drivers/net/wireless/ralink/rt2x00/rt2800soc.c | 2 +-
drivers/net/wireless/ralink/rt2x00/rt2800usb.c | 2 +-
drivers/net/wireless/ralink/rt2x00/rt2x00debug.c | 64 +-
drivers/net/wireless/ralink/rt2x00/rt61pci.c | 2 +-
drivers/net/wireless/ralink/rt2x00/rt73usb.c | 2 +-
drivers/net/wireless/ray_cs.c | 8 +-
drivers/net/wireless/realtek/Kconfig | 4 +-
drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c | 2 +-
drivers/net/wireless/realtek/rtlwifi/base.c | 35 +-
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b1ant.c | 3 +-
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8723b2ant.c | 6 +-
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.c | 33 -
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a2ant.c | 4 +-
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8822bwifionly.c | 55 +
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8822bwifionly.h | 25 +
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c | 108 +-
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.h | 124 ++
drivers/net/wireless/realtek/rtlwifi/efuse.c | 13 +
drivers/net/wireless/realtek/rtlwifi/efuse.h | 2 +-
drivers/net/wireless/realtek/rtlwifi/pci.c | 1 +
drivers/net/wireless/realtek/rtlwifi/rc.c | 55 +-
drivers/net/wireless/realtek/rtlwifi/rtl8188ee/pwrseq.h | 4 +-
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/rf.c | 3 -
drivers/net/wireless/realtek/rtlwifi/rtl8192cu/trx.c | 1 -
drivers/net/wireless/realtek/rtlwifi/rtl8192ee/pwrseq.h | 4 +-
drivers/net/wireless/realtek/rtlwifi/rtl8723ae/pwrseq.h | 4 +-
drivers/net/wireless/realtek/rtlwifi/rtl8723be/pwrseq.h | 4 +-
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/dm.c | 16 +-
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/pwrseq.h | 4 +-
drivers/net/wireless/realtek/rtlwifi/rtl8821ae/sw.c | 1 +
drivers/net/wireless/realtek/rtlwifi/wifi.h | 72 +-
drivers/net/wireless/rsi/Kconfig | 15 +-
drivers/net/wireless/rsi/Makefile | 1 +
drivers/net/wireless/rsi/rsi_91x_coex.c | 179 +++
drivers/net/wireless/rsi/rsi_91x_core.c | 20 +-
drivers/net/wireless/rsi/rsi_91x_hal.c | 56 +-
drivers/net/wireless/rsi/rsi_91x_main.c | 129 +-
drivers/net/wireless/rsi/rsi_91x_mgmt.c | 2 +-
drivers/net/wireless/rsi/rsi_91x_sdio.c | 113 +-
drivers/net/wireless/rsi/rsi_91x_sdio_ops.c | 65 +-
drivers/net/wireless/rsi/rsi_91x_usb.c | 187 ++-
drivers/net/wireless/rsi/rsi_91x_usb_ops.c | 31 +-
drivers/net/wireless/rsi/rsi_coex.h | 37 +
drivers/net/wireless/rsi/rsi_common.h | 5 +-
drivers/net/wireless/rsi/rsi_hal.h | 22 +
drivers/net/wireless/rsi/rsi_main.h | 21 +-
drivers/net/wireless/rsi/rsi_mgmt.h | 3 +
drivers/net/wireless/rsi/rsi_sdio.h | 10 +
drivers/net/wireless/rsi/rsi_usb.h | 17 +-
drivers/net/wireless/st/Kconfig | 4 +-
drivers/net/wireless/st/cw1200/debug.c | 6 +-
drivers/net/wireless/st/cw1200/main.c | 2 +-
drivers/net/wireless/ti/Kconfig | 4 +-
drivers/net/wireless/ti/wl1251/main.c | 102 +-
drivers/net/wireless/ti/wl1251/tx.c | 4 +-
drivers/net/wireless/ti/wl18xx/main.c | 27 +-
drivers/net/wireless/ti/wlcore/main.c | 8 +-
drivers/net/wireless/ti/wlcore/sdio.c | 2 +-
drivers/net/wireless/ti/wlcore/sysfs.c | 7 +-
drivers/net/wireless/zydas/Kconfig | 4 +-
drivers/net/wireless/zydas/zd1211rw/zd_mac.c | 1 -
drivers/net/xen-netback/rx.c | 2 +-
drivers/net/xen-netback/xenbus.c | 4 +-
drivers/net/xen-netfront.c | 6 +-
drivers/of/of_net.c | 40 +
drivers/s390/net/qeth_core.h | 8 -
drivers/s390/net/qeth_core_main.c | 40 +-
drivers/s390/net/qeth_l2_main.c | 34 +-
drivers/s390/net/qeth_l3.h | 34 +-
drivers/s390/net/qeth_l3_main.c | 419 ++----
drivers/s390/net/qeth_l3_sys.c | 51 +-
drivers/scsi/iscsi_tcp.c | 14 +-
drivers/soc/qcom/qmi_interface.c | 3 +-
drivers/ssb/Kconfig | 2 +-
drivers/ssb/main.c | 4 +-
drivers/staging/ipx/af_ipx.c | 6 +-
drivers/staging/irda/net/af_irda.c | 8 +-
drivers/staging/lustre/lnet/lnet/lib-socket.c | 7 +-
drivers/target/iscsi/iscsi_target_login.c | 18 +-
drivers/usb/gadget/function/f_eem.c | 1 -
drivers/vhost/net.c | 7 +-
drivers/vhost/vsock.c | 4 +-
fs/afs/internal.h | 1 +
fs/afs/rxrpc.c | 12 +-
fs/dlm/lowcomms.c | 7 +-
fs/nsfs.c | 1 +
fs/ocfs2/cluster/tcp.c | 6 +-
include/asm-generic/vmlinux.lds.h | 10 +
include/dt-bindings/net/ti-dp83867.h | 14 +
include/linux/atalk.h | 2 +
include/linux/avf/virtchnl.h | 107 +-
include/linux/bpf-cgroup.h | 68 +-
include/linux/bpf.h | 6 +-
include/linux/bpf_types.h | 3 +
include/linux/bpf_verifier.h | 13 +-
include/linux/ethtool.h | 5 +
include/linux/filter.h | 34 +-
include/linux/ieee80211.h | 14 +-
include/linux/if_vlan.h | 24 +
include/linux/kernel.h | 7 +
include/linux/mlx5/accel.h | 144 ++
include/linux/mlx5/cq.h | 20 +-
include/linux/mlx5/device.h | 7 +
include/linux/mlx5/driver.h | 94 +-
include/linux/mlx5/eswitch.h | 58 +
include/linux/mlx5/fs.h | 12 +
include/linux/mlx5/fs_helpers.h | 134 ++
include/linux/mlx5/mlx5_ifc.h | 132 +-
include/linux/mlx5/mlx5_ifc_fpga.h | 92 +-
include/linux/mlx5/port.h | 6 +
include/linux/mlx5/transobj.h | 2 +-
include/linux/mlx5/vport.h | 3 +
include/linux/mroute.h | 117 +-
include/linux/mroute6.h | 70 +-
include/linux/mroute_base.h | 474 +++++++
include/linux/net.h | 8 +-
include/linux/netdev_features.h | 2 +
include/linux/netdevice.h | 125 +-
include/linux/netfilter/nfnetlink_acct.h | 3 +-
include/linux/netfilter/x_tables.h | 5 +-
include/linux/of_net.h | 6 +
include/linux/phy.h | 8 +
include/linux/phylink.h | 17 +-
include/linux/ptp_classify.h | 4 +
include/linux/ptr_ring.h | 7 +-
include/linux/qed/common_hsi.h | 2 +-
include/linux/qed/eth_common.h | 2 +-
include/linux/qed/iscsi_common.h | 4 +-
include/linux/qed/qed_if.h | 19 +
include/linux/qed/rdma_common.h | 2 +
include/linux/qed/roce_common.h | 3 +
include/linux/rhashtable.h | 8 +-
include/linux/rtnetlink.h | 4 +-
include/linux/scatterlist.h | 18 +
include/linux/sfp.h | 18 +-
include/linux/skbuff.h | 4 +
include/linux/socket.h | 3 +
include/linux/trace_events.h | 42 +
include/linux/tracepoint-defs.h | 6 +
include/net/Space.h | 2 -
include/net/act_api.h | 20 +-
include/net/addrconf.h | 11 +-
include/net/af_rxrpc.h | 11 +-
include/net/ax25.h | 2 +
include/net/bluetooth/mgmt.h | 2 +-
include/net/cfg80211.h | 178 ++-
include/net/devlink.h | 6 -
include/net/dsa.h | 22 +-
include/net/dst.h | 1 +
include/net/dst_cache.h | 4 +-
include/net/ethoc.h | 1 -
include/net/fib_rules.h | 45 +-
include/net/flow.h | 18 +-
include/net/gre.h | 3 +
include/net/ieee80211_radiotap.h | 2 +
include/net/inet_common.h | 4 +-
include/net/inet_connection_sock.h | 10 +-
include/net/inet_frag.h | 126 +-
include/net/ip.h | 26 +-
include/net/ip6_fib.h | 29 +-
include/net/ip6_route.h | 15 +-
include/net/ip_fib.h | 31 +-
include/net/ip_tunnels.h | 18 +
include/net/ipv6.h | 52 +-
include/net/lwtunnel.h | 15 +
include/net/mac80211.h | 22 +
include/net/net_namespace.h | 37 +-
include/net/netevent.h | 3 +-
include/net/netfilter/nf_conntrack_count.h | 1 -
include/net/netfilter/nf_conntrack_helper.h | 3 +-
include/net/netfilter/nf_tables.h | 33 +-
include/net/netfilter/xt_rateest.h | 4 +-
include/net/netns/ipv4.h | 6 +
include/net/netns/ipv6.h | 8 +-
include/net/pkt_cls.h | 8 +
include/net/regulatory.h | 28 +
include/net/route.h | 2 -
include/net/rsi_91x.h | 56 +
include/net/sch_generic.h | 2 +-
include/net/sctp/auth.h | 21 +-
include/net/sctp/command.h | 1 +
include/net/sctp/sctp.h | 11 +-
include/net/sctp/sm.h | 3 +-
include/net/sctp/structs.h | 20 +-
include/net/sock.h | 20 +-
include/net/tcp.h | 9 +-
include/net/tcp_states.h | 26 +-
include/net/tls.h | 91 +-
include/net/udp.h | 1 +
include/net/xfrm.h | 16 +-
include/rdma/ib_verbs.h | 4 +-
include/trace/bpf_probe.h | 92 ++
include/trace/define_trace.h | 1 +
include/trace/events/afs.h | 69 +-
include/trace/events/f2fs.h | 2 +-
include/trace/events/rxrpc.h | 291 +++-
include/uapi/linux/batadv_packet.h | 15 +-
include/uapi/linux/batman_adv.h | 84 +-
include/uapi/linux/bpf.h | 108 +-
include/uapi/linux/bpf_perf_event.h | 1 +
include/uapi/linux/ethtool.h | 36 +-
include/uapi/linux/fib_rules.h | 11 +-
include/uapi/linux/if_ether.h | 1 +
include/uapi/linux/if_link.h | 39 +
include/uapi/linux/ncsi.h | 115 ++
include/uapi/linux/netfilter/nf_conntrack_common.h | 1 +
include/uapi/linux/netfilter/nf_tables.h | 12 +-
include/uapi/linux/netfilter/nfnetlink_conntrack.h | 10 +
include/uapi/linux/netfilter/xt_connmark.h | 10 +
include/uapi/linux/netfilter_bridge/ebt_ip.h | 15 +-
include/uapi/linux/netfilter_bridge/ebtables.h | 16 +-
include/uapi/linux/nl80211.h | 136 +-
include/uapi/linux/pkt_cls.h | 4 +-
include/uapi/linux/rds.h | 8 +
include/uapi/linux/sctp.h | 43 +-
include/uapi/linux/tc_ematch/tc_em_ipt.h | 20 +
include/uapi/linux/tcp.h | 3 +
include/uapi/linux/tipc.h | 161 ++-
include/uapi/linux/tipc_netlink.h | 21 +
include/uapi/linux/tipc_sockets_diag.h | 17 +
include/uapi/linux/tls.h | 2 +
kernel/bpf/cgroup.c | 39 +-
kernel/bpf/disasm.c | 52 +-
kernel/bpf/disasm.h | 5 +-
kernel/bpf/inode.c | 3 +
kernel/bpf/sockmap.c | 1020 +++++++++++++-
kernel/bpf/stackmap.c | 257 +++-
kernel/bpf/syscall.c | 198 ++-
kernel/bpf/verifier.c | 73 +-
kernel/trace/bpf_trace.c | 226 +++-
lib/kobject_uevent.c | 96 +-
lib/rhashtable.c | 2 +
lib/scatterlist.c | 9 +-
lib/test_bpf.c | 93 +-
net/8021q/vlan.c | 21 +
net/8021q/vlan.h | 3 +
net/8021q/vlan_core.c | 101 +-
net/8021q/vlan_dev.c | 6 +-
net/8021q/vlanproc.c | 6 +-
net/appletalk/atalk_proc.c | 8 +-
net/appletalk/ddp.c | 5 +-
net/atm/atm_sysfs.c | 12 +-
net/atm/clip.c | 2 +-
net/atm/lec.c | 2 +-
net/atm/proc.c | 2 +-
net/atm/pvc.c | 5 +-
net/atm/svc.c | 5 +-
net/ax25/af_ax25.c | 10 +-
net/batman-adv/Kconfig | 2 +-
net/batman-adv/Makefile | 2 +-
net/batman-adv/bat_algo.c | 2 +-
net/batman-adv/bat_algo.h | 2 +-
net/batman-adv/bat_iv_ogm.c | 2 +-
net/batman-adv/bat_iv_ogm.h | 2 +-
net/batman-adv/bat_v.c | 2 +-
net/batman-adv/bat_v.h | 2 +-
net/batman-adv/bat_v_elp.c | 2 +-
net/batman-adv/bat_v_elp.h | 2 +-
net/batman-adv/bat_v_ogm.c | 2 +-
net/batman-adv/bat_v_ogm.h | 2 +-
net/batman-adv/bitarray.c | 2 +-
net/batman-adv/bitarray.h | 2 +-
net/batman-adv/bridge_loop_avoidance.c | 2 +-
net/batman-adv/bridge_loop_avoidance.h | 2 +-
net/batman-adv/debugfs.c | 2 +-
net/batman-adv/debugfs.h | 2 +-
net/batman-adv/distributed-arp-table.c | 156 ++-
net/batman-adv/distributed-arp-table.h | 10 +-
net/batman-adv/fragmentation.c | 2 +-
net/batman-adv/fragmentation.h | 2 +-
net/batman-adv/gateway_client.c | 2 +-
net/batman-adv/gateway_client.h | 2 +-
net/batman-adv/gateway_common.c | 2 +-
net/batman-adv/gateway_common.h | 2 +-
net/batman-adv/hard-interface.c | 2 +-
net/batman-adv/hard-interface.h | 2 +-
net/batman-adv/hash.c | 2 +-
net/batman-adv/hash.h | 2 +-
net/batman-adv/icmp_socket.c | 2 +-
net/batman-adv/icmp_socket.h | 2 +-
net/batman-adv/log.c | 2 +-
net/batman-adv/log.h | 2 +-
net/batman-adv/main.c | 2 +-
net/batman-adv/main.h | 16 +-
net/batman-adv/multicast.c | 295 +++-
net/batman-adv/multicast.h | 20 +-
net/batman-adv/netlink.c | 90 +-
net/batman-adv/netlink.h | 2 +-
net/batman-adv/network-coding.c | 2 +-
net/batman-adv/network-coding.h | 2 +-
net/batman-adv/originator.c | 2 +-
net/batman-adv/originator.h | 2 +-
net/batman-adv/routing.c | 2 +-
net/batman-adv/routing.h | 2 +-
net/batman-adv/send.c | 2 +-
net/batman-adv/send.h | 2 +-
net/batman-adv/soft-interface.c | 2 +-
net/batman-adv/soft-interface.h | 2 +-
net/batman-adv/sysfs.c | 2 +-
net/batman-adv/sysfs.h | 2 +-
net/batman-adv/tp_meter.c | 2 +-
net/batman-adv/tp_meter.h | 2 +-
net/batman-adv/translation-table.c | 2 +-
net/batman-adv/translation-table.h | 2 +-
net/batman-adv/tvlv.c | 2 +-
net/batman-adv/tvlv.h | 2 +-
net/batman-adv/types.h | 2 +-
net/bluetooth/hci_request.c | 6 +-
net/bluetooth/hci_sock.c | 4 +-
net/bluetooth/l2cap_sock.c | 5 +-
net/bluetooth/mgmt.c | 1 +
net/bluetooth/rfcomm/sock.c | 6 +-
net/bluetooth/rfcomm/tty.c | 4 +-
net/bluetooth/sco.c | 5 +-
net/bridge/br.c | 2 +-
net/bridge/br_device.c | 4 +-
net/bridge/br_if.c | 35 +-
net/bridge/br_private.h | 3 +-
net/bridge/br_sysfs_br.c | 2 +-
net/bridge/br_sysfs_if.c | 36 +-
net/bridge/netfilter/Kconfig | 2 +-
net/bridge/netfilter/Makefile | 1 -
net/bridge/netfilter/ebt_ip.c | 58 +-
net/bridge/netfilter/ebt_stp.c | 6 +-
net/bridge/netfilter/ebtables.c | 74 +-
net/bridge/netfilter/nf_tables_bridge.c | 79 --
net/can/af_can.c | 2 +-
net/can/gw.c | 2 +-
net/can/raw.c | 6 +-
net/ceph/ceph_common.c | 2 +-
net/core/dev.c | 75 +-
net/core/devlink.c | 44 +-
net/core/dst_cache.c | 4 +-
net/core/ethtool.c | 78 +-
net/core/fib_notifier.c | 12 +-
net/core/fib_rules.c | 110 +-
net/core/filter.c | 754 ++++++++++-
net/core/flow_dissector.c | 16 -
net/core/net-procfs.c | 6 +-
net/core/net-sysfs.c | 12 +-
net/core/net_namespace.c | 123 +-
net/core/pktgen.c | 15 +-
net/core/rtnetlink.c | 19 +-
net/core/skbuff.c | 37 +-
net/core/sock.c | 90 +-
net/core/sysctl_net_core.c | 12 +
net/decnet/af_decnet.c | 8 +-
net/decnet/dn_dev.c | 2 +-
net/decnet/dn_neigh.c | 2 +-
net/decnet/dn_route.c | 2 +-
net/dns_resolver/dns_key.c | 2 +-
net/dsa/dsa.c | 36 +
net/dsa/master.c | 4 +-
net/dsa/slave.c | 61 +-
net/ieee802154/6lowpan/6lowpan_i.h | 26 +-
net/ieee802154/6lowpan/core.c | 1 +
net/ieee802154/6lowpan/reassembly.c | 148 +-
net/ipv4/Kconfig | 5 +
net/ipv4/Makefile | 1 +
net/ipv4/af_inet.c | 76 +-
net/ipv4/arp.c | 2 +-
net/ipv4/esp4.c | 2 +-
net/ipv4/esp4_offload.c | 2 +
net/ipv4/fib_rules.c | 19 +
net/ipv4/fib_semantics.c | 36 +-
net/ipv4/fib_trie.c | 38 +-
net/ipv4/igmp.c | 4 +-
net/ipv4/inet_fragment.c | 358 +----
net/ipv4/inetpeer.c | 3 +-
net/ipv4/ip_fragment.c | 253 ++--
net/ipv4/ip_gre.c | 13 +-
net/ipv4/ip_input.c | 5 +-
net/ipv4/ip_output.c | 17 +-
net/ipv4/ip_sockglue.c | 34 +-
net/ipv4/ip_tunnel.c | 54 +-
net/ipv4/ipconfig.c | 2 +-
net/ipv4/ipmr.c | 698 +++-------
net/ipv4/ipmr_base.c | 365 +++++
net/ipv4/netfilter/Kconfig | 4 +-
net/ipv4/netfilter/Makefile | 2 -
net/ipv4/netfilter/arp_tables.c | 33 +-
net/ipv4/netfilter/ip_tables.c | 31 +-
net/ipv4/netfilter/ipt_CLUSTERIP.c | 2 +-
net/ipv4/netfilter/ipt_SYNPROXY.c | 8 +-
net/ipv4/netfilter/ipt_ah.c | 2 +-
net/ipv4/netfilter/nf_tables_arp.c | 58 -
net/ipv4/netfilter/nf_tables_ipv4.c | 67 -
net/ipv4/netfilter/nft_chain_nat_ipv4.c | 20 +-
net/ipv4/netfilter/nft_chain_route_ipv4.c | 6 +-
net/ipv4/ping.c | 2 +-
net/ipv4/proc.c | 13 +-
net/ipv4/raw.c | 4 +-
net/ipv4/route.c | 91 +-
net/ipv4/sysctl_net_ipv4.c | 34 +-
net/ipv4/tcp.c | 79 +-
net/ipv4/tcp_bbr.c | 38 +-
net/ipv4/tcp_input.c | 7 +-
net/ipv4/tcp_ipv4.c | 44 +-
net/ipv4/tcp_minisocks.c | 4 +-
net/ipv4/tcp_output.c | 55 +-
net/ipv4/tunnel4.c | 2 +-
net/ipv4/udp.c | 102 +-
net/ipv4/xfrm4_policy.c | 2 -
net/ipv6/Kconfig | 1 +
net/ipv6/addrconf.c | 91 +-
net/ipv6/af_inet6.c | 71 +-
net/ipv6/anycast.c | 14 +-
net/ipv6/datagram.c | 5 +-
net/ipv6/esp6_offload.c | 2 +
net/ipv6/exthdrs_core.c | 1 -
net/ipv6/fib6_rules.c | 35 +-
net/ipv6/icmp.c | 5 +-
net/ipv6/ip6_fib.c | 19 +-
net/ipv6/ip6_flowlabel.c | 2 +-
net/ipv6/ip6_gre.c | 26 +-
net/ipv6/ip6_output.c | 19 +-
net/ipv6/ip6_tunnel.c | 18 +-
net/ipv6/ip6_vti.c | 2 +-
net/ipv6/ip6mr.c | 1111 +++++++--------
net/ipv6/ipv6_sockglue.c | 1 -
net/ipv6/mcast.c | 8 +-
net/ipv6/ndisc.c | 4 +-
net/ipv6/netfilter/Kconfig | 2 +-
net/ipv6/netfilter/Makefile | 1 -
net/ipv6/netfilter/ip6_tables.c | 33 +-
net/ipv6/netfilter/ip6t_SYNPROXY.c | 8 +-
net/ipv6/netfilter/ip6t_rpfilter.c | 2 +-
net/ipv6/netfilter/nf_conntrack_reasm.c | 123 +-
net/ipv6/netfilter/nf_tables_ipv6.c | 65 -
net/ipv6/netfilter/nft_chain_nat_ipv6.c | 20 +-
net/ipv6/netfilter/nft_chain_route_ipv6.c | 6 +-
net/ipv6/netfilter/nft_fib_ipv6.c | 3 +-
net/ipv6/proc.c | 12 +-
net/ipv6/raw.c | 2 +-
net/ipv6/reassembly.c | 235 ++--
net/ipv6/route.c | 306 +++--
net/ipv6/seg6_local.c | 4 +-
net/ipv6/sit.c | 5 +-
net/ipv6/sysctl_net_ipv6.c | 27 +
net/ipv6/tcp_ipv6.c | 29 +-
net/ipv6/udp.c | 72 +-
net/ipv6/xfrm6_state.c | 1 -
net/iucv/af_iucv.c | 5 +-
net/kcm/kcmproc.c | 4 +-
net/kcm/kcmsock.c | 1 +
net/l2tp/l2tp_ip.c | 5 +-
net/l2tp/l2tp_ip6.c | 5 +-
net/l2tp/l2tp_ppp.c | 7 +-
net/llc/af_llc.c | 5 +-
net/llc/llc_proc.c | 4 +-
net/llc/llc_sap.c | 7 +-
net/mac80211/agg-rx.c | 14 +-
net/mac80211/cfg.c | 13 +
net/mac80211/debugfs.c | 1 +
net/mac80211/debugfs_sta.c | 10 +-
net/mac80211/ht.c | 15 +
net/mac80211/ibss.c | 3 +-
net/mac80211/ieee80211_i.h | 12 +
net/mac80211/iface.c | 5 +-
net/mac80211/key.c | 8 +-
net/mac80211/main.c | 10 +-
net/mac80211/mesh.c | 3 +-
net/mac80211/michael.c | 2 +-
net/mac80211/mlme.c | 182 +--
net/mac80211/rc80211_minstrel.c | 2 +-
net/mac80211/rc80211_minstrel_debugfs.c | 8 +-
net/mac80211/rc80211_minstrel_ht.c | 2 +-
net/mac80211/rc80211_minstrel_ht_debugfs.c | 8 +-
net/mac80211/rx.c | 229 +++-
net/mac80211/scan.c | 4 +-
net/mac80211/sta_info.c | 6 +
net/mac80211/sta_info.h | 2 +
net/mac80211/status.c | 11 +-
net/mac80211/tx.c | 57 +-
net/mac80211/util.c | 47 +-
net/mac80211/vht.c | 39 +
net/mac80211/wpa.c | 8 +-
net/mac802154/trace.h | 8 +-
net/ncsi/Makefile | 2 +-
net/ncsi/internal.h | 3 +
net/ncsi/ncsi-manage.c | 30 +-
net/ncsi/ncsi-netlink.c | 427 ++++++
net/ncsi/ncsi-netlink.h | 20 +
net/netfilter/Kconfig | 4 +-
net/netfilter/Makefile | 9 +-
net/netfilter/ipset/ip_set_core.c | 2 +-
net/netfilter/ipset/ip_set_hash_mac.c | 7 +-
net/netfilter/ipvs/ip_vs_lblc.c | 4 +-
net/netfilter/ipvs/ip_vs_lblcr.c | 4 +-
net/netfilter/nf_conncount.c | 14 +-
net/netfilter/nf_conntrack_acct.c | 6 +-
net/netfilter/nf_conntrack_broadcast.c | 1 -
net/netfilter/nf_conntrack_core.c | 4 +-
net/netfilter/nf_conntrack_ecache.c | 6 +-
net/netfilter/nf_conntrack_netbios_ns.c | 7 +-
net/netfilter/nf_conntrack_netlink.c | 92 +-
net/netfilter/nf_conntrack_snmp.c | 7 +-
net/netfilter/nf_conntrack_standalone.c | 2 +-
net/netfilter/nf_conntrack_timestamp.c | 6 +-
net/netfilter/nf_log.c | 2 +-
net/netfilter/nf_nat_core.c | 4 +-
net/netfilter/nf_nat_ftp.c | 7 +-
net/netfilter/nf_nat_irc.c | 7 +-
net/netfilter/nf_synproxy_core.c | 2 +-
net/netfilter/nf_tables_api.c | 115 +-
net/netfilter/nf_tables_inet.c | 75 -
net/netfilter/nf_tables_netdev.c | 142 --
net/netfilter/nfnetlink_acct.c | 3 +-
net/netfilter/nfnetlink_cthelper.c | 25 +-
net/netfilter/nfnetlink_cttimeout.c | 26 +-
net/netfilter/nfnetlink_queue.c | 14 +-
net/netfilter/nft_chain_filter.c | 398 ++++++
net/netfilter/nft_ct.c | 38 +
net/netfilter/nft_dynset.c | 5 +-
net/netfilter/nft_lookup.c | 4 +-
net/netfilter/nft_objref.c | 5 +-
net/netfilter/x_tables.c | 191 ++-
net/netfilter/xt_IDLETIMER.c | 2 +-
net/netfilter/xt_RATEEST.c | 91 +-
net/netfilter/xt_TEE.c | 73 +-
net/netfilter/xt_cluster.c | 10 +-
net/netfilter/xt_connlimit.c | 4 +-
net/netfilter/xt_connmark.c | 77 +-
net/netfilter/xt_hashlimit.c | 3 +-
net/netfilter/xt_limit.c | 2 +-
net/netfilter/xt_nfacct.c | 2 +-
net/netfilter/xt_rateest.c | 10 +-
net/netfilter/xt_recent.c | 4 +-
net/netfilter/xt_string.c | 1 +
net/netfilter/xt_time.c | 13 +-
net/netlink/af_netlink.c | 5 +-
net/netrom/af_netrom.c | 15 +-
net/nfc/llcp_sock.c | 5 +-
net/openvswitch/datapath.c | 4 +-
net/openvswitch/vport.c | 8 +-
net/packet/af_packet.c | 10 +-
net/phonet/socket.c | 5 +-
net/qrtr/qrtr.c | 5 +-
net/rds/af_rds.c | 14 +-
net/rds/connection.c | 7 +-
net/rds/ib.c | 3 +
net/rds/message.c | 163 ++-
net/rds/rds.h | 31 +-
net/rds/recv.c | 42 +-
net/rds/send.c | 54 +-
net/rds/tcp.c | 115 +-
net/rose/af_rose.c | 13 +-
net/rxrpc/af_rxrpc.c | 15 +-
net/rxrpc/ar-internal.h | 77 +-
net/rxrpc/call_accept.c | 27 +-
net/rxrpc/call_event.c | 5 +-
net/rxrpc/call_object.c | 32 +-
net/rxrpc/conn_client.c | 3 +-
net/rxrpc/conn_event.c | 6 +-
net/rxrpc/conn_object.c | 10 +-
net/rxrpc/conn_service.c | 1 +
net/rxrpc/input.c | 23 +-
net/rxrpc/local_object.c | 65 +-
net/rxrpc/net_ns.c | 24 +-
net/rxrpc/output.c | 59 +-
net/rxrpc/peer_event.c | 98 +-
net/rxrpc/peer_object.c | 93 +-
net/rxrpc/proc.c | 6 +
net/rxrpc/recvmsg.c | 2 +-
net/rxrpc/rxkad.c | 2 +
net/rxrpc/security.c | 3 -
net/rxrpc/sendmsg.c | 10 +-
net/sched/Kconfig | 12 +
net/sched/Makefile | 1 +
net/sched/act_api.c | 199 ++-
net/sched/act_bpf.c | 10 +-
net/sched/act_connmark.c | 11 +-
net/sched/act_csum.c | 10 +-
net/sched/act_gact.c | 24 +-
net/sched/act_ife.c | 10 +-
net/sched/act_ipt.c | 20 +-
net/sched/act_mirred.c | 25 +-
net/sched/act_nat.c | 11 +-
net/sched/act_pedit.c | 10 +-
net/sched/act_police.c | 11 +-
net/sched/act_sample.c | 10 +-
net/sched/act_simple.c | 10 +-
net/sched/act_skbedit.c | 10 +-
net/sched/act_skbmod.c | 10 +-
net/sched/act_tunnel_key.c | 10 +-
net/sched/act_vlan.c | 12 +-
net/sched/cls_api.c | 5 +-
net/sched/cls_flower.c | 6 +
net/sched/em_ipt.c | 257 ++++
net/sched/sch_api.c | 7 +-
net/sched/sch_htb.c | 11 +-
net/sched/sch_prio.c | 45 +-
net/sctp/Makefile | 2 +
net/sctp/auth.c | 146 +-
net/sctp/chunk.c | 14 +
net/sctp/{sctp_diag.c => diag.c} | 31 +
net/sctp/endpointola.c | 8 +-
net/sctp/input.c | 13 +-
net/sctp/ipv6.c | 8 +-
net/sctp/objcnt.c | 8 -
net/sctp/output.c | 18 +-
net/sctp/proc.c | 90 +-
net/sctp/protocol.c | 61 +-
net/sctp/sm_make_chunk.c | 33 +-
net/sctp/sm_sideeffect.c | 13 +
net/sctp/sm_statefuns.c | 56 +-
net/sctp/socket.c | 828 ++++++-----
net/smc/af_smc.c | 211 +--
net/smc/smc.h | 9 +-
net/smc/smc_clc.c | 214 ++-
net/smc/smc_clc.h | 22 +-
net/smc/smc_core.c | 100 +-
net/smc/smc_core.h | 16 +-
net/smc/smc_ib.c | 10 +-
net/smc/smc_llc.c | 408 +++++-
net/smc/smc_llc.h | 41 +-
net/smc/smc_wr.h | 1 -
net/socket.c | 51 +-
net/sunrpc/auth_gss/svcauth_gss.c | 2 +-
net/sunrpc/cache.c | 10 +-
net/sunrpc/clnt.c | 6 +-
net/sunrpc/debugfs.c | 6 +-
net/sunrpc/rpc_pipe.c | 42 +-
net/sunrpc/svcsock.c | 13 +-
net/sunrpc/xprtsock.c | 3 +-
net/tipc/Kconfig | 8 +
net/tipc/Makefile | 7 +-
net/tipc/addr.c | 159 +--
net/tipc/addr.h | 47 +-
net/tipc/bcast.c | 2 +-
net/tipc/bearer.c | 160 ++-
net/tipc/bearer.h | 2 +-
net/tipc/core.c | 6 +-
net/tipc/core.h | 23 +-
net/tipc/diag.c | 114 ++
net/tipc/discover.c | 392 +++---
net/tipc/discover.h | 8 +-
net/tipc/group.c | 2 +-
net/tipc/link.c | 39 +-
net/tipc/link.h | 4 +-
net/tipc/msg.c | 2 +-
net/tipc/msg.h | 23 +-
net/tipc/name_distr.c | 152 +--
net/tipc/name_distr.h | 3 +-
net/tipc/name_table.c | 1164 +++++++---------
net/tipc/name_table.h | 66 +-
net/tipc/net.c | 80 +-
net/tipc/net.h | 5 +-
net/tipc/node.c | 129 +-
net/tipc/node.h | 9 +-
net/tipc/server.c | 710 ----------
net/tipc/socket.c | 187 ++-
net/tipc/socket.h | 10 +-
net/tipc/subscr.c | 361 +----
net/tipc/subscr.h | 68 +-
net/tipc/topsrv.c | 703 ++++++++++
net/tipc/{server.h => topsrv.h} | 57 +-
net/tipc/udp_media.c | 14 +
net/tls/Kconfig | 1 +
net/tls/tls_main.c | 206 ++-
net/tls/tls_sw.c | 713 ++++++++--
net/unix/af_unix.c | 10 +-
net/vmw_vsock/af_vsock.c | 4 +-
net/wireless/ap.c | 1 +
net/wireless/chan.c | 9 +-
net/wireless/core.h | 12 +-
net/wireless/ibss.c | 27 +-
net/wireless/mesh.c | 16 +-
net/wireless/mlme.c | 9 +-
net/wireless/nl80211.c | 408 +++++-
net/wireless/rdev-ops.h | 30 +
net/wireless/reg.c | 206 ++-
net/wireless/sme.c | 43 +-
net/wireless/trace.h | 72 +-
net/wireless/util.c | 5 +-
net/wireless/wext-core.c | 6 +-
net/wireless/wext-proc.c | 2 +-
net/x25/af_x25.c | 4 +-
net/x25/x25_proc.c | 12 +-
net/x25/x25_subr.c | 3 +-
net/xfrm/xfrm_device.c | 2 +-
net/xfrm/xfrm_input.c | 3 +-
net/xfrm/xfrm_policy.c | 7 +-
net/xfrm/xfrm_proc.c | 2 +-
samples/bpf/Makefile | 5 +
samples/bpf/bpf_load.c | 22 +-
samples/bpf/cookie_uid_helper_example.c | 2 +-
samples/bpf/cpustat_kern.c | 281 ++++
samples/bpf/cpustat_user.c | 219 +++
samples/bpf/tcbpf2_kern.c | 6 +-
samples/bpf/test_cgrp2_sock.sh | 1 +
samples/bpf/test_cgrp2_sock2.sh | 3 +
samples/bpf/test_overhead_raw_tp_kern.c | 17 +
samples/bpf/test_overhead_user.c | 12 +
samples/bpf/test_tunnel_bpf.sh | 5 +-
samples/bpf/trace_event_kern.c | 4 +
samples/bpf/trace_event_user.c | 15 +
samples/bpf/xdp_redirect_user.c | 7 +
samples/sockmap/Makefile | 2 +-
samples/sockmap/sockmap_kern.c | 239 +++-
samples/sockmap/sockmap_test.sh | 488 +++++++
samples/sockmap/sockmap_user.c | 360 ++++-
security/apparmor/include/path.h | 7 +-
security/selinux/include/xfrm.h | 4 +-
security/tomoyo/network.c | 5 +-
sound/firewire/amdtp-stream-trace.h | 2 +-
tools/bpf/Makefile | 78 +-
tools/bpf/bpftool/Documentation/bpftool-prog.rst | 18 +-
tools/bpf/bpftool/Makefile | 6 +-
tools/bpf/bpftool/bash-completion/bpftool | 13 +-
tools/bpf/bpftool/cfg.c | 514 +++++++
tools/bpf/bpftool/cfg.h | 43 +
tools/bpf/bpftool/main.c | 104 +-
tools/bpf/bpftool/prog.c | 305 +----
tools/bpf/bpftool/xlated_dumper.c | 338 +++++
tools/bpf/bpftool/xlated_dumper.h | 64 +
tools/include/uapi/linux/bpf.h | 107 +-
tools/lib/bpf/bpf.c | 55 +-
tools/lib/bpf/bpf.h | 18 +-
tools/lib/bpf/libbpf.c | 114 +-
tools/lib/bpf/libbpf.h | 8 +
tools/testing/selftests/bpf/Makefile | 25 +-
tools/testing/selftests/bpf/bpf_helpers.h | 12 +
tools/testing/selftests/bpf/bpf_rlimit.h | 28 +
tools/testing/selftests/bpf/connect4_prog.c | 45 +
tools/testing/selftests/bpf/connect6_prog.c | 61 +
tools/testing/selftests/bpf/sockmap_parse_prog.c | 15 +-
tools/testing/selftests/bpf/sockmap_tcp_msg_prog.c | 33 +
tools/testing/selftests/bpf/sockmap_verdict_prog.c | 7 +
tools/testing/selftests/bpf/test_align.c | 6 +-
tools/testing/selftests/bpf/test_dev_cgroup.c | 6 +-
tools/testing/selftests/bpf/test_lpm_map.c | 14 +-
tools/testing/selftests/bpf/test_lru_map.c | 6 +-
tools/testing/selftests/bpf/test_maps.c | 62 +-
tools/testing/selftests/bpf/test_progs.c | 230 +++-
tools/testing/selftests/bpf/test_sock.c | 479 +++++++
tools/testing/selftests/bpf/test_sock_addr.c | 588 ++++++++
tools/testing/selftests/bpf/test_sock_addr.sh | 57 +
tools/testing/selftests/bpf/test_stacktrace_build_id.c | 60 +
tools/testing/selftests/bpf/test_tag.c | 4 +-
tools/testing/selftests/bpf/test_tcpbpf_user.c | 2 +
tools/testing/selftests/bpf/test_verifier.c | 304 ++++-
tools/testing/selftests/bpf/test_verifier_log.c | 8 +-
tools/testing/selftests/bpf/urandom_read.c | 22 +
tools/testing/selftests/net/Makefile | 2 +-
tools/testing/selftests/net/config | 5 +
tools/testing/selftests/net/fib-onlink-tests.sh | 467 +++++++
tools/testing/selftests/net/fib_tests.sh | 664 +++++----
tools/testing/selftests/net/forwarding/.gitignore | 1 +
tools/testing/selftests/net/forwarding/README | 56 +
tools/testing/selftests/net/forwarding/bridge_vlan_aware.sh | 88 ++
tools/testing/selftests/net/forwarding/bridge_vlan_unaware.sh | 86 ++
tools/testing/selftests/net/forwarding/config | 12 +
tools/testing/selftests/net/forwarding/forwarding.config.sample | 35 +
tools/testing/selftests/net/forwarding/lib.sh | 577 ++++++++
tools/testing/selftests/net/forwarding/router.sh | 125 ++
tools/testing/selftests/net/forwarding/router_multipath.sh | 376 +++++
tools/testing/selftests/net/forwarding/tc_actions.sh | 202 +++
tools/testing/selftests/net/forwarding/tc_chains.sh | 122 ++
tools/testing/selftests/net/forwarding/tc_common.sh | 25 +
tools/testing/selftests/net/forwarding/tc_flower.sh | 196 +++
tools/testing/selftests/net/forwarding/tc_shblocks.sh | 122 ++
tools/testing/selftests/net/in_netns.sh | 23 +
tools/testing/selftests/net/msg_zerocopy.c | 131 +-
tools/testing/selftests/net/pmtu.sh | 471 +++++++
tools/testing/selftests/net/psock_fanout.c | 35 +-
tools/testing/selftests/net/rtnetlink.sh | 6 +
tools/testing/selftests/net/run_afpackettests | 4 +-
tools/testing/selftests/networking/timestamping/txtimestamp.c | 21 +-
tools/testing/selftests/tc-testing/README | 173 ++-
tools/testing/selftests/tc-testing/TODO.txt | 25 +-
tools/testing/selftests/tc-testing/TdcPlugin.py | 74 +
tools/testing/selftests/tc-testing/creating-plugins/AddingPlugins.txt | 104 ++
tools/testing/selftests/tc-testing/creating-testcases/AddingTestCases.txt | 35 +-
tools/testing/selftests/tc-testing/plugin-lib/README-PLUGINS | 27 +
tools/testing/selftests/tc-testing/plugin-lib/nsPlugin.py | 141 ++
tools/testing/selftests/tc-testing/plugin-lib/rootPlugin.py | 19 +
tools/testing/selftests/tc-testing/plugin-lib/valgrindPlugin.py | 142 ++
tools/testing/selftests/tc-testing/plugins/__init__.py | 0
tools/testing/selftests/tc-testing/tc-tests/actions/bpf.json | 289 ++++
tools/testing/selftests/tc-testing/tc-tests/actions/connmark.json | 291 ++++
tools/testing/selftests/tc-testing/tc-tests/actions/csum.json | 410 ++++++
tools/testing/selftests/tc-testing/tc-tests/actions/gact.json | 71 +
tools/testing/selftests/tc-testing/tc-tests/actions/mirred.json | 192 +++
tools/testing/selftests/tc-testing/tc-tests/actions/police.json | 144 ++
tools/testing/selftests/tc-testing/tc-tests/actions/skbedit.json | 168 +++
tools/testing/selftests/tc-testing/tc-tests/actions/skbmod.json | 24 +
tools/testing/selftests/tc-testing/tc-tests/actions/vlan.json | 410 ++++++
tools/testing/selftests/tc-testing/tdc.py | 576 +++++---
tools/testing/selftests/tc-testing/tdc_batch.py | 8 +-
tools/testing/selftests/tc-testing/tdc_helper.py | 15 +-
1674 files changed, 101698 insertions(+), 28185 deletions(-)
create mode 100644 Documentation/devicetree/bindings/net/ieee802154/mcr20a.txt
create mode 100644 Documentation/devicetree/bindings/net/nixge.txt
create mode 100644 Documentation/networking/ice.txt
create mode 100644 Documentation/networking/net_dim.txt
create mode 100644 Documentation/networking/nf_flowtable.txt
create mode 100644 drivers/bluetooth/btrsi.c
delete mode 100644 drivers/bluetooth/btuart_cs.c
create mode 100644 drivers/bluetooth/h4_recv.h
create mode 100644 drivers/crypto/chelsio/chtls/Makefile
create mode 100644 drivers/crypto/chelsio/chtls/chtls.h
create mode 100644 drivers/crypto/chelsio/chtls/chtls_cm.c
create mode 100644 drivers/crypto/chelsio/chtls/chtls_cm.h
create mode 100644 drivers/crypto/chelsio/chtls/chtls_hw.c
create mode 100644 drivers/crypto/chelsio/chtls/chtls_io.c
create mode 100644 drivers/crypto/chelsio/chtls/chtls_main.c
create mode 100644 drivers/infiniband/hw/mlx5/ib_rep.c
create mode 100644 drivers/infiniband/hw/mlx5/ib_rep.h
create mode 100644 drivers/net/dsa/mv88e6xxx/global2_avb.c
create mode 100644 drivers/net/dsa/mv88e6xxx/global2_scratch.c
create mode 100644 drivers/net/dsa/mv88e6xxx/hwtstamp.c
create mode 100644 drivers/net/dsa/mv88e6xxx/hwtstamp.h
create mode 100644 drivers/net/dsa/mv88e6xxx/ptp.c
create mode 100644 drivers/net/dsa/mv88e6xxx/ptp.h
create mode 100644 drivers/net/ethernet/aquantia/atlantic/hw_atl/Makefile
create mode 100644 drivers/net/ethernet/chelsio/cxgb4/srq.c
create mode 100644 drivers/net/ethernet/chelsio/cxgb4/srq.h
delete mode 100644 drivers/net/ethernet/intel/i40e/i40e_fcoe.c
delete mode 100644 drivers/net/ethernet/intel/i40e/i40e_fcoe.h
create mode 100644 drivers/net/ethernet/intel/ice/Makefile
create mode 100644 drivers/net/ethernet/intel/ice/ice.h
create mode 100644 drivers/net/ethernet/intel/ice/ice_adminq_cmd.h
create mode 100644 drivers/net/ethernet/intel/ice/ice_common.c
create mode 100644 drivers/net/ethernet/intel/ice/ice_common.h
create mode 100644 drivers/net/ethernet/intel/ice/ice_controlq.c
create mode 100644 drivers/net/ethernet/intel/ice/ice_controlq.h
create mode 100644 drivers/net/ethernet/intel/ice/ice_devids.h
create mode 100644 drivers/net/ethernet/intel/ice/ice_ethtool.c
create mode 100644 drivers/net/ethernet/intel/ice/ice_hw_autogen.h
create mode 100644 drivers/net/ethernet/intel/ice/ice_lan_tx_rx.h
create mode 100644 drivers/net/ethernet/intel/ice/ice_main.c
create mode 100644 drivers/net/ethernet/intel/ice/ice_nvm.c
create mode 100644 drivers/net/ethernet/intel/ice/ice_osdep.h
create mode 100644 drivers/net/ethernet/intel/ice/ice_sched.c
create mode 100644 drivers/net/ethernet/intel/ice/ice_sched.h
create mode 100644 drivers/net/ethernet/intel/ice/ice_status.h
create mode 100644 drivers/net/ethernet/intel/ice/ice_switch.c
create mode 100644 drivers/net/ethernet/intel/ice/ice_switch.h
create mode 100644 drivers/net/ethernet/intel/ice/ice_txrx.c
create mode 100644 drivers/net/ethernet/intel/ice/ice_txrx.h
create mode 100644 drivers/net/ethernet/intel/ice/ice_type.h
create mode 100644 drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
create mode 100644 drivers/net/ethernet/mellanox/mlxsw/spectrum_span.h
create mode 100644 drivers/net/ethernet/microchip/lan743x_main.c
create mode 100644 drivers/net/ethernet/microchip/lan743x_main.h
create mode 100644 drivers/net/ethernet/netronome/nfp/bpf/Makefile
create mode 100644 drivers/net/ethernet/netronome/nfp/flower/Makefile
create mode 100644 drivers/net/ethernet/netronome/nfp/nfpcore/Makefile
create mode 100644 drivers/net/ethernet/netronome/nfp/nfpcore/nfp6000/Makefile
create mode 100644 drivers/net/ethernet/netronome/nfp/nic/Makefile
create mode 100644 drivers/net/ethernet/ni/Kconfig
create mode 100644 drivers/net/ethernet/ni/Makefile
create mode 100644 drivers/net/ethernet/ni/nixge.c
create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac5.c
create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac5.h
create mode 100644 drivers/net/hyperv/netvsc_trace.c
create mode 100644 drivers/net/hyperv/netvsc_trace.h
create mode 100644 drivers/net/ieee802154/mcr20a.c
create mode 100644 drivers/net/ieee802154/mcr20a.h
create mode 100644 drivers/net/netdevsim/devlink.c
create mode 100644 drivers/net/netdevsim/fib.c
create mode 100644 drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8822bwifionly.c
create mode 100644 drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8822bwifionly.h
create mode 100644 drivers/net/wireless/rsi/rsi_91x_coex.c
create mode 100644 drivers/net/wireless/rsi/rsi_coex.h
create mode 100644 include/linux/mlx5/accel.h
create mode 100644 include/linux/mlx5/eswitch.h
create mode 100644 include/linux/mlx5/fs_helpers.h
create mode 100644 include/linux/mroute_base.h
create mode 100644 include/net/rsi_91x.h
create mode 100644 include/trace/bpf_probe.h
create mode 100644 include/uapi/linux/ncsi.h
create mode 100644 include/uapi/linux/tc_ematch/tc_em_ipt.h
create mode 100644 include/uapi/linux/tipc_sockets_diag.h
delete mode 100644 net/bridge/netfilter/nf_tables_bridge.c
create mode 100644 net/ipv4/ipmr_base.c
delete mode 100644 net/ipv4/netfilter/nf_tables_arp.c
delete mode 100644 net/ipv4/netfilter/nf_tables_ipv4.c
delete mode 100644 net/ipv6/netfilter/nf_tables_ipv6.c
create mode 100644 net/ncsi/ncsi-netlink.c
create mode 100644 net/ncsi/ncsi-netlink.h
delete mode 100644 net/netfilter/nf_tables_inet.c
delete mode 100644 net/netfilter/nf_tables_netdev.c
create mode 100644 net/netfilter/nft_chain_filter.c
create mode 100644 net/sched/em_ipt.c
rename net/sctp/{sctp_diag.c => diag.c} (92%)
create mode 100644 net/tipc/diag.c
delete mode 100644 net/tipc/server.c
create mode 100644 net/tipc/topsrv.c
rename net/tipc/{server.h => topsrv.h} (55%)
create mode 100644 samples/bpf/cpustat_kern.c
create mode 100644 samples/bpf/cpustat_user.c
create mode 100644 samples/bpf/test_overhead_raw_tp_kern.c
create mode 100755 samples/sockmap/sockmap_test.sh
create mode 100644 tools/bpf/bpftool/cfg.c
create mode 100644 tools/bpf/bpftool/cfg.h
create mode 100644 tools/bpf/bpftool/xlated_dumper.c
create mode 100644 tools/bpf/bpftool/xlated_dumper.h
create mode 100644 tools/testing/selftests/bpf/bpf_rlimit.h
create mode 100644 tools/testing/selftests/bpf/connect4_prog.c
create mode 100644 tools/testing/selftests/bpf/connect6_prog.c
create mode 100644 tools/testing/selftests/bpf/sockmap_tcp_msg_prog.c
create mode 100644 tools/testing/selftests/bpf/test_sock.c
create mode 100644 tools/testing/selftests/bpf/test_sock_addr.c
create mode 100755 tools/testing/selftests/bpf/test_sock_addr.sh
create mode 100644 tools/testing/selftests/bpf/test_stacktrace_build_id.c
create mode 100644 tools/testing/selftests/bpf/urandom_read.c
create mode 100755 tools/testing/selftests/net/fib-onlink-tests.sh
create mode 100644 tools/testing/selftests/net/forwarding/.gitignore
create mode 100644 tools/testing/selftests/net/forwarding/README
create mode 100755 tools/testing/selftests/net/forwarding/bridge_vlan_aware.sh
create mode 100755 tools/testing/selftests/net/forwarding/bridge_vlan_unaware.sh
create mode 100644 tools/testing/selftests/net/forwarding/config
create mode 100644 tools/testing/selftests/net/forwarding/forwarding.config.sample
create mode 100644 tools/testing/selftests/net/forwarding/lib.sh
create mode 100755 tools/testing/selftests/net/forwarding/router.sh
create mode 100755 tools/testing/selftests/net/forwarding/router_multipath.sh
create mode 100755 tools/testing/selftests/net/forwarding/tc_actions.sh
create mode 100755 tools/testing/selftests/net/forwarding/tc_chains.sh
create mode 100644 tools/testing/selftests/net/forwarding/tc_common.sh
create mode 100755 tools/testing/selftests/net/forwarding/tc_flower.sh
create mode 100755 tools/testing/selftests/net/forwarding/tc_shblocks.sh
create mode 100755 tools/testing/selftests/net/in_netns.sh
create mode 100755 tools/testing/selftests/net/pmtu.sh
create mode 100644 tools/testing/selftests/tc-testing/TdcPlugin.py
create mode 100644 tools/testing/selftests/tc-testing/creating-plugins/AddingPlugins.txt
create mode 100644 tools/testing/selftests/tc-testing/plugin-lib/README-PLUGINS
create mode 100644 tools/testing/selftests/tc-testing/plugin-lib/nsPlugin.py
create mode 100644 tools/testing/selftests/tc-testing/plugin-lib/rootPlugin.py
create mode 100644 tools/testing/selftests/tc-testing/plugin-lib/valgrindPlugin.py
create mode 100644 tools/testing/selftests/tc-testing/plugins/__init__.py
create mode 100644 tools/testing/selftests/tc-testing/tc-tests/actions/bpf.json
create mode 100644 tools/testing/selftests/tc-testing/tc-tests/actions/connmark.json
create mode 100644 tools/testing/selftests/tc-testing/tc-tests/actions/csum.json
create mode 100644 tools/testing/selftests/tc-testing/tc-tests/actions/vlan.json
^ permalink raw reply
* Re: [GIT] Networking
From: David Miller @ 2018-04-02 17:54 UTC (permalink / raw)
To: torvalds; +Cc: akpm, netdev, linux-kernel
In-Reply-To: <20180402.122910.467162486782399137.davem@davemloft.net>
Sorry, this is a dup of the bug fix pull request from last week.
I'll send you the right one.
^ permalink raw reply
* Re: [bpf-next PATCH 4/4] bpf: sockmap, add hash map support
From: John Fastabend @ 2018-04-02 17:53 UTC (permalink / raw)
To: Alexei Starovoitov; +Cc: ast, daniel, netdev, davem
In-Reply-To: <20180402155455.4zcuuc726zeqjh3l@ast-mbp.dhcp.thefacebook.com>
On 04/02/2018 08:54 AM, Alexei Starovoitov wrote:
> On Sun, Apr 01, 2018 at 08:01:10AM -0700, John Fastabend wrote:
>> Sockmap is currently backed by an array and enforces keys to be
>> four bytes. This works well for many use cases and was originally
>> modeled after devmap which also uses four bytes keys. However,
>> this has become limiting in larger use cases where a hash would
>> be more appropriate. For example users may want to use the 5-tuple
>> of the socket as the lookup key.
>>
>> To support this add hash support.
>>
>> Signed-off-by: John Fastabend <john.fastabend@gmail.com>
>
> api looks good, but I think it came a bit too late for this release.
> _nulls part you don't need for this hash. Few other nits:
>
Yeah no problem will push when {bpf|net}-next opens again. We
also have some fields we need to access from sockmap programs
as well such as ip addrs and ports. I'll respin the fixes (first
two patches) for bpf-net.
>> +static void htab_elem_free_rcu(struct rcu_head *head)
>> +{
>> + struct htab_elem *l = container_of(head, struct htab_elem, rcu);
>> +
>> + /* must increment bpf_prog_active to avoid kprobe+bpf triggering while
>> + * we're calling kfree, otherwise deadlock is possible if kprobes
>> + * are placed somewhere inside of slub
>> + */
>> + preempt_disable();
>> + __this_cpu_inc(bpf_prog_active);
>> + kfree(l);
>> + __this_cpu_dec(bpf_prog_active);
>> + preempt_enable();
>
> I don't think it's necessary.
>
Yep agreed.
>> +static struct bpf_map *sock_hash_alloc(union bpf_attr *attr)
>> +{
>> + struct bpf_htab *htab;
>> + int i, err;
>> + u64 cost;
>> +
>> + if (!capable(CAP_NET_ADMIN))
>> + return ERR_PTR(-EPERM);
>> +
>> + /* check sanity of attributes */
>> + if (attr->max_entries == 0 ||
>> + attr->map_flags & ~SOCK_CREATE_FLAG_MASK)
>> + return ERR_PTR(-EINVAL);
>> +
>> + if (attr->value_size > KMALLOC_MAX_SIZE)
>> + return ERR_PTR(-E2BIG);
>
> doesn't seem to match
> + u32 fd = *(u32 *)value;
> that is done later.
>
Yep.
>> +static struct htab_elem *lookup_elem_raw(struct hlist_nulls_head *head,
>> + u32 hash, void *key, u32 key_size)
>> +{
>> + struct hlist_nulls_node *n;
>> + struct htab_elem *l;
>> +
>> + hlist_nulls_for_each_entry_rcu(l, n, head, hash_node)
>> + if (l->hash == hash && !memcmp(&l->key, key, key_size))
>> + return l;
>
> if nulls is needed, there gotta be a comment explaining it.
>
Sure its not needed lets drop it.
> please add tests for all methods.
>
I'll add these tests to test_maps.
>> diff --git a/tools/bpf/bpftool/map.c b/tools/bpf/bpftool/map.c
>> index f95fa67..2fa4cbb 100644
>> --- a/tools/bpf/bpftool/map.c
>> +++ b/tools/bpf/bpftool/map.c
>> @@ -67,6 +67,7 @@
>> [BPF_MAP_TYPE_DEVMAP] = "devmap",
>> [BPF_MAP_TYPE_SOCKMAP] = "sockmap",
>> [BPF_MAP_TYPE_CPUMAP] = "cpumap",
>> + [BPF_MAP_TYPE_SOCKHASH] = "sockhash",
>> };
>>
>> static unsigned int get_possible_cpus(void)
>> diff --git a/tools/include/uapi/linux/bpf.h b/tools/include/uapi/linux/bpf.h
>> index 9d07465..1a19450 100644
>> --- a/tools/include/uapi/linux/bpf.h
>> +++ b/tools/include/uapi/linux/bpf.h
>> @@ -115,6 +115,7 @@ enum bpf_map_type {
>> BPF_MAP_TYPE_DEVMAP,
>> BPF_MAP_TYPE_SOCKMAP,
>> BPF_MAP_TYPE_CPUMAP,
>> + BPF_MAP_TYPE_SOCKHASH,
>
> tools/* updates should be in separate commit.
>
Great, thanks for the review.
^ permalink raw reply
* Re: [PATCH net-next v1] ipvs: add consistent source hashing scheduling
From: Eric Dumazet @ 2018-04-02 17:33 UTC (permalink / raw)
To: Vincent Bernat, Wensong Zhang, Simon Horman, Julian Anastasov,
David S. Miller, netdev, lvs-devel
In-Reply-To: <20180402172025.7380-1-vincent@bernat.im>
On 04/02/2018 10:20 AM, Vincent Bernat wrote:
> +static inline u32
> +ip_vs_csh_permutation(struct ip_vs_dest *d, int j)
> +{
> + u32 offset, skip;
> + __be32 addr_fold = d->addr.ip;
> +
> +#ifdef CONFIG_IP_VS_IPV6
> + if (d->af == AF_INET6)
> + addr_fold = d->addr.ip6[0]^d->addr.ip6[1]^
> + d->addr.ip6[2]^d->addr.ip6[3];
> +#endif
> + addr_fold = ntohl(addr_fold) + ntohs(d->port);
> + offset = hash_32(addr_fold, 32) % IP_VS_CSH_TAB_SIZE;
> + skip = (hash_32(addr_fold + 1, 32) % (IP_VS_CSH_TAB_SIZE - 1)) + 1;
> + return (offset + j * skip) % IP_VS_CSH_TAB_SIZE;
> +}
> +
This does not look very strong to me, particularly the IPv6 folding
I would rather use __ipv6_addr_jhash() instead of ipv6_addr_hash(), even if it is hard coded ;)
^ permalink raw reply
* [PATCH net-next v1] ipvs: add consistent source hashing scheduling
From: Vincent Bernat @ 2018-04-02 17:20 UTC (permalink / raw)
To: Wensong Zhang, Simon Horman, Julian Anastasov, David S. Miller,
netdev, lvs-devel
Cc: Vincent Bernat
Based on Google's Maglev algorithm [1][2], this scheduler builds a
lookup table in a way disruption is minimized when a change
occurs. This helps in case of active/active setup without
synchronization. Like for classic source hashing, this lookup table is
used to assign connections to a real server.
Both source address and port are used to compute the hash (unlike sh
where this is optional).
Weights are correctly handled. Unlike sh, servers with a weight of 0
are considered as absent. Also, unlike sh, when a server becomes
unavailable due to a threshold, no fallback is possible: doing so
would seriously impair the the usefulness of using a consistent hash.
There is a small hack to detect when all real servers have a weight of
0. It relies on the fact it is not possible for the weight of a real
server to change during the execution of the assignment. I believe
this is the case as modifications through netlink are subject to a
mutex, but the use of atomic_read() is unsettling.
The value of 65537 for the hash table size is currently not modifiable
at compile-time. This is the value suggested in the Maglev
paper. Another possible value is 257 (for small tests) and 655373 (for
very large setups).
[1]: https://research.google.com/pubs/pub44824.html
[2]: https://blog.acolyer.org/2016/03/21/maglev-a-fast-and-reliable-software-network-load-balancer/
Signed-off-by: Vincent Bernat <vincent@bernat.im>
---
include/net/ip_vs.h | 27 ++++
net/netfilter/ipvs/Kconfig | 13 ++
net/netfilter/ipvs/Makefile | 1 +
net/netfilter/ipvs/ip_vs_csh.c | 339 +++++++++++++++++++++++++++++++++++++++++
net/netfilter/ipvs/ip_vs_sh.c | 32 +---
5 files changed, 381 insertions(+), 31 deletions(-)
create mode 100644 net/netfilter/ipvs/ip_vs_csh.c
diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h
index eb0bec043c96..2184b43b7320 100644
--- a/include/net/ip_vs.h
+++ b/include/net/ip_vs.h
@@ -195,6 +195,33 @@ static inline int ip_vs_addr_equal(int af, const union nf_inet_addr *a,
return a->ip == b->ip;
}
+static inline __be16 ip_vs_get_port(const struct sk_buff *skb, struct ip_vs_iphdr *iph)
+{
+ __be16 _ports[2], *ports;
+
+ /* At this point we know that we have a valid packet of some kind.
+ * Because ICMP packets are only guaranteed to have the first 8
+ * bytes, let's just grab the ports. Fortunately they're in the
+ * same position for all three of the protocols we care about.
+ */
+ switch (iph->protocol) {
+ case IPPROTO_TCP:
+ case IPPROTO_UDP:
+ case IPPROTO_SCTP:
+ ports = skb_header_pointer(skb, iph->len, sizeof(_ports),
+ &_ports);
+ if (unlikely(!ports))
+ return 0;
+
+ if (likely(!ip_vs_iph_inverse(iph)))
+ return ports[0];
+ else
+ return ports[1];
+ default:
+ return 0;
+ }
+}
+
#ifdef CONFIG_IP_VS_DEBUG
#include <linux/net.h>
diff --git a/net/netfilter/ipvs/Kconfig b/net/netfilter/ipvs/Kconfig
index b32fb0dbe237..bfd091e020af 100644
--- a/net/netfilter/ipvs/Kconfig
+++ b/net/netfilter/ipvs/Kconfig
@@ -225,6 +225,19 @@ config IP_VS_SH
If you want to compile it in kernel, say Y. To compile it as a
module, choose M here. If unsure, say N.
+config IP_VS_CSH
+ tristate "consistent source hashing scheduling"
+ ---help---
+ The consistent source hashing scheduling algorithm assigns
+ network connections to the servers through looking up a
+ statically assigned hash table by their source IP addresses
+ and ports. The hash table is built to minimize disruption
+ when a server becomes unavailable. It relies on the Maglev
+ algorithm.
+
+ If you want to compile it in kernel, say Y. To compile it as a
+ module, choose M here. If unsure, say N.
+
config IP_VS_SED
tristate "shortest expected delay scheduling"
---help---
diff --git a/net/netfilter/ipvs/Makefile b/net/netfilter/ipvs/Makefile
index c552993fa4b9..7d0badf86dfe 100644
--- a/net/netfilter/ipvs/Makefile
+++ b/net/netfilter/ipvs/Makefile
@@ -33,6 +33,7 @@ obj-$(CONFIG_IP_VS_LBLC) += ip_vs_lblc.o
obj-$(CONFIG_IP_VS_LBLCR) += ip_vs_lblcr.o
obj-$(CONFIG_IP_VS_DH) += ip_vs_dh.o
obj-$(CONFIG_IP_VS_SH) += ip_vs_sh.o
+obj-$(CONFIG_IP_VS_CSH) += ip_vs_csh.o
obj-$(CONFIG_IP_VS_SED) += ip_vs_sed.o
obj-$(CONFIG_IP_VS_NQ) += ip_vs_nq.o
diff --git a/net/netfilter/ipvs/ip_vs_csh.c b/net/netfilter/ipvs/ip_vs_csh.c
new file mode 100644
index 000000000000..c70db61ba934
--- /dev/null
+++ b/net/netfilter/ipvs/ip_vs_csh.c
@@ -0,0 +1,339 @@
+/*
+ * IPVS: Consistent Hashing scheduling module using Google's Maglev
+ *
+ * Authors: Vincent Bernat <vincent@bernat.im>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version
+ * 2 of the License, or (at your option) any later version.
+ *
+ * Changes:
+ *
+ */
+
+/*
+ * The Maglev algorithm is a consistent hashing algorithm described in
+ * section 3.4 of "Maglev: A Fast and Reliable Software Network Load
+ * Balancer" (https://research.google.com/pubs/pub44824.html).
+ *
+ * The following pseudo-code from listing in page 6 is implemented
+ * using M = 65537. Weight is implemented by allowing servers to push
+ * their candidates several times at each turn. Currently, thresholds
+ * are ignored.
+ *
+ * Both source address and port are used for the hash. IPVS runs after
+ * fragment reassembly, so source port is always available.
+ *
+ */
+
+#define KMSG_COMPONENT "IPVS"
+#define pr_fmt(fmt) KMSG_COMPONENT ": " fmt
+
+#include <linux/ip.h>
+#include <linux/slab.h>
+#include <linux/module.h>
+#include <linux/kernel.h>
+#include <linux/skbuff.h>
+
+#include <net/ip_vs.h>
+
+#include <net/tcp.h>
+#include <linux/udp.h>
+#include <linux/sctp.h>
+
+#define IP_VS_CSH_TAB_SIZE 65537
+
+/*
+ * IPVS CSH bucket
+ */
+struct ip_vs_csh_bucket {
+ struct ip_vs_dest __rcu *dest; /* real server (cache) */
+ bool assigned;
+};
+
+
+struct ip_vs_csh_state {
+ struct rcu_head rcu_head;
+ struct ip_vs_csh_bucket buckets[IP_VS_CSH_TAB_SIZE];
+};
+
+
+/* Helper function to determine if server is unavailable */
+static inline bool is_unavailable(struct ip_vs_dest *dest)
+{
+ return dest->flags & IP_VS_DEST_F_OVERLOAD;
+}
+
+
+/*
+ * Returns hash value for IPVS CSH entry
+ */
+static inline unsigned int
+ip_vs_csh_hashkey(int af, const union nf_inet_addr *addr,
+ __be16 port)
+{
+ __be32 addr_fold = addr->ip;
+
+#ifdef CONFIG_IP_VS_IPV6
+ if (af == AF_INET6)
+ addr_fold = addr->ip6[0]^addr->ip6[1]^
+ addr->ip6[2]^addr->ip6[3];
+#endif
+ return hash_32(ntohs(port) + ntohl(addr_fold), 32) % IP_VS_CSH_TAB_SIZE;
+}
+
+
+/*
+ * Get ip_vs_dest associated with supplied parameters.
+ */
+static inline struct ip_vs_dest *
+ip_vs_csh_get(struct ip_vs_service *svc, struct ip_vs_csh_state *s,
+ const union nf_inet_addr *addr, __be16 port)
+{
+ unsigned int hash = ip_vs_csh_hashkey(svc->af, addr, port);
+ struct ip_vs_dest *dest = rcu_dereference(s->buckets[hash].dest);
+
+ return (!dest || is_unavailable(dest)) ? NULL : dest;
+}
+
+/*
+ * For provided destination, return the "j"th element of its permutation.
+ */
+static inline u32
+ip_vs_csh_permutation(struct ip_vs_dest *d, int j)
+{
+ u32 offset, skip;
+ __be32 addr_fold = d->addr.ip;
+
+#ifdef CONFIG_IP_VS_IPV6
+ if (d->af == AF_INET6)
+ addr_fold = d->addr.ip6[0]^d->addr.ip6[1]^
+ d->addr.ip6[2]^d->addr.ip6[3];
+#endif
+ addr_fold = ntohl(addr_fold) + ntohs(d->port);
+ offset = hash_32(addr_fold, 32) % IP_VS_CSH_TAB_SIZE;
+ skip = (hash_32(addr_fold + 1, 32) % (IP_VS_CSH_TAB_SIZE - 1)) + 1;
+ return (offset + j * skip) % IP_VS_CSH_TAB_SIZE;
+}
+
+
+/*
+ * Flush all the hash buckets of the specified table.
+ */
+static void ip_vs_csh_flush(struct ip_vs_csh_state *s)
+{
+ int i;
+ struct ip_vs_csh_bucket *b;
+ struct ip_vs_dest *dest;
+
+ b = &s->buckets[0];
+ for (i=0; i<IP_VS_CSH_TAB_SIZE; i++) {
+ dest = rcu_dereference_protected(b->dest, 1);
+ if (dest) {
+ ip_vs_dest_put(dest);
+ RCU_INIT_POINTER(b->dest, NULL);
+ }
+ b++;
+ }
+}
+
+
+/*
+ * Assign all the hash buckets of the specified table with the service.
+ */
+static int
+ip_vs_csh_reassign(struct ip_vs_csh_state *s, struct ip_vs_service *svc)
+{
+ int n, c, i, j;
+ struct ip_vs_csh_bucket *b;
+ struct list_head *p = &svc->destinations;
+ struct ip_vs_dest *dest, *olddest;
+ int num_dests = svc->num_dests;
+ int d_count, weight;
+ int *next = NULL;
+
+ /* Special case: no real servers */
+ if (list_empty(p)) {
+ ip_vs_csh_flush(s);
+ return 0;
+ }
+
+ /* For each destination, reset the position in the permutation
+ * list. */
+ next = kzalloc(sizeof(int) * num_dests, GFP_KERNEL);
+ if (next == NULL)
+ return -ENOMEM;
+
+ /* For each bucket, flip the assigned bit: the destination has
+ * not been set. */
+ for (n=0, b = &s->buckets[0];
+ n<IP_VS_CSH_TAB_SIZE;
+ n++, b++) {
+ b->assigned = false;
+ }
+
+ d_count = 0;
+ i = 0;
+ j = 0;
+ n = 0;
+ while (true) {
+ if (p == &svc->destinations)
+ p = p->next;
+ dest = list_entry(p, struct ip_vs_dest, n_list);
+ weight = atomic_read(&dest->weight);
+
+ if (weight > 0) {
+ /* Find the next preferred bucket for the destination. */
+ ip_vs_dest_hold(dest);
+ do {
+ c = ip_vs_csh_permutation(dest, next[i]);
+ b = &s->buckets[c];
+ next[i]++;
+ } while (b->assigned);
+
+ /* Assign the bucket. */
+ b->assigned = 1;
+ olddest = rcu_dereference_protected(b->dest, 1);
+ if (olddest)
+ ip_vs_dest_put(olddest);
+ RCU_INIT_POINTER(b->dest, dest);
+
+ IP_VS_DBG_BUF(6, "CSH: assigned c: %d dest: %s:%d weight: %d\n",
+ c, IP_VS_DBG_ADDR(dest->af, &dest->addr), ntohs(dest->port),
+ atomic_read(&dest->weight));
+ if (++n == IP_VS_CSH_TAB_SIZE) break;
+ }
+
+ if (++j == num_dests && n == 0) {
+ IP_VS_DBG(6, "CSH: all servers have 0 weight\n");
+ ip_vs_csh_flush(s);
+ break;
+ }
+
+ /* Don't move to next dest until filling weight */
+ if (++d_count >= weight) {
+ p = p->next;
+ i = (i + 1) % num_dests;
+ d_count = 0;
+ }
+ }
+
+ kfree(next);
+ return 0;
+}
+
+
+static int ip_vs_csh_init_svc(struct ip_vs_service *svc)
+{
+ struct ip_vs_csh_state *s;
+
+ /* allocate the SH table for this service */
+ s = kzalloc(sizeof(struct ip_vs_csh_state), GFP_KERNEL);
+ if (s == NULL)
+ return -ENOMEM;
+
+ svc->sched_data = s;
+ IP_VS_DBG(6, "CSH: hash table (memory=%zdbytes) allocated for "
+ "current service\n",
+ sizeof(struct ip_vs_csh_bucket)*IP_VS_CSH_TAB_SIZE);
+
+ /* assign the hash buckets with current dests */
+ ip_vs_csh_reassign(s, svc);
+
+ return 0;
+}
+
+
+static void ip_vs_csh_done_svc(struct ip_vs_service *svc)
+{
+ struct ip_vs_csh_state *s = svc->sched_data;
+
+ /* got to clean up hash buckets here */
+ ip_vs_csh_flush(s);
+
+ /* release the table itself */
+ kfree_rcu(s, rcu_head);
+ IP_VS_DBG(6, "CSH: hash table (memory=%zdbytes) released\n",
+ sizeof(struct ip_vs_csh_bucket)*IP_VS_CSH_TAB_SIZE);
+}
+
+
+static int ip_vs_csh_dest_changed(struct ip_vs_service *svc,
+ struct ip_vs_dest *dest)
+{
+ struct ip_vs_csh_state *s = svc->sched_data;
+
+ /* assign the hash buckets with the updated service */
+ ip_vs_csh_reassign(s, svc);
+
+ return 0;
+}
+
+/*
+ * Consistent Source Hashing scheduling with Maglev
+ */
+static struct ip_vs_dest *
+ip_vs_csh_schedule(struct ip_vs_service *svc, const struct sk_buff *skb,
+ struct ip_vs_iphdr *iph)
+{
+ struct ip_vs_dest *dest;
+ struct ip_vs_csh_state *s;
+ __be16 port = 0;
+ const union nf_inet_addr *hash_addr;
+
+ hash_addr = ip_vs_iph_inverse(iph) ? &iph->daddr : &iph->saddr;
+ port = ip_vs_get_port(skb, iph);
+
+ s = (struct ip_vs_csh_state *) svc->sched_data;
+ dest = ip_vs_csh_get(svc, s, hash_addr, port);
+
+ if (!dest) {
+ ip_vs_scheduler_err(svc, "no destination available");
+ return NULL;
+ }
+
+ IP_VS_DBG_BUF(6, "CSH: source IP address %s:%d --> server %s:%d\n",
+ IP_VS_DBG_ADDR(svc->af, hash_addr),
+ ntohs(port),
+ IP_VS_DBG_ADDR(dest->af, &dest->addr),
+ ntohs(dest->port));
+
+ return dest;
+}
+
+
+/*
+ * IPVS CSH Scheduler structure
+ */
+static struct ip_vs_scheduler ip_vs_csh_scheduler =
+{
+ .name = "csh",
+ .refcnt = ATOMIC_INIT(0),
+ .module = THIS_MODULE,
+ .n_list = LIST_HEAD_INIT(ip_vs_csh_scheduler.n_list),
+ .init_service = ip_vs_csh_init_svc,
+ .done_service = ip_vs_csh_done_svc,
+ .add_dest = ip_vs_csh_dest_changed,
+ .del_dest = ip_vs_csh_dest_changed,
+ .upd_dest = ip_vs_csh_dest_changed,
+ .schedule = ip_vs_csh_schedule,
+};
+
+
+static int __init ip_vs_csh_init(void)
+{
+ return register_ip_vs_scheduler(&ip_vs_csh_scheduler);
+}
+
+
+static void __exit ip_vs_csh_cleanup(void)
+{
+ unregister_ip_vs_scheduler(&ip_vs_csh_scheduler);
+ synchronize_rcu();
+}
+
+
+module_init(ip_vs_csh_init);
+module_exit(ip_vs_csh_cleanup);
+MODULE_LICENSE("GPL");
diff --git a/net/netfilter/ipvs/ip_vs_sh.c b/net/netfilter/ipvs/ip_vs_sh.c
index 16aaac6eedc9..b67565d12b6a 100644
--- a/net/netfilter/ipvs/ip_vs_sh.c
+++ b/net/netfilter/ipvs/ip_vs_sh.c
@@ -276,36 +276,6 @@ static int ip_vs_sh_dest_changed(struct ip_vs_service *svc,
}
-/* Helper function to get port number */
-static inline __be16
-ip_vs_sh_get_port(const struct sk_buff *skb, struct ip_vs_iphdr *iph)
-{
- __be16 _ports[2], *ports;
-
- /* At this point we know that we have a valid packet of some kind.
- * Because ICMP packets are only guaranteed to have the first 8
- * bytes, let's just grab the ports. Fortunately they're in the
- * same position for all three of the protocols we care about.
- */
- switch (iph->protocol) {
- case IPPROTO_TCP:
- case IPPROTO_UDP:
- case IPPROTO_SCTP:
- ports = skb_header_pointer(skb, iph->len, sizeof(_ports),
- &_ports);
- if (unlikely(!ports))
- return 0;
-
- if (likely(!ip_vs_iph_inverse(iph)))
- return ports[0];
- else
- return ports[1];
- default:
- return 0;
- }
-}
-
-
/*
* Source Hashing scheduling
*/
@@ -323,7 +293,7 @@ ip_vs_sh_schedule(struct ip_vs_service *svc, const struct sk_buff *skb,
IP_VS_DBG(6, "ip_vs_sh_schedule(): Scheduling...\n");
if (svc->flags & IP_VS_SVC_F_SCHED_SH_PORT)
- port = ip_vs_sh_get_port(skb, iph);
+ port = ip_vs_get_port(skb, iph);
s = (struct ip_vs_sh_state *) svc->sched_data;
--
2.16.3
^ permalink raw reply related
* Re: [PATCH net 0/2] net: bgmac: Couple of sparse warnings
From: David Miller @ 2018-04-02 17:18 UTC (permalink / raw)
To: f.fainelli
Cc: netdev, scott.branden, andrew, abhishek.shah, ray.jui,
linux-kernel, jon.mason, nbd
In-Reply-To: <f9e08df4-f9fa-25d1-ad3e-a0d221e92b6d@gmail.com>
From: Florian Fainelli <f.fainelli@gmail.com>
Date: Mon, 2 Apr 2018 10:17:36 -0700
> On 04/01/2018 07:21 PM, David Miller wrote:
>> From: Florian Fainelli <f.fainelli@gmail.com>
>> Date: Sun, 1 Apr 2018 10:26:28 -0700
>>
>>> This patch series fixes a couple of warnings reported by sparse, should not
>>> cause any functional problems since bgmac is typically used on LE platforms
>>> anyway.
>>
>> Series applied, thanks Florian.
>
> I did not see this in net/master or included in your recent pull request
> to Linus, not a big deal, but I just want to make sure this is not lost
> somewhere ;)
All changes go into net-next as I prepare for a merge window pull request.
^ permalink raw reply
* Re: [PATCH net 0/2] net: bgmac: Couple of sparse warnings
From: Florian Fainelli @ 2018-04-02 17:17 UTC (permalink / raw)
To: David Miller
Cc: netdev, scott.branden, andrew, abhishek.shah, ray.jui,
linux-kernel, jon.mason, nbd
In-Reply-To: <20180401.222128.167330838381844376.davem@davemloft.net>
On 04/01/2018 07:21 PM, David Miller wrote:
> From: Florian Fainelli <f.fainelli@gmail.com>
> Date: Sun, 1 Apr 2018 10:26:28 -0700
>
>> This patch series fixes a couple of warnings reported by sparse, should not
>> cause any functional problems since bgmac is typically used on LE platforms
>> anyway.
>
> Series applied, thanks Florian.
I did not see this in net/master or included in your recent pull request
to Linus, not a big deal, but I just want to make sure this is not lost
somewhere ;)
--
Florian
^ permalink raw reply
* [ANNOUNCE] iproute 4.16
From: Stephen Hemminger @ 2018-04-02 17:13 UTC (permalink / raw)
To: netdev, linux-kernel
Release of iproute2 for Linux 4.16
Lastest version iproute2 utility to support new features in Linux 4.16.
This release covers a wide range of small changes. Lots of changes to:
bpf, vrf, devlink, flower, and rdma support. Also more changes to
ss and JSON support enhancements.
The tarball can be dowloaded from:
https://www.kernel.org/pub/linux/utils/net/iproute2/iproute2-4.16.0.tar.gz
The upstream repositories for master and net-next branch are now
split. Master branch is at:
git://git.kernel.org/pub/scm/network/iproute2/iproute2.gti
and patches for next release are in (master branch):
git://git.kernel.org/pub/scm/network/iproute2/iproute2-next.git
There are symlinks so that old paths still work.
Report problems (or enhancements) to the netdev@vger.kernel.org mailing list.
---
Adam Vyskovsky (1):
tc: fix an off-by-one error while printing tc actions
Alexander Alemayhu (4):
man: add examples to ip.8
man: fix man page warnings
tc: bpf: add ppc64 and sparc64 to list of archs with eBPF support
examples/bpf: update list of examples
Alexander Aring (5):
tc: m_ife: allow ife type to zero
tc: m_ife: print IEEE ethertype format
tc: m_ife: report about kernels default type
man: tc-ife: add default type note
tc: m_ife: fix match tcindex parsing
Alexander Heinlein (1):
ip/xfrm: Fix deleteall when having many policies installed
Alexander Zubkov (5):
iproute: list/flush/save filter also by metric
iproute: "list/flush/save default" selected all of the routes
treat "default" and "all"/"any" addresses differenty
treat "default" and "all"/"any" addresses differenty
arrange prefix parsing code after redundant patches
Alexey Kodanev (1):
fix typo in ip-xfrm man page, rmd610 -> rmd160
Amir Vadai (14):
libnetlink: Introduce rta_getattr_be*()
tc/cls_flower: Classify packet in ip tunnels
tc/act_tunnel: Introduce ip tunnel action
tc/pedit: Fix a typo in pedit usage message
tc/pedit: Extend pedit to specify offset relative to mac/transport headers
tc/pedit: Introduce 'add' operation
tc/pedit: p_ip: introduce editing ttl header
tc/pedit: Support fields bigger than 32 bits
tc/pedit: p_eth: ETH header editor
tc/pedit: p_tcp: introduce pedit tcp support
pedit: Fix a typo in warning
pedit: Do not allow using retain for too big fields
pedit: Check for extended capability in protocol parser
pedit: Introduce ipv6 support
Amritha Nambiar (4):
tc/mqprio: Offload mode and shaper options in mqprio
flower: Represent HW traffic classes as classid values
man: tc-mqprio: add documentation for new offload options
man: tc-flower: add explanation for hw_tc option
Andreas Henriksson (1):
ss: fix help/man TCP-STATE description for listening
Antonio Quartulli (2):
ss: fix crash when skipping disabled header field
ss: fix NULL pointer access when parsing unix sockets with oldformat
Arkadi Sharshevsky (15):
devlink: Change netlink attribute validation
devlink: Add support for pipeline debug (dpipe)
bridge: Distinguish between externally learned vs offloaded FDBs
devlink: Make match/action parsing more flexible
devlink: Add support for special format protocol headers
devlink: Add support for protocol IPv4/IPv6/Ethernet special formats
devlink: Ignore unknown attributes
devlink: Change empty line indication with indentations
devlink: mnlg: Add support for extended ack
devlink: Add support for devlink resource abstraction
devlink: Add support for hot reload
devlink: Move dpipe context from heap to stack
devlink: Add support for resource/dpipe relation
devlink: Update man pages and add resource man
devlink: Fix error reporting
Asbjørn Sloth Tønnesen (2):
testsuite: refactor kernel config search
testsuite: search for kernel config in /boot
Baruch Siach (3):
tc: add missing limits.h header
ip: include libc headers first
lib: fix multiple strlcpy definition
Benjamin LaHaise (2):
f_flower: don't set TCA_FLOWER_KEY_ETH_TYPE for "protocol all"
tc: flower: support for matching MPLS labels
Boris Pismenny (1):
ip xfrm: Add xfrm state crypto offload
Casey Callendrello (1):
netns: make /var/run/netns bind-mount recursive
Chris Mi (3):
tc: fix command "tc actions del" hang issue
lib/libnetlink: Add a new function rtnl_talk_iov
tc: Add batchsize feature for filter and actions
Christian Brauner (1):
netns: allow negative nsid
Christian Ehrhardt (2):
tests: read limited amount from /dev/urandom
tests: make sure rand_dev suffix has 6 chars
Christoph Paasch (1):
ip: add fastopen_no_cookie option to ip route
Craig Gallek (2):
gre6: fix copy/paste bugs in GREv6 attribute manipulation
iplink: Expose IFLA_*_FWMARK attributes for supported link types
Cyrill Gorcunov (2):
libnetlink: Add test for error code returned from netlink reply
ss: Add inet raw sockets information gathering via netlink diag interface
Daniel Borkmann (19):
bpf: make tc's bpf loader generic and move into lib
bpf: check for owner_prog_type and notify users when differ
bpf: add initial support for attaching xdp progs
{f,m}_bpf: dump tag over insns
bpf: test for valid type in bpf_get_work_dir
bpf: add support for generic xdp
bpf: update printing of generic xdp mode
bpf: dump error to the user when retrieving pinned prog fails
bpf: indicate lderr when bpf_apply_relo_data fails
bpf: remove obsolete samples
bpf: support loading map in map from obj
bpf: dump id/jited info for cls/act programs
bpf: improve error reporting around tail calls
bpf: fix mnt path when from env
bpf: unbreak libelf linkage for bpf obj loader
bpf: minor cleanups for bpf_trace_pipe
bpf: consolidate dumps to use bpf_dump_prog_info
json: move json printer to common library
bpf: properly output json for xdp
David Ahern (46):
Makefile: really suppress printing of directories
lib bpf: Add support for BPF_PROG_ATTACH and BPF_PROG_DETACH
bpf: export bpf_prog_load
bpf: Add BPF_ macros
move cmd_exec to lib utils
Add filesystem APIs to lib
change name_is_vrf to return index
libnetlink: Add variant of rtnl_talk that does not display RTNETLINK answers error
Introduce ip vrf command
Fix compile warning in get_addr_1
ip vrf: Move kernel config hint to prog_load failure
ip vrf: Refactor ipvrf_identify
ip vrf: Fix reset to default VRF
ip netns: Reset vrf to default VRF on namespace switch
ip vrf: Fix run-on error message on mkdir failure
ip vrf: Improve cgroup2 error messages
ip vrf: Improve bpf error messages
Add support for rt_protos.d
rttable: Fix invalid range checking when table id is converted to u32
ip route: error out on multiple via without nexthop keyword
ip route: Make name of protocol 0 consistent
ip vrf: Handle vrf in a cgroup hierarchy
ip netns: refactor netns_identify
ip vrf: Handle VRF nesting in namespace
ip vrf: Detect invalid vrf name in pids command
ip: Add support for MPLS netconf
ip route: Add missing space between nexthop and via for mpls multipath routes
netlink: Add flag to suppress print of nlmsg error
ip netconf: Show all address families by default in dumps
ip netconf: show all families on dev request
ip vrf: Add command name next to pid
ip vrf: Add command name next to pid
ip: mpls: fix printing of mpls labels
ip: add support for more MPLS labels
netlink: Change rtnl_dump_done to always show error
ip address: Export ip_linkaddr_list
ip address: Move filter struct to ip_common.h
ip address: Change print_linkinfo_brief to take filter as an input
ip vrf: Add show command
lib: Dump ext-ack string by default
libnetlink: Fix extack attribute parsing
libnetlink: Handle extack messages for non-error case
Update headers from 4.15-rc3
Restore --no-print-directory option for silent builds
Update kernel headers to 4.15-rc8
libnetlink: __rtnl_talk_iov should only loop max iovlen times
David Forster (1):
ip6tunnel: Align ipv6 tunnel key display with ipv4
David Lebrun (9):
ip: add ip sr command to control SR-IPv6 internal structures
iproute: add support for SR-IPv6 lwtunnel encapsulation
man: add documentation for IPv6 SR commands
iproute: fix compilation issue with older glibc
iproute: add helper functions for SRH processing
iproute: add support for SRv6 local segment processing
man: add documentation for seg6local lwt
iproute: add support for seg6 l2encap mode
man: add documentation for seg6 l2encap mode
David Michael (1):
tc: make tc linking depend on libtc.a
Davide Caratti (4):
tc: m_csum: add support for SCTP checksum
tc: fix typo in tc-tcindex man page
tc: bash-completion: add missing 'classid' keyword
tc: fix parsing of the control action
Donald Sharp (2):
ip: mroute: Add table output to show command
ip: Properly display AF_BRIDGE address information for neighbor events
Eli Cohen (1):
iplink: Update usage in help message
Eric Dumazet (2):
ss: print tcpi_rcv_mss and tcpi_advmss
tc: fq: support low_rate_threshold attribute
Filip Moc (1):
ip fou: pass family attribute as u8
Gal Pressman (3):
iplink: Validate minimum tx rate is less than maximum tx rate
ipaddress: Make sure VF min/max rate API is supported before using it
man: Document the meaning of zero in min/max_tx_rate parameters
Girish Moodalbail (2):
vxlan: Add support for modifying vxlan device attributes
geneve: support for modifying geneve device
Greg Greenway (1):
Add "show" subcommand to "ip fou"
Hadar Hen Zion (4):
tc/cls_flower: Add dest UDP port to tunnel params
tc/m_tunnel_key: Add dest UDP port to tunnel key action
tc/cls_flower: Add to the usage encapsulation dest UDP port
tc/m_tunnel_key: Add to the usage encapsulation dest UDP port
Hangbin Liu (12):
iplink: bridge: add support for IFLA_BR_FDB_FLUSH
iplink: bridge: add support for IFLA_BR_VLAN_STATS_ENABLED
iplink: bridge: add support for IFLA_BR_MCAST_STATS_ENABLED
iplink: bridge: add support for IFLA_BR_MCAST_IGMP_VERSION
iplink: bridge: add support for IFLA_BR_MCAST_MLD_VERSION
iplink: bridge_slave: add support for IFLA_BRPORT_FLUSH
man: ip-link.8: Document bridge_slave fdb_flush option
man: ip-link.8: Document bridge_slave fdb_flush option
ip neigh: allow flush FAILED neighbour entry
utils: return default family when rtm_family is not RTNL_FAMILY_IPMR/IP6MR
lib/libnetlink: re malloc buff if size is not enough
lib/libnetlink: update rtnl_talk to support malloc buff at run time
Ido Schimmel (1):
iproute: Display offload indication per-nexthop
Ivan Delalande (2):
utils: add print_escape_buf to format and print arbitrary bytes
ss: print MD5 signature keys configured on TCP sockets
Ivan Vecera (2):
lib: make resolve_hosts variable common
devlink: add batch command support
Jakub Kicinski (22):
bpf: print xdp offloaded mode
bpf: add xdpdrv for requesting XDP driver mode
bpf: allow requesting XDP HW offload
bpf: initialize the verifier log
bpf: pass program type in struct bpf_cfg_in
bpf: keep parsed program mode in struct bpf_cfg_in
bpf: allocate opcode table in struct bpf_cfg_in
bpf: split parse from program loading
bpf: rename bpf_parse_common() to bpf_parse_and_load_common()
bpf: expose bpf_parse_common() and bpf_load_common()
bpf: allow loading programs for a specific ifindex
{f, m}_bpf: don't allow specifying multiple bpf programs
tc_filter: resolve device name before parsing filter
f_bpf: communicate ifindex for eBPF offload
iplink: communicate ifindex for xdp offload
ip: link: add support for netdevsim device type
tc: red: allow setting th_min and th_max to the same value
bpf: support map offload
tc: red: JSON-ify RED output
tc: prio: JSON-ify prio output
ip: address: fix stats64 JSON object name
tc: fix second printing of requeues
Jakub Sitnicki (1):
iproute: Remove useless check for nexthop keyword when setting RTA_OIF
Jamal Hadi Salim (6):
utils: make hex2mem available to all users
actions: Add support for user cookies
tc actions: Improved batching and time filtered dumping
actions: update the man page to describe the "since" time filter
tc/actions: introduce support for jump action
tc: Fix filter protocol output
Jean-Philippe Brucker (1):
ss: fix NULL dereference when rendering without header
Jesus Sanchez-Palencia (1):
man: Clarify idleslope calculation for tc-cbs
Jiri Benc (3):
Revert "man pages: add man page for skbmod action"
tc: m_tunnel_key: reformat the usage text
tc: m_tunnel_key: add csum/nocsum option
Jiri Kosina (2):
iproute2: tc: introduce build dependency on libnetlink
iproute2: add support for invisible qdisc dumping
Jiri Pirko (28):
devlink: use DEVLINK_CMD_ESWITCH_* instead of DEVLINK_CMD_ESWITCH_MODE_*
tc_filter: add support for chain index
tc: actions: add helpers to parse and print control actions
tc/actions: introduce support for goto chain action
tc: flower: add support for tcp flags
tc: gact: fix control action parsing
tc: add support for TRAP action
tc: don't print error message on miss when parsing action with default
tc: move action cookie print out of the stats if
tc: remove action cookie len from printout
tc: jsonify qdisc core
tc: jsonify stats2
tc: jsonify fq_codel qdisc
tc: jsonify htb qdisc
tc: jsonify filter core
tc: jsonify flower filter
tc: jsonify matchall filter
tc: jsonify actions core
tc: jsonify gact action
tc: jsonify mirred action
tc: jsonify vlan action
man: add -json option to tc manpage
tc: fix json array closing
tc: introduce tc_qdisc_block_exists helper
tc: introduce support for block-handle for filter operations
tc: implement ingress/egress block index attributes for qdiscs
devlink: fix port new monitoring message typo
man: fix devlink object list
Joe Stringer (1):
bpf: Print section name when hitting non ld64 issue
Jon Maloy (1):
tipc: change family attribute from u32 to u16
Julien Fortin (31):
ip: vfinfo: remove code duplication for IFLA_VF_RSS_QUERY_EN
color: add new COLOR_NONE and disable_color function
ip: add new command line argument -json (mutually exclusive with -color)
json_writer: add new json handlers (null, float with format, lluint, hu)
ip: ip_print: add new API to print JSON or regular format output
ip: ipaddress.c: add support for json output
ip: iplink.c: open/close json obj for ip -brief -json link show dev DEV
ip: iplink_bond.c: add json output support
ip: iplink_bond_slave.c: add json output support (info_slave_data)
ip: iplink_hsr.c: add json output support
ip: iplink_bridge.c: add json output support
ip: iplink_bridge_slave.c: add json output support
ip: iplink_can.c: add json output support
ip: iplink_geneve.c: add json output support
ip: iplink_ipoib.c: add json output support
ip: iplink_ipvlan.c: add json output support
ip: iplink_vrf.c: add json output support
ip: iplink_vxlan.c: add json output support
ip: iplink_xdp.c: add json output support
ip: ipmacsec.c: add json output support
ip: link_gre.c: add json output support
ip: link_gre6.c: add json output support
ip: link_ip6tnl.c: add json output support
ip: link_iptnl.c: add json output support
ip: link_vti.c: add json output support
ip: link_vti6.c: add json output support
ip: link_macvlan.c: add json output support
ip: iplink_vlan.c: add json output support
ip: ipaddress: fix missing space after prefixlen
lib: json_print: rework 'new_json_obj' drop FILE* argument
lib: json_print: rework 'new_json_obj' drop FILE* argument
Khem Raj (1):
tc: include stdint.h explicitly for UINT16_MAX
Krister Johansen (3):
iptunnel: document mode parameter for sit tunnels
iptunnel: add support for mpls/ip to sit tunnels
iptunnel: add support for mpls/ip to ipip tunnels
Leon Romanovsky (30):
devlink: Call dl_free in early exit case
utils: Move BIT macro to common header
rdma: Add basic infrastructure for RDMA tool
rdma: Add dev object
rdma: Add link object
rdma: Add json and pretty outputs
rdma: Implement json output for dev object
rdma: Add json output to link object
rdma: Add initial manual for the tool
ip: Fix compilation break on old systems
rdma: Reduce scope of _dev_map_lookup call
rdma: Protect dev_map_lookup from wrong input
rdma: Move per-device handler function to generic code
rdma: Fix misspelled SYS_IMAGE_GUID
rdma: Check that port index exists before operate on link layer
rdma: Print supplied device name in case of wrong name
rdma: Get rid of dev_map_free call
rdma: Rename free function to be rd_cleanup
rdma: Rename rd_free_devmap to be rd_free
rdma: Move link execution logic to common code
rdma: Add option to provide "-" sign for the port number
rdma: Make visible the number of arguments
rdma: Add filtering infrastructure
rdma: Set pointer to device name position
rdma: Allow external usage of compare string routine
rdma: Add resource tracking summary
rdma: Add QP resource tracking information
rdma: Document resource tracking
rdma: Check return value of strdup call
rdma: Avoid memory leak for skipper resource
Lorenzo Colitti (3):
ip: support UID range routing.
iproute: build more easily on Android
iproute2: fixes to compile on some systems.
Lubomir Rintel (1):
lib/namespace: don't try to mount rw /sys over a ro one
Luca Boccassi (6):
man: drop references to Debian-specific paths
man: add more keywords to ip.8 short description
man: ip-address: document 15-char limit for LABEL
man: routel/routef: don't mention filesystem paths
man: fix small formatting errors
Drop capabilities if not running ip exec vrf with libcap
Lucas Bates (2):
man page: add page for skbmod action
Add new man page for tc actions.
Lukas Braun (1):
man: ip-route.8: Mention that lower metric means higher priority
Mahesh Bandewar (1):
ip/ipvlan: enhance ability to add mode flags to existing modes
Martin KaFai Lau (1):
bpf: Add support for IFLA_XDP_PROG_ID
Masatake YAMATO (1):
ss: prepare rth when killing inet sock
Matteo Croce (3):
tc: fix typo in manpage
netns: avoid directory traversal
netns: more input validation
Matthias Schiffer (1):
devlink, rdma, tipc: properly define TARGETS without HAVE_MNL
Michal Kubecek (4):
iplink: check for message truncation in iplink_get()
iplink: double the buffer size also in iplink_get()
ip xfrm: use correct key length for netlink message
ip maddr: fix filtering by device
Michal Kubeček (1):
routel: fix infinite loop in line parser
Michal Privoznik (1):
tc: util: Don't call NEXT_ARG_FWD() in __parse_action_control()
Mike Frysinger (2):
mark shell scripts +x
ifcfg/rtpr: convert to POSIX shell
Neal Cardwell (1):
ss: print new tcp_info fields: delivery_rate and app_limited
Nicolas Dichtel (1):
link_gre6: really support encaplimit option
Nikhil Gajendrakumar (1):
bridge: this patch adds json support for bridge mdb show
Nikolay Aleksandrov (7):
bridge: fdb: add state filter support
ipmroute: add support for RTNH_F_UNRESOLVED
iplink: add support for xstats subcommand
iplink: bridge: add support for displaying xstats
iplink: bridge_slave: add support for displaying xstats
ip: bridge_slave: add support for per-port group_fwd_mask
ip: bridge_slave: add neigh_suppress to the type help and
Nishanth Devarajan (1):
tc: B.W limits can now be specified in %.
Nogah Frankel (4):
ifstat: Includes reorder
ifstat: Add extended statistics to ifstat
ifstat: Add "sw only" extended statistics to ifstat
ifstat: Add xstat to ifstat man page
Oliver Hartkopp (3):
ip: link add vxcan support
ip: add vxcan to help text
ip: add vxcan/veth to ip-link man page
Or Gerlitz (4):
tc: matchall: Print skip flags when dumping a filter
tc/pedit: p_udp: introduce pedit udp support
tc: Reflect HW offload status
tc: flower: add support for matching on ip tos and ttl
Paul Blakey (2):
tc: flower: support matching flags
tc: flower: Refactor matching flags to be more user friendly
Petr Vorel (8):
ip: fix igmp parsing when iface is long
color: use "light" colors for dark background
tests: Remove bashisms (s/source/.)
tests: Revert back /bin/sh in shebang
color: Fix ip segfault when using --color switch
color: Fix another ip segfault when using --color switch
color: Cleanup code to remove "magic" offset + 7
color: Rename enum
Phil Dibowitz (1):
Show 'external' link mode in output
Phil Sutter (113):
ss: Mark fall through in arg parsing switch()
ss: Drop empty lines in UDP output
ss: Add missing tab when printing UNIX details
ss: Use sockstat->type in all socket types
ss: introduce proc_ctx_print()
ss: Drop list traversal from unix_stats_print()
ss: Eliminate unix_use_proc()
ss: Turn generic_proc_open() wrappers into macros
ss: Make tmr_name local to tcp_timer_print()
ss: Make user_ent_hash_build_init local to user_ent_hash_build()
ss: Make some variables function-local
ss: Make slabstat_ids local to get_slabstat()
ss: Get rid of useless goto in handle_follow_request()
ss: Get rid of single-fielded struct snmpstat
ss: Make unix_state_map local to unix_show()
ss: Make sstate_name local to sock_state_print()
ss: Make sstate_namel local to scan_state()
ss: unix_show: No need to initialize members of calloc'ed structs
tc: m_xt: Fix segfault with iptables-1.6.0
tc: m_xt: Drop needless parentheses from #if checks
man: tc-csum.8: Fix example
man: ip-route.8: Fix 'expires' indenting
testsuite: Generate nlmsg blob at runtime
testsuite: Search kernel config in modules dir also
man: ss.8: Add missing protocols to description of -A
ip: link: bond: Fix whitespace in help text
ip: link: macvlan: Add newline to help output
ip: link: Unify link type help functions a bit
ip: link: Add missing link type help texts
man: ip-link: Specify min/max values for bridge slave priority and cost
man: ip-rule.8: Further clarify how to interpret priority value
man: ip.8: Document -brief flag
tc: m_xt: Prevent a segfault in libipt
man: Collect names of man pages automatically
bpf: Make bytecode-file reading a little more robust
Really fix get_addr() and get_prefix() error messages
tc-simple: Fix documentation
examples: Some shell fixes to cbq.init
ifcfg: Quote left-hand side of [ ] expression
tipc/node: Fix socket fd check in cmd_node_get_addr()
iproute_lwtunnel: Argument to strerror must be positive
iproute_lwtunnel: csum_mode value checking was ineffective
ss: Don't leak fd in tcp_show_netlink_file()
tc/em_ipset: Don't leak sockfd on error path
ipvrf: Fix error path of vrf_switch()
ifstat: Fix memleak in error case
ifstat: Fix memleak in dump_kern_db() for json output
ss: Fix potential memleak in unix_stats_print()
tipc/bearer: Fix resource leak in error path
devlink: No need for this self-assignment
ipntable: No need to check and assign to parms_rta
iproute: Fix for missing 'Oifs:' display
lib/rt_names: Drop dead code in rtnl_rttable_n2a()
ss: Skip useless check in parse_hostcond()
ss: Drop useless assignment
tc/m_gact: Drop dead code
ipaddress: Avoid accessing uninitialized variable lcl
iplink_can: Prevent overstepping array bounds
ipmaddr: Avoid accessing uninitialized data
ss: Use C99 initializer in netlink_show_one()
netem/maketable: Check return value of fstat()
tc/q_multiq: Don't pass garbage in TCA_OPTIONS
iproute: Check mark value input
iplink_vrf: Complain if main table is not found
devlink: Check return code of strslashrsplit()
lib/bpf: Don't leak fp in bpf_find_mntpt()
ifstat, nstat: Check fdopen() return value
tc/q_netem: Don't dereference possibly NULL pointer
tc/tc_filter: Make sure filter name is not empty
tipc/bearer: Prevent NULL pointer dereference
ipntable: Avoid memory allocation for filter.name
lib/fs: Fix format string in find_fs_mount()
lib/inet_proto: Review inet_proto_{a2n,n2a}()
lnstat_util: Simplify alloc_and_open() a bit
tc/m_xt: Fix for potential string buffer overflows
lib/ll_map: Choose size of new cache items at run-time
ss: Make struct tcpstat fields 'timer' and 'timeout' unsigned
ss: Make sure scanned index value to unix_state_map is sane
netem/maketable: Check return value of fscanf()
lib/bpf: Check return value of write()
lib/fs: Fix and simplify make_path()
lib/libnetlink: Don't pass NULL parameter to memcpy()
ss: Fix for added diag support check
link_gre6: Fix for changing tclass/flowlabel
link_gre6: Print the tunnel's tclass setting
utils: Implement strlcpy() and strlcat()
Convert the obvious cases to strlcpy()
Convert harmful calls to strncpy() to strlcpy()
ipxfrm: Replace STRBUF_CAT macro with strlcat()
tc_util: No need to terminate an snprintf'ed buffer
lnstat_util: Make sure buffer is NUL-terminated
lib/bpf: Fix bytecode-file parsing
utils: strlcpy() and strlcat() don't clobber dst
ipaddress: Fix segfault in 'addr showdump'
ip-route: Fix for listing routes with RTAX_LOCK attribute
ip{6, }tunnel: Avoid copying user-supplied interface name around
tc: flower: No need to cache indev arg
Check user supplied interface name lengths
ss: Distinguish between IPv4 and IPv6 wildcard sockets
ss: Detect IPPROTO_ICMPV6 sockets
tc_util: Drop needless pointer check
tc_util: Silence spurious compiler warning
link_gre6: Detect invalid encaplimit values
man: tc-csum.8: Fix inconsistency in example description
tc: Optimize gact action lookup
Remove leftovers from removed Latex documentation
ip-link: Fix use after free in nl_get_ll_addr_len()
man: ip-route.8: ssthresh parameter is NUMBER
man: tc-vlan.8: Fix for incorrect example
ssfilter: Eliminate shift/reduce conflicts
ss: Allow excluding a socket table from being queried
ss: Put filter DB parsing into a separate function
ss: Drop filter_default_dbs()
Philip Prindeville (1):
iproute2: add support for GRE ignore-df knob
Quentin Monnet (2):
README: update location of git repositories, remove broken info link
README: re-add updated information link
Ralf Baechle (1):
ip: HSR: Fix cut and paste error
Remigiusz Kołłątaj (1):
ip: add handling for new CAN netlink interface
Robert Shearman (6):
iplink: add support for afstats subcommand
man: Fix formatting of vrf parameter of ip-link show command
iproute: Add support for ttl-propagation attribute
iproute: Add support for MPLS LWT ttl attribute
gre: Fix ttl inherit option
vxlan: Make id optional when modifying a link
Roi Dayan (10):
devlink: Add usage help for eswitch subcommand
devlink: Add option to set and show eswitch inline mode
tc: flower: Fix typo and style in flower man page
tc: tunnel_key: Add tc-tunnel_key man page to Makefile
tc: flower: Fix flower output for src and dst ports
tc: flower: Add missing err check when parsing flower options
tc: flower: Fix incorrect error msg about eth type
tc: flower: Fix parsing ip address
devlink: Add json and pretty options to help and man
devlink: Add option to set and show eswitch encapsulation support
Roman Mashak (24):
tc: pass correct conversion specifier to print 'unsigned int' action index.
tc: fixed man page fonts for keywords and variable values
tc: updated man page to reflect filter-id use in filter GET command.
tc: distinguish Add/Replace action operations.
tc: print skbedit action when dumping actions.
tc: fix Makefile to build skbmod
tc: fixed typo in usage text.
tc: updated tc-u32 man page to reflect skip_sw and skip_hw parameters.
tc: updated ife man page.
ss: initialize 'fackets' member of tcpstat structure
bridge: isolate vlans parsing code in a separate API
bridge: dump vlan table information for link
bridge: request vlans along with link information
ip: added missing newline in man page
ip netns: use strtol() instead of atoi()
tc: distinguish Add/Replace qdisc operations
ss: remove duplicate assignment
ss: add missing path MTU parameter
tc: added tc monitor description in man page
tc: updated tc-bpf man page
tc: print actual action for sample action
tc: use get_u32() in psample action to match types
tc: print actual action for connmark action
tc: print index, refcnt & bindcnt for nat action
Roopa Prabhu (6):
ip: extend route get to return matching fib route
iproute: extend route get for mpls routes
iplink: new option to set neigh suppression on a bridge port
iplink: bridge: support bridge port vlan_tunnel attribute
bridge: vlan: support for per vlan tunnel info
bridge: fdb: print NDA_SRC_VNI if available
Sabrina Dubroca (1):
man: ip-link.8: document bridge options
Serhey Popovych (57):
ip/tunnel: Unify setup and accept zero address for local/remote endpoints
ip/tunnel: Use get_addr() instead of get_prefix() for local/remote endpoints
ip: gre: fix IFLA_GRE_LINK attribute sizing
iplink: Improve index parameter handling
iplink: Process "alias" parameter correctly
iplink: Kill redundant network device name checks
ip/tunnel: Use tnl_parse_key() to parse tunnel key
link_ip6tnl: Use IN6ADDR_ANY_INIT to initialize local/remote endpoints
link_vti6: Always add local/remote endpoint attributes
utils: ll_addr: Handle ARPHRD_IP6GRE in ll_addr_n2a()
ip/tunnel: No need to free answer after rtnl_talk() on error
gre,ip6tnl/tunnel: Fix noencap- support
gre6/tunnel: Do not submit garbage in flowinfo
vxcan,veth: Forbid "type" for peer device
ip/tunnel: Document "external" parameter
link_iptnl: Kill code duplication
link_iptnl: Print tunnel mode
link_iptnl: Open "encap" JSON object
ip6/tunnel: Fix tclass output
ip6tnl/tunnel: Do not print obscure flowinfo
ip6/tunnel: Unify tclass printing
ip6/tunnel: Unify flowlabel printing
ip6/tunnel: Unify encap_limit printing
gre6/tunnel: Output flowlabel after tclass
ip6tnl/tunnel: Output hoplimit before encapsulation limit
ipaddress: Use family_name() for better code reuse
iplink: Fix "alias" parameter length calculations
iplink: Use ll_index_to_name() instead of if_indextoname()
ip/tunnel: Correct and unify ttl/hoplimit printing
ip/tunnel: Simplify and unify tos printing
ip/tunnel: Use print_0xhex() instead of print_string()
ip/tunnel: Abstract tunnel encapsulation options printing
gre/tunnel: Print erspan_index using print_uint()
vti/tunnel: Unify ikey/okey printing
vti6/tunnel: Unify and simplify link type help functions
tunnel: Return constant string without copying it
utils: Always specify family for address in get_addr_1()
utils: Always specify family and ->bytelen in get_prefix_1()
utils: Fast inet address classification after get_addr()
iplink_geneve: Get rid of inet_get_addr()
iplink_vxlan: Get rid of inet_get_addr()
ip: Get rid of inet_get_addr()
gre/gre6: Post merge fixes
tunnel: Add space between encap-dport and encap-sport in non-JSON output
iptnl/ip6tnl: Unify ttl/hoplimit parsing routines
vti/vti6: Minor improvements
iplink: Use ll_name_to_index() instead of if_nametoindex()
ip/tunnel: Be consistent when printing tunnel collect metadata
gre/gre6: Unify attribute addition to netlink buffer
utils: Introduce get_addr_rta() and inet_addr_match_rta()
ipaddress: Use inet_addr_match_rta()
iprule: Use inet_addr_match_rta()
ipmroute: Use inet_addr_match_rta()
ipneigh: Use inet_addr_match_rta()
ipl2tp: Use get_addr_rta()
tcp_metric: Use get_addr_rta()
ip/tunnel: Unify local/remote endpoint address printing
Shmulik Ladkani (2):
tc: m_mirred: Add support for ingress redirect/mirror
ip: link_ip6tnl.c/ip6tunnel.c: Support IP6_TNL_F_ALLOW_LOCAL_REMOTE flag
Simon Horman (20):
tc: flower: Support matching on SCTP ports
tc: flower: remove references to eth_type in manpage
tc: flower: document SCTP ip_proto
tc: flower: correct name of ip_proto parameter to flower_parse_port()
tc: flower: make use of flower_port_attr_type() safe and silent
tc: flower: introduce enum flower_endpoint
tc: flower: support matching on ICMP type and code
tc: flower: document that *_ip parameters take a PREFIX as an argument.
tc: flower: Allow *_mac options to accept a mask
tc: flower: document that *_ip parameters take a PREFIX as an argument.
tc: flower: Allow *_mac options to accept a mask
tc: flower: Update dest UDP port documentation
tc: ife: correct spelling of prio in example
tc: flower: Support matching ARP
tc: flower: use correct type when calling flower_icmp_attr_type
tc: flower: Update documentation to indicate ARP takes IPv4 prefixes
tc: flower: provide generic masked u8 parser helper
tc: flower: provide generic masked u8 print helper
tc: flower: support masked ICMP code and type match
tc actions: store and dump correct length of user cookies
Simon Ruderich (3):
man: document ip route get mark
man: document ip fou show
man: document ip xfrm policy nosock
Solio Sarabia (1):
iplink: validate maximum gso_max_size
Stefan Hajnoczi (2):
ss: allow AF_FAMILY constants >32
ss: add AF_VSOCK support
Stefano Brivio (8):
ss: Remove useless width specifier in process context print
ss: Streamline process context printing in netlink_show_one()
ss: Fix width calculations when Netid or State columns are missing
ss: Replace printf() calls for "main" output by calls to helper
ss: Introduce columns lightweight abstraction
ss: Buffer raw fields first, then render them as a table
ss: Implement automatic column width calculation
ss: Fix rendering of continuous output (-E, --events)
Stephen Hemminger (177):
update kernel headers to 4.9-net-next
update net-next headers
tc: flower checkpatch cleanups
Update kernel headers for XDP and tcp_info
update kernel headers from net-next
update kernel headers from net-next
update to net-next headers (pre 4.10 rc)
lwtunnel: style cleanup
libnetlink: break up dump function
utils: cleanup style
ipvrf: cleanup style issues
configure: fix elftest when warnings enabled
update kernel headers
Revert "tc: flower: document that *_ip parameters take a PREFIX as an argument."
Revert "tc: flower: Allow *_mac options to accept a mask"
minor kernel header update
whitespace cleanup
kernel headers update
add more uapi header files
include: remove unused header
update kernel headers (from 4.10-rc4)
update kernel headers from 4.10 net-next
update kernel headers from net-next
tcp: header file update
update headers from bridge tunnel metadata
tc: add missing sample file
update headers from net-next
update headers from 4.10-rc8
utils: hex2mem get rid of unnecessary goto
v4.10.0
add missing iplink_xstats.c
update headers from net-next
Update headers based on 4.11 merge window
netlink route attribute cleanup
xfrm: remove unnecessary casts
tc: use rta_getattr_u32
bpf: remove unnecessary cast
pie: remove always false condition
update headers from 4.11-rc2
update kernel headers from net-next
update headers from net-next
update headers from 4.11-rc3
update headers from net-next (post 4.11-rc3)
update kernel headers from net-next
netem: fix out of bounds access in maketable
Update kernel headers from 4.11 net-next
add seg6.h kernel headers
update kernel headers from net-next
remove unused header file sysctl.h
iplink: whitespace cleanup
pedit: fix whitespace
update headers to 4.11 net-next
v4.11.0
update kernel headers during 4.12 merge window
update headers from 4.12-rc2
include: remove no longer used iptables_common.h
update to current net-next headers
update headers to get changes for TCA_FLOWER
update headers to get IFLA_EVENT
updated headers from net-next
update headers from net-next (bpf and tc)
more bpf header updates
xfrm: get #define's from linux includes
update headers to get TCA_TUNNEL_CSUM
update kernel headers from net-next
v4.12.0
update kernel headers from net-next
update headers to 4.13-rc1
remove duplicated #include's
Update headers from net-next
ip: change flag names to an array
update headers from 4.13-rc4
tc: fix m_simple usage
update headers from 4.13 net-next
iproute: Add support for extended ack to rtnl_talk
ss: enclose IPv6 address in brackets
lib: fix extended ack with and without libmnl
lib: need to pass LIBMNL flag
include: update headers from net-next
tc, ip: more Makefile updates for LIBMNL
vti6: fix local/remote any addr handling
change how Config is used in Makefile's
vti: print keys in hex not dotted notation
more BPF headers update
seg6: add include/linux/seg6_local.h
include: add pfkeyv2.h drop ipv6.h
update kernel headers from net-next
config: put CFLAGS/LDLIBS in config.mk
add ERSPAN headers
rdma: fix duplicate initialization in port_names
libnetlink: drop unused parameter to rtnl_dump_done
bpf: drop unused parameter to bpf_report_map_in_map
tc: use named initializer for default mqprio options
devlink: header update
update headers from net-next
update headers from 4.14 merge
v4.13.0
BPF: update headers from 4.14-rc1
tc: flower remove unused variable
doc: remove obsolete ip-tunnels documentation
doc: remove outdated ss documentation
doc: remove outdated arpd documentation
doc: remove outdated nstat/rtstat documentation
ignore generated Config file
doc: remove outdated tc-filters documentation
doc: remove outdated IPv6 flow label document
doc: drop old ip command documentation
update headers from net-next rc
tipc: don't need custom CFLAGS
update uapi headers from 4.14-rc4 net-next
rdma: move headers to uapi
uapi: add include linux/vm_sockets_diag.h
netem: fix code indentation
update headers for TC and TIPC from net-next
bpf: update header file
include: add TCP fastopen option
update kernel headers
iproute: source code cleanup
bridge: checkpatch related cleanups
Update kernel headers based on 4.14-rc7
Update kernel headers from net-next (4.14-rc6)
update kernel headers from 4.14-rc7 net-next
Update kernel headers from 4.14-rc8 nete-next
Update kernel headers with new SPDK identifier
netem: use fixed rather than floating point for scaling
update kernel headers
update kernel headers from 4.14 net-next
drop unneeded include of syslog.h
v4.14.0
utils: remove duplicate include of ctype.h
v4.14.1
update headers from 4.15-rc1
ila: fix formatting of help message
update bpf header from net-next
tc: replace magic constant 16 with #define
tc: break long lines
SPDX license identifiers
m_vlan: style cleanups
m_action: style cleanup
m_gact: whitespace cleanup
m_mirred: style cleanups
update bpf header from net-next
update headers from 4.15-rc2
iplink: allow configuring GSO max values
uapi: add access to snd_cwnd and other sock_ops
uapi: tun add eBPF based queue selection method
iplink: add definitions for GSO_MAX
include: qdisc offload defines
ip: validate vlan value for vlan info
ss: fix crash with invalid command input file
utils: fix makeargs stack overflow
include: update ethernet headers
tc: remove no longer relevant README
v4.15.0
include: update uapi with BPF from 4.15-rc1
include: update netfilter headers from 4.15-rc1
include: update rdma uapi from 4.15-rc1
include: update interface UAPI from 4.15-rc1
include: update UAPI types.h
include: update rdma header from 4.16-rc1
uapi: update if_ether compat headers
ip: remove dead code
json_writer: add SPDX Identifier (GPL-2/BSD-2)
Revert "iproute: "list/flush/save default" selected all of the routes"
tc: help and whitespace cleanup
rdma: fix man page typos
bridge: avoid snprint truncation on time
pedit: fix strncpy warning
ip: use strlcpy() to avoid truncation
tunnel: use strlcpy to avoid strncpy warnings
tc_class: fix snprintf warning
ematch: fix possible snprintf overflow
misc: avoid snprintf warnings in ss and nstat
bpf: avoid compiler warnings about strncpy
namespace: limit the length of namespace name to avoid snprintf overflow
uapi/if_ether: add definition of ether type field
v4.16.0
Tariq Toukan (1):
ip-address: Fix negative prints of large TX rate limits
Thomas Egerer (3):
xfrm_policy: Add filter option for socket policies
xfrm_policy: Do not attempt to deleteall a socket policy
xfrm_{state, policy}: Allow to deleteall polices/states with marks
Thomas Graf (2):
bpf: Fix number of retries when growing log buffer
lwt: BPF support for LWT
Thomas Haller (1):
man: fix documentation for range of route table ID
Timothy Redaelli (2):
ip-route: Prevent some other double spaces in output
bridge: Prevent a double space in bridge mdb show
Tom Herbert (5):
ila: Fix reporting of ILA locators and locator match
ila: added csum neutral support to ipila
ila: support to configure checksum neutral-map-auto
ila: support for configuring identifier and hook types
ila: create ila_common.h
Vincent Bernat (2):
vxlan: use preferred address family when neither group or remote is specified
color: disable color when json output is requested
Vinicius Costa Gomes (2):
tc: Add support for the CBS qdisc
man: Add initial manpage for tc-cbs(8)
Vlad Yasevich (1):
ip: Add IFLA_EVENT output to ip monitor
Wei Wang (1):
ss: print tcpi_rcv_ssthresh
William Tu (5):
gre: add support for ERSPAN tunnel
ip6_gre: add support for ERSPAN tunnel
gre6: add collect metadata support
erspan: add erspan version II support
erspan: add erspan usage description
Wolfgang Bumiller (1):
tc/lexer: let quotes actually start strings
Yotam Gigi (10):
tc: man: matchall: Fix example indentation
tc: Add support for the sample tc action
tc: man: Add man entry for the tc-sample action
tc: man: matchall: Update examples to include sample
tc: bash-completion: Add the _from variant to _tc_one* funcs
tc: bash-completion: Prepare action autocomplete to support several actions
tc: bash-completion: Make the *_KIND variables global
tc: bash-completion: Add support for filter actions
tc: bash-completion: Add support for matchall
ip: mroute: Print offload indication
Yuchung Cheng (1):
ss: print new tcp_info fields: busy, rwnd-limited, sndbuf-limited times
Yulia Kartseva (1):
tc: fix ipv6 filter selector attribute for some prefix lengths
Yuval Mintz (1):
qdisc: print offload indication
Zhang Shengju (1):
iplink: add support for IFLA_CARRIER attribute
yupeng (1):
man: add additional explainations for ss
Élie Bouttier (1):
ip route: replace exits with returns
^ permalink raw reply
* Re: SO_TCP_NODELAY implementation in TCP stack
From: Neal Cardwell @ 2018-04-02 17:10 UTC (permalink / raw)
To: narutonguyen2018; +Cc: Netdev
In-Reply-To: <CANpxKHFYPi7pCJ1meRMiLOkw3Cw8N7p1notDUDeNUw=uwOW3Pw@mail.gmail.com>
On Sun, Apr 1, 2018 at 4:06 AM Naruto Nguyen <narutonguyen2018@gmail.com>
wrote:
> Hello everyone,
> As I know we have a socket option SO_TCP_NODELAY to disable Nagle
> Algorithm, and I found it is implemented in TCP/IP stack at
> https://elixir.bootlin.com/linux/v4.4.90/source/net/ipv4/tcp.c#L2401 .
> However, I do not know where the source code the Nagle Algorithm is
> implemented in kernel. If you know, could you please help me?
The Linux TCP code for Nagle's algorithm is largely in tcp_output.c
in the following functions:
tcp_nagle_check(), tcp_minshall_check(), tcp_minshall_update()
The variant of the Nagle algorithm that Linux implements is described here:
https://tools.ietf.org/html/draft-minshall-nagle-00
Basically, the algorithm avoids having more than one outstanding
unacknowledged packet that is less than one MSS in size.
The Nagle algorithm is disabled using the TCP_NODELAY socket option.
neal
^ permalink raw reply
* Re: [PATCH v15 ] net/veth/XDP: Line-rate packet forwarding in kernel
From: Stephen Hemminger @ 2018-04-02 16:51 UTC (permalink / raw)
To: Md. Islam
Cc: netdev, David Miller, David Ahern, agaceph, Pavel Emelyanov,
Eric Dumazet, alexei.starovoitov, brouer
In-Reply-To: <CAFgPn1DX9cOpDRGj=wFwvZq_bpq6VFnEOzR1YbMuC0+=DFEWxA@mail.gmail.com>
On Sun, 1 Apr 2018 20:47:28 -0400
"Md. Islam" <mislam4@kent.edu> wrote:
> This patch implements IPv4 forwarding on xdp_buff. I added a new
> config option XDP_ROUTER. Kernel would forward packets through fast
> path when this option is enabled. But it would require driver support.
> Currently it only works with veth. Here I have modified veth such that
> it outputs xdp_buff. I created a testbed in Mininet. The Mininet
> script (topology.py) is attached. Here the topology is:
Having XDP routing would be great.
The solution you have chosen that by changing each driver does
not scale well since it requires lots of changes and is not ready
for upstream.
^ permalink raw reply
* Re: [net-next 2/2] net: netcp: ethss: k2g: add promiscuous mode support
From: Andrew Lunn @ 2018-04-02 16:47 UTC (permalink / raw)
To: Murali Karicheri
Cc: w-kwok2, linux-kernel, davem, netdev, nsekhar, grygorii.strashko
In-Reply-To: <1522685839-9497-3-git-send-email-m-karicheri2@ti.com>
On Mon, Apr 02, 2018 at 12:17:19PM -0400, Murali Karicheri wrote:
> +static int gbe_set_rx_mode(void *intf_priv, bool promisc)
> +{
> + struct gbe_intf *gbe_intf = intf_priv;
> + struct gbe_priv *gbe_dev = gbe_intf->gbe_dev;
> + struct cpsw_ale *ale = gbe_dev->ale;
> + unsigned long timeout;
> + int i, ret = -ETIMEDOUT;
> +
> + /* Disable(1)/Enable(0) Learn for all ports (host is port 0 and
> + * slaves are port 1 and up
> + */
> + for (i = 0; i <= gbe_dev->num_slaves; i++) {
> + cpsw_ale_control_set(ale, i,
> + ALE_PORT_NOLEARN, !!promisc);
> + cpsw_ale_control_set(ale, i,
> + ALE_PORT_NO_SA_UPDATE, !!promisc);
> + }
Hi Murali
Does this mean that in promisc mode, switching of frames between ports
in hardware is disabled? You are relying on the software bridge to
perform such bridging between ports?
You might want to look at skb->offload_fwd_mark. By setting this, you
can tell the software bridge the hardware has already bridged the
frame. You might then be able to have promisc enabled, and the
hardware still doing the forwarding.
Andrew
^ permalink raw reply
* Re: [PATCH 12/15] dmaengine: pxa: make the filter function internal
From: kbuild test robot @ 2018-04-02 16:35 UTC (permalink / raw)
To: Robert Jarzmik
Cc: Kate Stewart, Ulf Hansson, alsa-devel, Takashi Iwai, linux-ide,
netdev, linux-mtd, Robert Jarzmik, devel, Boris Brezillon,
Vinod Koul, Richard Weinberger, Marek Vasut, Ezequiel Garcia,
linux-media, Samuel Ortiz, Arnd Bergmann,
Bartlomiej Zolnierkiewicz, Philippe Ombredanne, Haojian Zhuang,
dmaengine, Mark Brown, Jaroslav Kysela, Thomas Gleixner, Ma
In-Reply-To: <20180402142656.26815-13-robert.jarzmik@free.fr>
Hi Robert,
I love your patch! Perhaps something to improve:
[auto build test WARNING on linus/master]
[also build test WARNING on v4.16]
[cannot apply to arm-soc/for-next next-20180329]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Robert-Jarzmik/ARM-pxa-switch-to-DMA-slave-maps/20180402-233029
reproduce:
# apt-get install sparse
make ARCH=x86_64 allmodconfig
make C=1 CF=-D__CHECK_ENDIAN__
sparse warnings: (new ones prefixed by >>)
drivers/mtd/nand/marvell_nand.c:2621:17: sparse: undefined identifier 'pxad_filter_fn'
>> drivers/mtd/nand/marvell_nand.c:2621:17: sparse: call with no type!
In file included from drivers/mtd/nand/marvell_nand.c:21:0:
drivers/mtd/nand/marvell_nand.c: In function 'marvell_nfc_init_dma':
drivers/mtd/nand/marvell_nand.c:2621:42: error: 'pxad_filter_fn' undeclared (first use in this function); did you mean 'dma_filter_fn'?
dma_request_slave_channel_compat(mask, pxad_filter_fn,
^
include/linux/dmaengine.h:1408:46: note: in definition of macro 'dma_request_slave_channel_compat'
__dma_request_slave_channel_compat(&(mask), x, y, dev, name)
^
drivers/mtd/nand/marvell_nand.c:2621:42: note: each undeclared identifier is reported only once for each function it appears in
dma_request_slave_channel_compat(mask, pxad_filter_fn,
^
include/linux/dmaengine.h:1408:46: note: in definition of macro 'dma_request_slave_channel_compat'
__dma_request_slave_channel_compat(&(mask), x, y, dev, name)
^
vim +2621 drivers/mtd/nand/marvell_nand.c
02f26ecf Miquel Raynal 2018-01-09 2588
02f26ecf Miquel Raynal 2018-01-09 2589 static int marvell_nfc_init_dma(struct marvell_nfc *nfc)
02f26ecf Miquel Raynal 2018-01-09 2590 {
02f26ecf Miquel Raynal 2018-01-09 2591 struct platform_device *pdev = container_of(nfc->dev,
02f26ecf Miquel Raynal 2018-01-09 2592 struct platform_device,
02f26ecf Miquel Raynal 2018-01-09 2593 dev);
02f26ecf Miquel Raynal 2018-01-09 2594 struct dma_slave_config config = {};
02f26ecf Miquel Raynal 2018-01-09 2595 struct resource *r;
02f26ecf Miquel Raynal 2018-01-09 2596 dma_cap_mask_t mask;
02f26ecf Miquel Raynal 2018-01-09 2597 struct pxad_param param;
02f26ecf Miquel Raynal 2018-01-09 2598 int ret;
02f26ecf Miquel Raynal 2018-01-09 2599
02f26ecf Miquel Raynal 2018-01-09 2600 if (!IS_ENABLED(CONFIG_PXA_DMA)) {
02f26ecf Miquel Raynal 2018-01-09 2601 dev_warn(nfc->dev,
02f26ecf Miquel Raynal 2018-01-09 2602 "DMA not enabled in configuration\n");
02f26ecf Miquel Raynal 2018-01-09 2603 return -ENOTSUPP;
02f26ecf Miquel Raynal 2018-01-09 2604 }
02f26ecf Miquel Raynal 2018-01-09 2605
02f26ecf Miquel Raynal 2018-01-09 2606 ret = dma_set_mask_and_coherent(nfc->dev, DMA_BIT_MASK(32));
02f26ecf Miquel Raynal 2018-01-09 2607 if (ret)
02f26ecf Miquel Raynal 2018-01-09 2608 return ret;
02f26ecf Miquel Raynal 2018-01-09 2609
02f26ecf Miquel Raynal 2018-01-09 2610 r = platform_get_resource(pdev, IORESOURCE_DMA, 0);
02f26ecf Miquel Raynal 2018-01-09 2611 if (!r) {
02f26ecf Miquel Raynal 2018-01-09 2612 dev_err(nfc->dev, "No resource defined for data DMA\n");
02f26ecf Miquel Raynal 2018-01-09 2613 return -ENXIO;
02f26ecf Miquel Raynal 2018-01-09 2614 }
02f26ecf Miquel Raynal 2018-01-09 2615
02f26ecf Miquel Raynal 2018-01-09 2616 param.drcmr = r->start;
02f26ecf Miquel Raynal 2018-01-09 2617 param.prio = PXAD_PRIO_LOWEST;
02f26ecf Miquel Raynal 2018-01-09 2618 dma_cap_zero(mask);
02f26ecf Miquel Raynal 2018-01-09 2619 dma_cap_set(DMA_SLAVE, mask);
02f26ecf Miquel Raynal 2018-01-09 2620 nfc->dma_chan =
02f26ecf Miquel Raynal 2018-01-09 @2621 dma_request_slave_channel_compat(mask, pxad_filter_fn,
02f26ecf Miquel Raynal 2018-01-09 2622 ¶m, nfc->dev,
02f26ecf Miquel Raynal 2018-01-09 2623 "data");
02f26ecf Miquel Raynal 2018-01-09 2624 if (!nfc->dma_chan) {
02f26ecf Miquel Raynal 2018-01-09 2625 dev_err(nfc->dev,
02f26ecf Miquel Raynal 2018-01-09 2626 "Unable to request data DMA channel\n");
02f26ecf Miquel Raynal 2018-01-09 2627 return -ENODEV;
02f26ecf Miquel Raynal 2018-01-09 2628 }
02f26ecf Miquel Raynal 2018-01-09 2629
02f26ecf Miquel Raynal 2018-01-09 2630 r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
02f26ecf Miquel Raynal 2018-01-09 2631 if (!r)
02f26ecf Miquel Raynal 2018-01-09 2632 return -ENXIO;
02f26ecf Miquel Raynal 2018-01-09 2633
02f26ecf Miquel Raynal 2018-01-09 2634 config.src_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
02f26ecf Miquel Raynal 2018-01-09 2635 config.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
02f26ecf Miquel Raynal 2018-01-09 2636 config.src_addr = r->start + NDDB;
02f26ecf Miquel Raynal 2018-01-09 2637 config.dst_addr = r->start + NDDB;
02f26ecf Miquel Raynal 2018-01-09 2638 config.src_maxburst = 32;
02f26ecf Miquel Raynal 2018-01-09 2639 config.dst_maxburst = 32;
02f26ecf Miquel Raynal 2018-01-09 2640 ret = dmaengine_slave_config(nfc->dma_chan, &config);
02f26ecf Miquel Raynal 2018-01-09 2641 if (ret < 0) {
02f26ecf Miquel Raynal 2018-01-09 2642 dev_err(nfc->dev, "Failed to configure DMA channel\n");
02f26ecf Miquel Raynal 2018-01-09 2643 return ret;
02f26ecf Miquel Raynal 2018-01-09 2644 }
02f26ecf Miquel Raynal 2018-01-09 2645
02f26ecf Miquel Raynal 2018-01-09 2646 /*
02f26ecf Miquel Raynal 2018-01-09 2647 * DMA must act on length multiple of 32 and this length may be
02f26ecf Miquel Raynal 2018-01-09 2648 * bigger than the destination buffer. Use this buffer instead
02f26ecf Miquel Raynal 2018-01-09 2649 * for DMA transfers and then copy the desired amount of data to
02f26ecf Miquel Raynal 2018-01-09 2650 * the provided buffer.
02f26ecf Miquel Raynal 2018-01-09 2651 */
c495a927 Miquel Raynal 2018-01-19 2652 nfc->dma_buf = kmalloc(MAX_CHUNK_SIZE, GFP_KERNEL | GFP_DMA);
02f26ecf Miquel Raynal 2018-01-09 2653 if (!nfc->dma_buf)
02f26ecf Miquel Raynal 2018-01-09 2654 return -ENOMEM;
02f26ecf Miquel Raynal 2018-01-09 2655
02f26ecf Miquel Raynal 2018-01-09 2656 nfc->use_dma = true;
02f26ecf Miquel Raynal 2018-01-09 2657
02f26ecf Miquel Raynal 2018-01-09 2658 return 0;
02f26ecf Miquel Raynal 2018-01-09 2659 }
02f26ecf Miquel Raynal 2018-01-09 2660
:::::: The code at line 2621 was first introduced by commit
:::::: 02f26ecf8c772751d4b24744d487f6b1b20e75d4 mtd: nand: add reworked Marvell NAND controller driver
:::::: TO: Miquel Raynal <miquel.raynal@free-electrons.com>
:::::: CC: Boris Brezillon <boris.brezillon@free-electrons.com>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
^ permalink raw reply
* [GIT] Networking
From: David Miller @ 2018-04-02 16:29 UTC (permalink / raw)
To: torvalds; +Cc: akpm, netdev, linux-kernel
1) Fix RCU locking in xfrm_local_error(), from Taehee Yoo.
2) Fix return value assignments and thus error checking in
iwl_mvm_start_ap_ibss(), from Johannes Berg.
3) Don't count header length twice in vti4, from Stefano Brivio.
4) Fix deadlock in rt6_age_examine_exception, from Eric Dumazet.
5) Fix out-of-bounds access in nf_sk_lookup_slow{v4,v6}() from
Subash Abhinov.
6) Check nladdr size in netlink_connect(), from Alexander
Potapenko.
7) VF representor SQ numbers are 32 not 16 bits, in mlx5 driver,
from Or Gerlitz.
8) Out of bounds read in skb_network_protocol(), from Eric Dumazet.
9) r8169 driver sets driver data pointer after register_netdev() which
is too late. Fix from Heiner Kallweit.
10) Fix memory leak in mlx4 driver, from Moshe Shemesh.
11) The multi-VLAN decap fix added a regression when dealing with
device that lack a MAC header, such as tun. Fix from Toshiaki
Makita.
12) Fix integer overflow in dynamic interrupt coalescing code. From Tal
Gilboa.
13) Use after free in vrf code, from David Ahern.
14) IPV6 route leak between VRFs fix, also from David Ahern.
Please pull, thanks a lot!
The following changes since commit f36b7534b83357cf52e747905de6d65b4f7c2512:
Merge branch 'akpm' (patches from Andrew) (2018-03-22 18:48:43 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git
for you to fetch changes up to e81b5e01c14add8395dfba7130f8829206bb507d:
net: mvneta: fix enable of all initialized RXQs (2018-03-30 14:27:47 -0400)
----------------------------------------------------------------
Alexander Potapenko (1):
netlink: make sure nladdr has correct size in netlink_connect()
Andrei Otcheretianski (2):
iwlwifi: mvm: Increase session protection time after CS
iwlwifi: mvm: Move unused phy's to a default channel
Avraham Stern (3):
iwlwifi: mvm: clear tx queue id when unreserving aggregation queue
iwlwifi: mvm: make sure internal station has a valid id
iwlwifi: mvm: fix array out of bounds reference
Beni Lev (1):
iwlwifi: mvm: Correctly set IGTK for AP
Colin Ian King (1):
atm: iphase: fix spelling mistake: "Receiverd" -> "Received"
Cong Wang (1):
llc: properly handle dev_queue_xmit() return value
Craig Dillabaugh (1):
net sched actions: fix dumping which requires several messages to user space
Dave Watson (1):
strparser: Fix sign of err codes
David Ahern (2):
vrf: Fix use after free and double free in vrf_finish_output
net/ipv6: Fix route leaking between VRFs
David Lebrun (1):
ipv6: sr: fix seg6 encap performances with TSO enabled
David S. Miller (11):
Merge branch 'mlxsw-GRE-mtu-changes'
Merge git://git.kernel.org/.../pablo/nf
Merge tag 'wireless-drivers-for-davem-2018-03-24' of git://git.kernel.org/.../kvalo/wireless-drivers
Merge branch 'bond-hwaddr-sync-fixes'
Merge tag 'batadv-net-for-davem-20180326' of git://git.open-mesh.org/linux-merge
Merge tag 'mlx5-fixes-2018-03-23' of git://git.kernel.org/.../saeed/linux
Merge branch 'mlx4-misc-fixes-for-4.16'
Merge branch 'master' of git://git.kernel.org/.../klassert/ipsec
ip_tunnel: Resolve ipsec merge conflict properly.
Merge git://git.kernel.org/.../bpf/bpf
Merge branch 'vlan-fix'
Emmanuel Grumbach (1):
iwlwifi: mvm: set the correct tid when we flush the MCAST sta
Eran Ben Elisha (1):
net/mlx4_en: Fix mixed PFC and Global pause user control requests
Eric Dumazet (2):
ipv6: fix possible deadlock in rt6_age_examine_exception()
net: fix possible out-of-bound read in skb_network_protocol()
Florian Westphal (3):
netfilter: nf_tables: meter: pick a set backend that supports updates
netfilter: nf_tables: permit second nat hook if colliding hook is going away
netfilter: nf_tables: add missing netlink attrs to policies
Giuseppe Lippolis (1):
net-usb: add qmi_wwan if on lte modem wistron neweb d18q1
Hans Wippel (1):
net/ipv4: disable SMC TCP option with SYN Cookies
Heiner Kallweit (1):
r8169: fix setting driver_data after register_netdev
Jakub Kicinski (2):
tools: bpftool: don't use hex numbers in JSON output
nfp: bpf: fix check of program max insn count
Jason Wang (3):
vhost_net: add missing lock nesting notation
vhost: correctly remove wait queue during poll failure
vhost: validate log when IOTLB is enabled
Jianbo Liu (2):
net/mlx5e: Don't override vport admin link state in switchdev mode
net/mlx5e: Fix memory usage issues in offloading TC flows
Johannes Berg (1):
iwlwifi: mvm: fix error checking for multi/broadcast sta
John Fastabend (1):
net: sched, fix OOO packets with pfifo_fast
Kalle Valo (2):
Merge tag 'iwlwifi-for-kalle-2018-03-16' of git://git.kernel.org/.../iwlwifi/iwlwifi-fixes
Merge tag 'iwlwifi-for-kalle-2018-03-19' of git://git.kernel.org/.../iwlwifi/iwlwifi-fixes
Linus Lüssing (2):
batman-adv: fix multicast-via-unicast transmission with AP isolation
batman-adv: fix packet loss for broadcasted DHCP packets to a server
Luca Coelho (1):
iwlwifi: add shared clock PHY config flag for some devices
Manish Chopra (2):
qede: Fix barrier usage after tx doorbell write.
qede: Do not drop rx-checksum invalidated packets.
Moshe Shemesh (2):
net/mlx5e: Verify coalescing parameters in range
net/mlx4_core: Fix memory leak while delete slave's resources
Or Gerlitz (3):
net/mlx5e: Use 32 bits to store VF representor SQ number
net/mlx5: Make eswitch support to depend on switchdev
net/mlx5e: Avoid using the ipv6 stub in the TC offload neigh update path
Pablo Neira Ayuso (2):
netfilter: nf_tables: cache device name in flowtable object
netfilter: nf_tables: do not hold reference on netdevice from preparation phase
Paolo Abeni (2):
netfilter: drop template ct when conntrack is skipped.
ipv6: the entire IPv6 header chain must fit the first fragment
Pawel Dembicki (1):
net: qmi_wwan: add BroadMobi BM806U 2020:2033
Petr Machata (3):
ip_tunnel: Emit events for post-register MTU changes
mlxsw: spectrum_router: Move mlxsw_sp_rif_ipip_lb_op()
mlxsw: spectrum_router: Handle MTU change of GRE netdevs
Rafał Miłecki (1):
brcmfmac: drop Inter-Access Point Protocol packets by default
Raghuram Chary J (2):
lan78xx: Set ASD in MAC_CR when EEE is enabled.
lan78xx: Crash in lan78xx_writ_reg (Workqueue: events lan78xx_deferred_multicast_write)
Roi Dayan (1):
net/mlx5e: Fix traffic being dropped on VF representor
Sanjeev Gupta (1):
Documentation/isdn: check and fix dead links ...
Sean Wang (2):
net: dsa: mt7530: remove redundant MODULE_ALIAS entries
net: dsa: mt7530: fix module autoloading for OF platform drivers
Shahar Klein (1):
net/mlx5e: Sync netdev vxlan ports at open
Stefan Wahren (1):
brcmfmac: Fix check for ISO3166 code
Stefano Brivio (6):
vti4: Don't count header length twice on tunnel setup
ip_tunnel: Clamp MTU to bounds on new link
vti4: Don't override MTU passed on link creation via IFLA_MTU
vti6: Properly adjust vti6 MTU from MTU of lower device
vti6: Keep set MTU on link creation or change, validate it
vti6: Fix dev->max_mtu setting
Steffen Klassert (1):
xfrm: Fix transport mode skb control buffer usage.
Stephen Hemminger (1):
hv_netvsc: enable multicast if necessary
Subash Abhinov Kasiviswanathan (1):
netfilter: nf_socket: Fix out of bounds access in nf_sk_lookup_slow_v{4,6}
Taehee Yoo (1):
xfrm: fix rcu_read_unlock usage in xfrm_local_error
Tal Gilboa (1):
net/dim: Fix int overflow
Torsten Hilbrich (1):
net/usb/qmi_wwan.c: Add USB id for lt4120 modem
Toshiaki Makita (2):
net: Fix untag for vlan packets without ethernet header
vlan: Fix vlan insertion for packets without ethernet header
Ursula Braun (1):
net/smc: use announced length in sock_recvmsg()
Xin Long (4):
bonding: fix the err path for dev hwaddr sync in bond_enslave
bonding: move dev_mc_sync after master_upper_dev_link in bond_enslave
bonding: process the err returned by dev_set_allmulti properly in bond_enslave
team: move dev_mc_sync after master_upper_dev_link in team_port_add
Yelena Krivosheev (1):
net: mvneta: fix enable of all initialized RXQs
Documentation/isdn/INTERFACE.CAPI | 2 +-
Documentation/isdn/README | 4 ++--
Documentation/isdn/README.FAQ | 4 ++--
Documentation/isdn/README.gigaset | 16 ++++++++------
drivers/atm/iphase.c | 2 +-
drivers/net/bonding/bond_main.c | 73 +++++++++++++++++++++++++++++++------------------------------
drivers/net/dsa/mt7530.c | 2 +-
drivers/net/ethernet/marvell/mvneta.c | 1 +
drivers/net/ethernet/mellanox/mlx4/en_dcb_nl.c | 72 ++++++++++++++++++++++++++++++++++--------------------------
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c | 33 ++++++++++++++++------------
drivers/net/ethernet/mellanox/mlx4/en_main.c | 4 ++--
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c | 1 +
drivers/net/ethernet/mellanox/mlx5/core/Kconfig | 2 +-
drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c | 17 +++++++++++++++
drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 13 +++++------
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c | 34 ++++++++++++++++-------------
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 18 +++++++--------
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c | 78 ++++++++++++++++++++++++++++++++++++++++++-----------------------
drivers/net/ethernet/netronome/nfp/bpf/jit.c | 6 ++++-
drivers/net/ethernet/qlogic/qede/qede_fp.c | 20 +++++------------
drivers/net/ethernet/realtek/r8169.c | 4 ++--
drivers/net/hyperv/rndis_filter.c | 2 +-
drivers/net/team/team.c | 12 +++++-----
drivers/net/usb/lan78xx.c | 33 ++++++++++++++++++++++++++--
drivers/net/usb/qmi_wwan.c | 5 +++++
drivers/net/vrf.c | 5 +++--
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 2 +-
drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c | 5 +++++
drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.h | 1 +
drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c | 57 ++++++++++++++++++++++++++++++++++++++++++++++++
drivers/net/wireless/intel/iwlwifi/cfg/9000.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++
drivers/net/wireless/intel/iwlwifi/fw/file.h | 1 +
drivers/net/wireless/intel/iwlwifi/iwl-config.h | 5 +++++
drivers/net/wireless/intel/iwlwifi/mvm/fw.c | 4 ++++
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c | 9 +++++---
drivers/net/wireless/intel/iwlwifi/mvm/mvm.h | 3 +++
drivers/net/wireless/intel/iwlwifi/mvm/phy-ctxt.c | 21 +++++++++++++-----
drivers/net/wireless/intel/iwlwifi/mvm/sta.c | 74 ++++++++++++++++++++++++++++----------------------------------
drivers/net/wireless/intel/iwlwifi/mvm/time-event.c | 15 +++++++------
drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 10 ++++-----
drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 38 ++++++++++++++++----------------
drivers/vhost/net.c | 4 ++--
drivers/vhost/vhost.c | 17 ++++++---------
include/linux/if_vlan.h | 15 +++++++++++--
include/linux/net_dim.h | 2 +-
include/net/llc_conn.h | 2 +-
include/net/netfilter/nf_tables.h | 4 ++++
include/net/sch_generic.h | 1 +
net/batman-adv/gateway_client.c | 5 ++++-
net/batman-adv/multicast.c | 4 ++--
net/core/dev.c | 2 +-
net/core/skbuff.c | 6 +++--
net/ipv4/ip_tunnel.c | 31 +++++++++++++++++++++-----
net/ipv4/ip_vti.c | 2 --
net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c | 14 +++++++++++-
net/ipv4/netfilter/nf_socket_ipv4.c | 6 +++--
net/ipv4/syncookies.c | 2 ++
net/ipv4/tcp_input.c | 3 +++
net/ipv6/ip6_output.c | 13 +++++++----
net/ipv6/ip6_vti.c | 36 +++++++++++++++++++-----------
net/ipv6/netfilter/nf_socket_ipv6.c | 6 +++--
net/ipv6/route.c | 16 +++++++++-----
net/ipv6/seg6_iptunnel.c | 16 ++++++--------
net/ipv6/syncookies.c | 2 ++
net/llc/llc_c_ac.c | 15 ++++++++-----
net/llc/llc_conn.c | 32 +++++++++++++++++++--------
net/netfilter/nf_tables_api.c | 106 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------
net/netfilter/nft_set_hash.c | 2 +-
net/netlink/af_netlink.c | 3 +++
net/sched/act_api.c | 4 +++-
net/sched/sch_generic.c | 17 +++++++++++----
net/smc/smc_clc.c | 2 +-
net/strparser/strparser.c | 4 ++--
net/xfrm/xfrm_input.c | 6 +++++
net/xfrm/xfrm_output.c | 5 +++--
tools/bpf/bpftool/map.c | 2 +-
76 files changed, 793 insertions(+), 384 deletions(-)
^ permalink raw reply
* Re: [net-next 0/2] Add promiscous mode support in k2g network driver
From: David Miller @ 2018-04-02 16:28 UTC (permalink / raw)
To: m-karicheri2; +Cc: w-kwok2, linux-kernel, netdev, nsekhar, grygorii.strashko
In-Reply-To: <1522685839-9497-1-git-send-email-m-karicheri2@ti.com>
From: Murali Karicheri <m-karicheri2@ti.com>
Date: Mon, 2 Apr 2018 12:17:17 -0400
> This patch adds support for promiscuous mode in network driver for K2G
> SoC. This depends on v3 of my series at
> https://www.spinics.net/lists/kernel/msg2765942.html
The net-next tree is closed, please resubmit this series after the merge
window when the net-next tree is openned back up.
Thank you.
^ permalink raw reply
* Re: [PATCH 12/15] dmaengine: pxa: make the filter function internal
From: kbuild test robot @ 2018-04-02 16:25 UTC (permalink / raw)
To: Robert Jarzmik
Cc: Kate Stewart, Ulf Hansson, alsa-devel, Takashi Iwai, linux-ide,
netdev, linux-mtd, Robert Jarzmik, devel, Boris Brezillon,
Vinod Koul, Richard Weinberger, Marek Vasut, Ezequiel Garcia,
linux-media, Samuel Ortiz, Arnd Bergmann,
Bartlomiej Zolnierkiewicz, Philippe Ombredanne, Haojian Zhuang,
dmaengine, Mark Brown, Jaroslav Kysela, Thomas Gleixner, Ma
In-Reply-To: <20180402142656.26815-13-robert.jarzmik@free.fr>
[-- Attachment #1: Type: text/plain, Size: 6955 bytes --]
Hi Robert,
I love your patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v4.16]
[cannot apply to arm-soc/for-next next-20180329]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Robert-Jarzmik/ARM-pxa-switch-to-DMA-slave-maps/20180402-233029
config: i386-allmodconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=i386
All errors (new ones prefixed by >>):
In file included from drivers/mtd/nand/marvell_nand.c:21:0:
drivers/mtd/nand/marvell_nand.c: In function 'marvell_nfc_init_dma':
>> drivers/mtd/nand/marvell_nand.c:2621:42: error: 'pxad_filter_fn' undeclared (first use in this function); did you mean 'dma_filter_fn'?
dma_request_slave_channel_compat(mask, pxad_filter_fn,
^
include/linux/dmaengine.h:1408:46: note: in definition of macro 'dma_request_slave_channel_compat'
__dma_request_slave_channel_compat(&(mask), x, y, dev, name)
^
drivers/mtd/nand/marvell_nand.c:2621:42: note: each undeclared identifier is reported only once for each function it appears in
dma_request_slave_channel_compat(mask, pxad_filter_fn,
^
include/linux/dmaengine.h:1408:46: note: in definition of macro 'dma_request_slave_channel_compat'
__dma_request_slave_channel_compat(&(mask), x, y, dev, name)
^
vim +2621 drivers/mtd/nand/marvell_nand.c
02f26ecf Miquel Raynal 2018-01-09 2588
02f26ecf Miquel Raynal 2018-01-09 2589 static int marvell_nfc_init_dma(struct marvell_nfc *nfc)
02f26ecf Miquel Raynal 2018-01-09 2590 {
02f26ecf Miquel Raynal 2018-01-09 2591 struct platform_device *pdev = container_of(nfc->dev,
02f26ecf Miquel Raynal 2018-01-09 2592 struct platform_device,
02f26ecf Miquel Raynal 2018-01-09 2593 dev);
02f26ecf Miquel Raynal 2018-01-09 2594 struct dma_slave_config config = {};
02f26ecf Miquel Raynal 2018-01-09 2595 struct resource *r;
02f26ecf Miquel Raynal 2018-01-09 2596 dma_cap_mask_t mask;
02f26ecf Miquel Raynal 2018-01-09 2597 struct pxad_param param;
02f26ecf Miquel Raynal 2018-01-09 2598 int ret;
02f26ecf Miquel Raynal 2018-01-09 2599
02f26ecf Miquel Raynal 2018-01-09 2600 if (!IS_ENABLED(CONFIG_PXA_DMA)) {
02f26ecf Miquel Raynal 2018-01-09 2601 dev_warn(nfc->dev,
02f26ecf Miquel Raynal 2018-01-09 2602 "DMA not enabled in configuration\n");
02f26ecf Miquel Raynal 2018-01-09 2603 return -ENOTSUPP;
02f26ecf Miquel Raynal 2018-01-09 2604 }
02f26ecf Miquel Raynal 2018-01-09 2605
02f26ecf Miquel Raynal 2018-01-09 2606 ret = dma_set_mask_and_coherent(nfc->dev, DMA_BIT_MASK(32));
02f26ecf Miquel Raynal 2018-01-09 2607 if (ret)
02f26ecf Miquel Raynal 2018-01-09 2608 return ret;
02f26ecf Miquel Raynal 2018-01-09 2609
02f26ecf Miquel Raynal 2018-01-09 2610 r = platform_get_resource(pdev, IORESOURCE_DMA, 0);
02f26ecf Miquel Raynal 2018-01-09 2611 if (!r) {
02f26ecf Miquel Raynal 2018-01-09 2612 dev_err(nfc->dev, "No resource defined for data DMA\n");
02f26ecf Miquel Raynal 2018-01-09 2613 return -ENXIO;
02f26ecf Miquel Raynal 2018-01-09 2614 }
02f26ecf Miquel Raynal 2018-01-09 2615
02f26ecf Miquel Raynal 2018-01-09 2616 param.drcmr = r->start;
02f26ecf Miquel Raynal 2018-01-09 2617 param.prio = PXAD_PRIO_LOWEST;
02f26ecf Miquel Raynal 2018-01-09 2618 dma_cap_zero(mask);
02f26ecf Miquel Raynal 2018-01-09 2619 dma_cap_set(DMA_SLAVE, mask);
02f26ecf Miquel Raynal 2018-01-09 2620 nfc->dma_chan =
02f26ecf Miquel Raynal 2018-01-09 @2621 dma_request_slave_channel_compat(mask, pxad_filter_fn,
02f26ecf Miquel Raynal 2018-01-09 2622 ¶m, nfc->dev,
02f26ecf Miquel Raynal 2018-01-09 2623 "data");
02f26ecf Miquel Raynal 2018-01-09 2624 if (!nfc->dma_chan) {
02f26ecf Miquel Raynal 2018-01-09 2625 dev_err(nfc->dev,
02f26ecf Miquel Raynal 2018-01-09 2626 "Unable to request data DMA channel\n");
02f26ecf Miquel Raynal 2018-01-09 2627 return -ENODEV;
02f26ecf Miquel Raynal 2018-01-09 2628 }
02f26ecf Miquel Raynal 2018-01-09 2629
02f26ecf Miquel Raynal 2018-01-09 2630 r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
02f26ecf Miquel Raynal 2018-01-09 2631 if (!r)
02f26ecf Miquel Raynal 2018-01-09 2632 return -ENXIO;
02f26ecf Miquel Raynal 2018-01-09 2633
02f26ecf Miquel Raynal 2018-01-09 2634 config.src_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
02f26ecf Miquel Raynal 2018-01-09 2635 config.dst_addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
02f26ecf Miquel Raynal 2018-01-09 2636 config.src_addr = r->start + NDDB;
02f26ecf Miquel Raynal 2018-01-09 2637 config.dst_addr = r->start + NDDB;
02f26ecf Miquel Raynal 2018-01-09 2638 config.src_maxburst = 32;
02f26ecf Miquel Raynal 2018-01-09 2639 config.dst_maxburst = 32;
02f26ecf Miquel Raynal 2018-01-09 2640 ret = dmaengine_slave_config(nfc->dma_chan, &config);
02f26ecf Miquel Raynal 2018-01-09 2641 if (ret < 0) {
02f26ecf Miquel Raynal 2018-01-09 2642 dev_err(nfc->dev, "Failed to configure DMA channel\n");
02f26ecf Miquel Raynal 2018-01-09 2643 return ret;
02f26ecf Miquel Raynal 2018-01-09 2644 }
02f26ecf Miquel Raynal 2018-01-09 2645
02f26ecf Miquel Raynal 2018-01-09 2646 /*
02f26ecf Miquel Raynal 2018-01-09 2647 * DMA must act on length multiple of 32 and this length may be
02f26ecf Miquel Raynal 2018-01-09 2648 * bigger than the destination buffer. Use this buffer instead
02f26ecf Miquel Raynal 2018-01-09 2649 * for DMA transfers and then copy the desired amount of data to
02f26ecf Miquel Raynal 2018-01-09 2650 * the provided buffer.
02f26ecf Miquel Raynal 2018-01-09 2651 */
c495a927 Miquel Raynal 2018-01-19 2652 nfc->dma_buf = kmalloc(MAX_CHUNK_SIZE, GFP_KERNEL | GFP_DMA);
02f26ecf Miquel Raynal 2018-01-09 2653 if (!nfc->dma_buf)
02f26ecf Miquel Raynal 2018-01-09 2654 return -ENOMEM;
02f26ecf Miquel Raynal 2018-01-09 2655
02f26ecf Miquel Raynal 2018-01-09 2656 nfc->use_dma = true;
02f26ecf Miquel Raynal 2018-01-09 2657
02f26ecf Miquel Raynal 2018-01-09 2658 return 0;
02f26ecf Miquel Raynal 2018-01-09 2659 }
02f26ecf Miquel Raynal 2018-01-09 2660
:::::: The code at line 2621 was first introduced by commit
:::::: 02f26ecf8c772751d4b24744d487f6b1b20e75d4 mtd: nand: add reworked Marvell NAND controller driver
:::::: TO: Miquel Raynal <miquel.raynal@free-electrons.com>
:::::: CC: Boris Brezillon <boris.brezillon@free-electrons.com>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 63062 bytes --]
[-- Attachment #3: Type: text/plain, Size: 169 bytes --]
_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
^ permalink raw reply
* RE: [PATCH v5 05/14] PCI: Add pcie_print_link_status() to log link speed and whether it's limited
From: Keller, Jacob E @ 2018-04-02 16:25 UTC (permalink / raw)
To: Bjorn Helgaas, Tal Gilboa
Cc: Tariq Toukan, Ariel Elior, Ganesh Goudar, Kirsher, Jeffrey T,
everest-linux-l2@cavium.com, intel-wired-lan@lists.osuosl.org,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-pci@vger.kernel.org
In-Reply-To: <152244391852.135666.14903825998610307052.stgit@bhelgaas-glaptop.roam.corp.google.com>
> -----Original Message-----
> From: Bjorn Helgaas [mailto:helgaas@kernel.org]
> Sent: Friday, March 30, 2018 2:05 PM
> To: Tal Gilboa <talgi@mellanox.com>
> Cc: Tariq Toukan <tariqt@mellanox.com>; Keller, Jacob E
> <jacob.e.keller@intel.com>; Ariel Elior <ariel.elior@cavium.com>; Ganesh
> Goudar <ganeshgr@chelsio.com>; Kirsher, Jeffrey T
> <jeffrey.t.kirsher@intel.com>; everest-linux-l2@cavium.com; intel-wired-
> lan@lists.osuosl.org; netdev@vger.kernel.org; linux-kernel@vger.kernel.org;
> linux-pci@vger.kernel.org
> Subject: [PATCH v5 05/14] PCI: Add pcie_print_link_status() to log link speed and
> whether it's limited
>
> From: Tal Gilboa <talgi@mellanox.com>
>
> Add pcie_print_link_status(). This logs the current settings of the link
> (speed, width, and total available bandwidth).
>
> If the device is capable of more bandwidth but is limited by a slower
> upstream link, we include information about the link that limits the
> device's performance.
>
> The user may be able to move the device to a different slot for better
> performance.
>
> This provides a unified method for all PCI devices to report status and
> issues, instead of each device reporting in a different way, using
> different code.
>
> Signed-off-by: Tal Gilboa <talgi@mellanox.com>
> [bhelgaas: changelog, reword log messages, print device capabilities when
> not limited]
> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
> ---
> drivers/pci/pci.c | 29 +++++++++++++++++++++++++++++
> include/linux/pci.h | 1 +
> 2 files changed, 30 insertions(+)
>
> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
> index e00d56b12747..cec7aed09f6b 100644
> --- a/drivers/pci/pci.c
> +++ b/drivers/pci/pci.c
> @@ -5283,6 +5283,35 @@ u32 pcie_bandwidth_capable(struct pci_dev *dev,
> enum pci_bus_speed *speed,
> return *width * PCIE_SPEED2MBS_ENC(*speed);
> }
>
> +/**
> + * pcie_print_link_status - Report the PCI device's link speed and width
> + * @dev: PCI device to query
> + *
> + * Report the available bandwidth at the device. If this is less than the
> + * device is capable of, report the device's maximum possible bandwidth and
> + * the upstream link that limits its performance to less than that.
> + */
> +void pcie_print_link_status(struct pci_dev *dev)
> +{
> + enum pcie_link_width width, width_cap;
> + enum pci_bus_speed speed, speed_cap;
> + struct pci_dev *limiting_dev = NULL;
> + u32 bw_avail, bw_cap;
> +
> + bw_cap = pcie_bandwidth_capable(dev, &speed_cap, &width_cap);
> + bw_avail = pcie_bandwidth_available(dev, &limiting_dev, &speed,
> &width);
> +
> + if (bw_avail >= bw_cap)
> + pci_info(dev, "%d Mb/s available bandwidth (%s x%d link)\n",
> + bw_cap, PCIE_SPEED2STR(speed_cap), width_cap);
> + else
> + pci_info(dev, "%d Mb/s available bandwidth, limited by %s x%d
> link at %s (capable of %d Mb/s with %s x%d link)\n",
> + bw_avail, PCIE_SPEED2STR(speed), width,
> + limiting_dev ? pci_name(limiting_dev) : "<unknown>",
> + bw_cap, PCIE_SPEED2STR(speed_cap), width_cap);
> +}
Personally, I would make thic last one a pci_warn() to indicate it at a higher log level, but I'm ok with the wording, and if consensus is that this should be at info, I'm ok with that.
Thanks,
Jake
> +EXPORT_SYMBOL(pcie_print_link_status);
> +
> /**
> * pci_select_bars - Make BAR mask from the type of resource
> * @dev: the PCI device for which BAR mask is made
> diff --git a/include/linux/pci.h b/include/linux/pci.h
> index f2bf2b7a66c7..38f7957121ef 100644
> --- a/include/linux/pci.h
> +++ b/include/linux/pci.h
> @@ -1086,6 +1086,7 @@ int pcie_get_minimum_link(struct pci_dev *dev, enum
> pci_bus_speed *speed,
> u32 pcie_bandwidth_available(struct pci_dev *dev, struct pci_dev
> **limiting_dev,
> enum pci_bus_speed *speed,
> enum pcie_link_width *width);
> +void pcie_print_link_status(struct pci_dev *dev);
> void pcie_flr(struct pci_dev *dev);
> int __pci_reset_function_locked(struct pci_dev *dev);
> int pci_reset_function(struct pci_dev *dev);
^ permalink raw reply
* [net-next 2/2] net: netcp: ethss: k2g: add promiscuous mode support
From: Murali Karicheri @ 2018-04-02 16:17 UTC (permalink / raw)
To: w-kwok2, linux-kernel, davem, netdev, nsekhar, grygorii.strashko
In-Reply-To: <1522685839-9497-1-git-send-email-m-karicheri2@ti.com>
From: WingMan Kwok <w-kwok2@ti.com>
This patch adds support for promiscuous mode in k2g's network
driver. When upper layer instructs to transition from
non-promiscuous mode to promiscuous mode or vice versa
K2G network driver needs to configure ALE accordingly
so that in case of non-promiscuous mode, ALE will not flood
all unicast packets to host port, while in promiscuous
mode, it will pass all received unicast packets to
host port.
Signed-off-by: WingMan Kwok <w-kwok2@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
---
drivers/net/ethernet/ti/netcp_ethss.c | 56 +++++++++++++++++++++++++++++++++++
1 file changed, 56 insertions(+)
diff --git a/drivers/net/ethernet/ti/netcp_ethss.c b/drivers/net/ethernet/ti/netcp_ethss.c
index f7af999..1ac2cd6 100644
--- a/drivers/net/ethernet/ti/netcp_ethss.c
+++ b/drivers/net/ethernet/ti/netcp_ethss.c
@@ -2771,6 +2771,61 @@ static inline int gbe_hwtstamp_set(struct gbe_intf *gbe_intf, struct ifreq *req)
}
#endif /* CONFIG_TI_CPTS */
+static int gbe_set_rx_mode(void *intf_priv, bool promisc)
+{
+ struct gbe_intf *gbe_intf = intf_priv;
+ struct gbe_priv *gbe_dev = gbe_intf->gbe_dev;
+ struct cpsw_ale *ale = gbe_dev->ale;
+ unsigned long timeout;
+ int i, ret = -ETIMEDOUT;
+
+ /* Disable(1)/Enable(0) Learn for all ports (host is port 0 and
+ * slaves are port 1 and up
+ */
+ for (i = 0; i <= gbe_dev->num_slaves; i++) {
+ cpsw_ale_control_set(ale, i,
+ ALE_PORT_NOLEARN, !!promisc);
+ cpsw_ale_control_set(ale, i,
+ ALE_PORT_NO_SA_UPDATE, !!promisc);
+ }
+
+ if (!promisc) {
+ /* Don't Flood All Unicast Packets to Host port */
+ cpsw_ale_control_set(ale, 0, ALE_P0_UNI_FLOOD, 0);
+ dev_vdbg(gbe_dev->dev, "promiscuous mode disabled\n");
+ return 0;
+ }
+
+ timeout = jiffies + HZ;
+
+ /* Clear All Untouched entries */
+ cpsw_ale_control_set(ale, 0, ALE_AGEOUT, 1);
+ do {
+ cpu_relax();
+ if (cpsw_ale_control_get(ale, 0, ALE_AGEOUT)) {
+ ret = 0;
+ break;
+ }
+
+ } while (time_after(timeout, jiffies));
+
+ /* Make sure it is not a false timeout */
+ if (ret && !cpsw_ale_control_get(ale, 0, ALE_AGEOUT))
+ return ret;
+
+ cpsw_ale_control_set(ale, 0, ALE_AGEOUT, 1);
+
+ /* Clear all mcast from ALE */
+ cpsw_ale_flush_multicast(ale,
+ GBE_PORT_MASK(gbe_dev->ale_ports),
+ -1);
+
+ /* Flood All Unicast Packets to Host port */
+ cpsw_ale_control_set(ale, 0, ALE_P0_UNI_FLOOD, 1);
+ dev_vdbg(gbe_dev->dev, "promiscuous mode enabled\n");
+ return ret;
+}
+
static int gbe_ioctl(void *intf_priv, struct ifreq *req, int cmd)
{
struct gbe_intf *gbe_intf = intf_priv;
@@ -3523,6 +3578,7 @@ static int gbe_probe(struct netcp_device *netcp_device, struct device *dev,
gbe_dev->max_num_slaves = 8;
} else if (of_device_is_compatible(node, "ti,netcp-gbe-2")) {
gbe_dev->max_num_slaves = 1;
+ gbe_module.set_rx_mode = gbe_set_rx_mode;
} else if (of_device_is_compatible(node, "ti,netcp-xgbe")) {
gbe_dev->max_num_slaves = 2;
} else {
--
1.9.1
^ permalink raw reply related
* [net-next 1/2] net: netcp: add api to support set rx mode in netcp modules
From: Murali Karicheri @ 2018-04-02 16:17 UTC (permalink / raw)
To: w-kwok2, linux-kernel, davem, netdev, nsekhar, grygorii.strashko
In-Reply-To: <1522685839-9497-1-git-send-email-m-karicheri2@ti.com>
From: WingMan Kwok <w-kwok2@ti.com>
This patch adds an API to support setting rx mode in
netcp modules. If a netcp module needs to be notified
when upper layer transitions from one rx mode to
another and react accordingly, such a module will implement
the new API set_rx_mode added in this patch. Currently
rx modes supported are PROMISCUOUS and NON_PROMISCUOUS
modes.
Signed-off-by: WingMan Kwok <w-kwok2@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
---
drivers/net/ethernet/ti/netcp.h | 1 +
drivers/net/ethernet/ti/netcp_core.c | 19 +++++++++++++++++++
2 files changed, 20 insertions(+)
diff --git a/drivers/net/ethernet/ti/netcp.h b/drivers/net/ethernet/ti/netcp.h
index 416f732..c4ffdf4 100644
--- a/drivers/net/ethernet/ti/netcp.h
+++ b/drivers/net/ethernet/ti/netcp.h
@@ -214,6 +214,7 @@ struct netcp_module {
int (*add_vid)(void *intf_priv, int vid);
int (*del_vid)(void *intf_priv, int vid);
int (*ioctl)(void *intf_priv, struct ifreq *req, int cmd);
+ int (*set_rx_mode)(void *intf_priv, bool promisc);
/* used internally */
struct list_head module_list;
diff --git a/drivers/net/ethernet/ti/netcp_core.c b/drivers/net/ethernet/ti/netcp_core.c
index 736f6f7..e40aa3e 100644
--- a/drivers/net/ethernet/ti/netcp_core.c
+++ b/drivers/net/ethernet/ti/netcp_core.c
@@ -1509,6 +1509,24 @@ static void netcp_addr_sweep_add(struct netcp_intf *netcp)
}
}
+static int netcp_set_promiscuous(struct netcp_intf *netcp, bool promisc)
+{
+ struct netcp_intf_modpriv *priv;
+ struct netcp_module *module;
+ int error;
+
+ for_each_module(netcp, priv) {
+ module = priv->netcp_module;
+ if (!module->set_rx_mode)
+ continue;
+
+ error = module->set_rx_mode(priv->module_priv, promisc);
+ if (error)
+ return error;
+ }
+ return 0;
+}
+
static void netcp_set_rx_mode(struct net_device *ndev)
{
struct netcp_intf *netcp = netdev_priv(ndev);
@@ -1538,6 +1556,7 @@ static void netcp_set_rx_mode(struct net_device *ndev)
/* finally sweep and callout into modules */
netcp_addr_sweep_del(netcp);
netcp_addr_sweep_add(netcp);
+ netcp_set_promiscuous(netcp, promisc);
spin_unlock(&netcp->lock);
}
--
1.9.1
^ permalink raw reply related
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