We describe the implementation of a protocol stack for multi-modal underwater networks, where multiple physical layer technologies are available to each node. This condition implies greater flexibility, by allowing each node to decide how to serve specific transmissions and traffic classes depending on system, quality-of-service, and application-specific policies implemented in a controller. In this paper, we describe the implementation details of an acoustic/optical multi-modal underwater network stack through the DESERT Underwater framework. Our system services various traffic types with different quality-of-service demands, and allows mobility. Extensive numerical results show that our multi-modal system offers greater throughput, robustness to mobility and traffic types, and much lower service delay.