<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/compat/linux/linux_socket.h, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>compat/linux: map TCP_USER_TIMEOUT sockopt into TCP_MAXUNACKTIME</title>
<updated>2026-04-01T21:46:08+00:00</updated>
<author>
<name>Maxim Sobolev</name>
<email>sobomax@FreeBSD.org</email>
</author>
<published>2026-04-01T21:42:50+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=5d4a39d8ed775d607e0702f317f687491ac0a23d'/>
<id>5d4a39d8ed775d607e0702f317f687491ac0a23d</id>
<content type='text'>
After reading both manual pages, our TCP_MAXUNACKTIME is fairly
similar to the TCP_USER_TIMEOUT, the only considerable difference
is ours is in seconds and linux's in milliseconds.

Round up linux's in setsockopt(2) to a next whole second and
clamp ours getter to UINT_MAX ms.

Reviewed by:	tuexen, glebius
Differential Revision: https://reviews.freebsd.org/D56168
MFC after:	2 weeks
Sponsored by:	Sippy Software, Inc.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
After reading both manual pages, our TCP_MAXUNACKTIME is fairly
similar to the TCP_USER_TIMEOUT, the only considerable difference
is ours is in seconds and linux's in milliseconds.

Round up linux's in setsockopt(2) to a next whole second and
clamp ours getter to UINT_MAX ms.

Reviewed by:	tuexen, glebius
Differential Revision: https://reviews.freebsd.org/D56168
MFC after:	2 weeks
Sponsored by:	Sippy Software, Inc.
</pre>
</div>
</content>
</entry>
<entry>
<title>linux(4): Drop bogus __arm__ condition due to lack of 32-bit arm support</title>
<updated>2023-08-17T19:57:17+00:00</updated>
<author>
<name>Dmitry Chagin</name>
<email>dchagin@FreeBSD.org</email>
</author>
<published>2023-08-17T19:57:17+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=6ecab3949493026b51d67b38fcd026a8bc64e69a'/>
<id>6ecab3949493026b51d67b38fcd026a8bc64e69a</id>
<content type='text'>
MFC after:		1 month
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
MFC after:		1 month
</pre>
</div>
</content>
</entry>
<entry>
<title>sys: Remove $FreeBSD$: two-line .h pattern</title>
<updated>2023-08-16T17:54:11+00:00</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-08-16T17:54:11+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=95ee2897e98f5d444f26ed2334cc7c439f9c16c6'/>
<id>95ee2897e98f5d444f26ed2334cc7c439f9c16c6</id>
<content type='text'>
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
</pre>
</div>
</content>
</entry>
<entry>
<title>linux(4): Rename struct l_ifreq members names to avoid conflicts with FreeBSD</title>
<updated>2023-03-04T09:11:38+00:00</updated>
<author>
<name>Dmitry Chagin</name>
<email>dchagin@FreeBSD.org</email>
</author>
<published>2023-03-04T09:11:38+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=a927409ce820909c344b8f1323285fd01046cc4f'/>
<id>a927409ce820909c344b8f1323285fd01046cc4f</id>
<content type='text'>
For now we are using mixed names to access struct ifreq members, some
of Linux (ifr_name, ifr_ifindex), others of FreeBSD. To avoid conflicts
switch to use FreeBSD names.

Reviewed by:		jhibbits
Differential Revision:	https://reviews.freebsd.org/D38792
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For now we are using mixed names to access struct ifreq members, some
of Linux (ifr_name, ifr_ifindex), others of FreeBSD. To avoid conflicts
switch to use FreeBSD names.

Reviewed by:		jhibbits
Differential Revision:	https://reviews.freebsd.org/D38792
</pre>
</div>
</content>
</entry>
<entry>
<title>linux(4): Reduce code duplication between MD files</title>
<updated>2023-03-04T09:11:38+00:00</updated>
<author>
<name>Dmitry Chagin</name>
<email>dchagin@FreeBSD.org</email>
</author>
<published>2023-03-04T09:11:38+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=cabbfb60d050f21eda60fb7d9a95718059048686'/>
<id>cabbfb60d050f21eda60fb7d9a95718059048686</id>
<content type='text'>
Move struct ifnet definitions under compat/linux.

Reviewed by:		emaste
Differential Revision:	https://reviews.freebsd.org/D38791
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Move struct ifnet definitions under compat/linux.

