VLAN and QinQ sub-interfaces
VLAN and QinQ sub-interfaces are created under the physical port they belong to — the port you run add on is the parent. That mirrors MikroTik, Huawei and Cisco: you add sub-objects to an interface. A single tag is 802.1Q; two tags are QinQ 802.1ad. Sub-interface edits apply live on commit.
Creating sub-interfaces
Sub-interfaces are created under the physical port that owns them. A single tag is 802.1Q; two tags are QinQ 802.1ad, with the outer S-VLAN first and the inner C-VLAN second. VLAN edits stage into the candidate and apply live on commit.
interface <port> add vlan <name> <svlan> # single-tag 802.1Q interface <port> add vlan <name> <svlan> <cvlan> # QinQ 802.1ad interface <port> del vlan <name> interface access0 add vlan v100 100 interface access0 add vlan v10 100 10 commit ; save
Per-VLAN counters
show vlan stats reports each sub-interface's own rx and tx — the fast path attributes a subscriber's packets to the VLAN they arrived on, so it is real per-VLAN traffic rather than a share of the parent port. Link, speed and MTU belong to the parent physical port, since a VLAN shares the wire.
show vlan # also: show interface vlan show vlan stats # per-VLAN rx/tx, its OWN traffic