The P4 programming language [29, 16] has been recently proposed as a high-level language to program the forwarding plane of programmable packet processors, spanning the spectrum from software switches through FPGAs, NPUs and reconfigurable hardware switches. This paper presents a case study that uses P4 to express the forwarding plane behavior of a data-center switch, comparable in functionality to single-chip shared-memory switches found in many data centers today. This case study allows us to understand how specific P4 constructs were useful in modeling specific data-center switch features. We also outline additional language constructs that needed to be added to P4 to support certain features of a data-center switch. We discuss several lessons that we learned in the process and distill these into a proposal for how P4 could evolve in the future.