Netdev List
 help / color / mirror / Atom feed
* 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  						 &param, 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  						 &param, 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


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox