A system for a security controller that performs packet classification for network routing, comprising: a processor configured to: receive packets associated with a flow from a network device , wherein the network device performs packet forwarding; classify the flow, comprising to: determine application associated with the flow, comprising to: determine type of traffic related to the flow; and perform application signature matching based on the type of traffic to determine the application; and determine user associated with the flow, comprising to: extract username, password, or a combination thereof being submitted to an external site from the received packets to determine the user; determine an action for the flow based on a policy, comprising to: determine the action for the flow based on the application and the user; instruct the network device to perform the action for the flow, wherein the action is to drop the flow, ignore the flow, or shunt the flow; and receive additional packets associated with a new flow from the network device, wherein the security controller performs further classification of the new flow; and a memory coupled to the processor and configured to provide the processor with instructions. a processor configured to: receive packets associated with a flow from a network device , wherein the network device performs packet forwarding; classify the flow, comprising to: determine application associated with the flow, comprising to: determine type of traffic related to the flow; and perform application signature matching based on the type of traffic to determine the application; and determine user associated with the flow, comprising to: extract username, password, or a combination thereof being submitted to an external site from the received packets to determine the user; determine an action for the flow based on a policy, comprising to: determine the action for the flow based on the application and the user; instruct the network device to perform the action for the flow, wherein the action is to drop the flow, ignore the flow, or shunt the flow; and receive additional packets associated with a new flow from the network device, wherein the security controller performs further classification of the new flow; and classify the flow, comprising to: determine application associated with the flow, comprising to: determine type of traffic related to the flow; and perform application signature matching based on the type of traffic to determine the application; and determine user associated with the flow, comprising to: extract username, password, or a combination thereof being submitted to an external site from the received packets to determine the user; determine application associated with the flow, comprising to: determine type of traffic related to the flow; and perform application signature matching based on the type of traffic to determine the application; and determine type of traffic related to the flow; and perform application signature matching based on the type of traffic to determine the application; and determine user associated with the flow, comprising to: extract username, password, or a combination thereof being submitted to an external site from the received packets to determine the user; determine an action for the flow based on a policy, comprising to: determine the action for the flow based on the application and the user; instruct the network device to perform the action for the flow, wherein the action is to drop the flow, ignore the flow, or shunt the flow; and receive additional packets associated with a new flow from the network device, wherein the security controller performs further classification of the new flow; and a memory coupled to the processor and configured to provide the processor with instructions. <EOS>