Hi, I am experimenting with wintun as the choice of my driver for a vpn client I am writing on windows. I was very quickly able to get bootstrapped using the wireguard-windows repository (thanks!!), I created a tunnel and when I use the Read() api (tun_windows.go), I see that quite often I am missing packets. How do I know this ? - I run a tshark on the tun interface (needs editpcap to convert from ethernet to ip format), and then I compare packets there with what I get, and I see my read missing packets present in wireshark.
The traffic rate is very low - just regular browsing to websites, no major traffic. I am reading from the tun interface from a goroutine, I suspected maybe I/O bound reads might be not scheduled enough by go scheduler, so I increased the go threads. I thought maybe the ring size need to increase so I made it 32Mb etc.. - still no good, I still get Rx packets missing. Kind of clueless at this point - any pointers/hints/suggestions will be appreciated a lot !! Rgds, Gopa.
