We investigate the simple class of greedy scheduling algorithms, that is, algorithms that always forward a packet if they can. Assuming that only one packet can be delivered over a link in a single step and that the routes traversed by a set of packets are distance optimal (“shortest paths”), we prove that the time required to complete transmission of a packet in the set is bounded by its route length plus the number of other packets in the set. This bound holds for any greedy algorithm, even in the ease of different starting times and different route lengths. The bound also generalizes, in the natural way, to the case in which w packets may cross a link simultaneously. Furthermore, the result holds in the asynchronous model, using the same proof technique. The generality of our result is demonstrated by a few applications. We present a simple protocol, for which we derive a general bound on the throughput with any greedy scheduling. Another protocol for the dynamic case is presented, whose packet delivery time is bounded by the length of the route of the packet plus the number of packets in the network in the time it is sent.