Hi, During today's meeting, it was decided that we would re-purpose Robert's https://blueprints.launchpad.net/neutron/+spec/pci-passthrough-sriov to take care of adding a Base class to take care of common processing for SR-IOV ports.
This class would: 1. Inherits from AgentMechanismDriverBase. 2. Implements bind_port() where the binding:profile would be checked to see if the port's vnic_type is VNIC_DIRECT or VNIC_MACVTAP. 3. Also checks to see that port belongs to vendor/product that supports SR-IOV. 4. This class could be used by MDs that may or may not have a valid L2 agent. 5. Implement validate_port_binding(). This will always return True for Mds that do not have an L2 agent. Please let me know if I left out anything. Thanks, Sandhya On 2/25/14 9:18 AM, "Sandhya Dasu (sadasu)" <sad...@cisco.com> wrote: >Hi, > As a follow up from today's IRC, Irena, are you looking to write the >below mentioned Base/Mixin class that inherits from >AgentMechanismDriverBase class? When you mentioned port state, were you >referring to the validate_port_binding() method? > >Pls clarify. > >Thanks, >Sandhya > >On 2/6/14 7:57 AM, "Sandhya Dasu (sadasu)" <sad...@cisco.com> wrote: > >>Hi Bob and Irena, >> Thanks for the clarification. Irena, I am not opposed to a >>SriovMechanismDriverBase/Mixin approach, but I want to first figure out >>how much common functionality there is. Have you already looked at this? >> >>Thanks, >>Sandhya >> >>On 2/5/14 1:58 AM, "Irena Berezovsky" <ire...@mellanox.com> wrote: >> >>>Please see inline my understanding >>> >>>-----Original Message----- >>>From: Robert Kukura [mailto:rkuk...@redhat.com] >>>Sent: Tuesday, February 04, 2014 11:57 PM >>>To: Sandhya Dasu (sadasu); OpenStack Development Mailing List (not for >>>usage questions); Irena Berezovsky; Robert Li (baoli); Brian Bowen >>>(brbowen) >>>Subject: Re: [openstack-dev] [nova][neutron] PCI pass-through SRIOV >>>binding of ports >>> >>>On 02/04/2014 04:35 PM, Sandhya Dasu (sadasu) wrote: >>>> Hi, >>>> I have a couple of questions for ML2 experts regarding support of >>>> SR-IOV ports. >>> >>>I'll try, but I think these questions might be more about how the >>>various >>>SR-IOV implementations will work than about ML2 itself... >>> >>>> 1. The SR-IOV ports would not be managed by ova or linuxbridge L2 >>>> agents. So, how does a MD for SR-IOV ports bind/unbind its ports to >>>> the host? Will it just be a db update? >>> >>>I think whether or not to use an L2 agent depends on the specific SR-IOV >>>implementation. Some (Mellanox?) might use an L2 agent, while others >>>(Cisco?) might put information in binding:vif_details that lets the nova >>>VIF driver take care of setting up the port without an L2 agent. >>>[IrenaB] Based on VIF_Type that MD defines, and going forward with other >>>binding:vif_details attributes, VIFDriver should do the VIF pluging >>>part. >>>As for required networking configuration is required, it is usually done >>>either by L2 Agent or external Controller, depends on MD. >>> >>>> >>>> 2. Also, how do we handle the functionality in mech_agent.py, within >>>> the SR-IOV context? >>> >>>My guess is that those SR-IOV MechanismDrivers that use an L2 agent >>>would >>>inherit the AgentMechanismDriverBase class if it provides useful >>>functionality, but any MechanismDriver implementation is free to not use >>>this base class if its not applicable. I'm not sure if an >>>SriovMechanismDriverBase (or SriovMechanismDriverMixin) class is being >>>planned, and how that would relate to AgentMechanismDriverBase. >>> >>>[IrenaB] Agree with Bob, and as I stated before I think there is a need >>>for SriovMechanismDriverBase/Mixin that provides all the generic >>>functionality and helper methods that are common to SRIOV ports. >>>-Bob >>> >>>> >>>> Thanks, >>>> Sandhya >>>> >>>> From: Sandhya Dasu <sad...@cisco.com <mailto:sad...@cisco.com>> >>>> Reply-To: "OpenStack Development Mailing List (not for usage >>>>questions)" >>>> <openstack-dev@lists.openstack.org >>>> <mailto:openstack-dev@lists.openstack.org>> >>>> Date: Monday, February 3, 2014 3:14 PM >>>> To: "OpenStack Development Mailing List (not for usage questions)" >>>> <openstack-dev@lists.openstack.org >>>> <mailto:openstack-dev@lists.openstack.org>>, Irena Berezovsky >>>> <ire...@mellanox.com <mailto:ire...@mellanox.com>>, "Robert Li >>>>(baoli)" >>>> <ba...@cisco.com <mailto:ba...@cisco.com>>, Robert Kukura >>>> <rkuk...@redhat.com <mailto:rkuk...@redhat.com>>, "Brian Bowen >>>> (brbowen)" <brbo...@cisco.com <mailto:brbo...@cisco.com>> >>>> Subject: Re: [openstack-dev] [nova][neutron] PCI pass-through SRIOV >>>> extra hr of discussion today >>>> >>>> Hi, >>>> Since, openstack-meeting-alt seems to be in use, baoli and myself >>>> are moving to openstack-meeting. Hopefully, Bob Kukura & Irena can >>>> join soon. >>>> >>>> Thanks, >>>> Sandhya >>>> >>>> From: Sandhya Dasu <sad...@cisco.com <mailto:sad...@cisco.com>> >>>> Reply-To: "OpenStack Development Mailing List (not for usage >>>>questions)" >>>> <openstack-dev@lists.openstack.org >>>> <mailto:openstack-dev@lists.openstack.org>> >>>> Date: Monday, February 3, 2014 1:26 PM >>>> To: Irena Berezovsky <ire...@mellanox.com >>>> <mailto:ire...@mellanox.com>>, "Robert Li (baoli)" <ba...@cisco.com >>>> <mailto:ba...@cisco.com>>, Robert Kukura <rkuk...@redhat.com >>>> <mailto:rkuk...@redhat.com>>, "OpenStack Development Mailing List (not >>>>for usage questions)" >>>> <openstack-dev@lists.openstack.org >>>> <mailto:openstack-dev@lists.openstack.org>>, "Brian Bowen (brbowen)" >>>> <brbo...@cisco.com <mailto:brbo...@cisco.com>> >>>> Subject: Re: [openstack-dev] [nova][neutron] PCI pass-through SRIOV >>>> extra hr of discussion today >>>> >>>> Hi all, >>>> Both openstack-meeting and openstack-meeting-alt are available >>>> today. Lets meet at UTC 2000 @ openstack-meeting-alt. >>>> >>>> Thanks, >>>> Sandhya >>>> >>>> From: Irena Berezovsky <ire...@mellanox.com >>>> <mailto:ire...@mellanox.com>> >>>> Date: Monday, February 3, 2014 12:52 AM >>>> To: Sandhya Dasu <sad...@cisco.com <mailto:sad...@cisco.com>>, "Robert >>>> Li (baoli)" <ba...@cisco.com <mailto:ba...@cisco.com>>, Robert Kukura >>>> <rkuk...@redhat.com <mailto:rkuk...@redhat.com>>, "OpenStack >>>> Development Mailing List (not for usage questions)" >>>> <openstack-dev@lists.openstack.org >>>> <mailto:openstack-dev@lists.openstack.org>>, "Brian Bowen (brbowen)" >>>> <brbo...@cisco.com <mailto:brbo...@cisco.com>> >>>> Subject: RE: [openstack-dev] [nova][neutron] PCI pass-through SRIOV on >>>> Jan. 30th >>>> >>>> Hi Sandhya, >>>> >>>> Can you please elaborate how do you suggest to extend the below bp for >>>> SRIOV Ports managed by different Mechanism Driver? >>>> >>>> I am not biased to any specific direction here, just think we need >>>> common layer for managing SRIOV port at neutron, since there is a >>>> common pass between nova and neutron. >>>> >>>> >>>> >>>> BR, >>>> >>>> Irena >>>> >>>> >>>> >>>> >>>> >>>> *From:*Sandhya Dasu (sadasu) [mailto:sad...@cisco.com] >>>> *Sent:* Friday, January 31, 2014 6:46 PM >>>> *To:* Irena Berezovsky; Robert Li (baoli); Robert Kukura; OpenStack >>>> Development Mailing List (not for usage questions); Brian Bowen >>>> (brbowen) >>>> *Subject:* Re: [openstack-dev] [nova][neutron] PCI pass-through SRIOV >>>> on Jan. 30th >>>> >>>> >>>> >>>> Hi Irena, >>>> >>>> I was initially looking >>>> at >>>> >>>>https://blueprints.launchpad.net/neutron/+spec/ml2-typedriver-extra-por >>>>t >>>>- >>>>info to take care of the extra information required to set up the >>>>SR-IOV >>>>port. >>>> When the scope of the BP was being decided, we had very little info >>>> about our own design so I didn't give any feedback about SR-IOV ports. >>>> But, I feel that this is the direction we should be going. Maybe we >>>> should target this in Juno. >>>> >>>> >>>> >>>> Introducing, */SRIOVPortProfileMixin /*would be creating yet another >>>> way to take care of extra port config. Let me know what you think. >>>> >>>> >>>> >>>> Thanks, >>>> >>>> Sandhya >>>> >>>> >>>> >>>> *From: *Irena Berezovsky <ire...@mellanox.com >>>> <mailto:ire...@mellanox.com>> >>>> *Date: *Thursday, January 30, 2014 4:13 PM >>>> *To: *"Robert Li (baoli)" <ba...@cisco.com <mailto:ba...@cisco.com>>, >>>> Robert Kukura <rkuk...@redhat.com <mailto:rkuk...@redhat.com>>, >>>> Sandhya Dasu <sad...@cisco.com <mailto:sad...@cisco.com>>, "OpenStack >>>> Development Mailing List (not for usage questions)" >>>> <openstack-dev@lists.openstack.org >>>> <mailto:openstack-dev@lists.openstack.org>>, "Brian Bowen (brbowen)" >>>> <brbo...@cisco.com <mailto:brbo...@cisco.com>> >>>> *Subject: *RE: [openstack-dev] [nova][neutron] PCI pass-through SRIOV >>>> on Jan. 30th >>>> >>>> >>>> >>>> Robert, >>>> >>>> Thank you very much for the summary. >>>> >>>> Please, see inline >>>> >>>> >>>> >>>> *From:*Robert Li (baoli) [mailto:ba...@cisco.com] >>>> *Sent:* Thursday, January 30, 2014 10:45 PM >>>> *To:* Robert Kukura; Sandhya Dasu (sadasu); Irena Berezovsky; >>>> OpenStack Development Mailing List (not for usage questions); Brian >>>> Bowen (brbowen) >>>> *Subject:* [openstack-dev] [nova][neutron] PCI pass-through SRIOV on >>>> Jan. 30th >>>> >>>> >>>> >>>> Hi, >>>> >>>> >>>> >>>> We made a lot of progress today. We agreed that: >>>> >>>> -- vnic_type will be a top level attribute as binding:vnic_type >>>> >>>> -- BPs: >>>> >>>> * Irena's >>>> https://blueprints.launchpad.net/neutron/+spec/ml2-request-vnic-type >>>> for binding:vnic_type >>>> >>>> * Bob to submit a BP for binding:profile in ML2. SRIOV input info >>>> will be encapsulated in binding:profile >>>> >>>> * Bob to submit a BP for binding:vif_details in ML2. SRIOV output >>>> info will be encapsulated in binding:vif_details, which may include >>>> other information like security parameters. For SRIOV, vlan_id and >>>> profileid are candidates. >>>> >>>> -- new arguments for port-create will be implicit arguments. Future >>>> release may make them explicit. New argument: --binding:vnic_type >>>> {virtio, direct, macvtap}. >>>> >>>> I think that currently we can make do without the profileid as an >>>> input parameter from the user. The mechanism driver will return a >>>> profileid in the vif output. >>>> >>>> >>>> >>>> Please correct any misstatement in above. >>>> >>>> >>>> >>>> Issues: >>>> >>>> -- do we need a common utils/driver for SRIOV generic parts to be >>>> used by individual Mechanism drivers that support SRIOV? More details >>>> on what would be included in this sriov utils/driver? I'm thinking >>>> that a candidate would be the helper functions to interpret the >>>> pci_slot, which is proposed as a string. Anything else in your mind? >>>> >>>> */[IrenaB] I thought on some SRIOVPortProfileMixin to handle and >>>> persist SRIOV port related attributes/* >>>> >>>> >>>> >>>> -- what should mechanism drivers put in binding:vif_details and how >>>> nova would use this information? as far as I see it from the code, a >>>> VIF object is created and populated based on information provided by >>>> neutron (from get network and get port) >>>> >>>> >>>> >>>> Questions: >>>> >>>> -- nova needs to work with both ML2 and non-ML2 plugins. For regular >>>> plugins, binding:vnic_type will not be set, I guess. Then would it be >>>> treated as a virtio type? And if a non-ML2 plugin wants to support >>>> SRIOV, would it need to implement vnic-type, binding:profile, >>>> binding:vif-details for SRIOV itself? >>>> >>>> */[IrenaB] vnic_type will be added as an additional attribute to >>>> binding extension. For persistency it should be added in >>>> PortBindingMixin for non ML2. I didn't think to cover it as part of >>>> ML2 vnic_type bp./* >>>> >>>> */For the rest attributes, need to see what Bob plans./* >>>> >>>> >>>> >>>> -- is a neutron agent making decision based on the binding:vif_type? >>>> In that case, it makes sense for binding:vnic_type not to be exposed >>>> to agents. >>>> >>>> */[IrenaB] vnic_type is input parameter that will eventually cause >>>> certain vif_type to be sent to GenericVIFDriver and create network >>>> interface. Neutron agents periodically scan for attached interfaces. >>>> For example, OVS agent will look only for OVS interfaces, so if SRIOV >>>> interface is created, it won't be discovered by OVS agent./* >>>> >>>> >>>> >>>> Thanks, >>>> >>>> Robert >>>> >>> >> >> >>_______________________________________________ >>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