Get hentry even if Invalid, to manipulate bucket entry
While deleting over flow table entry, the main bucket entry is fetched
using an API which return only valid hash entries. Due to this, if the
bucket entry is invalid, the over flow entry is not manipulated in the
list of bucket, but over flow entry is manipulated independently. Beause
of this, next index of main hash entry still points to cleared over flow
entry. Later if same over flow entry is added to same bucket, the next
index goes bad.
As a fix, the API which returns hash entry unconditinally is used to
manipulate the bucket entry. Also next_index is not made invalid whilte
invalidating hash table entry. This gets invalidated only when the
overflow entry is deleted
An extra vr_release_hentry() is removed from flow.
Reviewed: https:/ /review. opencontrail. org/16667 github. org/Juniper/ contrail- vrouter/ commit/ 18cdcd59d8f94a0 7665f8ef058caa3 0ecced3815
Committed: http://
Submitter: Zuul
Branch: master
commit 18cdcd59d8f94a0 7665f8ef058caa3 0ecced3815
Author: Divakar <email address hidden>
Date: Fri Jan 29 16:24:00 2016 +0530
Get hentry even if Invalid, to manipulate bucket entry
While deleting over flow table entry, the main bucket entry is fetched
using an API which return only valid hash entries. Due to this, if the
bucket entry is invalid, the over flow entry is not manipulated in the
list of bucket, but over flow entry is manipulated independently. Beause
of this, next index of main hash entry still points to cleared over flow
entry. Later if same over flow entry is added to same bucket, the next
index goes bad.
As a fix, the API which returns hash entry unconditinally is used to
manipulate the bucket entry. Also next_index is not made invalid whilte
invalidating hash table entry. This gets invalidated only when the
overflow entry is deleted
An extra vr_release_hentry() is removed from flow.
Change-Id: I90f50847a0f928 f4325290bb0b8cb 0ec5f47e108
closs-bug: #1539397