Replay progress report
Eric S. Raymond
esr at thyrsus.com
Wed Jan 6 15:56:32 UTC 2016
Hal Murray <hmurray at megapathdsl.net>:
>
> esr at thyrsus.com said:
> > This scheme depends on the assumption that, before the main loop, intercept
> > functions will be called in the exact same order during replay that they
> > were during capture. There's no separate replay interpreter that is
> > dispatching events itself, so there is no way to handle a getaddrinfo event.
>
> Ahh. I think you need a dispatching layer. DNS is just the tip of the
> iceberg.
You may be right, but this is complexity I am strenuously trying to
avoid while I get the basic function up.
> You also need to handle timeouts from the select and anything else the normal
> main loop does. That includes signal handling. I think most of the signal
> handlers just set a flag then the main loop notices the flag and does the
> work.
>
> Currently, the only interesting signal tells ntpd to exit.
Right, that doesn't require a full dispatch layer.
> There are signal handlers to incr/decr the debug level. I think those get "processed" at interrupt level. That will be hard to intercept. Do we want to replay debugging stuff?
Maybe eventually, but that is way fancier than I want to try to get yet.
> I think there is an I/O signal handler. The idea was to grab arriving packets "now" to get a better time stamp in case the CPU is tied up doing crypto, and queue them up for the main loop to process. That isn't necessary if the kernel time-stamps arriving packets. I haven't looked for this code.
That's in the part replay nrcessarily bypasses.
> Refclocks will add another place to dispatch.
>
> You will also need to intercept PPS.
I belive this is what is most likely to force me to a full dispatch layer
eventually.
--
<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>
More information about the devel
mailing list