IPv4 and IPv6 allow packets of up to 65,535 bytes. Ethernet frames supposedly only allows payloads of up to 1522 bytes.
How does this work? There are no sequence numbers in Ethernet frames to ensure order, which makes recreating a larger IP packet from Ethernet frames difficult...
Several points in bullet form: