Reviewed: https://review.opendev.org/670723 Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=0e80d2251e6b1cf8521418a703cff7cb149cb8e1 Submitter: Zuul Branch: master
commit 0e80d2251e6b1cf8521418a703cff7cb149cb8e1 Author: Adrian Chiris <[email protected]> Date: Sun Jul 14 11:08:31 2019 +0300 Pass get_networks() callback to interface driver In order to support out of tree interface drivers it is required to pass a callback to allow the drivers to query information about the network. - Allow passing **kwargs to interface drivers - Pass get_networks() as `get_networks_cb` kw arg `get_networks_cb` has the same API as `neutron.neutron_plugin_base_v2.NeutronPluginBaseV2.get_networks()` minus the the request context which will be embeded in the callback itself. The out of tree interface drivers in question are: MultiInterfaceDriver - a per-physnet interface driver that delegates operations on a per-physnet basis. IPoIBInterfaceDriver - an interface driver for IPoIB (IP over Infiniband) networks. Those drivers are a part of networking-mlnx[1], Their implementation is vendor agnostic so they can later be moved to a more common place if desired. [1] https://github.com/openstack/networking-mlnx Change-Id: I74d9f449fb24f64548b0f6db4d5562f7447efb25 Closes-Bug: #1834176 ** 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/1834176 Title: [RFE] Neutron enhancements to support per-physnet and IPoIB interface drivers Status in neutron: Fix Released Bug description: Networking-mlnx will add support for the following interface drivers: IPoIBInterfaceDriver - An interface driver to plug/unplug IPoIB interfaces. This driver will allow Neutron's DHCP and L3 agents to provide Routing and DHCP functionality on IP over Infiniband networks[1] MultiInterfaceDriver - An interface driver that (as the name suggests) supports multiple interface drivers. It delegates the operations to drivers on a per-physnet basis. This driver enable L3 and DHCP agents to provide DHCP and Routing functionalities on a per physnet basis allowing the same agent to provide DHCP/Routing for both ethernet and infiniband based physnets. Relevant commits in netwokring-mlnx can be found here[2] For these drivers to integrate with Neutron, some minimal changes are required in neutron codebase. 1. Add interface kind property to `ip_lib.IPDevice` to express the type of interface created by an interface driver 2. Add get_networks() RPC to L3 and DHCP agent 3. Pass get_networks() as kwarg to interface driver constructor. Relevant commits for neutron can be found here[3] It should be noted that both interface drivers are vendor agnostic. If there will be community interest in enabling IP networks over Infiniband fabric. The defined interface drivers can be moved to a common place. This RFE was repurposed from its original version in accordance to the neutron drivers meeting from 12.07.2019[4] [1] https://tools.ietf.org/html/rfc4390 - DHCP over infiniband https://tools.ietf.org/html/rfc4391 - Transmission of IPoIB https://tools.ietf.org/html/rfc4392 - IPoIB [2] https://review.opendev.org/#/c/670724 [3] https://review.opendev.org/#/c/670723 [4] http://eavesdrop.openstack.org/irclogs/%23openstack-meeting/%23openstack-meeting.2019-07-12.log.html#t2019-07-12T14:00:07 To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1834176/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

