[openstack-dev] Neutron ML2 and openvswitch agent

Yuzhou (C) vitas.yuzhou at huawei.com
Wed Feb 26 03:05:29 UTC 2014


If you want to know how exactly ML2 plugin which is working on
neutron server is communicating with openvswitch
agents,you shoud read code: rpc.py /plugin.py /ovs_neutron_agent.py

In rpc.py, define functions for rpc.
RpcCallbacks class define some rpc that agent send to Ml2 plugin.
AgentNotifierApi class define some rpc that Ml2 plugin send to agent

In plugin.py,you should pay close attention to "def _setup_rpc(self)"

Ml2 plugin send rpc to agent (agent process rpc from plugin)
	Network_delete
	Port_update
	Security_groups_rule_updated
	Security_groups_member_updated
	Security_groups_provider_updated
	Tunnel_update

Ml2 plugin process rpc from agent (agent send rpc to pulgin)
	Report_state
	Get_device_details
	Update_device_down
	Update_device_up
	Tunnel_sync
	Security_group_runles_for_devices






>Re: [openstack-dev] Neutron ML2 and openvswitch agent
>Sławek Kapłoński Tue, 25 Feb 2014 12:31:54 -0800
>Hello,

>Trinath, this presentation I saw before You send me it. There is nice 
>explanation what methods are (and should be) in type driver and mech driver 
>but I need exactly that information what sent me Assaf. Thanks both of You for 
>Your help :)

--
>Best regards
>Sławek Kapłoński
>Dnia wtorek, 25 lutego 2014 12:18:50 Assaf Muller pisze:

> ----- Original Message -----
> 
> > Hi
> > 
> > Hope this helps
> > 
> > http://fr.slideshare.net/mestery/modular-layer-2-in-openstack-neutron
> > 
> > ___
> > 
> > Trinath Somanchi
> > 
> > _____________________________________
> > From: Sławek Kapłoński [sla... at kaplonski.pl]
> > Sent: Tuesday, February 25, 2014 9:24 PM
> > To: openstack-dev at lists.openstack.org
> > Subject: [openstack-dev] Neutron ML2 and openvswitch agent
> > 
> > Hello,
> > 
> > I have question to You guys. Can someone explain me (or send to link
> > with such explanation) how exactly ML2 plugin which is working on
> > neutron server is communicating with compute hosts with openvswitch
> > agents?
> 
> Maybe this will set you on your way:
> ml2/plugin.py:Ml2Plugin.update_port uses _notify_port_updated, which then
> uses ml2/rpc.py:AgentNotifierApi.port_update, which makes an RPC call with
> the topic stated in that file.
> 
> When the message is received by the OVS agent, it calls:
> neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:OVSNeutronAgent.port_
> update.
> > I suppose that this is working with rabbitmq queues but I need
> > to add own function which will be called in this agent and I don't know
> > how to do that. It would be perfect if such think will be possible with
> > writing for example new mechanical driver in ML2 plugin (but how?).
> > Thanks in advance for any help from You :)
> > 
> > --
> > Best regards
> > Slawek Kaplonski
> > sla... at kaplonski.pl
> > 
> > _______________________________________________
> > OpenStack-dev mailing list
> > OpenStack-dev at lists.openstack.org
> > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> > 
> > 
> > 
> > _______________________________________________
> > OpenStack-dev mailing list
> > OpenStack-dev at lists.openstack.org
> > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev





More information about the OpenStack-dev mailing list