tech-net archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Replace time_second with time_uptime in some places
On Thu, Aug 6, 2015 at 1:27 AM, Greg Troxel <gdt%ir.bbn.com@localhost> wrote:
>
> Ryota Ozaki <ozaki-r%netbsd.org@localhost> writes:
>
>> Some codes in sys/net* use time_second to
>> manage time periods such as cache expirations.
>> However, time_second doesn't increase monotonically
>> and can leap by say settimeofday(2) according to
>> time_second(9). We should use time_uptime
>> instead of it to avoid such time leaps.
>>
>> http://www.netbsd.org/~ozaki-r/use-time_uptime.diff
>
> Generally this sounds sensible. One thing to consider is whether this
> change results in leaking uptime to hosts over the network. (That could
> be used to help identify roving hosts.)
Right. A possible leakage is ia6t_expire, but a TTL is
calculated by ia6t_expire - time_uptime so time_uptime
itself isn't leaked.
Here is a list of variables to which time_uptime can
be assigned and how they are used:
- rmx_expire : exchanged with userland
- ia6t_expire : used to calculate TTL and
passed from userland
(but not used for now)
- ia6t_preferred : passed from userland
(but not used for now)
- ia6_updatetime : passed to userland
(via ia6t_expire and ia6t_preferred)
- ia6_createtime : internal use only
- ip6_log_time : internal use only
- ru_reseed : internal use only
- ln_expire : passed to userland
(should be passed from userland too
but not used for now. See PR/50127)
- ndpr_lastupdate : passed to userland
(via in6_prefix#expire)
- ndpr_preferred : internal use only
- ndpr_expire : internal use only
...so I found I forgot some conversions on passing/getting
values to/from userland. Fixed them.
http://www.netbsd.org/~ozaki-r/use-time_uptime.diff
Anyway we would need to add some tests for the IPv6
lifetime management.
Thanks,
ozaki-r
Home |
Main Index |
Thread Index |
Old Index