MVLS(8)
π MVLS(8) β okay bestie, let's peek inside the switch β¨
So like, mvls is a System Manager's Manual page (section 8, very sysadmin-coded π
) and it's all about dumping the internal state of Marvell LinkStreet Ethernet switches. Yes, the actual insides. No cap.
β¨ SYNOPSIS β¨
mvls [port | atu | vtu | pvt [DEV]]
π DESCRIPTION π
Okay so here's the vibe: if you run mvls with no arguments at all, it just dumps the vtu, the atu, and the port tables for you. All three. Like a little sampler platter π.
portβ lists the basic info about, like, every port on every switch on the system. All of them. Main character energy for your ports πatuβ dumps all the entries in the Address Translation Units (ATUs) of every device on the system. And fun fact: ATU is the Marvell LinkStreetβspecific name for a Forwarding Database (FDB). iykyk π§vtuβ dumps all the entries in the VLAN Translation Units (VTUs) of every device on the system. And here's the part you actually need to memorise: each port will be in one of four states:.β not a member of the VLAN πuβ member of the VLAN, and traffic egresses untaggedtβ member of the VLAN, and traffic egresses tagged=β member of the VLAN, and traffic egresses unmodified
pvt [DEV]β the Port based VLAN Tables, bestie. If you don't give it aDEV, it shows you a condensed view of the PVTs of all devices on the system. The output is an N Γ N matrix, where N is the number of ports on the system. Each element is one of four possible values:.β no communication is allowed between the ports at the corresponding row and columnxβ bidirectional communication is allowed between the ports at the corresponding row and column<β only unidirectional communication from the column port to the row port is allowed^β only unidirectional communication from the row port to the column port is allowed
And if you do supply DEV, it dumps the full PVT table for that device. Which is genuinely useful btw, because it lets you inspect entries that don't correspond to any physical device β like, specifically, those used by the mv88e6xxx driver to isolate Linux bridges. Obsessed with a debugging tool that shows you the invisible stuff π¦
π SEE ALSO π
π HISTORY π
So mvls gets all its data from the devlink interface of the mv88e6xxx driver. But β and this is the whole point β unlike devlink(8), it does not concern itself with maintaining multiple snapshots of register regions and whatnot. It's intended to be used interactively during development and debugging. Lowkey that's its entire personality π«Ά
β AUTHORS β
Tobias Waldekranz <tobias@waldekranz.com>
Okay that's the whole page, you ate that π Go dump some tables. This one's from the Linux manual set, version September 16, 2021, and yes the title really is MVLS(8) β slay, go debug something ππ₯
π¦ where this page comes from
- nixos 26.05: mdio-tools 1.3.2
- nixpkgs unstable: mdio-tools 1.3.2
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms