An application programming interface for use in a network device includes at
least
one control module that is capable of controlling a forwarding plane of the network
device. In particular, the network device forwards packets across a network, and
includes the forward plane for processing data packets. The application programming
interface includes an input module that receives function calls, at least one control
module (mentioned above) that receives input control data via the function calls,
and an output module that forwards output control data from the control module.
The control module produces the output control data based upon the input control
data. The output control data is capable of controlling execution of the forwarding plane.