commit 1f01b6f0dab48580f105c5ac624438835531f23f
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/30417 github. com/Juniper/ contrail- vrouter/ commit/ 1f01b6f0dab4858 0f105c5ac624438 835531f23f
Committed: http://
Submitter: Zuul (<email address hidden>)
Branch: R2.22.x
commit 1f01b6f0dab4858 0f105c5ac624438 835531f23f
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