TSN : High cpu utilization when lot of unknown unicast packets are received

Bug #1481606 reported by Hari Prasad Killi
24
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Juniper Openstack
Status tracked in Trunk
R2.20
Fix Committed
High
Divakar Dharanalakota
Trunk
Fix Committed
High
Divakar Dharanalakota

Bug Description

When TSN receives many unknown unicast packets, the CPU utilization is high. Problem was characterized to be due to vrouter going thru all the bridge overflow entries for each packet.

tags: added: blocker
tags: added: qfx
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] R2.20

Review in progress for https://review.opencontrail.org/13166
Submitter: Divakar Dharanalakota (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] master

Review in progress for https://review.opencontrail.org/13228
Submitter: Divakar Dharanalakota (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/13228
Committed: http://github.org/Juniper/contrail-vrouter/commit/be1f71822a60d56c7ef7ac73ca9cca8c1ac5fa35
Submitter: Zuul
Branch: master

commit be1f71822a60d56c7ef7ac73ca9cca8c1ac5fa35
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: I9b6eaf9bf46505843c514f068310f0a8f63af619
closes-bug: #1481606

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] R2.22-dev

Review in progress for https://review.opencontrail.org/13339
Submitter: Divakar Dharanalakota (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/13339
Committed: http://github.org/Juniper/contrail-vrouter/commit/139741217cc11b4bbcef9824a94926388a258193
Submitter: Zuul
Branch: R2.22-dev

commit 139741217cc11b4bbcef9824a94926388a258193
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: I92e1ddfeb7837847ba11940ba06c0e201150f2f7
closes-bug: #1481606

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] R2.20

Review in progress for https://review.opencontrail.org/14314
Submitter: Divakar Dharanalakota (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/14314
Committed: http://github.org/Juniper/contrail-vrouter/commit/a075b88ce69fa9c2209a119b6a8f2e0c7eaaa167
Submitter: Zuul
Branch: R2.20

commit a075b88ce69fa9c2209a119b6a8f2e0c7eaaa167
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: I92e1ddfeb7837847ba11940ba06c0e201150f2f7
closes-bug: #1481606

tags: added: customer
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.