Re: [RFC 02/10] IB/hfi-vnic: Virtual Network Interface Controller (VNIC) Bus driver
From: Vishwanathapura, Niranjana <hidden>
Date: 2016-11-24 00:08:25
Also in:
linux-rdma
On Tue, Nov 22, 2016 at 05:49:32PM -0700, Jason Gunthorpe wrote:
quoted
quoted
quoted
We could add a custom Interface between HFI1 driver and hfi_vnic drivers without involving a bus.hfi is already registering on the infiniband class, just use that.I don't understand what you mean here?Get the struct ib_device for the hfi and then do something to get hfi specific function calls. Or work it backwards with a _register function..
OK, thanks for your feedback. We can make the hfi_vnic module as an ib client (which it is) like other ULPs, and do not have an in-built or custom bus for binding. Then the hfi_vnic ULP by some mechanism will identify the device as hfi1 device and will only serve that device. In order to pass the hfi function pointers to the hfi_vnic ULP, I can, a) Have hfi_vnic ULP define an interface API for hfi1 driver to call to register its callback (as you pointed). Unfortunately there will be a module dependency here. Or, b) Add a new member ‘struct vnic_ops’ either to the ib_device structure or ib_port_immutable structure. As it is hfi1 specific, only hfi1 driver will set it. No module dependency here. And will move the hfi_vnic module under ‘drivers/infiniband/ulp/hfi_vnic’. All these will remove undue complexity and fit the driver in current design framework as per your suggestion. Let me know your comments. Niranjana
Jason
-- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html