There is a problem with Cisco Nexus ML2 mechanism and GRE networks. Function _port_action fails with NexusMissingRequiredFields if the port's network is not VLAN. So, this prevents port binding, that leads to completely non-working GRE networks.
My proposed solution is to add the check in beginning of _port_action:
if (segment and segment[api.NETWORK_TYPE] != p_const.TYPE_VLAN):
return
There is a similar check in _get_vlanid, but this is not enough
There is a problem with Cisco Nexus ML2 mechanism and GRE networks. Function _port_action fails with NexusMissingReq uiredFields if the port's network is not VLAN. So, this prevents port binding, that leads to completely non-working GRE networks.
My proposed solution is to add the check in beginning of _port_action:
if (segment and segment[ api.NETWORK_ TYPE] != p_const.TYPE_VLAN):
return
There is a similar check in _get_vlanid, but this is not enough