[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [torspec/master] Add section "Options To Enable The Failure Counter"



commit 60405bca0b96d69def783a3214cc5e511287b5bb
Author: Neel Chauhan <neel@xxxxxxxxx>
Date:   Wed Mar 6 17:38:45 2019 -0500

    Add section "Options To Enable The Failure Counter"
---
 proposals/299-ip-failure-count.txt | 33 +++++++++++++++++++++++++--------
 1 file changed, 25 insertions(+), 8 deletions(-)

diff --git a/proposals/299-ip-failure-count.txt b/proposals/299-ip-failure-count.txt
index efd4aa7..496217e 100644
--- a/proposals/299-ip-failure-count.txt
+++ b/proposals/299-ip-failure-count.txt
@@ -29,7 +29,24 @@ Ticket: https://trac.torproject.org/projects/tor/ticket/27491
    in the random decision used for choosing an IP family and the data fields
    used by the algorithm.
 
-2. Failure Counter Design
+2. Options To Enable The Failure Counter
+
+   To enable the failure counter, we will add a flags to ClientAutoIPv6ORPort.
+   The new format for ClientAutoIPv6ORPort is:
+
+      ClientAutoIPv6ORPort 0|1 [flags]
+
+   The first argument is to enable the automatic selection between IPv4 and
+   IPv6 if it is 1. The second argument is a list of optional flags.
+
+   The only flag so far is "TrackFailures", which enables the tracking of
+   failures to make a better decision when selecting between IPv4 and IPv6.
+   The tracking of failures will be described in the rest of this proposal.
+
+   However, we should be open to more flags from future proposals as they
+   are written and implemented.
+
+3. Failure Counter Design
 
    I propose that the failure counter uses the following fields:
 
@@ -47,7 +64,7 @@ Ticket: https://trac.torproject.org/projects/tor/ticket/27491
    statefile, and when a session is closed, the failure counts from the current
    session will be stored in the statefile. 
 
-3. Failure Probability Calculation
+4. Failure Probability Calculation
 
    The failure count of one IP version will increase the probability of the
    other IP version. For instance, a failure of IPv4 will increase the IPv6
@@ -93,7 +110,7 @@ Ticket: https://trac.torproject.org/projects/tor/ticket/27491
    WiFi to cellular) which may be more or less reliable in terms of a
    particular IP family when compared to the previous network of the client.
 
-4. Initial Failure Point Calculation
+5. Initial Failure Point Calculation
 
    When a client starts without failure points or if the FP value drops to 0,
    we need a SFPV value to start with. The Initial SFPV value will be counted
@@ -129,7 +146,7 @@ Ticket: https://trac.torproject.org/projects/tor/ticket/27491
    If we are starting a new session, we should use the existing failure points
    to generate a SFPV unless the counts for IPv4 or IPv6 are zero.
 
-5. Forgetting Old Sessions
+6. Forgetting Old Sessions
 
    We should be able to forget old failures as clients could change networks.
    For instance, a mobile phone could switch between WiFi and cellular. Keeping
@@ -161,7 +178,7 @@ Ticket: https://trac.torproject.org/projects/tor/ticket/27491
    If the FP value for one IP version goes down to zero, we will re-calculate
    the SFPV for that version using the methods described in Section 4.
 
-6. Separate Concurrent Connection Limits
+7. Separate Concurrent Connection Limits
 
    Right now, there is a limit for three concurrent connections from a client.
    at any given time. This limit includes both IPv4 and IPv6 connections.
@@ -174,7 +191,7 @@ Ticket: https://trac.torproject.org/projects/tor/ticket/27491
    packets for a particular IP family while still preventing potential denial
    of service attacks.
 
-7. Pathbias and Failure Probability
+8. Pathbias and Failure Probability
 
    If ClientAutoIPv6ORPort is in use, and pathbias is triggered, we should
    ignore "no route" warnings. The reason for this is because we would be
@@ -183,7 +200,7 @@ Ticket: https://trac.torproject.org/projects/tor/ticket/27491
    competing IP family over the failed one versus than adding a single failure
    point on a normal failure.
 
-8. Counting Successful Connections
+9. Counting Successful Connections
 
    If a connection to a particular IP version is successful, we should use
    it. This ensures that clients have a reliable connection to Tor. Accounting
@@ -200,7 +217,7 @@ Ticket: https://trac.torproject.org/projects/tor/ticket/27491
    Even on adding successes, we will still halve the failure counters as
    described in Section 5.
 
-9. Acknowledgements
+10. Acknowledgements
 
    Thank you teor for aiding me with the implementation of Happy Eyeballs in
    Tor. This would not have been possible if it weren't for you.

_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits