The hack to use a socket and bind it to claim the port was just for
demostrating the idea. The correct solution, IMO, is to enhance the
core low level 4-tuple allocation services to be more generic (eg: not
be tied to a struct sock). Then the host tcp stack and the host rdma
stack can allocate TCP/iWARP ports/4tuples from this common exported
service and share the port space. This allocation service could also be
used by other deep adapters like iscsi adapters if needed.
Since iWarp runs on top of TCP, the port space is really the same.
FWIW, I agree that this proposal is the correct solution to support iWarp.
- Sean