If cut-through is enabled in the switch, it won't even drop on bad checksum, since by the time the switch can tell the checksum is wrong, it has already forwarded the entire packet.
It'll just log it... and then you get to play "let's find where it's coming from" as each switch just forwards that bad boy on as fast as possible.
It is really unfortunate that the checksum is on the opposite end of the frame from the routing information on Ethernet frames.
Why? If it was at the start it’d remain useless until the whole frame was received anyway.
Makes sense to have it at the end.
It also allows you to calculate the checksum as your serialising the packet data onto the send buffer, without having to get the whole packet in memory, checksum it, write the checksum, then finally write the packet data.