commit 9900fb6ecc2534806d769aaf7c95915b2398d122
Author: Divakar D <email address hidden>
Date: Thu Mar 23 12:06:39 2017 +0530
Increment Nexthop ref count atomically
Right now, the NH's refcount is not incremented atomically as reference
to NH is always taken from a single thread in nelink context. This is
becuase Routes, Labels, and other NH's access an NH only when Agent
performs config changes. But with data path mac learning in place
because of PBB, reference to NH, esp L2 Mutlicast NH, happens from
multiple threads leading to requirement incrementing it atomically. Not
doing it causes the ref count to go bad for that particular NH and
results in double free of NH.
Reviewed: https:/ /review. opencontrail. org/30281 github. org/Juniper/ contrail- vrouter/ commit/ 9900fb6ecc25348 06d769aaf7c9591 5b2398d122
Committed: http://
Submitter: Zuul (<email address hidden>)
Branch: R3.0
commit 9900fb6ecc25348 06d769aaf7c9591 5b2398d122
Author: Divakar D <email address hidden>
Date: Thu Mar 23 12:06:39 2017 +0530
Increment Nexthop ref count atomically
Right now, the NH's refcount is not incremented atomically as reference
to NH is always taken from a single thread in nelink context. This is
becuase Routes, Labels, and other NH's access an NH only when Agent
performs config changes. But with data path mac learning in place
because of PBB, reference to NH, esp L2 Mutlicast NH, happens from
multiple threads leading to requirement incrementing it atomically. Not
doing it causes the ref count to go bad for that particular NH and
results in double free of NH.
Change-Id: I0afa517b56eeac 0371670ee76241e 392be762f20
closes-bug: #1672293
closes-bug: #1672373
closes-bug: #1673663