File:TrunkVnicsBefore.svg

// dot -Tsvg -oTrunkVnicsBefore.svg TrunkVnicsBefore.dot

digraph "Neutron vNICs: Legacy" {

compound = true node [ shape = record ]

subgraph cluster_compute {

label = "compute host"

subgraph cluster_vm { label = "openstack instance"

vnic_0 [ label = "vNIC" ]           vnic_1 [ label = "vNIC" ]           vnic_2 [ label = "vNIC" ]

iface_0 [ label = "eth0" ]           iface_1 [ label = "eth1" ]           iface_2 [ label = "eth2" ]           iface_0 -> vnic_0 [ dir = none color = green ]           iface_1 -> vnic_1 [ dir = none color = red ]           iface_2 -> vnic_2 [ dir = none color = blue ]       }

port_0 [ label = "port0" ]

port_1 [ label = "port1" ]

port_2 [ label = "port2" ]

vnic_0 -> port_0 [ dir = none color = green ]

vnic_1 -> port_1 [ dir = none color = red ]

vnic_2 -> port_2 [ dir = none color = blue ]

}

net_0 [ label = "net0\nvlan/vxlan/gre X"   ]

net_1 [ label = "net1\nvlan/vxlan/gre Y"   ]

net_2 [ label = "net2\nvlan/vxlan/gre Z"   ]

port_0 -> net_0 [ dir = none color = green ]

port_1 -> net_1 [ dir = none color = red ]

port_2 -> net_2 [ dir = none color = blue ]

comment_model [ label = "legacy model:\nmany networks in an instance\ncome with many vNICs" style = dotted color = grey fontcolor = grey ]

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

}