Hi Gert,

Thank you for the documentation link, I will try to take a look at it when
I get some free time from work and life. I think my specific use case is a
bit different than other peoples. I think most people run VPN clients
directly on their client host machines which means that their host
operating system and network stack will honor a lower sized MTU directly
before sending network data outbound.

In my use case, I am piping my entire home WiFi network traffic through a
dedicated Linux VM running on a Mac Mini which can result in some serious
issues if I'm not careful enough. The reason why MTU size (1500 bytes) is
important to me is because all of my network clients will auto assume the
standard 1500 bytes once they join a network. This means that if my middle
network VPN link MTU is <1500, it will likely cause fragmentation issues
for my LAN clients which I really don't want performance wise. If the VPN
link MTU is >1500, then my ISP will fragment my packets at the router WAN
side as that is the network standard there also. In addition, the code base
is only performing singular read/write MTU-sized calls and sending them out
right away which also greatly impacts potential performance as well.

With my modifications made, I can specifically and directly target an exact
1500 byte MTU VPN link so that it correctly matches the LAN and WAN side of
the networks which is really important network wise and I can also let TCP
at the kernel level beautifully handle huge streams of bulk data and
ordering and delivery on my behalf as efficiently as possible. This would
be a pretty nice modification if I could make it through to the end.

This is one of the reasons why I dislike WireGuard personally. It's at the
kernel level instead of application level, it enforces a very small sized
MTUs potentially causing fragmentation and performance issues and its UDP
based only. :/

Thanks for your time on this,
Jon Chiappetta








On Wed, Aug 6, 2025 at 7:22 AM Gert Doering <g...@greenie.muc.de> wrote:

> Hi,
>
> On Wed, Aug 06, 2025 at 07:03:51AM -0400, Jon Chiappetta via Openvpn-devel
> wrote:
> > Is there any development setup guide I could follow in the future which
> > would allow me to submit a pull request to the OpenVPN codebase in an
> > official manner?
>
> https://community.openvpn.net/Development/DeveloperDocumentation
>
> which is outdated in a few places, but the most important thing is
> still correct: we don't do Github PRs, we do "patch on list" or "push
> to gerrit".
>
> Before you spend too much time on actual code, it makes sense to see if
> there is general agreement on the problem statement, and the direction
> to fix it.  For problems that we cannot understand, it's slightly harder
> to convince us to accept the code (and the maintenance and testing
> obligation that comes with each new line of code).
>
> So far I have heard "MTU mumble mumble" and we do have lots of MTUs of
> all sorts already :-)
>
> gert
> --
> "If was one thing all people took for granted, was conviction that if you
>  feed honest figures into a computer, honest figures come out. Never
> doubted
>  it myself till I met a computer with a sense of humor."
>                              Robert A. Heinlein, The Moon is a Harsh
> Mistress
>
> Gert Doering - Munich, Germany
> g...@greenie.muc.de
>
_______________________________________________
Openvpn-devel mailing list
Openvpn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-devel

Reply via email to