Module Name: src
Committed By: dsl
Date: Sat Nov 28 22:11:42 UTC 2009
Modified Files:
src/sys/compat/linux/common: linux_socket.c linux_socket.h
linux_sockio.h
src/sys/compat/sys: sockio.h
Log Message:
Add LINUX_SIOCGIFMTU and LINUX_IP_HDRINCL support.
Fixes part of PR/31358
The other parts are rather too intrusive to be fixed as in the PR.
To generate a diff of this commit:
cvs rdiff -u -r1.106 -r1.107 src/sys/compat/linux/common/linux_socket.c
cvs rdiff -u -r1.18 -r1.19 src/sys/compat/linux/common/linux_socket.h
cvs rdiff -u -r1.17 -r1.18 src/sys/compat/linux/common/linux_sockio.h
cvs rdiff -u -r1.7 -r1.8 src/sys/compat/sys/sockio.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/compat/linux/common/linux_socket.c
diff -u src/sys/compat/linux/common/linux_socket.c:1.106 src/sys/compat/linux/common/linux_socket.c:1.107
--- src/sys/compat/linux/common/linux_socket.c:1.106 Fri Nov 13 22:39:35 2009
+++ src/sys/compat/linux/common/linux_socket.c Sat Nov 28 22:11:42 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: linux_socket.c,v 1.106 2009/11/13 22:39:35 joerg Exp $ */
+/* $NetBSD: linux_socket.c,v 1.107 2009/11/28 22:11:42 dsl Exp $ */
/*-
* Copyright (c) 1995, 1998, 2008 The NetBSD Foundation, Inc.
@@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: linux_socket.c,v 1.106 2009/11/13 22:39:35 joerg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: linux_socket.c,v 1.107 2009/11/28 22:11:42 dsl Exp $");
#if defined(_KERNEL_OPT)
#include "opt_inet.h"
@@ -849,6 +849,8 @@
return IP_TOS;
case LINUX_IP_TTL:
return IP_TTL;
+ case LINUX_IP_HDRINCL:
+ return IP_HDRINCL;
case LINUX_IP_MULTICAST_TTL:
return IP_MULTICAST_TTL;
case LINUX_IP_MULTICAST_LOOP:
@@ -1275,6 +1277,9 @@
case LINUX_SIOCGIFNETMASK:
SCARG(&ia, com) = OOSIOCGIFNETMASK;
break;
+ case LINUX_SIOCGIFMTU:
+ SCARG(&ia, com) = OSIOCGIFMTU;
+ break;
case LINUX_SIOCADDMULTI:
SCARG(&ia, com) = OSIOCADDMULTI;
break;
Index: src/sys/compat/linux/common/linux_socket.h
diff -u src/sys/compat/linux/common/linux_socket.h:1.18 src/sys/compat/linux/common/linux_socket.h:1.19
--- src/sys/compat/linux/common/linux_socket.h:1.18 Wed Jun 17 14:18:51 2009
+++ src/sys/compat/linux/common/linux_socket.h Sat Nov 28 22:11:42 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: linux_socket.h,v 1.18 2009/06/17 14:18:51 njoly Exp $ */
+/* $NetBSD: linux_socket.h,v 1.19 2009/11/28 22:11:42 dsl Exp $ */
/*-
* Copyright (c) 1995, 1998 The NetBSD Foundation, Inc.
@@ -103,6 +103,7 @@
#define LINUX_IP_TOS 1
#define LINUX_IP_TTL 2
+#define LINUX_IP_HDRINCL 3
#define LINUX_IP_MULTICAST_IF 32
#define LINUX_IP_MULTICAST_TTL 33
#define LINUX_IP_MULTICAST_LOOP 34
Index: src/sys/compat/linux/common/linux_sockio.h
diff -u src/sys/compat/linux/common/linux_sockio.h:1.17 src/sys/compat/linux/common/linux_sockio.h:1.18
--- src/sys/compat/linux/common/linux_sockio.h:1.17 Fri Nov 13 21:45:03 2009
+++ src/sys/compat/linux/common/linux_sockio.h Sat Nov 28 22:11:42 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: linux_sockio.h,v 1.17 2009/11/13 21:45:03 joerg Exp $ */
+/* $NetBSD: linux_sockio.h,v 1.18 2009/11/28 22:11:42 dsl Exp $ */
/*-
* Copyright (c) 1995, 1998 The NetBSD Foundation, Inc.
@@ -41,6 +41,7 @@
#define LINUX_SIOCGIFDSTADDR _LINUX_IO(0x89, 0x17)
#define LINUX_SIOCGIFBRDADDR _LINUX_IO(0x89, 0x19)
#define LINUX_SIOCGIFNETMASK _LINUX_IO(0x89, 0x1b)
+#define LINUX_SIOCGIFMTU _LINUX_IO(0x89, 0x21)
#define LINUX_SIOCADDMULTI _LINUX_IO(0x89, 0x31)
#define LINUX_SIOCDELMULTI _LINUX_IO(0x89, 0x32)
#define LINUX_SIOCGIFHWADDR _LINUX_IO(0x89, 0x27)
Index: src/sys/compat/sys/sockio.h
diff -u src/sys/compat/sys/sockio.h:1.7 src/sys/compat/sys/sockio.h:1.8
--- src/sys/compat/sys/sockio.h:1.7 Fri Feb 13 22:41:04 2009
+++ src/sys/compat/sys/sockio.h Sat Nov 28 22:11:42 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: sockio.h,v 1.7 2009/02/13 22:41:04 apb Exp $ */
+/* $NetBSD: sockio.h,v 1.8 2009/11/28 22:11:42 dsl Exp $ */
/*-
* Copyright (c) 1982, 1986, 1990, 1993, 1994
@@ -136,6 +136,7 @@
#define OSIOCADDMULTI _IOW('i', 49, struct oifreq) /* add m'cast addr */
#define OSIOCDELMULTI _IOW('i', 50, struct oifreq) /* del m'cast addr */
#define OSIOCSIFMEDIA _IOWR('i', 53, struct oifreq) /* set net media */
+#define OSIOCGIFMTU _IOWR('i', 126, struct oifreq) /* get ifnet mtu */
#define OSIOCGIFDATA _IOWR('i', 128, struct oifdatareq) /* get if_data */
#define OSIOCZIFDATA _IOWR('i', 129, struct oifdatareq) /* get if_data then
zero ctrs*/