Regarding WskReceiveFrom

I am using winsock kernel to receive a datagram using WSK_CLIENT_DATAGRAM_DISPATCH. The callback takes 3 arguments
(PVOID SocketContext, ULONG Flags, PWSK_DATAGRAM_INDICATION DataIndication)

I believe the data we wanted to receive will be in DataIndication and I need to fetch it from the NBL. My query is that whether the data contains just the UDP header or all including Ethernet header. If it just contains UDP header, is there a way i can wrap the data with the ethernet and IP header?

My task is to send this data up the stack, to the host. The problem of manually creating the header is in getting the checksums.