Currently mirror metadata is stored in index table using flow index
as key. Before the Flow eviction, the addition and deletion of this meta
data to Index table is always from Agent and hence no parallel
manipulation of Index table. After eviction, the metadata deletion from
index table can happen in parallel and hence leading to memory
corruption/leak in index table manipulation.
The right fix is making the index table SMP ready. As a stop gap fix,
the mirror metada data pointer is stored in the flow entry itself
directly.
Reviewed: https:/ /review. opencontrail. org/22376 github. org/Juniper/ contrail- vrouter/ commit/ e9067998b9dde14 a937fa2c96106b8 b439659430
Committed: http://
Submitter: Zuul
Branch: R3.1
commit e9067998b9dde14 a937fa2c96106b8 b439659430
Author: Divakar <email address hidden>
Date: Fri May 27 15:58:31 2016 +0530
Keeping the mirror metadata entry in Flow entry
Currently mirror metadata is stored in index table using flow index
as key. Before the Flow eviction, the addition and deletion of this meta
data to Index table is always from Agent and hence no parallel
manipulation of Index table. After eviction, the metadata deletion from
index table can happen in parallel and hence leading to memory
corruption/leak in index table manipulation.
The right fix is making the index table SMP ready. As a stop gap fix,
the mirror metada data pointer is stored in the flow entry itself
directly.
closes-bug: #1572397
Change-Id: I216d8b6c55025a 6053b808fd28073 38265b307e0