linux/drivers/net/ethernet
Petr Machata 44b0fff1d8 mlxsw: spectrum_router: Handle down of tunnel underlay
When the bound device of a tunnel device is down, encapsulated packets
are not egressed anymore, but tunnel decap still works. Extend
mlxsw_sp_nexthop_rif_update() to take IFF_UP into consideration when
deciding whether a given next hop should be offloaded.

Because the new logic was added to mlxsw_sp_nexthop_rif_update(), this
fixes the case where a newly-added tunnel has a down bound device, which
would previously be fully offloaded. Now the down state of the bound
device is noted and next hops forwarding to such tunnel are not
offloaded.

In addition to that, notice NETDEV_UP and NETDEV_DOWN of a bound device
to force refresh of tunnel encap route offloads.

Signed-off-by: Petr Machata <petrm@mellanox.com>
Reviewed-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-11-04 09:15:18 +09:00
..
3com drivers/net: 3com/3c515: Convert timers to use timer_setup() 2017-10-27 12:09:15 +09:00
8390 drivers/net: 8390: Convert timers to use timer_setup() 2017-10-28 19:09:49 +09:00
adaptec net: adaptec: starfire: add checks for dma mapping errors 2017-01-29 19:04:11 -05:00
adi drivers: net: adi: use setup_timer() helper. 2017-09-21 11:44:43 -07:00
aeroflex networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
agere drivers: net: et131x: use setup_timer() helper. 2017-09-21 11:44:39 -07:00
alacritech net: ethernet: slicoss: remove redundant initialization of idx 2017-11-01 21:19:32 +09:00
allwinner networking: make skb_put & friends return void pointers 2017-06-16 11:48:39 -04:00
alteon Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
altera drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
amazon Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-10-22 13:39:14 +01:00
amd drivers/net: amd: Convert timers to use timer_setup() 2017-10-28 19:09:49 +09:00
apm drivers: net: xgene: Remove return statement from void function 2017-09-05 14:58:25 -07:00
apple net: ethernet: apple: Convert timers to use timer_setup() 2017-10-18 12:40:25 +01:00
aquantia net: aquantia: Make local functions static 2017-10-29 17:53:00 +09:00
arc net: arc_emac: Add support for ndo_do_ioctl net_device_ops operation 2017-08-03 15:14:34 -07:00
atheros net: atl1c: fix spelling mistake: "droppted" -> "dropped" 2017-06-29 12:24:26 -04:00
aurora net: ethernet: nb8800: Handle all 4 RGMII modes identically 2017-07-25 21:27:01 -07:00
broadcom bnxt_en: Fix IRQ coalescing regression. 2017-11-03 21:33:31 +09:00
brocade bna: Convert timers to use timer_setup() 2017-10-18 12:39:38 +01:00
cadence net: macb: remove redundant assignment to variable work_done 2017-11-01 21:25:59 +09:00
calxeda drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
cavium liquidio: bump up driver version to 1.7.0 to match newer NIC firmware 2017-11-03 14:09:07 +09:00
chelsio cxgb4vf: define get_fecparam ethtool callback 2017-11-03 15:45:40 +09:00
cirrus networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
cisco enic: Add support for 'ethtool -g/-G' 2017-11-02 14:17:11 +09:00
davicom davicom: Display proper debug level up to 6 2017-09-08 20:53:10 -07:00
dec net: tulip: Convert timers to use timer_setup() 2017-10-18 12:39:38 +01:00
dlink net: dl2k: remove redundant re-assignment to np 2017-11-02 15:52:19 +09:00
emulex be2net: fix TSO6/GSO issue causing TX-stall on Lancer/BEx 2017-09-13 09:28:18 -07:00
ezchip Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-04-06 08:24:51 -07:00
faraday net: faraday: ftmac100: Use BUG_ON instead of if condition followed by BUG. 2017-10-27 23:53:14 +09:00
freescale net: dpaa: remove init which already done in per-cpu allocation 2017-11-02 16:15:25 +09:00
fujitsu Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
hisilicon net: hns3: fix a bug for phy supported feature initialization 2017-11-03 21:36:50 +09:00
hp net: hp100: constify eisa_device_id 2017-08-19 17:13:41 -07:00
huawei net-next/hinic: Fix a case of Tx Queue is Stopped forever 2017-09-28 10:26:50 -07:00
i825xx dma-mapping updates for 4.14: 2017-09-12 13:30:06 -07:00
ibm ibmvnic: Fix failover error path for non-fatal resets 2017-10-28 00:23:58 +09:00
intel net: sched: move the can_offload check from binding phase to rule insertion phase 2017-11-02 16:10:39 +09:00
marvell net: mvpp2: simplify the Tx desc set DMA logic 2017-11-01 12:28:33 +09:00
mediatek drivers, net, ethernet: convert mtk_eth.dma_refcnt from atomic_t to refcount_t 2017-10-22 02:22:38 +01:00
mellanox mlxsw: spectrum_router: Handle down of tunnel underlay 2017-11-04 09:15:18 +09:00
micrel net: ksz884x: Convert timers to use timer_setup() 2017-10-18 12:39:39 +01:00
microchip net: microchip: encx24j600: use new api ethtool_{get|set}_link_ksettings 2017-02-12 22:32:17 -05:00
moxa net: moxa: Add spaces preferred around that '{+,-}' 2017-07-29 14:02:07 -07:00
myricom net: myricom: myri10ge: use new api ethtool_{get|set}_link_ksettings 2017-02-12 22:32:17 -05:00
natsemi drivers/net: natsemi: Convert timers to use timer_setup() 2017-10-28 19:09:49 +09:00
neterion net: neterion: Convert timers to use timer_setup() 2017-10-18 12:40:26 +01:00
netronome nfp: improve defines for constants in ethtool 2017-11-02 20:27:11 +09:00
nuvoton drivers/net: nuvoton: Convert timers to use timer_setup() 2017-10-27 12:09:15 +09:00
nvidia forcedeth: replace pci_alloc_consistent with dma_alloc_coherent 2017-11-01 12:03:28 +09:00
nxp net: manual clean code which call skb_put_[data:zero] 2017-06-20 13:30:15 -04:00
oki-semi pch_gbe: Switch to new PCI IRQ allocation API 2017-10-16 21:12:32 +01:00
packetengines drivers/net: packetengines: Convert timers to use timer_setup() 2017-10-28 19:09:49 +09:00
pasemi drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
qlogic qed: Fix iWARP out of order flow 2017-10-19 12:46:43 +01:00
qualcomm net: qualcomm: rmnet: Add support for GRO 2017-10-28 00:10:23 +09:00
rdc r6040: move spinlock in r6040_close as SOFTIRQ-unsafe lock order detected 2016-12-17 21:35:12 -05:00
realtek r8169: Add support for interrupt coalesce tuning (ethtool -C) 2017-10-29 11:07:58 +09:00
renesas net: sh_eth: implement R-Car Gen[12] fallback compatibility strings 2017-10-20 08:32:24 +01:00
rocker rocker: fix rocker_tlv_put_* functions for KASAN 2017-09-25 20:18:27 -07:00
samsung drivers/net: sxgbe: Convert timers to use timer_setup() 2017-10-27 12:09:16 +09:00
seeq net: seeq: fix timer conversion 2017-11-02 20:33:12 +09:00
sfc sfc: support rx-fcs and rx-all 2017-11-01 21:26:35 +09:00
sgi net/ethernet/sgi: Convert timers to use timer_setup() 2017-10-18 12:40:26 +01:00
silan networking: introduce and use skb_put_data() 2017-06-16 11:48:37 -04:00
sis drivers/net: sis: Convert timers to use timer_setup() 2017-10-25 13:09:47 +09:00
smsc drivers/net: smsc: Convert timers to use timer_setup() 2017-10-28 19:09:50 +09:00
stmicro Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-10-30 21:09:24 +09:00
sun net: ethernet: sun: Convert timers to use timer_setup() 2017-10-18 12:40:26 +01:00
synopsys drivers: net: add missing interrupt.h include 2017-07-18 11:13:41 -07:00
tehuti net: tehuti: don't process data if it has not been copied from userspace 2017-07-19 22:48:02 -07:00
ti net/ti/tlan: Convert timers to use timer_setup() 2017-10-18 12:39:36 +01:00
tile net: ethernet: make ptp_clock_info const 2017-08-22 11:04:51 -07:00
toshiba drivers: net: spider_net: use setup_timer() helper. 2017-09-21 11:44:40 -07:00
tundra drivers/net: tundra: Convert timers to use timer_setup() 2017-11-01 12:38:45 +09:00
via dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
wiznet net: ethernet: wiznet: avoid format string exposure 2017-04-06 13:38:11 -07:00
xilinx net: Convert to using %pOF instead of full_name 2017-07-24 13:41:48 -07:00
xircom ethernet: xircom: small clean up in setup_xirc2ps_cs() 2017-08-22 10:30:00 -07:00
xscale net: ethernet: ixp4xx_eth: Utilize phy_ethtool_nway_reset 2016-11-15 16:33:35 -05:00
dnet.c networking: make skb_put & friends return void pointers 2017-06-16 11:48:39 -04:00
dnet.h net: ethernet: dnet: use phydev from struct net_device 2016-06-28 05:10:26 -04:00
ec_bhf.c net: ec_bhf: constify pci_device_id. 2017-07-17 13:37:15 -07:00
ethoc.c net: ethoc: enable NAPI before poll may be scheduled 2017-06-06 16:22:51 -04:00
fealnx.c drivers/net: fealnx: Convert timers to use timer_setup() 2017-10-28 19:09:49 +09:00
jme.c net/{mii, smsc}: Make mii_ethtool_get_link_ksettings and smc_netdev_get_ecmd return void 2017-06-05 11:00:42 -04:00
jme.h net: jme: use new api ethtool_{get|set}_link_ksettings 2017-01-17 11:44:27 -05:00
Kconfig net-next/hinic: Initialize hw interface 2017-08-22 10:48:52 -07:00
korina.c drivers/net: korina: Convert timers to use timer_setup() 2017-10-28 19:09:49 +09:00
lantiq_etop.c drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
Makefile net-next/hinic: Initialize hw interface 2017-08-22 10:48:52 -07:00
netx-eth.c net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00