Apologies for the daelay on this. Blame it on the Venusian Death Flu. We have several tasks in front of us on NTPsec. I want to get some consensus from the tech team, and a strategy call from Mark, on how to priority-order these things.
1. NTS We have a funding offer from Cisco. Blocker: To move on this, we need a detailed interface contract from Daniel describing how NTPsec needs to talk to his NTS symbiont. 2. PYTOGO We now have a goal of moving all our client-side code from Python to Go. Benefits: (1) banish the horror that is Python library directories, (2) remove a run-time dependency for operators, (3) build competence and infrastructure for a port of ntpd itself to Go. There is no blocker on this. I expect it to be pretty swift and pleasant. Ian will probably take point. 3. SINGLEBUFFER Since we simplified the input handling and dropped support for async read, the code in ntpd for managing a ring of packet buffers has been pointless weight and can all be removed. This is near the top of Hal Murray's to-do list. Benefit: Just dropping more code weight and complexity. It might make TICKLESS simpler, because tthe size and gnarliness of the ntp_io.c code is the main barrier to that one. 4. WILDCARD The input handling should be rewritten to use a single wildcard UDP socket rather than one per interface. (Last week, when I was coming down with the Venusian Death Flu, I misdescribed this as moving to a single select call and confused Hal a lot. Sorry, Hal.) Benefits: Reduce weight and code complexity. May make TICKLESS simpler; see above. With only the wildcard socket to listen on I think we could get rid of all the routing-socket stuff, which would remove one of the few remaining porting issues. However: I need to understand the use cases for virtual interfaces better (the -I and -L daemon options to ntpd). Those would naturally go away too. I don't know if this matters. We can do this because I found the magic to read the interface it came through from a UDP packet. Which brings us to... 6. NOFILTER Remove filtering by interface. This was formerly a blocker on WILDCARD, but is no longer. Mark has made a good argument that we ought to rip out all internal packet filtering in favor of relying on the kernel filter rules. Benefits: Reduce weight and code complexity. Especially in ntp_io.c; I'd want to do this before TICKLESS 5. TICKLESS Remove the once per-second tick in the daemon core, moving to an architecture entirely based on event queues and timers. Benefits: reduce power consumption on mobile devices. This is the final frontier in code-complexity reduction. It's going to be difficult, and should probably wait until we're collected the weight losses from SINGLEBUFFER, WILCARD, and NOFILTER. Imporant qustion: have I missed anything? -- <a href="http://www.catb.org/~esr/">Eric S. Raymond</a> "Among the many misdeeds of British rule in India, history will look upon the Act depriving a whole nation of arms as the blackest." -- Mohandas Gandhi, An Autobiography, pg 446 _______________________________________________ devel mailing list devel@ntpsec.org http://lists.ntpsec.org/mailman/listinfo/devel