As of now, bridge table overflow table is searched every time there is a
bridge miss in the main table. The search of overflow table is a sweep
of all entries starting from bridge key's hash value. In an unknown
unicast scenario, for every packet, the complete overflow table is swept
to identify that it is an unknown unicast. This is resulting in
performance degradation.
So it is now restructured in such a way that from main table bucket,
there is a list of overflow entries corresponding only to
that bucket. This list is a singly linked list from the last entry of
bucket in main table. There is a bitmap of free over flow entries
maintained to allocate a new over flow entry when ever required.
Reviewed: https:/ /review. opencontrail. org/13228 github. org/Juniper/ contrail- vrouter/ commit/ be1f71822a60d56 c7ef7ac73ca9cca 8c1ac5fa35
Committed: http://
Submitter: Zuul
Branch: master
commit be1f71822a60d56 c7ef7ac73ca9cca 8c1ac5fa35
Author: Divakar <email address hidden>
Date: Fri Aug 21 19:18:13 2015 +0530
Bridge table overflow table restructuring
As of now, bridge table overflow table is searched every time there is a
bridge miss in the main table. The search of overflow table is a sweep
of all entries starting from bridge key's hash value. In an unknown
unicast scenario, for every packet, the complete overflow table is swept
to identify that it is an unknown unicast. This is resulting in
performance degradation.
So it is now restructured in such a way that from main table bucket,
there is a list of overflow entries corresponding only to
that bucket. This list is a singly linked list from the last entry of
bucket in main table. There is a bitmap of free over flow entries
maintained to allocate a new over flow entry when ever required.
Change-Id: I9b6eaf9bf46505 843c514f068310f 0a8f63af619
closes-bug: #1481606