Ask Your Question

How does ovs agent in Neutron create and update the state of a port to ACTIVE ?

asked 2014-07-04 00:45:03 -0500

Ketan Goyal gravatar image

updated 2014-07-04 03:35:02 -0500

I would like to create my own neutron service like dhcp or the l3 service in a network namespace and would like to get the plugin to update the port status to ACTIVE. I have found that by creating a internal port on the br-int with correct tag, I was able to ping to it through the router and a vm on the same subnet.

i know that I can use the /neutron/agent/linux/ to configure the switch, but I am not sure if the ovs agent will update the port status via ovs plugin in the database

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted

answered 2014-07-07 13:15:51 -0500

Ketan Goyal gravatar image

updated 2014-07-12 22:34:55 -0500

I got it, The plugin creates a logical entry for the port which is stored in the database. The agent is responsible for only checking changes in the ovs bridge and updating those changes and the database.

It works like this..

Other services (e.g. Nova, neutron l3 router, etc) create the actual port on the integration bridge.

The agent looks for any changes in the ovsdb for the bridge by using ovsdb-client in a pooling loop.

If it finds a new entry, it gets the port details from ovsbd as well as the plugin via RPC and checks for the port binding attributes.

If the attributes are found and the ofport entry in the ovsdb for the port is valid, it sets the port's tag allotted to the port's network via ovs-vsclt and updates the port status to ACTIVE via RPC to plugin.

In my implementation, I forgot to bind my port correctly, hence the status of the port was not updated to ACTIVE.

edit flag offensive delete link more


Thanks for posting!

SGPJ gravatar imageSGPJ ( 2014-07-18 03:52:04 -0500 )edit

Get to know Ask OpenStack

Resources for moderators

Question Tools



Asked: 2014-07-04 00:45:03 -0500

Seen: 397 times

Last updated: Jul 12 '14