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/13339 github. org/Juniper/ contrail- vrouter/ commit/ 139741217cc11b4 bbcef9824a94926 388a258193
Committed: http://
Submitter: Zuul
Branch: R2.22-dev
commit 139741217cc11b4 bbcef9824a94926 388a258193
Author: Divakar <email address hidden>
Date: Wed Aug 26 17:23:53 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: I92e1ddfeb78378 47ba11940ba06c0 e201150f2f7
closes-bug: #1481606