1. A non-transitory storage medium holding computing-device readable instructions, the instructions when executed by one or more processors causing a controller to: generate an abstract candidate device model, the abstract candidate device model describing intended forwarding or switching behavior for a target device having forwarding or switching capability, the intended forwarding or switching behavior including at least some behavior indicated as being mandatory and at least some behavior indicated as being non-mandatory; send the abstract candidate device model to a Hardware Abstraction Layer (HAL) for the target device; receive from the HAL a response based on an analysis of the abstract candidate device model, the response indicating that the target device is able to implement the mandatory behavior; and send an acknowledgement to the HAL that causes the HAL to implement the model for the target device.