Description
Is your feature request related to a problem? Please describe.
For certain protocols and applications its good to know, when a packet arrived in a device. (like PTP) MACs and Phys have HW support to track the time up to a nanosecond level. Software timestamping based on a system timer is also possible. Using HW timestamps allows devices to sync up there time up to nanosecond accuracy, but stack support is needed in order to implement the protocol to pass the timestamps from the MAC/Phy to the requesting socket.
Describe the solution you'd like
Everything is an opt-in solution. The NetworkBuffer would be extended with a timestamp field to allow the HW or SW timestamp to be passed from the MAC to the socket. For RX the timestamp would be passed with the received packet. For TX the timestamp would be passed back with the transmitted packet. A way to receive the timestamp from the socket would be needed. I would go for the linux way and implement a recvmsg handler, which would allow to receive packets with the timestamp attached.
Describe alternatives you've considered
None
Additional context
This is part of a series of extensions, I created for FreeRTOS-TCP-Plus to enhance time sensitive networking support. A working prototype is on the way. The last enhancement I would like to add I VLAN support. But this is way more difficult, then time stamping or priority queues.