Subject: Re: [Govpn-devel] working with 32it version

From: [email-masked]
Date: Tue, 16 Feb 2016 11:42:46 +0300

Greetings!

*** alxkor [Sun, 14 Feb 2016 17:11:29 -0500]:
>just checked 5.5 release on 32bit client and have some news:
>1. it didn't crashes just after start, as 5.4 does

Yep, it was unexpected bug/issue with specific sync/atomic Go library.

>2016/02/12 20:54:29.509300 main.go:85: Server started
>2016/02/12 20:54:53.403081 udp.go:99: Peer handshake finished: *.*.*.*:52964 **********************
>2016/02/12 20:54:53.403222 udp.go:166: Peer created: **********************
>2016/02/12 20:55:52.970751 peer.go:223: Padded data packet size 1515 is bigger than MTU 1514 **********************:*.*.*.*:52964
>2016/02/12 20:55:52.970786 peer.go:223: Padded data packet size 1515 is bigger than MTU 1514 **********************:*.*.*.*:52964
>2016/02/12 20:55:52.970983 peer.go:223: Padded data packet size 1515 is bigger than MTU 1514 **********************:*.*.*.*:52964
>(how to reproduce: connect to service on the far end, make it to produce continious stream longer than mtu. the session will hang indefinetely, because of server trying to send something bigger than its own mtu allows. )
>looks like off-by one error?

Seems you are right. I assumed that it will be convenient to be able to
send 1500 MTU packets + 14 bytes Ethernet overhead, but I did not take
into account that single padding byte.

>no fiddling with client config helps.
>simple but ugly workaround: configure _server_ to use mtu 1515

Yes, MTU is just a check condition that we are not trying to send too
much data. In my real setups in practice I have lower MTU like 14xx.

I will commit that default MTU should be 1515, instead of 1514.
Thanks for reporting that.

But I am not sure that it depends on either 32 or 64 bit version.
As I can see, it must behave similary.

-- 
Happy hacking, Sergey Matveev