2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-19 11:04:00 +08:00
linux-next/drivers/infiniband/hw/mlx4
Marina Varshaver 0e451e883b IB/mlx4: Add support for the don't trap rule
Add support for receiving multicast/unicast traffic with
the don't trap rule.

Sniffing these packets requires a flow steering rule of type NORMAL
at priority 0 with flag IB_FLOW_ATTR_FLAGS_DONT_TRAP set.
Choosing between multicast or unicast is done via ethernet L2 dest_mac
mask and value:
- If mask is all zeros - unicast and multicast are set.
- If mask non zero - only mask with multicast bit 1 and rest 0 is
                     supported, the mac value will choose if it is
                     multicast or unicast rule.

If the mask multicast bit is on and some other bits are on too, it means
a request for specific multicast or unicast, this is not supported,
either receive all multicast or all unicast.

Only when limitations are met registered QP will receive requested type
but other QPs can receive same traffic if registered for it.
Otherwise, if limitations are not met, an error will be returned.

Limitations:
- Rule must be with priority 0.
- A0 mode is not supported.
- Sniffer QP cannot appear in any other flow steering rule.

Signed-off-by: Marina Varshaver <marinav@mellanox.com>
Reviewed-by: Matan Barak <matanb@mellanox.com>
Reviewed-by: Yishai Hadas <yishaih@mellanox.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
2016-02-29 17:11:40 -05:00
..
ah.c infiniband: Replace memset with eth_zero_addr 2016-01-19 15:24:54 -05:00
alias_GUID.c IB/mlx4: Use boottime 2016-02-29 17:11:40 -05:00
cm.c IB/mlx4: In mlx4_ib_demux_cm, print out GUID in host-endian order 2015-02-17 22:11:40 -08:00
cq.c IB: remove in-kernel support for memory windows 2015-12-23 14:29:04 -05:00
doorbell.c IB: Refactor umem to use linear SG table 2014-03-04 10:34:28 -08:00
Kconfig IB/mlx4: Add dependency INET 2014-01-19 15:14:05 -08:00
mad.c IB/mlx4: Add support for the port info class for RoCE ports 2016-02-17 10:07:20 -05:00
main.c IB/mlx4: Add support for the don't trap rule 2016-02-29 17:11:40 -05:00
Makefile IB/mlx4: Add iov directory in sysfs under the ib device 2012-09-30 20:33:39 -07:00
mcg.c IB/core: Use GID table in AH creation and dmac resolution 2015-10-21 23:48:17 -04:00
mlx4_ib.h IB/mlx4: Create and use another QP1 for RoCEv2 2016-01-19 15:35:01 -05:00
mr.c IB: remove in-kernel support for memory windows 2015-12-23 14:29:04 -05:00
qp.c net/mlx4_core: Set UAR page size to 4KB regardless of system page size 2016-02-17 10:29:27 -05:00
srq.c Initial roundup of 4.5 merge window patches 2016-01-23 18:45:06 -08:00
sysfs.c IB/mlx4: Forbid using sysfs to change RoCE pkeys 2015-08-30 18:12:22 -04:00
user.h mlx4: 64-byte CQE/EQE support 2012-11-26 10:19:17 -08:00