1. A computer-implemented method comprising: receiving, at a network device from a second network device, a data packet and application data extracted from the data packet; generating a routing decision for a network connection associated with the data packet based, at least in part, on the application data; and transmitting the routing decision for the data packet to the second device for the second device to route the data based on the routing decision.