Hi, As stated below, we are already having this work both in nova and neuron. Please take a look at the following discussions: https://wiki.openstack.org/wiki/Meetings#PCI_Passthrough_Meeting
For neutron part there are two different flavors that are coming as part of this effort: 1. Cisco SRIOV supporting 802.1QBH - no L2 agent 2. Mellanox Flavor - SRIOV embedded switch ("HW_VEB") - with L2 agent. My guess is that second flavor of SRIOV embedded switch should work for Intel NICs as well. Please join the PCI pass-through meeting discussions to see that you do not do any redundant work or just follow-up on mailing list. BR, Irena -----Original Message----- From: Mathieu Rohon [mailto:mathieu.ro...@gmail.com] Sent: Monday, February 10, 2014 1:25 PM To: OpenStack Development Mailing List (not for usage questions) Subject: Re: [openstack-dev] How to write a new neutron L2 plugin using ML2 framework? Hi, SRIOV is under implementation in nova and neutron. Did you have a look to : https://wiki.openstack.org/wiki/PCI_passthrough_SRIOV_support https://blueprints.launchpad.net/neutron/+spec/ml2-binding-profile https://blueprints.launchpad.net/neutron/+spec/ml2-request-vnic-type https://blueprints.launchpad.net/nova/+spec/pci-passthrough-sriov On Mon, Feb 10, 2014 at 7:27 AM, Isaku Yamahata <isaku.yamah...@gmail.com> wrote: > On Sat, Feb 08, 2014 at 03:49:46AM +0000, "Yang, Yi Y" > <yi.y.y...@intel.com> wrote: > >> Hi, All > > Hi. > > >> I want to write a new neutron L2 plugin using ML2 framework, I noticed >> openvswitch and linxubridge have been ported into ML2 framework, but it >> seems many code is removed compared to standalone L2 plugin, I guess some >> code has been written into a common library. Now I want to write a L2 plugin >> to enable switch for a SR-IOV 10g NIC, I think I need to write as follows: > having such a feature would be awesome : did you fill a BP for that? > >> 1. a new mechanism driver neutron/plugins/ml2/drivers/mech_XXX.py, but from >> source code, it seems nothing to do. You mean, you want to use AgentMechanismDriverBase directly? this is an abstract class du to check_segment_for_agent method. > > This requires to define how your plugin utilize network. > If multi tenant network is wanted, what/how technology will be used. > The common one is VLAN or tunneling(GRE, VXLAN). > This depends on what feature your NIC supports. > >> 2. a new agent neutron/plugins/XXX/ XXX_neutron_plugin.py I don't know if this would be mandatory. May be you can just add necessary informations with extend_port_dict while your MD bind the port, as proposed by this patch : https://review.openstack.org/#/c/69783/ Nova will then configure the port correctly. The only need for an agent would be to populate the agent DB with supported segment types, so that during bind_port, the MD find an appropriate segment (with check_segment_for_agent). >> >> After this, an issue it how to let neutron know it and load it by default or >> by configuration. Debugging is also an issue, nobody can write code >> correctly once :-), does neutron have any good debugging way for a newbie? > > LOG.debug and debug middle ware. > If there are any other better way, I'd also like to know. > > thanks, > >> I'm very eager to be able to get your help and sincerely thank you in >> advance. >> >> _______________________________________________ >> OpenStack-dev mailing list >> OpenStack-dev@lists.openstack.org >> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > > -- > Isaku Yamahata <isaku.yamah...@gmail.com> > > _______________________________________________ > OpenStack-dev mailing list > OpenStack-dev@lists.openstack.org > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev _______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev _______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev