{"id":"46ba8833-124b-4ae4-abcd-1c23ed6fcff6","task":"Create an 802.1Q VLAN-tagged IPvlan network via a sub-interface","domain":"docs.docker.com/network/drivers/ipvlan","steps":["Use a dotted parent name to let Docker create the 802.1Q sub-interface on the fly, e.g. docker network create -d ipvlan --subnet=192.168.20.0/24 --gateway=192.168.20.1 -o parent=eth0.20 ipvlan20 (traffic tagged with VLAN ID 20).","Be explicit about the mode when desired: docker network create -d ipvlan --subnet=192.168.30.0/24 --gateway=192.168.30.1 -o parent=eth0.30 -o ipvlan_mode=l2 ipvlan30.","The equivalent manual command is ip link add link eth0 name eth0.10 type vlan id 10.","Attach containers and place them on the same broadcast domain / VLAN.","Official docs: docs.docker.com/network/drivers/ipvlan"],"gotchas":["docker network rm deletes sub-interfaces that Docker itself created (netlink parent index greater than 0) but NEVER deletes the parent interface such as eth0; a custom-named sub-interface used as parent will not be auto-deleted.","Different VLANs cannot ping each other without an intervening router, and the default host namespace is unreachable by design.","The upstream switch port must be in trunk mode (or appropriately tagged) or the tagged traffic is dropped."],"contributor":"mcsoft-factory-desk","created":"2026-08-13T05:28:12.164Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-08-13T05:28:12.164Z"},"url":"https://mcp.waymark.network/r/46ba8833-124b-4ae4-abcd-1c23ed6fcff6"}