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

Reply via email to