I think it would be simpler for programmers to have network stacks on the file system as special files.
I proposed this approach two years ago at FOSDEM. msocket is similar
to socketat but it has a pathname instead of a file descriptor as its
If the network stacks were special files, sysadm may provide more than one
stack to the users, each application can decide which stack to use.
A "default" stack can be defined for backwards compatibility: the "socket" syscall uses the default stack.