The equal-cost multi-path routing (ECMP)  achieves load balance in data centers network. Without network's congestion status, ECMP may cause significant imbalance between paths. In this paper, we propose a better congestion aware routing protocol for Software Defined Network (SDN) to provide a better average link utilization. We follow the idea of In-band Network Telemetry (INT) to collect link congestion status in data center networks. Edge switches are responsible for detecting elephant flows by running a heavy hitter detection algorithm. When an elephant flow is reported to the controller by an edge switch, controller will use the collected congestion status to find the least congested path. In order to make the switches forward packets more efficiently and reduce the number of rules in switches' forwarding table, we adopt label switching. We develop a Programming Protocol-independent Packet Processors (P4) program to design our novel routing scheme, which contains a heavy hitter detection algorithm. We further validate that our heavy hitter detection algorithm can run on Banzai machine. We also write a Python controller to communicate with P4 switches through P4 Runtime protocol. Our experimental results shows that the probing process in CAMP minimizes the bandwidth overhead in data centers. We use Mininet to construct fat-tree topologies and the emulated software P4switches run BMv2. The data mining workload is used to generate the traffic in our experiment. CAMP achieves better FCT compared to ECMP and HULA . Also, the number of routing rules in CAMP maintains the smallest when network grows.