1. A computer implemented method to orchestrate software defined networking (SDN) applications, the method comprising: providing a plurality of network elements in a network, each of the plurality of network elements comprising a plurality of ingress interfaces, a plurality of egress interfaces, and a routing information base (RIB); providing, to an SDN application executing on a specified network element, of the plurality of network elements, an application program interface (API) to abstract properties and events of: (i) the ingress interfaces of the specified network element, (ii) the egress interfaces of the specified network element, and (iii) the RIB of the specified network element; receiving a request from the SDN application invoke a function of the API to apply the function to the specified network element; and applying the function to the specified network element through the API.