VUSTACK(1)

πŸ’… VUSTACK β€” set the default networking stack

okay bestie, welcome to the vustack(1) page, it lives in the General Commands Manual section and honestly? she's a baddie. let's get into it ✨


✨ SYNOPSIS ✨

vustack [options ...]  stack command [args]

that's it. that's the whole vibe. <pink>options</pink> first, then the <purple>stack</purple> you want, then the <cyan>command</cyan> and whatever <lavender>args</lavender> she takes. πŸŽ€


🌸 DESCRIPTION 🌸

so like. <hotpink>vunet</hotpink> is the VUOS module for networking virtualization β€” it's the girl who handles all the virtual networking drama. 🫢

networking stacks can be loaded using vumount(1) and they're identified by a <purple>pathname</purple>: the mount point. that's their whole identity fr fr.

vustack selects the stack to use among those available, and then <cyan>command</cyan> runs using the stack that vustack picked. main character energy: she chooses, then the command slays. πŸ‘‘


✨ OPTIONS ✨

  • -h, --help β€” print a short help message and exit. πŸ’– and if you combine it with -v, she also prints the list of protocol family names. two for one, we love to see it.
  • -s, --supported β€” select the stack only for the protocol families supported by <purple>stack</purple>. polite, considerate, knows her limits. πŸŽ€
  • *-f *list, --family list, --families list β€” select the stack for the protocol families in <lavender>list</lavender>. <lavender>list</lavender> is a comma separated list of protocol names or numbers. yes you can mix and match, she's flexible. πŸ’…
  • -v, --verbose β€” print the list of protocol families object of the stack selection. she's telling you exactly what she chose, no secrets here bestie. πŸ”₯

🌈 EXAMPLES 🌈

load vunet and mount a stack:

$ vu_insmod vunet
$ vumount -t vunetvdestack vde:// /dev/net/vde

run ip link using the stack mounted in /dev/net/vde:

$ vustack /dev/net/vde ip link
1: lo: *LOOPBACK* mtu 65536 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: vde0: *BROADCAST,MULTICAST* mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 5a:1e:97:fa:ab:a3 brd ff:ff:ff:ff:ff:ff

look at those interfaces. iconic. 🌸

run ip link set vde0 up selecting /dev/net/vde only for the families supported by vunetvdestack:

$ vustack -s -v /dev/net/vde ip link set vde0 up
Using /dev/net/vde for the following address families:
    inet(2) inet6(10) netlink(16) packet(17)

see how -s kept it to the supported ones and -v spilled the tea about which families got picked? obsessed. ✨

mount a null stack and use it to disable netlink:

$ vumount -t vunetnull vde:// /dev/net/null
$ exec vustack -f netlink -v /dev/net/null bash
Using /dev/net/null for the following address families:
    netlink(16)
$ ip addr
Cannot open netlink socket: Address family not supported by protocol

okay so this one is a little unhinged but it WORKS β€” netlink is out here getting absolutely ghosted and ip addr is left screaming Cannot open netlink socket: Address family not supported by protocol. πŸ’€ that's the point tho. deliberate chaos. πŸ¦‹


🫢 SEE ALSO 🫢

go read those too, they're the supporting cast and they ate. πŸ‘‘


πŸ’œ AUTHOR πŸ’œ

VirtualSquare. project leader: Renzo Davoli. living legend, no cap. πŸŽ€


okay that's the whole page bestie, go forth and stack responsibly ✨

VirtualSquare-VUOS Β· November 2024 Β· VUSTACK(1) β€” mwah, love u, bye πŸ’–πŸ’…πŸ¦‹

πŸ“¦ where this page comes from