net-timestamp: no-payload option
Add timestamping option SOF_TIMESTAMPING_OPT_TSONLY. For transmit timestamps, this loops timestamps on top of empty packets. Doing so reduces the pressure on SO_RCVBUF. Payload inspection and cmsg reception (aside from timestamps) are no longer possible. This works together with a follow on patch that allows administrators to only allow tx timestamping if it does not loop payload or metadata. Signed-off-by: Willem de Bruijn <willemb@google.com> ---- Changes (rfc -> v1) - add documentation - remove unnecessary skb->len test (thanks to Richard Cochran) Signed-off-by: David S. Miller <davem@davemloft.net>
此提交包含在:
@@ -162,6 +162,27 @@ SOF_TIMESTAMPING_OPT_CMSG:
|
||||
option IP_PKTINFO simultaneously.
|
||||
|
||||
|
||||
SOF_TIMESTAMPING_OPT_TSONLY:
|
||||
|
||||
Applies to transmit timestamps only. Makes the kernel return the
|
||||
timestamp as a cmsg alongside an empty packet, as opposed to
|
||||
alongside the original packet. This reduces the amount of memory
|
||||
charged to the socket's receive budget (SO_RCVBUF) and delivers
|
||||
the timestamp even if sysctl net.core.tstamp_allow_data is 0.
|
||||
This option disables SOF_TIMESTAMPING_OPT_CMSG.
|
||||
|
||||
|
||||
New applications are encouraged to pass SOF_TIMESTAMPING_OPT_ID to
|
||||
disambiguate timestamps and SOF_TIMESTAMPING_OPT_TSONLY to operate
|
||||
regardless of the setting of sysctl net.core.tstamp_allow_data.
|
||||
|
||||
An exception is when a process needs additional cmsg data, for
|
||||
instance SOL_IP/IP_PKTINFO to detect the egress network interface.
|
||||
Then pass option SOF_TIMESTAMPING_OPT_CMSG. This option depends on
|
||||
having access to the contents of the original packet, so cannot be
|
||||
combined with SOF_TIMESTAMPING_OPT_TSONLY.
|
||||
|
||||
|
||||
1.4 Bytestream Timestamps
|
||||
|
||||
The SO_TIMESTAMPING interface supports timestamping of bytes in a
|
||||
|
新增問題並參考
封鎖使用者