All of lore.kernel.org
 help / color / mirror / Atom feed
From: Oliver Hartkopp <oliver@hartkopp.net>
To: Octavian Purdila <opurdila@ixiacom.com>,
	Patrick Ohly <patrick.ohly@intel.com>
Cc: "netdev@vger.kernel.org" <netdev@vger.kernel.org>
Subject: Re: hardware time stamping with extra skb->hwtstamp
Date: Thu, 27 Nov 2008 23:13:08 +0100	[thread overview]
Message-ID: <492F1B74.8000701@hartkopp.net> (raw)
In-Reply-To: <200811272053.10009.opurdila@ixiacom.com>

Octavian Purdila wrote:
> From: Patrick Ohly <patrick.ohly@intel.com>
> Date: Thu, 27 Nov 2008 16:31:07 +0100
>
>   
>> On Thu, 2008-11-27 at 14:02 +0000, Octavian Purdila wrote:
>>     
>>> From: Patrick Ohly <patrick.ohly@intel.com>
>>> Date: Thu, 27 Nov 2008 11:07:07 +0100
>>>
>>>       
>>>> To summarize, I see the following options at this time:
>>>>         
>>> [snip]
>>>
>>>       
>>>> My personal preference is, in this order: 3, 4, 2b (current patch,
>>>> but needs clean way to find network device), 1a.
>>>>         
>>> I also vote for 3 (storing hw timestamps in the skb).
>>>
>>>       

4 would be mine.

I assume, we would get kicked somewhere when we are trying to push 
*another* 8 bytes into the skb by default ;-]


> How about this twist: we add a new option at the socket level, to get the 
> whole skb->head - skb->end data into a user buffer. Then, we call an device 
> ioctl and pass this buffer. The device will extract the hw timestamp and give 
> it to the user. 
>
> We might not need to get the whole skb->head - skb->end buffer, maybe just skb-
>   
>> head - skb->mac if we know that skb->mac is sane at the socket level and we 
>>     
> use the convention that the device driver must put the timestamp below the mac 
> header.
>
> One potential problem I see with this approach is leaking sensitive 
> information into userspace, which means we will have to restrict this to 
> privileged processes only.
>
>   

Ugh.

Not every protocol that uses skbuffs, has a mac header (e.g. the CAN 
protocol doesn't have mac addresses). This twist does not look very 
maintainable to me ...

One additional question for Patrick:
As you wrote that your hw timestamp contained in the new skbuff-field is 
already cocked ... is there any identifier that tells the userspace 
application about the type of hw timestamp he gets (e.g. cocked, raw 
registers, offset to whatever, etc.) ?

Regards,
Oliver


  reply	other threads:[~2008-11-27 22:13 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-19 12:08 hardware time stamping with extra skb->hwtstamp Patrick Ohly
2008-11-19 12:08 ` [RFC PATCH 01/11] put_cmsg_compat + SO_TIMESTAMP[NS]: use same name for value as caller Patrick Ohly
2008-11-19 12:08   ` [RFC PATCH 02/11] net: new user space API for time stamping of incoming and outgoing packets Patrick Ohly
2008-11-19 12:08     ` [RFC PATCH 03/11] net: infrastructure for hardware time stamping Patrick Ohly
2008-11-19 12:08       ` [RFC PATCH 04/11] net: socket infrastructure for SO_TIMESTAMPING Patrick Ohly
2008-11-19 12:08         ` [RFC PATCH 05/11] ip: support for TX timestamps on UDP and RAW sockets Patrick Ohly
2008-11-19 12:08           ` [RFC PATCH 06/11] net: pass new SIOCSHWTSTAMP through to device drivers Patrick Ohly
2008-11-19 12:08             ` [RFC PATCH 07/11] igb: stub support for SIOCSHWTSTAMP Patrick Ohly
2008-11-19 12:08               ` [RFC PATCH 08/11] clocksource: allow usage independent of timekeeping.c Patrick Ohly
2008-11-19 12:08                 ` [RFC PATCH 09/11] igb: infrastructure for hardware time stamping Patrick Ohly
2008-11-19 12:08                   ` [RFC PATCH 10/11] time sync: generic infrastructure to map between time stamps generated by a clock source and system time Patrick Ohly
2008-11-19 12:08                     ` [RFC PATCH 11/11] igb: use clocksync to implement hardware time stamping Patrick Ohly
2008-11-20  1:14                     ` [RFC PATCH 10/11] time sync: generic infrastructure to map between time stamps generated by a clock source and system time Andrew Morton
2008-11-20  7:08                       ` Ohly, Patrick
2008-12-05 21:05                 ` [RFC PATCH 08/11] clocksource: allow usage independent of timekeeping.c john stultz
2008-12-11 12:11                   ` Patrick Ohly
2008-12-11 22:23                     ` john stultz
2008-12-12  8:50                       ` Patrick Ohly
2008-11-19 15:21       ` [RFC PATCH 03/11] net: infrastructure for hardware time stamping Patrick Ohly
2008-11-27  6:14 ` hardware time stamping with extra skb->hwtstamp Oliver Hartkopp
2008-11-27 10:07   ` Patrick Ohly
2008-11-27 14:02     ` Octavian Purdila
2008-11-27 15:31       ` Patrick Ohly
2008-11-27 18:53         ` Octavian Purdila
2008-11-27 22:13           ` Oliver Hartkopp [this message]
2008-11-28 12:55             ` Octavian Purdila
2008-11-28 15:38               ` Oliver Hartkopp
2008-11-28 16:00                 ` Octavian Purdila
2008-12-01 10:37           ` Patrick Ohly
2008-12-01 16:31             ` Patrick Ohly
2008-12-01 16:45             ` Oliver Hartkopp

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=492F1B74.8000701@hartkopp.net \
    --to=oliver@hartkopp.net \
    --cc=netdev@vger.kernel.org \
    --cc=opurdila@ixiacom.com \
    --cc=patrick.ohly@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.