Network type values are defined all over the place.
For example, TYPE_FLAT ...
./quantum/plugins/mlnx/common/constants.py:23:TYPE_FLAT = 'flat'
./quantum/plugins/linuxbridge/common/constants.py:24:TYPE_FLAT = 'flat'
./quantum/plugins/openvswitch/common/constants.py:23:TYPE_FLAT = 'flat'
./quantum/plugins/hyperv/common/constants.py:27:TYPE_FLAT = 'flat'
./quantum/plugins/ml2/drivers/type_flat.py:26:TYPE_FLAT = 'flat'
It would be better to define the network types in one place and have all the plugins import them.
Before ML2 this was not really an issue since only one plugin was loaded. (Except for the Cisco plugin which can load multiple sub-plugins.) In ML2 with multiple mechanism drivers we should ensure that they all use the same network type values.
Seems like a good place for this would be neutron/ common/ constansts. py.