Regarding TC_CLSFLOWER_STATS, when a filter rule modifies the length of the packet, e.g. by adding a VLAN or encap header, should the bytes counter count the length of the packet _before_ edits (i.e. as seen by the match), or the length after edits? If the latter, what is the correct behaviour when (say) a packet is mirrored as-is but also redirected with encapsulation? The fact that the stats live in the struct tc_action suggests a per- action connection that would imply post-edit length, but then in tcf_exts_dump_stats() we only look at the first action, which seems to imply we really want the pre-edit length. I can't find any kind of doc or spec defining what behaviour is required.
-Ed