Reviewed by:		emaste
Differential Revision:	https://reviews.freebsd.org/D38791
</pre>
</div>
</content>
</entry>
<entry>
<title>linux(4): Handle IP_ORIGDSTADDR socket option for IPPROTO_IP protocol level</title>
<updated>2022-05-28T20:47:40+00:00</updated>
<author>
<name>Dmitry Chagin</name>
<email>dchagin@FreeBSD.org</email>
</author>
<published>2022-05-28T20:47:40+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=f8a6615064badb76b6cb301163697cf99ac4f180'/>
<id>f8a6615064badb76b6cb301163697cf99ac4f180</id>
<content type='text'>
MFC after:		2 weeks
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
MFC after:		2 weeks
</pre>
</div>
</content>
</entry>
<entry>
<title>linux(4): Handle SO_TIMESTAMPNS socket option</title>
<updated>2022-05-28T20:46:05+00:00</updated>
<author>
<name>Dmitry Chagin</name>
<email>dchagin@FreeBSD.org</email>
</author>
<published>2022-05-28T20:46:05+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=71bc8bcf660b437b99af1e3d382f7bfdaea5fa9c'/>
<id>71bc8bcf660b437b99af1e3d382f7bfdaea5fa9c</id>
<content type='text'>
The SO_TIMESTAMPNS enables or disables the receiving of the SCM_TIMESTAMPNS
control message. The cmsg_data field is a struct timespec.
To distinguish between SO_TIMESTAMP and SO_TIMESTAMPNS in the recvmsg()
map the last one to the SO_BINTIME and convert bintime to the timespec.
In the rest, implementation is identical to the SO_TIMESTAMP.

MFC after:		2 weeks
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The SO_TIMESTAMPNS enables or disables the receiving of the SCM_TIMESTAMPNS
control message. The cmsg_data field is a struct timespec.
To distinguish between SO_TIMESTAMP and SO_TIMESTAMPNS in the recvmsg()
map the last one to the SO_BINTIME and convert bintime to the timespec.
In the rest, implementation is identical to the SO_TIMESTAMP.

MFC after:		2 weeks
</pre>
</div>
</content>
</entry>
<entry>
<title>linux(4): Handle 64-bit SO_TIMESTAMP for 32-bit binaries</title>
<updated>2022-05-28T20:45:39+00:00</updated>
<author>
<name>Dmitry Chagin</name>
<email>dchagin@FreeBSD.org</email>
</author>
<published>2022-05-28T20:45:39+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=0e26e54bdfa2859908150011a4a165e9dd3de9ac'/>
<id>0e26e54bdfa2859908150011a4a165e9dd3de9ac</id>
<content type='text'>
To solve y2k38 problem in the recvmsg syscall the new SO_TIMESTAMP
constant were added on v5.1 Linux kernel. So, old 32-bit binaries
that knows only 32-bit time_t uses the old value of the constant,
and binaries that knows 64-bit time_t uses the new constant.

To determine what size of time_t type is expected by the user-space,
store requested value (SO_TIMESTAMP) in the process emuldata structure.

MFC after:		2 weeks
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To solve y2k38 problem in the recvmsg syscall the new SO_TIMESTAMP
constant were added on v5.1 Linux kernel. So, old 32-bit binaries
that knows only 32-bit time_t uses the old value of the constant,
and binaries that knows 64-bit time_t uses the new constant.

To determine what size of time_t type is expected by the user-space,
store requested value (SO_TIMESTAMP) in the process emuldata structure.

MFC after:		2 weeks
</pre>
</div>
</content>
</entry>
<entry>
<title>linux(4): For future use move SCM definitions below socket options</title>
<updated>2022-05-28T20:42:23+00:00</updated>
<author>
<name>Dmitry Chagin</name>
<email>dchagin@FreeBSD.org</email>
</author>
<published>2022-05-28T20:42:23+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=f409a7c5386a30edccf2b26a5612cab99fdff045'/>
<id>f409a7c5386a30edccf2b26a5612cab99fdff045</id>
<content type='text'>
MFC after:		2 weeks
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
MFC after:		2 weeks
</pre>
</div>
</content>
</entry>
<entry>
<title>linux(4): Handle SO_DOMAIN in getsockopt syscall.</title>
<updated>2022-04-11T20:31:28+00:00</updated>
<author>
<name>Dmitry Chagin</name>
<email>dchagin@FreeBSD.org</email>
</author>
<published>2022-04-11T20:31:28+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=cf312f799a867b4b1beef0536a162062659659a6'/>
<id>cf312f799a867b4b1beef0536a162062659659a6</id>
<content type='text'>
Differential revision:	https://reviews.freebsd.org/D34714
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Differential revision:	https://reviews.freebsd.org/D34714
</pre>
</div>
</content>
</entry>
</feed>
