Re: [openstack-dev] ML2 port binding?

2015-01-25 Thread Romil Gupta
Thanks Bob :)

Its really a nice explanation.

On Fri, Jan 23, 2015 at 1:01 PM, Harish Patil harish.pa...@qlogic.com
wrote:

 

 Hi Harish,
 
 Port binding in ML2 is the process by which a mechanism driver (or once
 
 https://blueprints.launchpad.net/openstack/?searchtext=ml2-hierarchical-po
 rt-binding
 is merged, potentially a set of mechanism drivers) is selected for the
 port, determining how connectivity is provided for that port. Since ML2
 is designed to support heterogeneous deployments, its possible for
 different ports to be bound using different mechanism drivers.
 
 The end results of port binding visible outside ML2 are the values of
 the binding:vif_type and binding:vif_details port attributes that
 control the Nova VIF driver behavior.  The inputs to the port binding
 process are the port and the network to which the port belongs,
 including the network's set of segments, as well as the values of the
 binding:host_id, binding:vnic_type, and binding:profile port attributes.
 Nova (or any L3, DHCP, or service agent owning the port) sets
 binding:host_id to indicate the host on which the port is being bound.
 The setting of this attribute triggers the port binding process.
 
 During port binding, the bind_port() method is called by ML2 on each
 registered mechanism driver until one driver indicates it has succeeded
 by calling PortContext.set_binding(). The driver calls
 PortContext.set_binding()  with the identity of the network segment it
 bound, and the values for the binding:vif_type and binding:vif_details
 attributes. Typical mechanism drivers for L2 agents decide whether they
 can bind the port by looking through the list of network segment for one
 with a network_type value that the agent on the host identified by
 binding:host_id can handle, and if relevant, a physical_network value
 for which that agent has connectivity. The current L2 agent mechanism
 drivers use agents_db info sent from the agents to the service via RPC,
 including the agent's health and the bridge_mappings or
 interface_mappings value that describes its connectivity to
 physical_networks.
 
 The doc strings in neutron.plugins.ml2.driver_api provide more detail on
 port binding and the classes and methods involved.
 
 Hope this helps,

 Sure it does, thanks very much Bob.

 
 -Bob
 
 On 1/21/15 9:42 PM, Harish Patil wrote:
  Hello,
  I’m a newbie here. Can someone please explain to me as to what exactly
 is
  involved in ‘port_binding’ in ML2 mechanism driver and any specific
  pointers? Is it just an association with its corresponding L2 agent?
 What
  is mechanism driver expected to return back to port_bind?
 
  Thanks
 
  Harish
 
 
 
 
  
 
  This message and any attached documents contain information from the
 sending company or its parent company(s), subsidiaries, divisions or
 branch offices that may be confidential. If you are not the intended
 recipient, you may not read, copy, distribute, or use this information.
 If you have received this transmission in error, please notify the
 sender immediately by reply e-mail and then delete this message.
 
 _
 _
  OpenStack Development Mailing List (not for usage questions)
  Unsubscribe:
 openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
  http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
 
 
 __
 OpenStack Development Mailing List (not for usage questions)
 Unsubscribe:
 openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
 



 

 This message and any attached documents contain information from the
 sending company or its parent company(s), subsidiaries, divisions or branch
 offices that may be confidential. If you are not the intended recipient,
 you may not read, copy, distribute, or use this information. If you have
 received this transmission in error, please notify the sender immediately
 by reply e-mail and then delete this message.
 __
 OpenStack Development Mailing List (not for usage questions)
 Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev




-- 
*Regards,*

*Romil *
__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] ML2 port binding?

2015-01-22 Thread Harish Patil


Hi Harish,

Port binding in ML2 is the process by which a mechanism driver (or once
https://blueprints.launchpad.net/openstack/?searchtext=ml2-hierarchical-po
rt-binding
is merged, potentially a set of mechanism drivers) is selected for the
port, determining how connectivity is provided for that port. Since ML2
is designed to support heterogeneous deployments, its possible for
different ports to be bound using different mechanism drivers.

The end results of port binding visible outside ML2 are the values of
the binding:vif_type and binding:vif_details port attributes that
control the Nova VIF driver behavior.  The inputs to the port binding
process are the port and the network to which the port belongs,
including the network's set of segments, as well as the values of the
binding:host_id, binding:vnic_type, and binding:profile port attributes.
Nova (or any L3, DHCP, or service agent owning the port) sets
binding:host_id to indicate the host on which the port is being bound.
The setting of this attribute triggers the port binding process.

