Hi,
this is a very valid point. The problem is: define a metric to measure.
As an example, the PDR for broadcast packets is not so simple to define (what's the number of nodes that should had received the packet?). In a wired network is easy. In a wireless network it isn't. If the packet is lost, it's the routing or the channel ?
Another example. Some routing protocols avoid duplicate packets, while others have them consistently (e.g., flooding, but also others). What shall we do with duplicates ?
As a consequence, the first question is: what should we measure ?
The problem isn't to code something, it's to code something general enough to be useful.
One could, of course, hook FlowMonitor to the L4 socket and have L4 stats (minus the intermediate hops data). However also this isn't as easy as one may think. As an example:
1) UDP - how do we decide if a packet is a duplicate ?
2) TCP - a packet sent may be received in two segments...
Note that this aren't just special cases. UDP - you loose one packet and you receive one twice. If you don't count the duplicates you'll think you have a 100% PDR ...
Anyway, when we'll find a good metric to measure, I'm up to coding any solution.
Cheers,
T.