yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #86431
[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