Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#5848 closed defect (fixed)

Dir-spec extrainfo attributes vague about publisher

Reported by: atagar Owned by:
Priority: Very Low Milestone:
Component: Core Tor/Tor Version:
Severity: Keywords: tor-relay
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

Currently extrainfo descriptor attributes like...

  • bridge-stats-end
  • dirreq-stats-end
  • entry-stats-end
  • cell-stats-end
  • exit-stats-end

... all have a copy-and-pasted description of each other. I guess that 'entry-*' attributes apply to guards and 'cell-*' apply to everyone, but the spec doesn't say so making this just a guess.

Ideally all of the descriptor attributes would explicitly say who publishes them.

Child Tickets

Change History (9)

comment:1 Changed 8 years ago by atagar

Another bit missing from the spec: 'exit-*' values which have port=N mappings should mention that sometimes the port is "other". For instance...

exit-kibibytes-written 80=17048,443=6316,51635=18,59251=53,other=26729

comment:2 in reply to:  description Changed 8 years ago by karsten

Replying to atagar:

Currently extrainfo descriptor attributes like...

  • bridge-stats-end
  • dirreq-stats-end
  • entry-stats-end
  • cell-stats-end
  • exit-stats-end

... all have a copy-and-pasted description of each other. I guess that 'entry-*' attributes apply to guards and 'cell-*' apply to everyone, but the spec doesn't say so making this just a guess.

Ideally all of the descriptor attributes would explicitly say who publishes them.

Any relay that is configured to report dirreq|entry|cell|exit stats can publish them in their extra-info descriptors. There's no need to be a guard to publish entry stats, for example.

This is different for relays vs. bridges. Right now, only bridges publish bridge stats and only relays publish the rest. But it's unclear if that distinction makes sense for all statistics. See my comment in #5807 about leaving statistics that were originally designed for relays but which are published by bridges anyway in sanitized bridge descriptors. Once that discussion is over, we might want to update dir-spec.txt saying which stats are published by relays and/or bridges.

comment:3 in reply to:  1 Changed 8 years ago by karsten

Component: AnalysisTor Relay
Status: newneeds_review

Replying to atagar:

Another bit missing from the spec: 'exit-*' values which have port=N mappings should mention that sometimes the port is "other". For instance...

exit-kibibytes-written 80=17048,443=6316,51635=18,59251=53,other=26729

True, we should update the spec. Please see branch task-5848 in my public torspec repo.

comment:4 Changed 8 years ago by atagar

Any relay that is configured to report dirreq|entry|cell|exit stats can publish them in their extra-info descriptors.

Hmm? So I don't need to be an exit to publish exit stats? That seems... odd. What would I have as a non-exit that's relevant to publish there? The same goes for entry and dirreq stats, unless I'm misunderstanding what these stats are for.

comment:5 Changed 8 years ago by karsten

I'm not saying that exit stats published by a non-exit would be very meaningful. But Tor wouldn't decide that it's a non-exit, so it would publish stats with all zeros (if the relay is configured to publish exit stats). What's an exit anyway? A relay with the Exit flag? A relay with an accept line to at least 1 IP and port?

The same goes for entry and dirreq stats. Clients may use any relay as their first hop, not just ones with the Guard flag. Think about cases where a relay has just gained or lost the Guard flag and where the client and the relay disagree about the relay being a guard. Similarly, dirreq stats are not bound to the relay having a non-zero Dir port. Maybe, in the future, we won't require a non-zero Dir port for serving directory information anymore, because that's tunneled via the OR port anyway. Again, there wouldn't be much in those stats, but they would still be there (if the relay is configured to publish them). But adding more requirements on these statistics would very likely overcomplicate things. Nothing bad will happen if relays report statistics with all zeros.

comment:6 Changed 8 years ago by karsten

Please review and merge branch task-5848 in my public torspec repo.

The other suggestion (stating which stats are published by which relays) isn't something we need to add to dir-spec.txt, IMO. So, I'd say when the branch above is merged, this ticket can be closed.

comment:7 Changed 8 years ago by nickm

Resolution: fixed
Status: needs_reviewclosed

Merged; closing.

comment:8 Changed 8 years ago by nickm

Keywords: tor-relay added

comment:9 Changed 8 years ago by nickm

Component: Tor RelayTor
Note: See TracTickets for help on using tickets.