FTTP 1 Gbps symmetric - Vodafone Gigafast on CityFibre - Milton Keynes, UK

I am running a Unifi UDM-Pro connected via CAT6a to GPON OLT (Calix 801Gv2 provided by Vodafone) which is linked to the CityFibre network via a direct fibre line. I am paying for the Vodafone Gigafast 900 service which is decent speed-wise, but the periodic 100% packet loss is making me look for alternatives. I have captured all details in this Vodafone Community forum thread.

The problem in one picture:

Untitled

Router logs confirm frequent PPP disconnects due to packet loss:

Oct 15 06:07:39 UDMPro-Loft user.info ubios-udapi-server: ubios-udapi-server: wanFailover: ppp0 is down: {"alarm":true,"dns_alarm":0,"id":"ppp0","lat_avg":10620,"loss_pct":21.052600860595703,"std_dev":156,"type":"wanFailover"}
Oct 15 13:08:28 UDMPro-Loft user.info ubios-udapi-server: ubios-udapi-server: wanFailover: ppp0 is down: {"alarm":true,"dns_alarm":0,"id":"ppp0","lat_avg":10677,"loss_pct":21.052600860595703,"std_dev":311,"type":"wanFailover"}
Oct 15 13:36:53 UDMPro-Loft user.info ubios-udapi-server: ubios-udapi-server: wanFailover: ppp0 is down: {"alarm":true,"dns_alarm":0,"id":"ppp0","lat_avg":10703,"loss_pct":21.052600860595703,"std_dev":145,"type":"wanFailover"}
Oct 15 14:04:26 UDMPro-Loft user.info ubios-udapi-server: ubios-udapi-server: wanFailover: ppp0 is down: {"alarm":true,"dns_alarm":0,"id":"ppp0","lat_avg":10662,"loss_pct":21.052600860595703,"std_dev":205,"type":"wanFailover"}
Oct 15 14:36:08 UDMPro-Loft user.info ubios-udapi-server: ubios-udapi-server: wanFailover: ppp0 is down: {"alarm":true,"dns_alarm":0,"id":"ppp0","lat_avg":10667,"loss_pct":21.052600860595703,"std_dev":132,"type":"wanFailover"}
Oct 15 14:59:00 UDMPro-Loft user.info ubios-udapi-server: ubios-udapi-server: wanFailover: ppp0 is down: {"alarm":true,"dns_alarm":0,"id":"ppp0","lat_avg":10707,"loss_pct":21.052600860595703,"std_dev":207,"type":"wanFailover"}
Oct 15 15:04:03 UDMPro-Loft user.info ubios-udapi-server: ubios-udapi-server: wanFailover: ppp0 is down: {"alarm":true,"dns_alarm":0,"id":"ppp0","lat_avg":10701,"loss_pct":21.052600860595703,"std_dev":224,"type":"wanFailover"}
Oct 15 15:39:18 UDMPro-Loft user.info ubios-udapi-server: ubios-udapi-server: wanFailover: ppp0 is down: {"alarm":true,"dns_alarm":0,"id":"ppp0","lat_avg":10713,"loss_pct":21.052600860595703,"std_dev":203,"type":"wanFailover"}
Oct 15 15:43:12 UDMPro-Loft user.info ubios-udapi-server: ubios-udapi-server: wanFailover: ppp0 is down: {"alarm":true,"dns_alarm":0,"id":"ppp0","lat_avg":10692,"loss_pct":21.052600860595703,"std_dev":229,"type":"wanFailover"}
Oct 15 15:43:51 UDMPro-Loft user.info ubios-udapi-server: ubios-udapi-server: wanFailover: ppp0 is down: {"alarm":true,"dns_alarm":0,"id":"ppp0","lat_avg":10627,"loss_pct":21.052600860595703,"std_dev":133,"type":"wanFailover"}
Oct 15 15:46:03 UDMPro-Loft user.info ubios-udapi-server: ubios-udapi-server: wanFailover: ppp0 is down: {"alarm":true,"dns_alarm":0,"id":"ppp0","lat_avg":10664,"loss_pct":21.052600860595703,"std_dev":178,"type":"wanFailover"}
Oct 15 15:58:09 UDMPro-Loft user.info ubios-udapi-server: ubios-udapi-server: wanFailover: ppp0 is down: {"alarm":true,"dns_alarm":0,"id":"ppp0","lat_avg":10630,"loss_pct":21.052600860595703,"std_dev":186,"type":"wanFailover"}
Oct 15 16:14:00 UDMPro-Loft user.info ubios-udapi-server: ubios-udapi-server: wanFailover: ppp0 is down: {"alarm":true,"dns_alarm":0,"id":"ppp0","lat_avg":10743,"loss_pct":21.052600860595703,"std_dev":408,"type":"wanFailover"}
Oct 15 16:33:24 UDMPro-Loft user.info ubios-udapi-server: ubios-udapi-server: wanFailover: ppp0 is down: {"alarm":true,"dns_alarm":0,"id":"ppp0","lat_avg":10823,"loss_pct":21.052600860595703,"std_dev":613,"type":"wanFailover"}
Oct 15 16:46:30 UDMPro-Loft user.info ubios-udapi-server: ubios-udapi-server: wanFailover: ppp0 is down: {"alarm":true,"dns_alarm":0,"id":"ppp0","lat_avg":10706,"loss_pct":21.052600860595703,"std_dev":249,"type":"wanFailover"}
Oct 15 19:16:34 UDMPro-Loft user.info ubios-udapi-server: ubios-udapi-server: wanFailover: ppp0 is down: {"alarm":true,"dns_alarm":0,"id":"ppp0","lat_avg":10859,"loss_pct":21.052600860595703,"std_dev":446,"type":"wanFailover"}
Oct 15 19:28:40 UDMPro-Loft user.info ubios-udapi-server: ubios-udapi-server: wanFailover: ppp0 is down: {"alarm":true,"dns_alarm":0,"id":"ppp0","lat_avg":10894,"loss_pct":21.052600860595703,"std_dev":478,"type":"wanFailover"}
Oct 15 20:26:52 UDMPro-Loft user.info ubios-udapi-server: ubios-udapi-server: wanFailover: ppp0 is down: {"alarm":true,"dns_alarm":0,"id":"ppp0","lat_avg":10690,"loss_pct":21.052600860595703,"std_dev":181,"type":"wanFailover"}
Oct 15 21:35:58 UDMPro-Loft user.info ubios-udapi-server: ubios-udapi-server: wanFailover: ppp0 is down: {"alarm":true,"dns_alarm":0,"id":"ppp0","lat_avg":10632,"loss_pct":21.052600860595703,"std_dev":265,"type":"wanFailover"}

