Aspects of the disclosure provide a method for packet load balancing. The method includes determining at an ingress node of a switching system that an initial packet belongs to a new packet flow going to an egress node of the switching system, determining real-time congestion status of a plurality of paths to the egress node based on received congestion information of nodes on the plurality of paths, and selecting a path from the plurality of paths for switching the initial packet and subsequent packets of the new packet flow based on the real-time congestion status.