I'm trying to understand the criteria by which authorities determine their vote for the
guard flag in order to elucidate why this flag on my relay is flapping. I see a scattering of information from having a rummage around the 'net, but nothing that appears to describe how the different authorities come to such varied conclusions.
The relay in question runs 0.4.1.9, is assigned and has tested at 3MB/s, and has existed for 31d with a current uptime of 10d. Checking the current consensus of each authority listed in consensus health shows that, during my time as a guard, I have the vote of never more than five of the nine authorities, and during a no guard flag period I have
guard votes from anywhere between two and four authorities. Furthermore the listed
moria1, never seems to vote for
guard flags, though in the case of
hsdir all the others have. Anecdotally,
moria1 is also running by far the latest version,
Looking through the directory spec it appears that I fall well within the
guard-tk thresholds of 0.98 and 8 days respectively and I cannot see any other
flag-threshold which may apply to guard flag selection. I've been holding off upgrading to tor-0.4.2.7 or tor-0.4.3.5 in order to gain some uptime while I look into this, but it doesn't appear that should be a limitation in the authority vote as it is listed in
dir-spec.txt as a recommended version.
Furthermore I don't believe that I have any IP connectivity issues to the authorities which would cause them to have an intermittent view of my node (relay is in AS5089, I've not yet started a deep dive to determine if there's been any BGP shenanigans during this period but basic reachability tests have consistently been ok). I've also carefully investigated and concluded that there's nothing in my firewall which is dropping relevant connections.
Can anyone enlighten me to why the consensuses of the relays would be so different, or even perhaps something else I can look into, given they've had plenty of time to "see" my relay?