zephyr/tests/net
Florian Grandel a4cd5cee40 drivers: ieee802154: consistent high res timestamps
The IEEE 802.15.4 API and networking subsystem were using several
inconsistent timestamp resolutions and types. This change defines all
timestamps with nanosecond resolution and reduces the number of
available types to represent timestamps to two:
* `struct net_ptp_time` for PTP timestamps
* `net_time_t` for all other high resolution timestamps

All timestamps (including PTP timestamps) are now referred to a
"virtual" local network subsystem clock source based on the well-defined
types above. It is the responsibility of network subsystem L2/driver
implementations (notably Ethernet and IEEE 802.15.4 L2 stacks) to ensure
consistency of all timestamps and radio timer values exposed by the
driver API to such a network subsystem uptime reference clock
independent of internal implementation details.

The "virtual" network clock source may be implemented based on arbitrary
hardware peripherals (e.g. a coarse low power RTC counter during sleep
time plus a high resolution/high precision radio timer while receiving
or sending). Such implementation details must be hidden from API
clients, as if the driver used a single high resolution clock source
instead.

For IEEE 802.15.4, whenever timestamps refer to packet send or receive
times, they are measured when the end of the IEEE 802.15.4 SFD (message
timestamp point) is present at the local antenna (reference plane).

Due to its limited range of ~290 years, net_time_t timestamps (and
therefore net_pkt timestamps and times) must not be used to represent
absolute points in time referred to an external epoch independent of
system uptime (e.g.  UTC, TAI, PTP, NTP, ...).

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2023-07-28 09:06:35 +00:00
..
6lo samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
all net: l2: ieee802154: deprecate NET_L2_IEEE802154_ACK_REPLY 2023-06-17 16:20:21 -04:00
arp samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
bridge samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
buf samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
buf_simple samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
checksum_offload samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
conn_mgr net: conn_mgr: Support Auto-Down 2023-06-30 16:10:23 +02:00
conn_mgr_conn net: conn_mgr: Bulk convenience functions 2023-06-30 16:10:23 +02:00
context samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
dhcpv4 test: DHCPv4: Add test for option callbacks 2023-05-22 15:25:40 +02:00
ethernet_mgmt samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
hostname samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
icmpv4 samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
icmpv6 samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
ieee802154 net: l2: ieee802154: unified assertion order 2023-07-14 09:38:01 +02:00
iface tests: net: if: Add tests to verify net_if_ipv4/6_addr_foreach() 2023-07-25 14:18:54 +02:00
igmp samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
ip-addr samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
ipv4_fragment samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
ipv6 net: iface: Improve thread safety of net_if_ipv*_maddr_* functions 2023-05-10 11:06:15 +02:00
ipv6_fragment samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
lib tests: coap_client: Zero-initialize address structures 2023-07-18 16:22:10 +02:00
mgmt samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
mld samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
mocks test: net: buf_simple: Add unit tests for simple buffers 2023-03-15 10:50:16 +01:00
neighbor samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
net_pkt net: pkt: Allow zero payload for non-IPv4/v6 frames 2023-02-06 10:04:03 +01:00
npf tests: net: pkt_filter: Add TCs for new hooks 2023-07-10 09:27:47 +02:00
offloaded_netdev samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
pm samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
ppp/driver drivers/gsm_ppp: Update existing modules to use PPP L2 2023-06-17 07:46:21 -04:00
promiscuous samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
ptp/clock samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
route samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
route_mcast samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
shell samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
socket drivers: ieee802154: consistent high res timestamps 2023-07-28 09:06:35 +00:00
tcp net: tcp: test: Implement correct sequence number feeding around FIN 2023-05-15 15:25:51 +02:00
traffic_class samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
trickle samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
tx_timestamp samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
udp
utils samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
virtual samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
vlan samples, tests: convert string-based twister lists to YAML lists 2023-05-10 09:52:37 +02:00
wifi/wifi_nm tests: wifi: Add Wi-Fi test suite 2023-07-11 14:55:30 +02:00