OpenFlow is a popular network architecture where a logically centralized controller (the control plane) is physically decoupled from all forwarding switches (the data plane). Through this controller, the OpenFlow framework enables flow level granularity in switches thereby providing monitoring and control over each individual flow. Among other things, this architecture comes at the cost of placing significant stress on switch state size and overburdening the controller in various traffic engineering scenarios such as dynamic re-routing of flows. Storing a flow match rule and flow counter at every switch along a flow's path results in many thousands of entries per switch. Dynamic rerouting of a flow, either in an attempt to utilize less congested paths, or as a consequence of virtual machine migration, results in controller intervention at every switch along the old and new paths. In the absence of careful orchestration of flow storage and controller involvement, OpenFlow will be unable to scale to anticipated production data center sizes. In this context, we present SwitchReduce - a system to reduce switch state and controller involvement in OpenFlow networks. SwitchReduce is founded on the observation that the number of flow match rules at any switch should be no more than the set of unique processing actions it has to take on incoming flows. Additionally, the flow counters for every unique flow may be maintained at only one switch in the network. We have implemented SwitchReduce as a NOX controller application. Simulation results with real data center traffic traces reveal that SwitchReduce can reduce flow entries by up to approximately 49% on first hop switches, and up to 99.9% on interior switches, while reducing flow counters by 75% on average. © 2013 IFIP.