From: Lang Cheng <chenglang@xxxxxxxxxx> Some provider driver has realized this function, but these code are implemented separately by each manufacturer. This series provides an solution in ib_core, and remove the relevant codes of some manufacturers. The key point is how to shield the port event of the backup port in the ib bonding scenario. Since the active-backup control is judged by the vendor driver, so the ops.query_port of vendor would determine the port role. And there is no relevant data structure in ib_core, so modify struct ib_port_cache to store this information. Supports reporting port active time during device registration and sending port error events when device is deregistered. The previous discussion can be found at: https://patchwork.kernel.org/cover/11335999/ Changes since v1: - Fix comments from Leon and Jason. - Move event processing flow into global notifier instead of one notifier per device. Lang Cheng (7): RDMA/core: add inactive attribute of ib_port_cache RDMA/mlx5: remove deliver net device event qede: remove invalid notify operation RDMA/qedr: remove deliver net device event RDMA/vmw_pvrdma: remove deliver net device event RDMA/core: support send port event RDMA/core: report link status when register and deregister ib device drivers/infiniband/core/cache.c | 16 ++++- drivers/infiniband/core/device.c | 45 ++++++++++++ drivers/infiniband/core/roce_gid_mgmt.c | 45 ++++++++++++ drivers/infiniband/hw/mlx5/main.c | 95 +++----------------------- drivers/infiniband/hw/qedr/main.c | 19 ------ drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 5 -- drivers/net/ethernet/qlogic/qede/qede_rdma.c | 4 -- include/rdma/ib_cache.h | 10 +++ include/rdma/ib_verbs.h | 2 + 9 files changed, 126 insertions(+), 115 deletions(-) -- 2.8.1