mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-02 15:43:35 -04:00
RDMA/qedr: Fix iWARP active mtu display
Currently iWARP does not support mtu-change. Notify user when MTU changes
that reload of qedr is required for mtu to change. Display the correct
active mtu.
Fixes: f5b1b1775b ("RDMA/qedr: Add iWARP support in existing verbs")
Link: https://lore.kernel.org/r/20200902165741.8355-7-michal.kalderon@marvell.com
Signed-off-by: Michal Kalderon <michal.kalderon@marvell.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
This commit is contained in:
committed by
Jason Gunthorpe
parent
97fb3e3347
commit
cc293f5420
@@ -1026,6 +1026,13 @@ static void qedr_notify(struct qedr_dev *dev, enum qede_rdma_event event)
|
||||
case QEDE_CHANGE_ADDR:
|
||||
qedr_mac_address_change(dev);
|
||||
break;
|
||||
case QEDE_CHANGE_MTU:
|
||||
if (rdma_protocol_iwarp(&dev->ibdev, 1))
|
||||
if (dev->ndev->mtu != dev->iwarp_max_mtu)
|
||||
DP_NOTICE(dev,
|
||||
"Mtu was changed from %d to %d. This will not take affect for iWARP until qedr is reloaded\n",
|
||||
dev->iwarp_max_mtu, dev->ndev->mtu);
|
||||
break;
|
||||
default:
|
||||
pr_err("Event not supported\n");
|
||||
}
|
||||
|
||||
@@ -231,15 +231,16 @@ int qedr_query_port(struct ib_device *ibdev, u8 port, struct ib_port_attr *attr)
|
||||
attr->phys_state = IB_PORT_PHYS_STATE_DISABLED;
|
||||
}
|
||||
attr->max_mtu = IB_MTU_4096;
|
||||
attr->active_mtu = iboe_get_mtu(dev->ndev->mtu);
|
||||
attr->lid = 0;
|
||||
attr->lmc = 0;
|
||||
attr->sm_lid = 0;
|
||||
attr->sm_sl = 0;
|
||||
attr->ip_gids = true;
|
||||
if (rdma_protocol_iwarp(&dev->ibdev, 1)) {
|
||||
attr->active_mtu = iboe_get_mtu(dev->iwarp_max_mtu);
|
||||
attr->gid_tbl_len = 1;
|
||||
} else {
|
||||
attr->active_mtu = iboe_get_mtu(dev->ndev->mtu);
|
||||
attr->gid_tbl_len = QEDR_MAX_SGID;
|
||||
attr->pkey_tbl_len = QEDR_ROCE_PKEY_TABLE_LEN;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user