This is a 1h perspective of the host → router (orange) → Vodafone gateway (blue) issue:

Untitled

I have ruled out internal network issues via this 7 days graph (Linux host wired into the router):

Untitled

iperf3 run between two wired hosts on the same network, both connecting through the router. Each host negotiates 1000 Mbps.

iperf3 -c 192.168.1.10
Connecting to host 192.168.1.10, port 5201
[  5] local 192.168.1.11 port 47084 connected to 192.168.1.10 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec   114 MBytes   954 Mbits/sec    0    378 KBytes
[  5]   1.00-2.00   sec   112 MBytes   943 Mbits/sec    0    378 KBytes
[  5]   2.00-3.00   sec   112 MBytes   940 Mbits/sec    0    378 KBytes
[  5]   3.00-4.00   sec   113 MBytes   944 Mbits/sec    0    378 KBytes
[  5]   4.00-5.00   sec   112 MBytes   938 Mbits/sec    0    378 KBytes
[  5]   5.00-6.00   sec   112 MBytes   942 Mbits/sec    0    378 KBytes
[  5]   6.00-7.00   sec   112 MBytes   944 Mbits/sec    0    378 KBytes
[  5]   7.00-8.00   sec   112 MBytes   939 Mbits/sec    0    378 KBytes
[  5]   8.00-9.00   sec   112 MBytes   943 Mbits/sec    0    378 KBytes
[  5]   9.00-10.00  sec   112 MBytes   940 Mbits/sec    0    378 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.10 GBytes   943 Mbits/sec    0             sender
[  5]   0.00-10.00  sec  1.10 GBytes   941 Mbits/sec                  receiver

