Disabling QUIC fallback to TCP

113 views
Skip to first unread message

Naval Kumar Shukla

unread,
Mar 14, 2022, 2:58:57 AM3/14/22
to QUIC Prototype Protocol Discussion group
Hello everyone,

I have been trying to modify the source code to disable the QUIC fallback. In order to do so, I blocked the main job whenever it finds an ALT job in the following way:

int HttpStreamFactory::JobController::DoCreateJobs() {

    … 

    …

    … 

    main_job_ = job_factory_->CreateMainJob(...);

  

  if (alternative_service_info_.protocol() != kProtoUnknown) {

    … 

    …

    …

    alternative_job_ = job_factory_->CreateAltSvcJob(...);

    // blocks the MAIN job and only start the ALT job

    main_job_is_blocked_ = true;

    alternative_job_->Start(request_->stream_type());

    

  }

  else{

    // when there is NO ALT job available

    main_job_->Start(request_->stream_type());

  }

  

  return OK;

}


In addition, I commented out all the functions that can mark an ALT SVC as broken, so that whenever it finds an ALT SVC, it keeps on running it. I was expecting to see little to no fallback, however that does not turn out to be the case. I tried again by resetting the main job instead of blocking it, but the result was the same. So, can anyone please explain the reason behind the browser falling back to TCP, and suggest a possible way to avoid it? Does it have something to do with the QUIC implementation (QUIC folder), as I'm currently looking into the JobController?

Thank you,

Naval Kumar Shukla

CSE Undergrad'23 | IIITD


Abhinav Gupta

unread,
Mar 14, 2022, 9:40:48 AM3/14/22
to QUIC Prototype Protocol Discussion group, naval...@iiitd.ac.in
Hi Naval,

I was also trying to solve a similar problem. If you are trying to run the setup in local environment. I think the issue is some what related to certificates. When I was doing my experiments I had to "use origin to force quic on"  flag for the chrome to connect to QUIC Servers(aioquic/QUICHE/Nginx). This is a good reference which explains what is going on. Chrome QUIC connectivity.  This article also talks about the local connectivity Playing with QUIC.

If you would like to discuss in more detail you are welcome to send me a direct message. 

Thanks 

Abhinav Gupta

Doctoral Candidate 

Reply all
Reply to author
Forward
0 new messages