# Revision history [back]

A physnet is a physical network as opposed to a virtual one created through protocols like GRE or VXLAN. As VXLAN and GRE are IP-based protocols there is no need to tell the system about any NIC or similar. It will just know how to connect since the target IP address is known and the rest can be looked up via the system's routing table. For other network types such as flat or vlan, the driver needs to know for example "where" to create the VLAN. In such cases, you define a physnet that could be called "physnet1" and configure ML2 to create VLAN-type networks on that physnet. The physnet is mapped to an interfaces such as eth0, bond0 or similar depending on your network configuration.

Look at this example configuration I am running:

[ml2]
type_drivers = flat,vlan,vxlan
tenant_network_types = vxlan
mechanism_drivers = openvswitch,l2population
path_mtu = 1550

[ml2_type_vlan]
network_vlan_ranges = physnet1:123:123,physnet1:234:234

[ml2_type_flat]
flat_networks = physnet1

[ml2_type_vxlan]
vni_ranges = 1:1000
vxlan_group = 239.1.1.1

[securitygroup]
firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver

[agent]
tunnel_types = vxlan
l2_population = true
arp_responder = true

[ovs]
bridge_mappings = physnet1:br-ex
local_ip = 172.16.2.10


I define one physnet "physnet1" which maps to "br-ex" which is an Open vSwitch bridge automatically create by Neutron.You can see that flat and vlan type sections reference physnet1. The VXLAN section does not.