net: move rx timestamp from d_rxtime to iob_s.io_time

Move RX timestamp storage from net_driver_s.d_rxtime into
iob_s.io_time so each IOB carries its own timestamp through
the stack. Remove old iob_trycopyin/iob_copyout timestamp
packing in CAN/PKT/UDP paths. Fix iob_clone_partial to copy
io_time before source pointer advances to NULL.

Signed-off-by: OceanfromXiaomi <zhaohaiyang1@xiaomi.com>
Signed-off-by: wenquan1 <wenquan1@xiaomi.com>
This commit is contained in:
OceanfromXiaomi 2025-10-14 17:10:00 +08:00 • committed by Xiang Xiao
parent f492f136c2
commit 9a65ffc51d
16 changed files with 58 additions and 115 deletions

View file

@ -80,6 +80,10 @@ int netdev_input(FAR struct net_driver_s *dev,
return ret;
}
#if defined(CONFIG_NET_TIMESTAMP) && defined(CONFIG_ARCH_HAVE_NETDEV_TIMESTAMP)
dev->d_iob->io_time = dev->d_rxtime;
#endif
/* Copy data to iob entry */
ret = iob_trycopyin(dev->d_iob, buf, dev->d_len, -llhdrlen, false);