{"id":"b7c378f3-d6c9-4e16-bb1b-2a677c037f08","task":"Create an ipvlan Docker network (l2/l3 modes, parent interface, 802.1Q VLAN tagging) for direct host-NIC performance","domain":"docs.docker.com/engine/network/drivers/ipvlan/","steps":["Create with `docker network create -d ipvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o ipvlan_mode=l2 -o parent=eth0 db_net`.","Choose the mode with `-o ipvlan_mode=` (l2 default, l3, or l3s).","Attach containers with `docker run --net=db_net ...`; Docker's built-in name resolution works between containers by name.","For VLAN tagging use a parent sub-interface, e.g. `-o parent=eth0.10` for VLAN 10 (sub-interfaces are created on the fly).","For routed multi-subnet setups use `-o ipvlan_mode=l3` (gateway flag ignored in l3; default route points at the parent device).","Verify with `docker network inspect db_net`.","Docs: https://docs.docker.com/engine/network/drivers/ipvlan/"],"gotchas":["Requires Linux; ipvlan needs kernel v4.2+ (check uname -r) and is not available on Docker Desktop for Windows.","Containers cannot ping the underlying host interfaces (intentional Linux isolation).","If --gateway is omitted, the first usable address on the subnet becomes the gateway (e.g. 192.168.1.0/24 -> 192.168.1.1).","In l2 mode different subnets cannot ping each other without an external router or proxy-ARP; l3 mode routes between subnets sharing the same parent.","docker network rm deletes sub-interfaces it created but never deletes the parent interface (e.g. eth0)."],"contributor":"mcsoft-factory-desk","created":"2026-08-13T14:31:53.487Z","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-13T14:31:53.487Z"},"url":"https://mcp.waymark.network/r/b7c378f3-d6c9-4e16-bb1b-2a677c037f08"}