[metrics-team] IPv6 votes and consensus synthetic flags

Tom Ritter tom at ritter.vg
Fri Dec 8 05:04:25 UTC 2017


Here is the consensus-health implementation:
https://gitweb.torproject.org/depictor.git/commit/?id=5a8e4af0d4a1b7ea62a79d37eda63b3a5c6bcd6c

If there is an IPv6-type OR address for a relay in a vote, it gets the
ReachableIPv6 flag for that vote.
If there is an IPv6-type OR address for a relay in the consensus, it
gets the ReachableIPv6 flag for the consensus.

I can implement #24557 (NoIPv6Consensus) pretty easily. (I can't
guarantee a timeframe, it may need to wait until after the holidays,
but I hope I can bang it out easily enough.)

I can't implement #24344 (UnreachableIPv6) easily. Or at least I don't
think so. Consensus Health doesn't have descriptors, and while I
haven't tested it, I strongly suspect that integrating that data will
make the script fail even more often than it already is due to OOM,
and take considerably longer to execute.

-tom

On 7 December 2017 at 17:15, Iain Learmonth <irl at torproject.org> wrote:
> Hi All,
>
> For context, this email is prompted by this commit:
>
> https://gitweb.torproject.org/karsten/metrics-web.git/commit/?h=tasks-24218-23761&id=57c58b5f1b099ac61e09169661a19b8c4a82984f
>
> We currently have synthetic flags in consensus-health and in Relay
> Search relating to IPv6. They are not amazingly consistent in my opinion.
>
> The main distinction between the consensus-health flags and the Relay
> Search flags is that the consensus-health flags are included in votes
> whereas Relay Search bases its synthetic flags on the consensus.
>
> I'm becoming increasingly convinced that this distinction should go
> away. For all other flags, there is no distinction between the flag in
> the votes and the flag in the consensus. consensus-health even lists
> ReachableIPv6 in the consensus column.
>
> In the patch above, there is a distinction between "announced" and
> "confirmed". I think perhaps this distinction should be between
> "announced" and "reachable". This also gives two good properties from
> which to generate synthetic flags:
>
> Announced | Reachable | Votes           | Consensus
> ----------+-----------+-----------------+----------------
> No        | -         | -               | -
> Yes       | No        | UnreachableIPv6 | UnreachableIPv6
> Yes       | Yes       | ReachableIPv6   | ReachableIPv6
>
> The description of the "exiting" property in the above commit matches
> exactly the semantics of the existing Relay Search synthetic flag "IPv6
> Exit" and so I think that's OK. consensus-health currently does not
> generate a flag with similar meanings.
>
> Relay Search currently does not have any vote information, as Onionoo
> currently does not have this information either. Relay Search will
> therefore only be able to generate UnreachableIPv6 flags based on the
> diff between the relay descriptor and the consensus (IIUC).
>
> Is there something I'm missing here that means that we shouldn't unify
> these flags?
>
> Thanks,
> Iain.
>
>
> _______________________________________________
> metrics-team mailing list
> metrics-team at lists.torproject.org
> https://lists.torproject.org/cgi-bin/mailman/listinfo/metrics-team
>


More information about the metrics-team mailing list