iperf3 -c 192.168.1.10 -R
Connecting to host 192.168.1.10, port 5201
Reverse mode, remote host 192.168.1.10 is sending
[  5] local 192.168.1.11 port 47088 connected to 192.168.1.10 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   112 MBytes   941 Mbits/sec
[  5]   1.00-2.00   sec   112 MBytes   941 Mbits/sec
[  5]   2.00-3.00   sec   112 MBytes   941 Mbits/sec
[  5]   3.00-4.00   sec   112 MBytes   942 Mbits/sec
[  5]   4.00-5.00   sec   112 MBytes   941 Mbits/sec
[  5]   5.00-6.00   sec   112 MBytes   941 Mbits/sec
[  5]   6.00-7.00   sec   112 MBytes   942 Mbits/sec
[  5]   7.00-8.00   sec   112 MBytes   941 Mbits/sec
[  5]   8.00-9.00   sec   112 MBytes   941 Mbits/sec
[  5]   9.00-10.00  sec   112 MBytes   941 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.10 GBytes   943 Mbits/sec    0             sender
[  5]   0.00-10.00  sec  1.10 GBytes   941 Mbits/sec                  receiver

Same host, running iperf3 against a 40Gbps public iperf3 server (notice the Retransmits):

iperf3 -c iperf.par2.as49434.net -p 9203
Connecting to host iperf.par2.as49434.net, port 9203
[  5] local 192.168.1.11 port 60896 connected to 193.177.162.41 port 9203
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  95.9 MBytes   804 Mbits/sec    0   2.46 MBytes
[  5]   1.00-2.00   sec   109 MBytes   912 Mbits/sec    0   2.48 MBytes
[  5]   2.00-3.00   sec  88.8 MBytes   745 Mbits/sec   12   1.89 MBytes
[  5]   3.00-4.00   sec  95.0 MBytes   797 Mbits/sec    0   2.05 MBytes
[  5]   4.00-5.00   sec  76.2 MBytes   640 Mbits/sec   13   1.53 MBytes
[  5]   5.00-6.00   sec  77.5 MBytes   650 Mbits/sec    0   1.62 MBytes
[  5]   6.00-7.00   sec  75.0 MBytes   629 Mbits/sec   45   1.19 MBytes
[  5]   7.00-8.00   sec  60.0 MBytes   503 Mbits/sec    0   1.27 MBytes
[  5]   8.00-9.00   sec  62.5 MBytes   524 Mbits/sec    0   1.33 MBytes
[  5]   9.00-10.00  sec  61.2 MBytes   514 Mbits/sec   11    993 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   801 MBytes   672 Mbits/sec   81             sender
[  5]   0.00-10.02  sec   798 MBytes   668 Mbits/sec                  receiver

iperf3 -c iperf.par2.as49434.net -p 9203 -R
Connecting to host iperf.par2.as49434.net, port 9203
Reverse mode, remote host iperf.par2.as49434.net is sending
[  5] local 192.168.1.11 port 60900 connected to 193.177.162.41 port 9203
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  70.0 MBytes   588 Mbits/sec
[  5]   1.00-2.00   sec  81.0 MBytes   679 Mbits/sec
[  5]   2.00-3.00   sec  80.7 MBytes   677 Mbits/sec
[  5]   3.00-4.00   sec  78.9 MBytes   662 Mbits/sec
[  5]   4.00-5.00   sec  73.1 MBytes   613 Mbits/sec
[  5]   5.00-6.00   sec  64.1 MBytes   538 Mbits/sec
[  5]   6.00-7.00   sec  70.4 MBytes   591 Mbits/sec
[  5]   7.00-8.00   sec  77.0 MBytes   646 Mbits/sec
[  5]   8.00-9.00   sec  73.3 MBytes   615 Mbits/sec
[  5]   9.00-10.00  sec  71.2 MBytes   598 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.02  sec   744 MBytes   623 Mbits/sec    0             sender
[  5]   0.00-10.00  sec   740 MBytes   621 Mbits/sec                  receiver