During port binding, the bind_port() method is called by ML2 on each
registered mechanism driver until one driver indicates it has succeeded
by calling PortContext.set_binding(). The driver calls
PortContext.set_binding()  with the identity of the network segment it
bound, and the values for the binding:vif_type and binding:vif_details
attributes. Typical mechanism drivers for L2 agents decide whether they
can bind the port by looking through the list of network segment for one
with a network_type value that the agent on the host identified by
binding:host_id can handle, and if relevant, a physical_network value
for which that agent has connectivity. The current L2 agent mechanism
drivers use agents_db info sent from the agents to the service via RPC,
including the agent's health and the bridge_mappings or
interface_mappings value that describes its connectivity to
physical_networks.

The doc strings in neutron.plugins.ml2.driver_api provide more detail on
port binding and the classes and methods involved.

Hope this helps,

Sure it does, thanks very much Bob.


-Bob

On 1/21/15 9:42 PM, Harish Patil wrote:
 Hello,
 I’m a newbie here. Can someone please explain to me as to what exactly
is
 involved in ‘port_binding’ in ML2 mechanism driver and any specific
 pointers? Is it just an association with its corresponding L2 agent?
What
 is mechanism driver expected to return back to port_bind?

 Thanks

 Harish




 

 This message and any attached documents contain information from the
sending company or its parent company(s), subsidiaries, divisions or
branch offices that may be confidential. If you are not the intended
recipient, you may not read, copy, distribute, or use this information.
If you have received this transmission in error, please notify the
sender immediately by reply e-mail and then delete this message.

_
_
 OpenStack Development Mailing List (not for usage questions)
 Unsubscribe:
openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev






This message and any attached documents contain information from the sending 
company or its parent company(s), subsidiaries, divisions or branch offices 
that may be confidential. If you are not the intended recipient, you may not 
read, copy, distribute, or use this information. If you have received this 
transmission in error, please notify the sender immediately by reply e-mail and 
then delete this message.
__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


[openstack-dev] ML2 port binding?

2015-01-21 Thread Harish Patil
Hello,
I’m a newbie here. Can someone please explain to me as to what exactly is
involved in ‘port_binding’ in ML2 mechanism driver and any specific
pointers? Is it just an association with its corresponding L2 agent? What
is mechanism driver expected to return back to port_bind?

Thanks

Harish






This message and any attached documents contain information from the sending 
company or its parent company(s), subsidiaries, divisions or branch offices 
that may be confidential. If you are not the intended recipient, you may not 
read, copy, distribute, or use this information. If you have received this 
transmission in error, please notify the sender immediately by reply e-mail and 
then delete this message.
__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] ML2 port binding?

2015-01-21 Thread Robert Kukura

Hi Harish,

Port binding in ML2 is the process by which a mechanism driver (or once
https://blueprints.launchpad.net/openstack/?searchtext=ml2-hierarchical-port-binding 
is merged, potentially a set of mechanism drivers) is selected for the 
port, determining how connectivity is provided for that port. Since ML2 
is designed to support heterogeneous deployments, its possible for 
different ports to be bound using different mechanism drivers.


The end results of port binding visible outside ML2 are the values of 
the binding:vif_type and binding:vif_details port attributes that 
control the Nova VIF driver behavior.  The inputs to the port binding 
process are the port and the network to which the port belongs, 
including the network's set of segments, as well as the values of the 
binding:host_id, binding:vnic_type, and binding:profile port attributes. 
Nova (or any L3, DHCP, or service agent owning the port) sets 
binding:host_id to indicate the host on which the port is being bound. 
The setting of this attribute triggers the port binding process.


During port binding, the bind_port() method is called by ML2 on each 
registered mechanism driver until one driver indicates it has succeeded 
by calling PortContext.set_binding(). The driver calls 
PortContext.set_binding()  with the identity of the network segment it 
bound, and the values for the binding:vif_type and binding:vif_details 
attributes. Typical mechanism drivers for L2 agents decide whether they 
can bind the port by looking through the list of network segment for one 
with a network_type value that the agent on the host identified by 
binding:host_id can handle, and if relevant, a physical_network value 
for which that agent has connectivity. The current L2 agent mechanism 
drivers use agents_db info sent from the agents to the service via RPC, 
including the agent's health and the bridge_mappings or 
interface_mappings value that describes its connectivity to 
physical_networks.


The doc strings in neutron.plugins.ml2.driver_api provide more detail on 
port binding and the classes and methods involved.


Hope this helps,

-Bob

On 1/21/15 9:42 PM, Harish Patil wrote:

Hello,
I’m a newbie here. Can someone please explain to me as to what exactly is
involved in ‘port_binding’ in ML2 mechanism driver and any specific
pointers? Is it just an association with its corresponding L2 agent? What
is mechanism driver expected to return back to port_bind?

Thanks

Harish






This message and any attached documents contain information from the sending 
company or its parent company(s), subsidiaries, divisions or branch offices 
that may be confidential. If you are not the intended recipient, you may not 
read, copy, distribute, or use this information. If you have received this 
transmission in error, please notify the sender immediately by reply e-mail and 
then delete this message.
__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev



__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev