Linux repositories inspector


VIEW-OS: a process with a view
April 23, 2008


View-OS in user space - Core and base modules


mstack - networking stack selection


mstack [-hv] [-o protocol list] stack_mountpoint command


In View-OS multiple networking stacks are available to processes at the same time. View-OS supports the msocket(2) system call. mstack defines the default stack (for each address family) that is used when msocket refers to a NULL pathname for its stack. mstack provides also a backward compatibility for all the programs using the obsolete socket(2) system call. The stack mountpoint identifies the stack. In ViewOS it is the mountpoint where the stack was mounted (by mount(2)(8). In fact the call:
is equivalent to:
"msocket(NULL,domain,type protocol)"
mstacks changes the default stack for the desired protocol families and executes the command (by execve(2)).


-h prints the mstack command usage
-v sets the verbose mode on
-o defines the list of protocols. Without a -o option, mstack redefines the default stack for all protocols families. The list of protocols may include the a comma separated sequence of the following items: all, unix (or simply u), ipv4 (4), ipv6 (6), netlink (n), packet (p), bluetooth (b), irda (i), ip (which include all ip related protocols ipv4, ipv6, netlink and packet), #n where n is the number of protocol. Each item can be prefixed by + or - to specify whether the protocol/group of protocols must be added or removed from the set.


mstack /dev/net/lwip ip addr lists the address managed by the stack mounted on /dev/net/lwip.
exec mstack /dev/net/null bash disables the standard stack in a new bash (which overcomes the current one).
mstack -o ip /dev/net/lwip bash starts a new bash which uses the stack /dev/net/lwip for ipv4 and ipv6 but not for the other protocols.
mstack -o -unix /dev/net/lwip bash starts a new bash which uses the stack /dev/net/lwip for all protocols but AF_UNIX.
mstack -o +ip,-ipv6 /dev/net/lwip bash starts a new bash which uses the stack /dev/net/lwip for ipv4, netlink, packet but not ipv6.


umview(1), kmview(1), msocket(3), umnetnative(9), umnetnull(9), umnetlwipv6(9), unix(7), ip(7), ipv6(7), netlink(7), packet(7).


View-OS is a project of the Computer Science Department, University of Bologna. Project Leader: Renzo Davoli.
Howto’s and further information can be found on the project wiki <>.
⇧ Top