1. A method of policing congestion-causing flows in a network, characterized in that the method includes: detecting congestion at a flow-based programmable switch on the network; identifying a flow that is causing congestion at the flow-based programmable switch; and penalizing the flow that was identified as causing congestion.