commit 0cfe6339fa3d2de927175aa99da2149e9adae090
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/30280 github. org/Juniper/ contrail- vrouter/ commit/ 0cfe6339fa3d2de 927175aa99da214 9e9adae090
Committed: http://
Submitter: Zuul (<email address hidden>)
Branch: R3.1
commit 0cfe6339fa3d2de 927175aa99da214 9e9adae090
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