I am running an ERL-3 with v1.8.0.
Google has developed and is beginning to implement the QUIC transport protocol within their apps. The Chrome browser itself uses QUIC in apps such as Google Drive and YouTube.
The ERL-3 does not play nicely with this new protocol. I am able to reliably reproduce an issue with YouTube (where videos are loaded/buffered over QUIC) where videos struggle to load and buffer ahead of playback where sufficient bandwidth is available to support it. Disabling QUIC support in Chrome (chrome://flags/#enable-quic) resolves the issue and videos play smoothly, and the same result applies if another browser (not supporting QUIC) is used. In addition, replacing the ERL-3 with a different routing device also resolves the issue.
Is anyone running QUIC successfully with an EdgeRouter? If so, how? And if not, how can we get this fixed? Especially with Google's new Android announcements today which specifically call out the use of QUIC to achieve what they have done I have large concerns about Android devices on my network while an EdgeRouter is in place.
Below is my current configuration - note that while Smart Queue QoS and HW acceleration are enabled, disabling both also does not help the issue.
firewall { all-ping enable broadcast-ping disable ipv6-receive-redirects disable ipv6-src-route disable ip-src-route disable log-martians enable name WAN_IN { default-action drop description "WAN to internal" rule 10 { action accept description "Allow established/related" state { established enable related enable } } rule 20 { action drop description "Drop invalid state" state { invalid enable } } } name WAN_LOCAL { default-action drop description "WAN to router" rule 10 { action accept description "Allow established/related" state { established enable related enable } } rule 20 { action drop description "Drop invalid state" state { invalid enable } } } receive-redirects disable send-redirects enable source-validation disable syn-cookies enable } interfaces { ethernet eth0 { address dhcp description Internet duplex auto firewall { in { name WAN_IN } local { name WAN_LOCAL } } speed auto } ethernet eth1 { address 192.168.1.1/24 description Local duplex auto speed auto } ethernet eth2 { address 192.168.2.1/24 description "Local 2" duplex auto speed auto } loopback lo { } } service { dhcp-server { disabled false hostfile-update disable shared-network-name LAN1 { authoritative disable subnet 192.168.1.0/24 { default-router 192.168.1.1 dns-server 192.168.1.1 lease 86400 start 192.168.1.38 { stop 192.168.1.243 } } } shared-network-name LAN2 { authoritative disable subnet 192.168.2.0/24 { default-router 192.168.2.1 dns-server 192.168.2.1 lease 86400 start 192.168.2.38 { stop 192.168.2.243 } } } } dns { forwarding { cache-size 150 listen-on eth1 listen-on eth2 } } gui { https-port 443 } nat { rule 5010 { description "masquerade for WAN" outbound-interface eth0 type masquerade } } ssh { port 22 protocol-version v2 } upnp { listen-on eth1 { outbound-interface eth0 } } } system { host-name ubnt login { user ryan { authentication { encrypted-password **************** } full-name "Ryan" level admin } } ntp { server 0.ubnt.pool.ntp.org { } server 1.ubnt.pool.ntp.org { } server 2.ubnt.pool.ntp.org { } server 3.ubnt.pool.ntp.org { } } syslog { global { facility all { level notice } facility protocols { level debug } } } time-zone UTC traffic-analysis { dpi enable export enable } } traffic-control { smart-queue sq1 { download { ecn enable flows 1024 fq-quantum 1514 limit 10240 rate 16.51mbit } upload { ecn enable flows 1024 fq-quantum 1514 limit 10240 rate 2.11mbit } wan-interface eth0 } }