Scroll to navigation

VIEW-OS(1) General Commands Manual VIEW-OS(1)

NAME

mstack - networking stack selection

SYNOPSIS

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

DESCRIPTION

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:
 
"socket(domain,type,protocol)"
 
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)).

OPTIONS

-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.

EXAMPLES

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.

SEE ALSO

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

AUTHORS

View-OS is a project of the Computer Science Department, University of Bologna. Project Leader: Renzo Davoli.
 
<http://www.sourceforge.net/projects/view-os>
Howto's and further information can be found on the project wiki <wiki.virtualsquare.org>.
April 23, 2008 VIEW-OS: a process with a view