Commit 59cb89e6 authored by Jakub Kicinski's avatar Jakub Kicinski Committed by David S. Miller

doc: update driver TX algorithm in timestamping.txt

Since cd4d8fda ("net: kernel panic in dev_hard_start_xmit:
remove faulty software TX time stamping") dev_hard_start_xmit()
will not provide software timestamps. It's a responsibility of
the drivers to call skb_tx_timestamp() at the right time.

Cc: linux-doc@vger.kernel.org
Signed-off-by: default avatarJakub Kicinski <kubakici@wp.pl>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 86a2b9cf
...@@ -202,6 +202,9 @@ Time stamps for outgoing packets are to be generated as follows: ...@@ -202,6 +202,9 @@ Time stamps for outgoing packets are to be generated as follows:
and not free the skb. A driver not supporting hardware time stamping doesn't and not free the skb. A driver not supporting hardware time stamping doesn't
do that. A driver must never touch sk_buff::tstamp! It is used to store do that. A driver must never touch sk_buff::tstamp! It is used to store
software generated time stamps by the network subsystem. software generated time stamps by the network subsystem.
- Driver should call skb_tx_timestamp() as close to passing sk_buff to hardware
as possible. skb_tx_timestamp() provides a software time stamp if requested
and hardware timestamping is not possible (SKBTX_IN_PROGRESS not set).
- As soon as the driver has sent the packet and/or obtained a - As soon as the driver has sent the packet and/or obtained a
hardware time stamp for it, it passes the time stamp back by hardware time stamp for it, it passes the time stamp back by
calling skb_hwtstamp_tx() with the original skb, the raw calling skb_hwtstamp_tx() with the original skb, the raw
...@@ -212,6 +215,3 @@ Time stamps for outgoing packets are to be generated as follows: ...@@ -212,6 +215,3 @@ Time stamps for outgoing packets are to be generated as follows:
this would occur at a later time in the processing pipeline than other this would occur at a later time in the processing pipeline than other
software time stamping and therefore could lead to unexpected deltas software time stamping and therefore could lead to unexpected deltas
between time stamps. between time stamps.
- If the driver did not set the SKBTX_IN_PROGRESS flag (see above), then
dev_hard_start_xmit() checks whether software time stamping
is wanted as fallback and potentially generates the time stamp.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment