[Midnightbsd-cvs] src [7773] trunk/sys/i386/linux/linux.h: Don' t assume Linux socket options match MidnightBSD.
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Sun Sep 4 16:46:27 EDT 2016
Revision: 7773
http://svnweb.midnightbsd.org/src/?rev=7773
Author: laffer1
Date: 2016-09-04 16:46:26 -0400 (Sun, 04 Sep 2016)
Log Message:
-----------
Don't assume Linux socket options match MidnightBSD.
Obtained from: FreeBSD SVN rev 247558.
Revision Links:
--------------
http://svnweb.midnightbsd.org/src/?rev=247558
Modified Paths:
--------------
trunk/sys/amd64/linux32/linux.h
trunk/sys/compat/linux/linux_socket.c
trunk/sys/i386/linux/linux.h
Property Changed:
----------------
trunk/sys/compat/linux/linux_socket.c
Modified: trunk/sys/amd64/linux32/linux.h
===================================================================
--- trunk/sys/amd64/linux32/linux.h 2016-09-04 01:22:34 UTC (rev 7772)
+++ trunk/sys/amd64/linux32/linux.h 2016-09-04 20:46:26 UTC (rev 7773)
@@ -724,6 +724,13 @@
#define LINUX_IP_ADD_MEMBERSHIP 35
#define LINUX_IP_DROP_MEMBERSHIP 36
+#define LINUX_TCP_NODELAY 1
+#define LINUX_TCP_MAXSEG 2
+#define LINUX_TCP_KEEPIDLE 4
+#define LINUX_TCP_KEEPINTVL 5
+#define LINUX_TCP_KEEPCNT 6
+#define LINUX_TCP_MD5SIG 14
+
struct l_sockaddr {
l_ushort sa_family;
char sa_data[14];
Modified: trunk/sys/compat/linux/linux_socket.c
===================================================================
--- trunk/sys/compat/linux/linux_socket.c 2016-09-04 01:22:34 UTC (rev 7772)
+++ trunk/sys/compat/linux/linux_socket.c 2016-09-04 20:46:26 UTC (rev 7773)
@@ -56,6 +56,7 @@
#include <netinet/in.h>
#include <netinet/in_systm.h>
#include <netinet/ip.h>
+#include <netinet/tcp.h>
#ifdef INET6
#include <netinet/ip6.h>
#include <netinet6/ip6_var.h>
@@ -326,6 +327,27 @@
}
static int
+linux_to_bsd_tcp_sockopt(int opt)
+{
+
+ switch (opt) {
+ case LINUX_TCP_NODELAY:
+ return (TCP_NODELAY);
+ case LINUX_TCP_MAXSEG:
+ return (TCP_MAXSEG);
+ case LINUX_TCP_KEEPIDLE:
+ return (TCP_KEEPIDLE);
+ case LINUX_TCP_KEEPINTVL:
+ return (TCP_KEEPINTVL);
+ case LINUX_TCP_KEEPCNT:
+ return (TCP_KEEPCNT);
+ case LINUX_TCP_MD5SIG:
+ return (TCP_MD5SIG);
+ }
+ return (-1);
+}
+
+static int
linux_to_bsd_msg_flags(int flags)
{
int ret_flags = 0;
@@ -1496,8 +1518,7 @@
name = linux_to_bsd_ip_sockopt(args->optname);
break;
case IPPROTO_TCP:
- /* Linux TCP option values match BSD's */
- name = args->optname;
+ name = linux_to_bsd_tcp_sockopt(args->optname);
break;
default:
name = -1;
@@ -1591,8 +1612,7 @@
name = linux_to_bsd_ip_sockopt(args->optname);
break;
case IPPROTO_TCP:
- /* Linux TCP option values match BSD's */
- name = args->optname;
+ name = linux_to_bsd_tcp_sockopt(args->optname);
break;
default:
name = -1;
Property changes on: trunk/sys/compat/linux/linux_socket.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.7
\ No newline at end of property
Modified: trunk/sys/i386/linux/linux.h
===================================================================
--- trunk/sys/i386/linux/linux.h 2016-09-04 01:22:34 UTC (rev 7772)
+++ trunk/sys/i386/linux/linux.h 2016-09-04 20:46:26 UTC (rev 7773)
@@ -700,6 +700,13 @@
#define LINUX_IP_ADD_MEMBERSHIP 35
#define LINUX_IP_DROP_MEMBERSHIP 36
+#define LINUX_TCP_NODELAY 1
+#define LINUX_TCP_MAXSEG 2
+#define LINUX_TCP_KEEPIDLE 4
+#define LINUX_TCP_KEEPINTVL 5
+#define LINUX_TCP_KEEPCNT 6
+#define LINUX_TCP_MD5SIG 14
+
struct l_sockaddr {
l_ushort sa_family;
char sa_data[14];
More information about the Midnightbsd-cvs
mailing list