linux/drivers/net
David S. Miller cedf90c0cc mlx5-updates-2017-04-30
Or says:
 ================
 mlx5 neigh update
 
 This series (whose code name is 'neigh update') from Hadar, enhances the
 mlx5 TC IP tunnel offloads to deal with changes to tunnel destination
 neighbours used in offloaded flows which involved encapsulation.
 
 In order to keep track on the validity state of such neighbours, we register
 a netevent notifier callback and act on NEIGH_UPDATE events: if a neighbour
 becomes valid, offload the related flows to HW (the other way around when
 neigh becomes invalid) and similarly when a neigh mac addresses changes.
 
 Since this traffic is offloaded from the host OS, the neighbour for the IP
 tunnel destination can mistakenly become STALE and deleted by the kernel
 since its 'used' value wasn't changed. To address that, we proactively
 update the neighbour 'used' value every DELAY_PROBE_TIME seconds, using
 time stamps generated by the existing driver code for HW flow counters.
 We use the DELAY_PROBE_TIME_UPDATE event to adjust the frequency of the updates.
 
 Prior to the core of the series, there's a patch from Saeed that introduces an
 extendable vport representor implementation scheme. It provides a separation
 between the eswitch to the netdev related aspects of the representors.
 
 We would like to thank Ido Schimmel and Ilya Lesokhin for their coaching && advice
 through the long design and review cycles while we struggled to understand and
 (hopefully correctly) implement the locking around the different driver flows(..) .
 
 - Or.
 =================
 
 Misc Updates:
 
 From Tariq:
 Some small performance and trivial code optimization for mlx5 netdev driver
 - Optimize poll ICOSQ completion queue
 - Use prefetchw when a write is to follow
 - Use u8 as ownership type in mlx5e_get_cqe()
 
 From Eran:
 - Disable LRO by default on specific setups
 
 From Eli:
 - Small cleanup for E-Switch to avoid redundant allocation
 
 Thanks,
 Saeed.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJZBeGlAAoJEEg/ir3gV/o+AuMH/2OfS+diXrTMU90tQGfucurg
 cPuv2qSGzSzcyFOjMUKL/hgj+y8HcUNZVSqts/LPhUj5CbR8On2jo/3XZb405SMX
 1eAffpD5JxDGm4xQCADwkDMRVOuWNbXlTceRMbD+8vDtboTDEZwbaXX20En6MIEW
 qcQPX0wv7/u8VpxGlhch2RRvl7+zBhhGCLNpwzkE5K+RggIPguE+F2hLpm+SH9PD
 AOHSuwGWnE40In8dZIPqsEnUsmsC9LmUQ17ip8S8dEtGDHMvwDelsKGZcRGMuwoz
 wSxpVTWn5JaU0EwN0t+rYtERFH18SqboG3OFwqb27qtRns6ALXIx3Dj1bb9sVBo=
 =3qOg
 -----END PGP SIGNATURE-----

Merge tag 'mlx5-updates-2017-04-30' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux

mlx5-updates-2017-04-30

Or says:
================
mlx5 neigh update

This series (whose code name is 'neigh update') from Hadar, enhances the
mlx5 TC IP tunnel offloads to deal with changes to tunnel destination
neighbours used in offloaded flows which involved encapsulation.

In order to keep track on the validity state of such neighbours, we register
a netevent notifier callback and act on NEIGH_UPDATE events: if a neighbour
becomes valid, offload the related flows to HW (the other way around when
neigh becomes invalid) and similarly when a neigh mac addresses changes.

Since this traffic is offloaded from the host OS, the neighbour for the IP
tunnel destination can mistakenly become STALE and deleted by the kernel
since its 'used' value wasn't changed. To address that, we proactively
update the neighbour 'used' value every DELAY_PROBE_TIME seconds, using
time stamps generated by the existing driver code for HW flow counters.
We use the DELAY_PROBE_TIME_UPDATE event to adjust the frequency of the updates.

Prior to the core of the series, there's a patch from Saeed that introduces an
extendable vport representor implementation scheme. It provides a separation
between the eswitch to the netdev related aspects of the representors.

We would like to thank Ido Schimmel and Ilya Lesokhin for their coaching && advice
through the long design and review cycles while we struggled to understand and
(hopefully correctly) implement the locking around the different driver flows(..) .

- Or.
=================

Misc Updates:

From Tariq:
Some small performance and trivial code optimization for mlx5 netdev driver
- Optimize poll ICOSQ completion queue
- Use prefetchw when a write is to follow
- Use u8 as ownership type in mlx5e_get_cqe()

From Eran:
- Disable LRO by default on specific setups

From Eli:
- Small cleanup for E-Switch to avoid redundant allocation

Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-01 11:47:10 -04:00
..
appletalk
arcnet
bonding bonding: fix wq initialization for links created via netlink 2017-04-21 15:28:37 -04:00
caif
can Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-26 22:39:08 -04:00
cris net: cris: eth_v10: use new api ethtool_{get|set}_link_ksettings 2017-03-27 15:53:19 -07:00
dsa Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-26 22:39:08 -04:00
ethernet mlx5-updates-2017-04-30 2017-05-01 11:47:10 -04:00
fddi
fjes Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-03-23 16:41:27 -07:00
hamradio
hippi
hyperv Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-26 22:39:08 -04:00
ieee802154 ieee802154: don't select COMMON_CLK 2017-04-22 10:28:40 +02:00
ipvlan ipvlan: use pernet operations and restrict l3s hooks to master netns 2017-04-25 10:43:22 -04:00
irda irda: vlsi_ir: fix check for DMA mapping errors 2017-03-25 20:14:40 -07:00
phy net: phy: Allow BCM5481x PHYs to setup internal TX/RX clock delay 2017-04-30 22:56:19 -04:00
plip
ppp
slip
team Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-26 22:39:08 -04:00
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-26 22:39:08 -04:00
vmxnet3 net: vmxnet3: use new api ethtool_{get|set}_link_ksettings 2017-03-22 19:26:52 -07:00
wan wan: pc300too: abort path on failure 2017-04-24 15:51:31 -04:00
wimax
wireless Another set of patches for -next: 2017-04-28 14:41:15 -04:00
xen-netback
dummy.c Enable tx timestamping on loopback and dummy 2017-03-21 14:40:01 -07:00
eql.c
geneve.c geneve: fix incorrect setting of UDP checksum flag 2017-04-30 22:31:16 -04:00
gtp.c gtp: support SGSN-side tunnels 2017-03-25 20:11:19 -07:00
ifb.c
Kconfig VSOCK: Add vsockmon device 2017-04-24 12:35:56 -04:00
LICENSE.SRC
loopback.c Cleanup some warning from timestamping code. 2017-03-21 14:40:02 -07:00
macsec.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-26 22:39:08 -04:00
macvlan.c macvlan: Fix device ref leak when purging bc_queue 2017-04-25 10:42:10 -04:00
macvtap.c
Makefile VSOCK: Add vsockmon device 2017-04-24 12:35:56 -04:00
mdio.c
mii.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c
tun.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-03-23 16:41:27 -07:00
veth.c netlink: pass extended ACK struct to parsing functions 2017-04-13 13:58:22 -04:00
virtio_net.c virtio_net: make use of extended ack message reporting 2017-05-01 10:35:48 -04:00
vrf.c net: vrf: Do not allow looback to be moved to a VRF 2017-04-27 16:49:43 -04:00
vsockmon.c VSOCK: Add vsockmon device 2017-04-24 12:35:56 -04:00
vxlan.c vxlan: do not output confusing error message 2017-04-30 22:30:13 -04:00
xen-netfront.c