A method (300, 600) comprising: identifying (302, 602) a network flow in a computer network between a source and a destination, wherein the network flow corresponds to a particular path in the network between the source and the destination; performing a first probe to determine whether there is end-to-end connectivity between the source and the destination including requesting that the source transmit an end-to-end diagnostic packet to the destination, wherein the end-to-end diagnostic packet includes information comprising a source identifier field and a destination identifier field that include identifiers for the source and destination, respectively, that are the same as respective source and destination identifiers characterizing the particular network flow such that one or more network devices in the computer network forward the end-to-end diagnostic packet on the path of the network flow; in response to determining that there is no end-to-end connectivity between the source and the destination, performing one or more additional probes including a second probe to determine whether each hop, of a plurality of hops, in the path of the network flow between the source and the destination is operational including requesting that the source transmit a respective first trace diagnostic packet to each hop in the path of the network flow, wherein each first trace diagnostic packet includes information that causes a particular hop to send a first trace response packet responsive to the first trace diagnostic packet to the source; and determining whether at least one link of the computer network that is part of the path of the network flow has failed based on the results of the first probe and the one or more additional probes. identifying (302, 602) a network flow in a computer network between a source and a destination, wherein the network flow corresponds to a particular path in the network between the source and the destination; performing a first probe to determine whether there is end-to-end connectivity between the source and the destination including requesting that the source transmit an end-to-end diagnostic packet to the destination, wherein the end-to-end diagnostic packet includes information comprising a source identifier field and a destination identifier field that include identifiers for the source and destination, respectively, that are the same as respective source and destination identifiers characterizing the particular network flow such that one or more network devices in the computer network forward the end-to-end diagnostic packet on the path of the network flow; in response to determining that there is no end-to-end connectivity between the source and the destination, performing one or more additional probes including a second probe to determine whether each hop, of a plurality of hops, in the path of the network flow between the source and the destination is operational including requesting that the source transmit a respective first trace diagnostic packet to each hop in the path of the network flow, wherein each first trace diagnostic packet includes information that causes a particular hop to send a first trace response packet responsive to the first trace diagnostic packet to the source; and determining whether at least one link of the computer network that is part of the path of the network flow has failed based on the results of the first probe and the one or more additional probes.