[openstack-dev] [neutron][taas] neutron ovs-agent deletes taas flows
Soichi Shigeta
shigeta.soichi at jp.fujitsu.com
Wed Dec 16 04:46:26 UTC 2015
> o) An idea to fix:
>
> 1. Set "taas" stamp(*) to taas flows.
> 2. Modify the cleanup logic in ovs-agent not to delete entries
> stamped as "taas".
>
> * Maybe a static string.
> If we need to use a string which generated dynamically
> (e.g. uuid), API to interact with ovs-agent is required.
>
Last week I proposed to set a static string (e.g. "taas") as cookie
of flows created by taas agent.
But I found that the value of a cookie should not be a string,
but an integer.
At line 187 in
"neutron/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py":
self.agent_uuid_stamp = uuid.uuid4().int & UINT64_BITMASK
In case of we set an integer value to cookie, coordination
(reservation of range) is required to avoid conflict of cookies with
other neutron sub-projects.
As an alternative (*** short term ***) solution, my idea is:
Modify the clean up logic in ovs agent not to delete flows whose
"cookie = 0x0".
Because old flows created by ovs agent have an old stamp, "cookie =
0x0" means it was created by other than ovs agent.
# But, this idea has a disadvantage:
If there are flows which have been created by older version of ovs
agent, they can not be cleaned.
---
Soichi Shigeta
More information about the OpenStack-dev
mailing list