linux_dsm_epyc7002/include/linux/mlx5
Hadar Hen Zion f6dfb4c3f2 net/mlx5e: Update neighbour 'used' state using HW flow rules counters
When IP tunnel encapsulation rules are offloaded, the kernel can't see
the traffic of the offloaded flow. The neighbour for the IP tunnel
destination of the offloaded flow can mistakenly become STALE and
deleted by the kernel since its 'used' value wasn't changed.

To make sure that a neighbour which is used by the HW won't become
STALE, we proactively update the neighbour 'used' value every
DELAY_PROBE_TIME period, when packets were matched and counted by the HW
for one of the tunnel encap flows related to this neighbour.

The periodic task that updates the used neighbours is scheduled when a
tunnel encap rule is successfully offloaded into HW and keeps re-scheduling
itself as long as the representor's neighbours list isn't empty.

Add, remove, lookup and status change operations done over the
representor's neighbours list or the neighbour hash entry encaps list
are all serialized by RTNL lock.

Signed-off-by: Hadar Hen Zion <hadarh@mellanox.com>
Reviewed-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
2017-04-30 16:03:14 +03:00
..
cmd.h net/mlx5_core: Fix Mellanox copyright note 2015-04-02 16:33:42 -04:00
cq.h IB/mlx5: Support 4k UAR for libmlx5 2017-01-09 20:25:09 +02:00
device.h net/mlx5: Fix static checker warnings 2017-02-06 11:21:34 +02:00
doorbell.h IB/mlx5: Use blue flame register allocator in mlx5_ib 2017-01-09 20:25:08 +02:00
driver.h net/mlx5e: Update neighbour 'used' state using HW flow rules counters 2017-04-30 16:03:14 +03:00
fs.h net/mlx5: Refactor create flow table method to accept underlay QP 2017-04-17 11:08:29 -04:00
mlx5_ifc.h net/mlx5: Add IPoIB enhanced offloads bits to mlx5_ifc 2017-04-17 11:08:29 -04:00
port.h net/mlx5: Add DCBX firmware commands support 2016-11-28 15:09:35 -05:00
qp.h net/mlx5e: IPoIB, Xmit flow 2017-04-17 11:08:31 -04:00
srq.h net/mlx5: Ensure SRQ physical address structure endianness 2016-10-30 15:43:10 +02:00
transobj.h IB/mlx5: Support setting Ethernet priority for Raw Packet QPs 2016-01-21 12:01:09 -05:00
vport.h net/mlx5: Push min-inline mode resolution helper into the core 2017-01-24 21:14:05 +02:00