1. A method of policing congestion-causing flows in a network, comprising: detecting congestion at a flow-based programmable switch on the network; identifying a flow that is causing congestion at the flow-based programmable switch, wherein said identifying comprises re-routing packets that have been determined to be subject to congestion for further analysis by mirroring the packets that have been determined to be subject to congestion; and penalizing the flow that was identified as causing congestion.