Project: netvirt master
a62846380ada2a042243647ad85778817957a2d2
Bug 8358 - Local next hop group not deleted after VM migration
Issue:
When a VM is migrated from one DPN to another, the FIB flows are not
programmed for the VM in the DPN to which it is migrated.
Analysis and Fix:
The l3nexthop container is used to check whether the local next hop group
is already present for a prefix. If it exits, no new group is created and just
the reference count is increased. When this prefix is removed, this
reference is decreased & the group is removed when the reference count is
0. It was observed that for the first VM creation, the reference count is
2(it should be 1) because of redundant calls to createlocalnexthop. A
check has been added to prevent this.
Also some other minor fixes have been done related to ECMP
1. The addition/deletion of extra route also changes the above mentioned
flow reference count. This caused problems while just updating the
extraroutes(the flow reference count keeps increasing and so the local
next hop group would never be deleted). Now, the addition/deletion of
extra routes doesnt change the flow reference count in the l3nexthop DS.
2. When there is no change in routepath of the extraroute(updated extra
route also present in the same DPN), there is no change in odl-fib DS and
so handling has been added to implicitly call the refresvrfEntry which
would update the FIB flows.
Change-Id: I4d7b435aed73268383b36e1c635c499c71e54c60
Signed-off-by: gobinath <gobinath@ericsson.com>