File:TrunkPortVnicsAfter.png

digraph {

compound = true node [ shape = record ]

subgraph cluster_compute {

label = "compute host"

subgraph cluster_vm { label = "openstack instance" vnic [ label = "vNIC" ]           iface_tag_2 [ label = "eth0.20" ]           iface_untagged [ label = "eth0" ]           iface_tag_1 [ label = "eth0.10" ]           iface_tag_2 -> vnic [ dir = none color = blue ]           iface_untagged -> vnic [ dir = none color = green ]           iface_tag_1 -> vnic [ dir = none color = red ]       }

trunkport [ label = "trunk port" ]

subport_tag_1 [ label = "vlan 10 subport" ]

subport_default [ label = "default (untagged) subport" ]

subport_tag_2 [ label = "vlan 20 subport" ]

}

net_tag_1 [ label = "net1\nfabric vlan 110" ]

net_untagged [ label = "net0\nfabric vlan 100" ]

net_tag_2 [ label = "net2\nfabric vlan 120" ]

vnic -> trunkport [ dir = none color = red ]

vnic -> trunkport [ dir = none color = green ]

vnic -> trunkport [ dir = none color = blue ]

trunkport -> subport_tag_1 [ dir = none color = red ]

trunkport -> subport_default [ dir = none color = green ]

trunkport -> subport_tag_2 [ dir = none color = blue ]

subport_tag_1 -> net_tag_1 [ dir = both color = red ]

subport_default -> net_untagged [ dir = both color = green ]

subport_tag_2 -> net_tag_2 [ dir = both color = blue label = "remap encapsulation between\ninstance and fabric (pop, push)" fontcolor = grey ]

comment_model [ label = "trunk port model:\nmany networks in an instance\ncome with a single vNIC\nplus encapsulation" style = dotted color = grey fontcolor = grey ]

comment_model -> vnic [ style = dotted color = grey ]

}