On Fri, Sep 18, 2015 at 5:46 AM, Doug Ledford <dledford@xxxxxxxxxx> wrote: > On 09/16/2015 11:56 AM, Bodong Wang wrote: >> Signed-off-by: Bodong Wang <bodong@xxxxxxxxxxxx> >> --- >> drivers/infiniband/hw/mlx4/main.c | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c >> index 8be6db8..a70ca6a 100644 >> --- a/drivers/infiniband/hw/mlx4/main.c >> +++ b/drivers/infiniband/hw/mlx4/main.c >> @@ -217,6 +217,9 @@ static int mlx4_ib_query_device(struct ib_device *ibdev, >> props->device_cap_flags |= IB_DEVICE_MANAGED_FLOW_STEERING; >> } >> >> + props->csum_cap.eth_csum_cap |= IB_CSUM_SUPPORT_RAW; >> + props->csum_cap.ib_csum_cap |= IB_CSUM_SUPPORT_UD; >> + > This patch highlights something I didn't think about on the previous > patch. Why separate eth/ib if you have per QP flags? The QP denotes > the ib/eth relationship without the need to separate it into two > different caps. In other words, you can never have an IB qp type on eth > because the only eth QP types we support other than RAW are all RDMA and > not IP. Really, there's enough spare bits in ib_device_cap_flags that > you could do away with the new caps entirely. Right now, we support UD > (which we already have a flag for), we can add two flags (for RAW and > RC) and that should cover all of the foreseeable options as that would > allow us to extend IP CSUM support to cover connected mode and cover all > of the current options. I don't see us doing IP traffic in any other > situation, so I thing that should suffice. Bits 25 and 26 could be used > for the two new bits. Then you just need to extend the bits to user space. Doug, The vendor may support the offload for a certain QP type only over certain link. E.g mlx4 support checksum for UD QPs only over IB but not over Eth, checksum for RC QPs isn't supported, and RAW_PACKET QPs are available anyway only for Eth links. But if this is what you think needs to be done, I guess we can do that. Or. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html