The Ethernet Programmable Reference Manual (PRM) describes the interface used by developers to write their own drivers.
The PRM is now available online at:
http://www.mellanox.com/related-docs/user_manuals/Ethernet_Adapters_Programming_Manual.pdf
Note: The Ethernet PRM covers only Ethernet Interfaces, and does not cover InfiniBand or RoCE.