Public bug reported:

It's bug in the macvtap mechanism driver.

If multiple network types are used with the macvtap driver, e.g. flat
and vlan, the vif_details can contain an invalid vif_detail attribute
'vlan'. This leads to nova configuring the macvtap with a vlan, even
though flat should be used!


The reason for this is, that the vif_details are supposed to be the same for 
all ports managed by a mechanism driver. Due to that they are stored as 
instance variables. However they are not with macvtap. In the vlan case, the 
vlan, which is stored in the vif_details, of course depends on the network. It 
might be a different for port A than for port B. The problem is, that the 
driver is always updating the global vif_dict, but instead of it should operate 
on a local copy. Now if first a vlan port is processed and after that a flat 
port, the vlan vif_detail is still stored in the mechanism drivers global 
vif_details. A flat port becomes a vlan port.

** Affects: neutron
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1745159

Title:
  macvtap agent: wrong vif details when instance is launched on vlan and
  flat network

Status in neutron:
  New

Bug description:
  It's bug in the macvtap mechanism driver.

  If multiple network types are used with the macvtap driver, e.g. flat
  and vlan, the vif_details can contain an invalid vif_detail attribute
  'vlan'. This leads to nova configuring the macvtap with a vlan, even
  though flat should be used!

  
  The reason for this is, that the vif_details are supposed to be the same for 
all ports managed by a mechanism driver. Due to that they are stored as 
instance variables. However they are not with macvtap. In the vlan case, the 
vlan, which is stored in the vif_details, of course depends on the network. It 
might be a different for port A than for port B. The problem is, that the 
driver is always updating the global vif_dict, but instead of it should operate 
on a local copy. Now if first a vlan port is processed and after that a flat 
port, the vlan vif_detail is still stored in the mechanism drivers global 
vif_details. A flat port becomes a vlan port.

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1745159/+subscriptions

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to