← Back to team overview

yahoo-eng-team team mailing list archive

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

 

Reviewed:  https://review.opendev.org/c/openstack/neutron/+/780055
Committed: https://opendev.org/openstack/neutron/commit/77ac42d2ee664263dd1dfd391dac4d8e062875e0
Submitter: "Zuul (22348)"
Branch:    master

commit 77ac42d2ee664263dd1dfd391dac4d8e062875e0
Author: Rodolfo Alonso Hernandez <ralonsoh@xxxxxxxxxx>
Date:   Tue Mar 9 17:46:47 2021 +0000

    SR-IOV agent can handle ports with same MAC addresses
    
    SR-IOV agent can handle ports with same MAC address (located in
    different networks). The agent can retrieve, from the system, the
    MAC address and the PCI slot; because the PCI slot is unique per
    port in the same host, this parameter is used to match with the
    Neutron port ID stored in the database (published via RPC).
    
    RPC API bumped to version 1.9.
    
    Closes-Bug: #1791159
    
    Change-Id: Id8c3e0485bebc55c778ecaadaabca1c28ec56205


** Changed in: neutron
       Status: In Progress => Fix Released

-- 
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:
  Fix Released

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


References