commit e20b49b09e4227f35697c98c87c9da4b258c93fa
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/30283 github. org/Juniper/ contrail- vrouter/ commit/ e20b49b09e4227f 35697c98c87c9da 4b258c93fa
Committed: http://
Submitter: Zuul (<email address hidden>)
Branch: R2.21.x
commit e20b49b09e4227f 35697c98c87c9da 4b258c93fa
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