The de-facto standard for network programming, the Berkeley socket API, supports several protocol families. Unfortunately, it has a significant limitation in only allowing a single implementation for each supported protocol family. Hence, using Berkeley sockets, it is impossible to access multiple distinct networking stacks for the same protocol, e.g. multiple TCP/IP stacks. This paper defines, msocket, an extension to the Berkeley socket API which overcomes this limitation. msocket has been implemented as a feature of the View-OS project. Finally, we illustrate the utility and effectiveness of our extended API by providing some examples of its use.
The different versions of the original document can be found in:
Published on 31/12/11
Accepted on 31/12/11
Submitted on 31/12/11
Volume 2012, 2012
DOI: 10.1145/2245276.2245390
Licence: CC BY-NC-SA license
Are you one of the authors of this document?