I was reading about the Ethernet frame and its various fields, I noticed that the data (payload) field can be variable and is followed by a FCS field for detecting bit errors.
If the payload is variable in length and there is no field to specify the length of payload (unlike IP header), how does the layer 2 logic figure out where the data field ends and from where the FCS field starts?