[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [tor-bugs] #23712 [Core Tor/Tor]: sched: DESTROY cell on a circuit bypasses the scheduler
#23712: sched: DESTROY cell on a circuit bypasses the scheduler
-------------------------------------------------+-------------------------
Reporter: dgoulet | Owner: (none)
Type: defect | Status:
| assigned
Priority: Medium | Milestone: Tor:
| unspecified
Component: Core Tor/Tor | Version:
Severity: Normal | Resolution:
Keywords: tor-sched, 034-triage-20180328, | Actual Points:
034-removed-20180328 |
Parent ID: #23993 | Points:
Reviewer: | Sponsor:
-------------------------------------------------+-------------------------
Comment (by dgoulet):
Reviving this. Things have changed since the initial report 2 years ago.
But things are still not good:
1. `circuitmux_append_destroy_cell()` only triggers a flush with
`channel_flush_from_first_active_circuit` if the channel has no queued
writes which translates to "Do we have data in the outbuf?".
This is wrong. Lets assume we do have data in the outbuf, then the flush
is not triggered but then it means the channel has to become active to be
considered for a flush. And the only way this can happen is if at least
one cell is put on it.
Which means that a `DESTROY` cell can stay in the queue of the channel
for an arbitrary amount of time without being sent.
2. The second problem is that calling
`channel_flush_from_first_active_circuit()` does _not_ guarantee that the
`DESTROY` cell is sent.
So `circuitmux_append_destroy_cell()` is really not doing the right thing
in many ways.
== Solution ==
I think the initial branch has it correct `bug23712_032_01` that is we
simply need to callback the scheduler telling it that the channel has
waiting cells and be done.
The comment:13 I believe is refers to the fact that it won't fix the full
priority problem for relay cells vs destroy cells but should fix the issue
of lingering `DESTROY` cells.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/23712#comment:20>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs