As I work on the in-kernel LLDP prototype, I wanted to be sure about this -- after calling dls_open() and registering my rx callback, if I call dls_unbind() or dls_close(), can I be sure that once either returns, DLS will not be in the middle of invoking my registered callback? Or to restate it slightly differently, if the registered rx callback is running on another core, dls_{unbind,close} will wait until the callback returns before itself returning? I think it does this presently, though I need to wade through the code a bit more to be sure, but even then I want to be sure this is defined behavior.