← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1791159] [NEW] Enhance SR-IOV agent to handle duplicate MAC addresses

 

Public bug reported:

There are scenarios where a VNF wishes to to have the same MAC address
in different VLANs or different provider_network types.

Tested so far:

1. Same MAC address used between 2 different VLAN networks ----> Success
2. Same MAC address used between 2 different SR-IOV networks ----> Success
3. Same MAC address used between 2 different VXLAN networks ----> Success
4. Same MAC address used between SR-IOV and VXLAN networks
 a)created sriov port first then vxlan port -----> Success
 b)created vxlan port first then sriov port ----> this scenario sometimes works and sometimes fails. It seems to be dependent on order of values returned from ports table

Examining the code, the SR-IOV agent requests device info by MAC address
which calls into the function "get_port_from_device_mac"
(https://github.com/openstack/neutron/blob/87223c10cbad33a3b75f22c20725ef9e01728b57/neutron/plugins/ml2/db.py#L146).
This function just returns the last item in the list with the implicit
assumption that the MAC address will always be unique and hence there's
only one value.

Enhancement is requested to allow SR-IOV agent to request device info by
MAC address but filtered on host_id as it knows which host is making the
request.

There is still an edge case where this won't work if ports are on the
same host - in which case an informative error should be returned.

** Affects: neutron
     Importance: Undecided
         Status: New


** Tags: rfe

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

Title:
  Enhance SR-IOV agent to handle duplicate MAC addresses

Status in neutron:
  New

Bug description:
  There are scenarios where a VNF wishes to to have the same MAC address
  in different VLANs or different provider_network types.

  Tested so far:

  1. Same MAC address used between 2 different VLAN networks ----> Success
  2. Same MAC address used between 2 different SR-IOV networks ----> Success
  3. Same MAC address used between 2 different VXLAN networks ----> Success
  4. Same MAC address used between SR-IOV and VXLAN networks
   a)created sriov port first then vxlan port -----> Success
   b)created vxlan port first then sriov port ----> this scenario sometimes works and sometimes fails. It seems to be dependent on order of values returned from ports table

  Examining the code, the SR-IOV agent requests device info by MAC
  address which calls into the function "get_port_from_device_mac"
  (https://github.com/openstack/neutron/blob/87223c10cbad33a3b75f22c20725ef9e01728b57/neutron/plugins/ml2/db.py#L146).
  This function just returns the last item in the list with the implicit
  assumption that the MAC address will always be unique and hence
  there's only one value.

  Enhancement is requested to allow SR-IOV agent to request device info
  by MAC address but filtered on host_id as it knows which host is
  making the request.

  There is still an edge case where this won't work if ports are on the
  same host - in which case an informative error should be returned.

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


Follow ups