- Adding cmd to delete all flows.
- Task exclusion between "Agent::PktFlowResponder" and other tasks.
- converting true/false string to bool in flow trace.
- using uint32_t instead of string for IP Address.
Issues:
1. If validate perms (validating the parent obj etc) fails, the action done by http_post_collection is not undone. In the case of instance-ip/floating ip, we may endup leaking a route.
2. Subnet allocator zookeeper is not deleted on delete of subnet or on update of virtual network
3. Retry of delete node doesn’t pass recursive flag
4. Confusing stevedore error due to parameter mismatch

Fix:
1. Move all validation before starting to make state changes. (http_post, http_put)
    2. For all state modification, append a cleanup routine and walk the clean up routine in failure path
    3. Added “Failure/Cleanup” hook for all required classes.
    4.  Fix the parameter list for stevedore extension method
    5. Fix subnet delete to pass correct subnet name(which should include virtual network fq name)

Sanity report: http://10.204.216.50/Docs/logs/0000_2014_03_25_17_23_01/test_report.html
Converting action string to bool flags.
Adding test case for DeleteAllFlowRecord cmd
-Define Object Factory for agent
-Don't link UVE UT code with agent binary (Instead link it only with UT code)
-Move UVE UT code to uve/test folder
Fix issue that can result in concurrent invocation of exit callback
from work queue by calling the exit callback with the work queue
mutex held. Added corresponding unit test.
Call ExitCallback before setting running_ in RunnerDone WorkQueue.
Merge pull request #509 from naveen-n/master

* Pick interface index for vrf assign from ksync interface entry index
Merge remote branch 'github/master' into ashoksr_ut
optimising flow ksync operation by removing ksync_entry find, instead store entry pointer on create
Three issues identified.
1. Crash due to state missing
    Route is matched by the match condition and state is added before adding to WorkQueue.
    Route Entry gets deleted and delete request is added to Work Queue
    Route entry gets reused and Add request is now added to WorkQueue and subsequently the route entry gets deleted.
    When the work queue is processed with above 3 events, we can delete the MatchsTate with route still present in the WorkQueue.
2. Crash due to early unregister of DBClient even with DBState pending.
    When service chain config is deleted, the Unregister of the condition is done after Walk is completed. This event can occur before all MatchSTates are removed from the route. Due to this RemoveMAtchState function can possibly get called after the client is unregistered.
3. Concurrency issue in setting/accessing “stopped” flag of service chain object. It was set in the WalkDone function(in db:DBTable task) and flag is checked in Match function(Called from Notify in db:DBTable task). Since these two can be running in parallel (From different partition task), we can enqueue requests/set-state even after stopping the service chain. Which was the root cause calling unregister with MatchState set.

Solution:
To overcome the above issues,  I have made following fixes
1. Maintain a ref count on MatchState. Refcount is taken when the route is added to the work queue. RemoveMatchSTate is only called when refcount goes to zero. IF the route entry gets reused, recycle the state by resetting the delete flag
2. Track the number of MatchSTate added on a MatchCondition. UnregisterCondition is called only after all MatchStates are deleted.
3. Removed the "stopped" flag as the fix handles entries after the service chain is stopped.
4. added test cases which recreates the crashes. (One unregister with state pending and Missing Match state while handling add request).
TCP-ACK packet should be forwarded if SG action in either forward or
reverse flow evaluate to ALLOW.
The fix should be over-ridden once we track TCP connection state machine
in agent
Add test case for SG TCP-ACK changes
1. If the auth token is not specified, call to fetch auth token from keystone (_authenticate()) is done in try catch. In case of exception, give an error message “unable to authenticate”
2. If auth token is specified, and authentication fails, no attempt should be made to fetch token again. Instead return error.
3. Authentication protocol is made configurable(key stone access may be secured(https) or unsecured(http))
Update TCP packet routines to take TCP-ACK flag as parameter
Add SetFlowFlushExclusionPolicy() and SetFlowAgeExclusionPolicy() as
part of default init
Update comments
Update comments
Merge pull request #512 from praveenkv/master

TCP-ACK changes for security-groups
Simplify RunnerDone in WorkQueue by returning from one place
Merge pull request #507 from Juniper/meghb_wq

Fix issue that can result in concurrent invocation of exit callback