The recommendation is to use the VMware iSCSI software adapter. VMware's iSCSI stack is robust and the vast majority of Nimble implementations with integration to VMware uses the software iSCSI adapter so this would keep things fairly consistent from a support standpoint. Modern servers don't require iSCSI offload like they used to. I'd simply configure the CNA to be recognized as 10Gbps network ports. The one use case I've seen hardware ISCSI used is in boot-from-iSCSI where I'd recommend that you consult on compatibility matrix on the Infosight Support Portal.
We typically recommend that these ports be dedicated for iSCSI use. However, if you have a situation where you'd like to use these for VM traffic as well, I'd recommend that you review our very own Wen Yu's Super Sonic Dog blog post on this topic:
Feel free to email me directly at firstname.lastname@example.org
Adding to Eddie's response, depending on the scale of your environment you may want to look at the maximum number of targets supported by the hardware initiator vs. the software initiator. In the past, the software initiator supported far more devices lending itself to better manageability at scale.