Packet reordering occurs naturally as a result of local parallelism: a packet can traverse through multiple paths within a device. Packet reordering also occurs mainly due to route changes: if the new route offers a lower delay than the old one, then reordering occurs. A network path that suffers from persistent packet reordering will have severe performance degradation. TCP has two basic methods of finding out that a segment has been lost. The paper proposes to extend the TCP protocol to enable TCP senders to recognize whether a received dupack means that a packet has been dropped or reordered.