I noticed an edge case in sampled STP layer-2 header, where the source and destination mac addresses are followed by length instead of ethertype (because STP doesn't have an ethertype), and as a result, length (usually 105) is reported as the ethertype.
I guess one way to get around it is to use the source or destination mac address, which s 01:80:c2:00:00:00 for STP, to identify this edge case.