proto_promisc* miss calls to mac_perim_exit
While doing some development work I stumbled across an annoying bug where dld's proto_promiscon_req can miss a call to mac_perim_exit() and thus back up the rest of the system. Specifically before we validate the new requested level to add or remove we always enter the mac perimeter. However, the default case in both switch statements sends us out a failure path without releasing the mac perimeter, which leads to deadlock on the perimeter down the road. The fix is simple, make sure we in fact do this.