Let me suggest a different approach to supporting the Marvell
switch than
switchctl. We already have a familiar abstraction for an ethernet
port in
our existing drivers (tlp(4), wm(4), et cetera), for a switch/hub/
bridge
in bridge(4), and for a VLAN in vlan(4). Let us reuse those.
Represent
the ports in the Marvell switch using 11 interfaces, mrvl0..mrvl10.
Change each port's media settings and such in the usual way with
ifconfig.
Connect/partition ports on the switch with bridge(4). Add and remove
VLAN tags on some ports with vlan(4). Let the underlying hardware
driver
set the switching matrix and other parameters in order to optimize the
configuration of mrvl0..10, vlan0..N, and bridge0..M.