Harvy66,
I hadn't thought of that, so I did so some looking. It appears by default OpenVPN does allow out-of-order packets with UDP. According to https://community.openvpn.net/openvpn/wiki/Openvpn23ManPage:
–replay-window n [t]
Use a replay protection sliding-window of size n and a time window of t seconds.
By default n is 64 (the IPSec default) and t is 15 seconds.
When OpenVPN tunnels IP packets over UDP, there is the possibility that packets might be dropped or delivered out of order. Because OpenVPN, like IPSec, is emulating the physical network layer, it will accept an out-of-order packet sequence, and will deliver such packets in the same order they were received to the TCP/IP protocol stack, provided they satisfy several constraints.
(a) The packet cannot be a replay (unless –no-replay is specified, which disables replay protection altogether).
(b) If a packet arrives out of order, it will only be accepted if the difference between its sequence number and the highest sequence number received so far is less than n.
(c) If a packet arrives out of order, it will only be accepted if it arrives no later than t seconds after any packet containing a higher sequence number.
It could definitely create issues where starvation would cause packets dropping. I'm not saying what I'm trying is necessarily a great idea, but it would work if I could select different queues for different traffic on the same OpenVPN tunnel.
Churchtechguy,
I had thought of that. It doesn't scale well though when you have several offices though. The other idea that I had was traffic shaping the OpenVPN interface. If I assign the interface 10 Mbps, I can traffic shape the WAN and make a queue that matches the OpenVPN traffic and has 11-12 Mbps (OpenVPN interface wouldn't take into account overhead from tunneling). I guess there is several ways to solve this issue, I just don't feel like there is any good way right now with PFSense.
Thanks!