I see that Intel has a similar best practice.
http://www.dell.com/downloads/global/products/pedge/en/Optimizing-QoS-for-VMware.pdf
They state that you can achieve a high throughput if you use a software initiator. If you use a hardware initiator, you will loss the following features from VMware.
• No IPv6
• No DHCP
• No Routing
• No Network I/O Control
• No Traffic Shaping
• No iSCSI traffic reporting
• Security Vulnerabilities
I did not realize that iSCSI is really not that well designed. It really shows that it is a technical workaround to reduce cost.
Ok, so let’s say that we are going to use iSCSI. Which one will provide a better compromise, the VMware software initiator a software initiator in the Windows guest?