Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Jul 2008 19:02:50 GMT
From:      Ed Schouten <ed@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 146255 for review
Message-ID:  <200807301902.m6UJ2oWl008009@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=146255

Change 146255 by ed@ed_dull on 2008/07/30 19:02:00

	IFC my clist changes.

Affected files ...

.. //depot/projects/mpsafetty/contrib/cvs/doc/HACKING.DOCS#3 integrate
.. //depot/projects/mpsafetty/crypto/openssh/monitor_fdpass.c#2 integrate
.. //depot/projects/mpsafetty/lib/libthread_db/libpthread_db.c#2 integrate
.. //depot/projects/mpsafetty/lib/libthread_db/libthr_db.c#2 integrate
.. //depot/projects/mpsafetty/lib/libthread_db/thread_db.c#2 integrate
.. //depot/projects/mpsafetty/lib/libthread_db/thread_db.h#2 integrate
.. //depot/projects/mpsafetty/lib/libthread_db/thread_db_int.h#2 integrate
.. //depot/projects/mpsafetty/sbin/ifconfig/ifconfig.8#2 integrate
.. //depot/projects/mpsafetty/sbin/routed/defs.h#2 integrate
.. //depot/projects/mpsafetty/sbin/routed/if.c#2 integrate
.. //depot/projects/mpsafetty/sbin/routed/main.c#2 integrate
.. //depot/projects/mpsafetty/sbin/routed/output.c#2 integrate
.. //depot/projects/mpsafetty/sbin/routed/rdisc.c#2 integrate
.. //depot/projects/mpsafetty/share/colldef/no_NO.ISO8859-1.src#2 integrate
.. //depot/projects/mpsafetty/share/colldef/no_NO.ISO8859-15.src#2 integrate
.. //depot/projects/mpsafetty/share/misc/committers-ports.dot#3 integrate
.. //depot/projects/mpsafetty/sys/amd64/amd64/cpu_switch.S#2 integrate
.. //depot/projects/mpsafetty/sys/amd64/amd64/genassym.c#2 integrate
.. //depot/projects/mpsafetty/sys/amd64/ia32/ia32_signal.c#2 integrate
.. //depot/projects/mpsafetty/sys/amd64/include/pcb.h#2 integrate
.. //depot/projects/mpsafetty/sys/amd64/linux32/linux32_machdep.c#2 integrate
.. //depot/projects/mpsafetty/sys/dev/ixgbe/ixgbe.c#2 integrate
.. //depot/projects/mpsafetty/sys/dev/ixgbe/ixgbe.h#2 integrate
.. //depot/projects/mpsafetty/sys/dev/ixgbe/ixgbe_82598.c#2 integrate
.. //depot/projects/mpsafetty/sys/dev/ixgbe/ixgbe_api.c#2 integrate
.. //depot/projects/mpsafetty/sys/dev/ixgbe/ixgbe_api.h#2 integrate
.. //depot/projects/mpsafetty/sys/dev/ixgbe/ixgbe_common.c#2 integrate
.. //depot/projects/mpsafetty/sys/dev/ixgbe/ixgbe_common.h#2 integrate
.. //depot/projects/mpsafetty/sys/dev/ixgbe/ixgbe_phy.c#2 integrate
.. //depot/projects/mpsafetty/sys/dev/ixgbe/ixgbe_phy.h#2 integrate
.. //depot/projects/mpsafetty/sys/dev/ixgbe/ixgbe_type.h#2 integrate
.. //depot/projects/mpsafetty/sys/kern/subr_clist.c#2 integrate
.. //depot/projects/mpsafetty/sys/kern/vfs_subr.c#4 integrate
.. //depot/projects/mpsafetty/sys/netinet6/raw_ip6.c#5 integrate
.. //depot/projects/mpsafetty/sys/pci/if_sis.c#2 integrate
.. //depot/projects/mpsafetty/sys/sys/procfs.h#2 integrate
.. //depot/projects/mpsafetty/sys/vm/vnode_pager.c#2 integrate
.. //depot/projects/mpsafetty/tools/tools/editing/freebsd.vim#2 integrate
.. //depot/projects/mpsafetty/usr.bin/cpio/cpio.c#3 integrate

Differences ...

==== //depot/projects/mpsafetty/contrib/cvs/doc/HACKING.DOCS#3 (text+ko) ====

@@ -12,7 +12,11 @@
 @emph{ ... }			emphasis - warnings, stress, etc.  This will be
 				bracketed by underline characters in info files
 				(_ ... _) and in italics in PDF & probably in
-				postscript & HTML.  
+				postscript & HTML.
+@strong{ ... }			Similar to @emph{}, but the effect is to
+				bracket with asterisks in info files (* ... *)
+				and in bold in PDF & probably in postscript &
+				HTML.
 @noindent			Suppresses indentation of the following
 				paragraph.  This can ocassionally be useful
 				after examples and the like.
@@ -22,7 +26,7 @@
 
 Preformatted text should be marked as such (use @example... there may be other
 ways) since many of the final output formats can use relational fonts otherwise
-and marking it as formatted should restrict it to a fixed wiidth font.  Keep
+and marking it as formatted should restrict it to a fixed width font.  Keep
 this sort of text to 80 characters or less per line since larger may not be
 properly viewable for some info users.
 
@@ -33,5 +37,10 @@
 Use lots of index markers.  Scan the index for the current style.  Try to reuse
 an existing entry if the meaning is similar.
 
+`makeinfo' 3.11 or greater is required for output generation since earlier
+versions do not support the @ifnottex & @ifnothtml commands.  There may be
+other commands used in `cvs.texinfo' that are unsupported by earlier versions
+of `makeinfo' by the time you read this.
+
 For more on using texinfo docs, see the `info texinfo' documentation or
 http://www.gnu.org/manual/texinfo/texinfo.html .

==== //depot/projects/mpsafetty/crypto/openssh/monitor_fdpass.c#2 (text+ko) ====

@@ -49,7 +49,10 @@
 	char ch = '\0';
 	ssize_t n;
 #ifndef HAVE_ACCRIGHTS_IN_MSGHDR
-	char tmp[CMSG_SPACE(sizeof(int))];
+	union {
+		struct cmsghdr hdr;
+		char buf[CMSG_SPACE(sizeof(int))];
+	} cmsgbuf;
 	struct cmsghdr *cmsg;
 #endif
 
@@ -58,8 +61,8 @@
 	msg.msg_accrights = (caddr_t)&fd;
 	msg.msg_accrightslen = sizeof(fd);
 #else
-	msg.msg_control = (caddr_t)tmp;
-	msg.msg_controllen = CMSG_LEN(sizeof(int));
+	msg.msg_control = (caddr_t)&cmsgbuf.buf;
+	msg.msg_controllen = sizeof(cmsgbuf.buf);
 	cmsg = CMSG_FIRSTHDR(&msg);
 	cmsg->cmsg_len = CMSG_LEN(sizeof(int));
 	cmsg->cmsg_level = SOL_SOCKET;
@@ -94,7 +97,10 @@
 	char ch;
 	int fd;
 #ifndef HAVE_ACCRIGHTS_IN_MSGHDR
-	char tmp[CMSG_SPACE(sizeof(int))];
+	union {
+		struct cmsghdr hdr;
+		char buf[CMSG_SPACE(sizeof(int))];
+	} cmsgbuf;
 	struct cmsghdr *cmsg;
 #endif
 
@@ -107,8 +113,8 @@
 	msg.msg_accrights = (caddr_t)&fd;
 	msg.msg_accrightslen = sizeof(fd);
 #else
-	msg.msg_control = tmp;
-	msg.msg_controllen = sizeof(tmp);
+	msg.msg_control = &cmsgbuf.buf;
+	msg.msg_controllen = sizeof(cmsgbuf.buf);
 #endif
 
 	if ((n = recvmsg(sock, &msg, 0)) == -1)

==== //depot/projects/mpsafetty/lib/libthread_db/libpthread_db.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libthread_db/libpthread_db.c,v 1.16 2008/03/23 09:38:11 jeff Exp $");
+__FBSDID("$FreeBSD: src/lib/libthread_db/libpthread_db.c,v 1.17 2008/07/30 00:59:19 marcel Exp $");
 
 #include <stddef.h>
 #include <stdlib.h>
@@ -240,8 +240,7 @@
 		 * mapped to user thread.
 		 */
 		while (pt != 0) {
-			ret = ps_pread(ta->ph,
-			        pt + ta->thread_off_tcb,
+			ret = ps_pread(ta->ph, pt + ta->thread_off_tcb,
 			        &tcb_addr, sizeof(tcb_addr));
 			if (ret != 0)
 				return (P2T(ret));
@@ -1075,16 +1074,15 @@
 }
 
 td_err_e
-pt_thr_tls_get_addr(const td_thrhandle_t *th, void *_linkmap, size_t offset,
-		    void **address)
+pt_thr_tls_get_addr(const td_thrhandle_t *th, psaddr_t _linkmap, size_t offset,
+    psaddr_t *address)
 {
-	char *obj_entry;
 	const td_thragent_t *ta = th->th_ta;
-	psaddr_t tcb_addr, *dtv_addr;
+	psaddr_t dtv_addr, obj_entry, tcb_addr;
 	int tls_index, ret;
 
 	/* linkmap is a member of Obj_Entry */
-	obj_entry = (char *)_linkmap - ta->thread_off_linkmap;
+	obj_entry = _linkmap - ta->thread_off_linkmap;
 
 	/* get tlsindex of the object file */
 	ret = ps_pread(ta->ph,
@@ -1106,8 +1104,8 @@
 	if (ret != 0)
 		return (P2T(ret));
 	/* now get the object's tls block base address */
-	ret = ps_pread(ta->ph, &dtv_addr[tls_index+1], address,
-		sizeof(*address));
+	ret = ps_pread(ta->ph, dtv_addr + sizeof(void *) * (tls_index + 1),
+	    address, sizeof(*address));
 	if (ret != 0)
 		return (P2T(ret));
 

==== //depot/projects/mpsafetty/lib/libthread_db/libthr_db.c#2 (text+ko) ====

@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libthread_db/libthr_db.c,v 1.13 2008/03/22 05:40:44 davidxu Exp $");
+__FBSDID("$FreeBSD: src/lib/libthread_db/libthr_db.c,v 1.14 2008/07/30 00:59:19 marcel Exp $");
 
 #include <proc_service.h>
 #include <stddef.h>
@@ -216,7 +216,7 @@
 		return (P2T(ret));
 	/* Iterate through thread list to find pthread */
 	pt = (psaddr_t)thread_list.tqh_first;
-	while (pt != NULL) {
+	while (pt != 0) {
 		ret = ps_pread(ta->ph, pt + ta->thread_off_tid,
 			       &lwp, sizeof(lwp));
 		if (ret != 0)
@@ -230,7 +230,7 @@
 		if (ret != 0)
 			return (P2T(ret));
 	}
-	if (pt == NULL)
+	if (pt == 0)
 		return (TD_NOTHR);
 	th->th_ta = ta;
 	th->th_tid = id;
@@ -389,13 +389,13 @@
 	ret = ps_pread(ta->ph, ta->thread_last_event_addr, &pt, sizeof(pt));
 	if (ret != 0)
 		return (P2T(ret));
-	if (pt == NULL)
+	if (pt == 0)
 		return (TD_NOMSG);
 	/*
 	 * Take the event pointer, at the time, libthr only reports event
 	 * once a time, so it is not a link list.
 	 */
-	pt_temp = NULL;
+	pt_temp = 0;
 	ps_pwrite(ta->ph, ta->thread_last_event_addr, &pt_temp, sizeof(pt_temp));
 
 	/* Read event info */
@@ -684,7 +684,7 @@
 	 * once a time, so it is not a link list.
 	 */
 	if (pt == pt_temp) {
-		pt_temp = NULL;
+		pt_temp = 0;
 		ps_pwrite(ta->ph, ta->thread_last_event_addr, &pt_temp, sizeof(pt_temp));
 	}
 	/* Clear event */
@@ -714,22 +714,21 @@
 pt_validate(const td_thrhandle_t *th)
 {
 
-	if (th->th_tid == 0 || th->th_thread == NULL)
+	if (th->th_tid == 0 || th->th_thread == 0)
 		return (TD_ERR);
 	return (TD_OK);
 }
 
 static td_err_e
-pt_thr_tls_get_addr(const td_thrhandle_t *th, void *_linkmap, size_t offset,
-		    void **address)
+pt_thr_tls_get_addr(const td_thrhandle_t *th, psaddr_t _linkmap, size_t offset,
+    psaddr_t *address)
 {
-	char *obj_entry;
 	const td_thragent_t *ta = th->th_ta;
-	psaddr_t tcb_addr, *dtv_addr;
+	psaddr_t dtv_addr, obj_entry, tcb_addr;
 	int tls_index, ret;
 
 	/* linkmap is a member of Obj_Entry */
-	obj_entry = (char *)_linkmap - ta->thread_off_linkmap;
+	obj_entry = _linkmap - ta->thread_off_linkmap;
 
 	/* get tlsindex of the object file */
 	ret = ps_pread(ta->ph,
@@ -750,8 +749,8 @@
 	if (ret != 0)
 		return (P2T(ret));
 	/* now get the object's tls block base address */
-	ret = ps_pread(ta->ph, &dtv_addr[tls_index+1], address,
-		sizeof(*address));
+	ret = ps_pread(ta->ph, dtv_addr + sizeof(void *) * (tls_index+1),
+	    address, sizeof(*address));
 	if (ret != 0)
 		return (P2T(ret));
 

==== //depot/projects/mpsafetty/lib/libthread_db/thread_db.c#2 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libthread_db/thread_db.c,v 1.5 2008/03/22 05:40:44 davidxu Exp $");
+__FBSDID("$FreeBSD: src/lib/libthread_db/thread_db.c,v 1.6 2008/07/30 00:59:19 marcel Exp $");
 
 #include <proc_service.h>
 #include <stddef.h>
@@ -244,8 +244,8 @@
 }
 
 td_err_e
-td_thr_tls_get_addr(const td_thrhandle_t *th, void *linkmap, size_t offset,
-		    void **address)
+td_thr_tls_get_addr(const td_thrhandle_t *th, psaddr_t linkmap, size_t offset,
+    psaddr_t *address)
 {
 	const td_thragent_t *ta = th->th_ta;
 	return (ta->ta_ops->to_thr_tls_get_addr(th, linkmap, offset, address));

==== //depot/projects/mpsafetty/lib/libthread_db/thread_db.h#2 (text+ko) ====

@@ -24,7 +24,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/lib/libthread_db/thread_db.h,v 1.6 2005/05/31 09:43:03 dfr Exp $
+ * $FreeBSD: src/lib/libthread_db/thread_db.h,v 1.7 2008/07/30 00:59:19 marcel Exp $
  */
 
 #ifndef _THREAD_DB_H_
@@ -239,7 +239,8 @@
 td_err_e td_thr_setfpregs(const td_thrhandle_t *, const prfpregset_t *);
 td_err_e td_thr_setgregs(const td_thrhandle_t *, const prgregset_t);
 td_err_e td_thr_validate(const td_thrhandle_t *);
-td_err_e td_thr_tls_get_addr(const td_thrhandle_t *, void *, size_t, void **);
+td_err_e td_thr_tls_get_addr(const td_thrhandle_t *, psaddr_t, size_t,
+    psaddr_t *);
 
 /* FreeBSD specific extensions. */
 td_err_e td_thr_sstep(const td_thrhandle_t *, int);

==== //depot/projects/mpsafetty/lib/libthread_db/thread_db_int.h#2 (text+ko) ====

@@ -23,7 +23,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/lib/libthread_db/thread_db_int.h,v 1.3 2005/05/31 09:43:03 dfr Exp $
+ * $FreeBSD: src/lib/libthread_db/thread_db_int.h,v 1.4 2008/07/30 00:59:19 marcel Exp $
  */
 
 #ifndef _THREAD_DB_INT_H_
@@ -74,8 +74,8 @@
 	    const prfpregset_t *);
 	td_err_e (*to_thr_setgregs)(const td_thrhandle_t *, const prgregset_t);
 	td_err_e (*to_thr_validate)(const td_thrhandle_t *);
-	td_err_e (*to_thr_tls_get_addr)(const td_thrhandle_t *,
-                   void *, size_t, void **);
+	td_err_e (*to_thr_tls_get_addr)(const td_thrhandle_t *, psaddr_t,
+	    size_t, psaddr_t *);
 
 	/* FreeBSD specific extensions. */
 	td_err_e (*to_thr_sstep)(const td_thrhandle_t *, int);

==== //depot/projects/mpsafetty/sbin/ifconfig/ifconfig.8#2 (text+ko) ====

@@ -26,9 +26,9 @@
 .\" SUCH DAMAGE.
 .\"
 .\"     From: @(#)ifconfig.8	8.3 (Berkeley) 1/5/94
-.\" $FreeBSD: src/sbin/ifconfig/ifconfig.8,v 1.148 2008/06/20 17:26:34 thompsa Exp $
+.\" $FreeBSD: src/sbin/ifconfig/ifconfig.8,v 1.149 2008/07/30 16:22:52 sam Exp $
 .\"
-.Dd June 20, 2008
+.Dd July 30, 2008
 .Dt IFCONFIG 8
 .Os
 .Sh NAME
@@ -848,13 +848,11 @@
 depends on the region your adaptor was manufactured for.
 Setting
 the channel to
-.Li 0 ,
-.Cm any ,
+.Li any ,
 or
 .Cm -
-will give you the default for your adaptor.
-Some
-adapters ignore this setting unless you are in ad-hoc mode.
+will clear any desired channel and, if the device is marked up,
+force a scan for a channel to operate on.
 Alternatively the frequency, in megahertz, may be specified
 instead of the channel number.
 .Pp

==== //depot/projects/mpsafetty/sbin/routed/defs.h#2 (text+ko) ====

@@ -28,11 +28,11 @@
  *
  *	@(#)defs.h	8.1 (Berkeley) 6/5/93
  *
- * $FreeBSD: src/sbin/routed/defs.h,v 1.18 2004/06/16 05:08:57 bms Exp $
+ * $FreeBSD: src/sbin/routed/defs.h,v 1.19 2008/07/30 11:56:15 phk Exp $
  */
 
 #ifdef  sgi
-#ident "$FreeBSD: src/sbin/routed/defs.h,v 1.18 2004/06/16 05:08:57 bms Exp $"
+#ident "$FreeBSD: src/sbin/routed/defs.h,v 1.19 2008/07/30 11:56:15 phk Exp $"
 #endif
 
 /* Definitions for RIPv2 routing process.
@@ -121,21 +121,6 @@
 #define _HAVE_SIN_LEN
 #endif
 
-/* Turn on if IP_{ADD,DROP}_MEMBERSHIP and IP_MULTICAST_IF considers address
- * within 0.0.0.0/8 as interface index.
- */
-#ifdef __FreeBSD__
-#define MCAST_IFINDEX
-#endif
-
-/* Turn on if IP_DROP_MEMBERSHIP and IP_ADD_MEMBERSHIP do not look at
- * the dstaddr of point-to-point interfaces.
- * #define MCAST_PPP_BUG
- */
-#ifdef MCAST_IFINDEX
-#undef MCAST_PPP_BUG
-#endif
-
 #define DAY (24*60*60)
 #define NEVER DAY			/* a long time */
 #define EPOCH NEVER			/* bias time by this to avoid <0 */

==== //depot/projects/mpsafetty/sbin/routed/if.c#2 (text+ko) ====

@@ -26,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sbin/routed/if.c,v 1.16 2005/12/20 18:18:37 maxim Exp $
+ * $FreeBSD: src/sbin/routed/if.c,v 1.17 2008/07/30 11:56:15 phk Exp $
  */
 
 #include "defs.h"
@@ -35,7 +35,7 @@
 #ifdef __NetBSD__
 __RCSID("$NetBSD$");
 #elif defined(__FreeBSD__)
-__RCSID("$FreeBSD: src/sbin/routed/if.c,v 1.16 2005/12/20 18:18:37 maxim Exp $");
+__RCSID("$FreeBSD: src/sbin/routed/if.c,v 1.17 2008/07/30 11:56:15 phk Exp $");
 #else
 __RCSID("$Revision: 2.27 $");
 #ident "$Revision: 2.27 $"
@@ -452,7 +452,6 @@
 static void
 ifdel(struct interface *ifp)
 {
-	struct ip_mreq m;
 	struct interface *ifp1;
 
 
@@ -491,25 +490,23 @@
 				ifdel(ifp1);
 		}
 
-		if ((ifp->int_if_flags & IFF_MULTICAST)
-#ifdef MCAST_PPP_BUG
-		    && !(ifp->int_if_flags & IFF_POINTOPOINT)
+		if ((ifp->int_if_flags & IFF_MULTICAST) && rip_sock >= 0) {
+			struct group_req gr;
+			struct sockaddr_in *sin;
+
+			memset(&gr, 0, sizeof(gr));
+			gr.gr_interface = ifp->int_index;
+			sin = (struct sockaddr_in *)&gr.gr_group;
+			sin->sin_family = AF_INET;
+#ifdef _HAVE_SIN_LEN
+			sin->sin_len = sizeof(struct sockaddr_in);
 #endif
-		    && rip_sock >= 0) {
-			m.imr_multiaddr.s_addr = htonl(INADDR_RIP_GROUP);
-#ifdef MCAST_IFINDEX
-			m.imr_interface.s_addr = htonl(ifp->int_index);
-#else
-			m.imr_interface.s_addr = ((ifp->int_if_flags
-						   & IFF_POINTOPOINT)
-						  ? ifp->int_dstaddr
-						  : ifp->int_addr);
-#endif
-			if (setsockopt(rip_sock,IPPROTO_IP,IP_DROP_MEMBERSHIP,
-				       &m, sizeof(m)) < 0
+			sin->sin_addr.s_addr = htonl(INADDR_RIP_GROUP);
+			if (setsockopt(rip_sock, IPPROTO_IP, MCAST_LEAVE_GROUP,
+				       &gr, sizeof(gr)) < 0
 			    && errno != EADDRNOTAVAIL
 			    && !TRACEACTIONS)
-				LOGERR("setsockopt(IP_DROP_MEMBERSHIP RIP)");
+				LOGERR("setsockopt(MCAST_LEAVE_GROUP RIP)");
 			if (rip_sock_mcast == ifp)
 				rip_sock_mcast = 0;
 		}

==== //depot/projects/mpsafetty/sbin/routed/main.c#2 (text+ko) ====

@@ -26,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sbin/routed/main.c,v 1.19 2006/11/05 14:49:47 trhodes Exp $
+ * $FreeBSD: src/sbin/routed/main.c,v 1.20 2008/07/30 11:56:15 phk Exp $
  */
 
 #include "defs.h"
@@ -45,7 +45,7 @@
 __RCSID("$NetBSD$");
 #include <util.h>
 #elif defined(__FreeBSD__)
-__RCSID("$FreeBSD: src/sbin/routed/main.c,v 1.19 2006/11/05 14:49:47 trhodes Exp $");
+__RCSID("$FreeBSD: src/sbin/routed/main.c,v 1.20 2008/07/30 11:56:15 phk Exp $");
 #else
 __RCSID("$Revision: 2.31 $");
 #ident "$Revision: 2.31 $"
@@ -713,25 +713,23 @@
 static void
 rip_mcast_on(struct interface *ifp)
 {
-	struct ip_mreq m;
+	struct group_req gr;
+	struct sockaddr_in *sin;
 
 	if (!IS_RIP_IN_OFF(ifp->int_state)
 	    && (ifp->int_if_flags & IFF_MULTICAST)
-#ifdef MCAST_PPP_BUG
-	    && !(ifp->int_if_flags & IFF_POINTOPOINT)
-#endif
 	    && !(ifp->int_state & IS_ALIAS)) {
-		m.imr_multiaddr.s_addr = htonl(INADDR_RIP_GROUP);
-#ifdef MCAST_IFINDEX
-		m.imr_interface.s_addr = htonl(ifp->int_index);
-#else
-		m.imr_interface.s_addr = ((ifp->int_if_flags & IFF_POINTOPOINT)
-					  ? ifp->int_dstaddr
-					  : ifp->int_addr);
+		memset(&gr, 0, sizeof(gr));
+		gr.gr_interface = ifp->int_index;
+		sin = (struct sockaddr_in *)&gr.gr_group;
+		sin->sin_family = AF_INET;
+#ifdef _HAVE_SIN_LEN
+		sin->sin_len = sizeof(struct sockaddr_in);
 #endif
-		if (setsockopt(rip_sock,IPPROTO_IP, IP_ADD_MEMBERSHIP,
-			       &m, sizeof(m)) < 0)
-			LOGERR("setsockopt(IP_ADD_MEMBERSHIP RIP)");
+		sin->sin_addr.s_addr = htonl(INADDR_RIP_GROUP);
+		if (setsockopt(rip_sock, IPPROTO_IP, MCAST_JOIN_GROUP,
+			       &gr, sizeof(gr)) < 0)
+			LOGERR("setsockopt(MCAST_JOIN_GROUP RIP)");
 	}
 }
 

==== //depot/projects/mpsafetty/sbin/routed/output.c#2 (text+ko) ====

@@ -26,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sbin/routed/output.c,v 1.12 2005/05/31 20:28:48 stefanf Exp $
+ * $FreeBSD: src/sbin/routed/output.c,v 1.13 2008/07/30 11:56:15 phk Exp $
  */
 
 #include "defs.h"
@@ -34,7 +34,7 @@
 #ifdef __NetBSD__
 __RCSID("$NetBSD$");
 #elif defined(__FreeBSD__)
-__RCSID("$FreeBSD: src/sbin/routed/output.c,v 1.12 2005/05/31 20:28:48 stefanf Exp $");
+__RCSID("$FreeBSD: src/sbin/routed/output.c,v 1.13 2008/07/30 11:56:15 phk Exp $");
 #else
 __RCSID("$Revision: 2.27 $");
 #ident "$Revision: 2.27 $"
@@ -104,7 +104,6 @@
 	int flags;
 	const char *msg;
 	int res;
-	naddr tgt_mcast;
 	int soc;
 	int serrno;
 
@@ -150,31 +149,17 @@
 		} else {
 			msg = "Send mcast";
 			if (rip_sock_mcast != ifp) {
-#ifdef MCAST_IFINDEX
-				/* specify ifindex */
-				tgt_mcast = htonl(ifp->int_index);
-#else
-#ifdef MCAST_PPP_BUG
-				/* Do not specify the primary interface
-				 * explicitly if we have the multicast
-				 * point-to-point kernel bug, since the
-				 * kernel will do the wrong thing if the
-				 * local address of a point-to-point link
-				 * is the same as the address of an ordinary
-				 * interface.
-				 */
-				if (ifp->int_addr == myaddr) {
-					tgt_mcast = 0;
-				} else
-#endif
-				tgt_mcast = ifp->int_addr;
-#endif
+				struct ip_mreqn mreqn;
+
+				memset(&mreqn, 0, sizeof(struct ip_mreqn));
+				mreqn.imr_ifindex = ifp->int_index;
 				if (0 > setsockopt(rip_sock,
-						   IPPROTO_IP, IP_MULTICAST_IF,
-						   &tgt_mcast,
-						   sizeof(tgt_mcast))) {
+						   IPPROTO_IP,
+						   IP_MULTICAST_IF,
+						   &mreqn,
+						   sizeof(mreqn))) {
 					serrno = errno;
-					LOGERR("setsockopt(rip_sock,"
+					LOGERR("setsockopt(rip_sock, "
 					       "IP_MULTICAST_IF)");
 					errno = serrno;
 					ifp = 0;

==== //depot/projects/mpsafetty/sbin/routed/rdisc.c#2 (text+ko) ====

@@ -26,7 +26,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sbin/routed/rdisc.c,v 1.11 2005/05/31 20:28:49 stefanf Exp $
+ * $FreeBSD: src/sbin/routed/rdisc.c,v 1.12 2008/07/30 11:56:15 phk Exp $
  */
 
 #include "defs.h"
@@ -37,7 +37,7 @@
 #ifdef __NetBSD__
 __RCSID("$NetBSD$");
 #elif defined(__FreeBSD__)
-__RCSID("$FreeBSD: src/sbin/routed/rdisc.c,v 1.11 2005/05/31 20:28:49 stefanf Exp $");
+__RCSID("$FreeBSD: src/sbin/routed/rdisc.c,v 1.12 2008/07/30 11:56:15 phk Exp $");
 #else
 __RCSID("$Revision: 2.27 $");
 #ident "$Revision: 2.27 $"
@@ -168,7 +168,8 @@
 set_rdisc_mg(struct interface *ifp,
 	     int on)			/* 0=turn it off */
 {
-	struct ip_mreq m;
+	struct group_req gr;
+	struct sockaddr_in *sin;
 
 	if (rdisc_sock < 0) {
 		/* Create the raw socket so that we can hear at least
@@ -185,39 +186,35 @@
 		return;
 	}
 
-#ifdef MCAST_PPP_BUG
-	if (ifp->int_if_flags & IFF_POINTOPOINT)
-		return;
+	memset(&gr, 0, sizeof(gr));
+	gr.gr_interface = ifp->int_index;
+	sin = (struct sockaddr_in *)&gr.gr_group;
+	sin->sin_family = AF_INET;
+#ifdef _HAVE_SIN_LEN
+	sin->sin_len = sizeof(struct sockaddr_in);
 #endif
-	memset(&m, 0, sizeof(m));
-#ifdef MCAST_IFINDEX
-	m.imr_interface.s_addr = htonl(ifp->int_index);
-#else
-	m.imr_interface.s_addr = ((ifp->int_if_flags & IFF_POINTOPOINT)
-				  ? ifp->int_dstaddr
-				  : ifp->int_addr);
-#endif
+
 	if (supplier
 	    || (ifp->int_state & IS_NO_ADV_IN)
 	    || !on) {
 		/* stop listening to advertisements
 		 */
 		if (ifp->int_state & IS_ALL_HOSTS) {
-			m.imr_multiaddr.s_addr = htonl(INADDR_ALLHOSTS_GROUP);
+			sin->sin_addr.s_addr = htonl(INADDR_ALLHOSTS_GROUP);
 			if (setsockopt(rdisc_sock, IPPROTO_IP,
-				       IP_DROP_MEMBERSHIP,
-				       &m, sizeof(m)) < 0)
-				LOGERR("IP_DROP_MEMBERSHIP ALLHOSTS");
+				       MCAST_LEAVE_GROUP,
+				       &gr, sizeof(gr)) < 0)
+				LOGERR("MCAST_LEAVE_GROUP ALLHOSTS");
 			ifp->int_state &= ~IS_ALL_HOSTS;
 		}
 
 	} else if (!(ifp->int_state & IS_ALL_HOSTS)) {
 		/* start listening to advertisements
 		 */
-		m.imr_multiaddr.s_addr = htonl(INADDR_ALLHOSTS_GROUP);
-		if (setsockopt(rdisc_sock, IPPROTO_IP, IP_ADD_MEMBERSHIP,
-			       &m, sizeof(m)) < 0) {
-			LOGERR("IP_ADD_MEMBERSHIP ALLHOSTS");
+		sin->sin_addr.s_addr = htonl(INADDR_ALLHOSTS_GROUP);
+		if (setsockopt(rdisc_sock, IPPROTO_IP, MCAST_JOIN_GROUP,
+			       &gr, sizeof(gr)) < 0) {
+			LOGERR("MCAST_JOIN_GROUP ALLHOSTS");
 		} else {
 			ifp->int_state |= IS_ALL_HOSTS;
 		}
@@ -229,21 +226,21 @@
 		/* stop listening to solicitations
 		 */
 		if (ifp->int_state & IS_ALL_ROUTERS) {
-			m.imr_multiaddr.s_addr=htonl(INADDR_ALLROUTERS_GROUP);
+			sin->sin_addr.s_addr = htonl(INADDR_ALLROUTERS_GROUP);
 			if (setsockopt(rdisc_sock, IPPROTO_IP,
-				       IP_DROP_MEMBERSHIP,
-				       &m, sizeof(m)) < 0)
-				LOGERR("IP_DROP_MEMBERSHIP ALLROUTERS");
+				       MCAST_LEAVE_GROUP,
+				       &gr, sizeof(gr)) < 0)
+				LOGERR("MCAST_LEAVE_GROUP ALLROUTERS");
 			ifp->int_state &= ~IS_ALL_ROUTERS;
 		}
 
 	} else if (!(ifp->int_state & IS_ALL_ROUTERS)) {
 		/* start hearing solicitations
 		 */
-		m.imr_multiaddr.s_addr=htonl(INADDR_ALLROUTERS_GROUP);
-		if (setsockopt(rdisc_sock, IPPROTO_IP, IP_ADD_MEMBERSHIP,
-			       &m, sizeof(m)) < 0) {
-			LOGERR("IP_ADD_MEMBERSHIP ALLROUTERS");
+		sin->sin_addr.s_addr = htonl(INADDR_ALLROUTERS_GROUP);
+		if (setsockopt(rdisc_sock, IPPROTO_IP, MCAST_JOIN_GROUP,
+			       &gr, sizeof(gr)) < 0) {
+			LOGERR("MCAST_JOIN_GROUP ALLROUTERS");
 		} else {
 			ifp->int_state |= IS_ALL_ROUTERS;
 		}
@@ -699,7 +696,6 @@
 	struct sockaddr_in rsin;
 	int flags;
 	const char *msg;
-	naddr tgt_mcast;
 
 
 	memset(&rsin, 0, sizeof(rsin));
@@ -736,27 +732,14 @@
 		}
 		if (rdisc_sock_mcast != ifp) {
 			/* select the right interface. */
-#ifdef MCAST_IFINDEX
-			/* specify ifindex */
-			tgt_mcast = htonl(ifp->int_index);
-#else
-#ifdef MCAST_PPP_BUG
-			/* Do not specify the primary interface explicitly
-			 * if we have the multicast point-to-point kernel
-			 * bug, since the kernel will do the wrong thing
-			 * if the local address of a point-to-point link
-			 * is the same as the address of an ordinary
-			 * interface.
-			 */
-			if (ifp->int_addr == myaddr) {
-				tgt_mcast = 0;
-			} else
-#endif
-			tgt_mcast = ifp->int_addr;
-#endif
+			struct ip_mreqn mreqn;
+
+			memset(&mreqn, 0, sizeof(struct ip_mreqn));
+			mreqn.imr_ifindex = ifp->int_index;
 			if (0 > setsockopt(rdisc_sock,
 					   IPPROTO_IP, IP_MULTICAST_IF,
-					   &tgt_mcast, sizeof(tgt_mcast))) {
+					   &mreqn,
+					   sizeof(mreqn))) {
 				LOGERR("setsockopt(rdisc_sock,"
 				       "IP_MULTICAST_IF)");
 				rdisc_sock_mcast = 0;

==== //depot/projects/mpsafetty/share/colldef/no_NO.ISO8859-1.src#2 (text+ko) ====

@@ -2,7 +2,7 @@
 #
 # (Based on the Swedish sv_SE.ISO_8859-1)
 #
-# $FreeBSD: src/share/colldef/no_NO.ISO8859-1.src,v 1.1 2008/07/28 21:33:34 des Exp $
+# $FreeBSD: src/share/colldef/no_NO.ISO8859-1.src,v 1.2 2008/07/30 15:37:13 des Exp $
 #
 charmap map.ISO8859-1
 order \
@@ -21,9 +21,10 @@
 	B;(C,<C,>);(D,<D->);(E,<E'>,<E!>,<E/>>,<E:>);\
 	F;G;H;(I,<I'>,<I!>,<I/>>,<I:>);\
 	J;...;M;(N,<N?>);(O,<O'>,<O!>,<O?>,<O/>>);\
-	P;...;T;(U,<U'>,<U!>,<U/>>,<U:>);\
-	V;W;X;(Y,<Y'>);Z;(<AE>,<A:>);(<O//>,<O:>);<AA>;\
+	P;...;T;(U,<U'>,<U!>,<U/>>);\
+	V;W;X;(Y,<Y'>,<U:>);Z;\
 	<TH>;\
+	(<AE>,<A:>);(<O//>,<O:>);<AA>;\
 #
 	[;\\;];^;<':>;_;<'m>;<''>;`;\
 # small
@@ -31,9 +32,10 @@
 	b;(c,<c,>);(d,<d->);(e,<e'>,<e!>,<e/>>,<e:>);\
 	f;g;h;(i,<i'>,<i!>,<i/>>,<i:>);\
 	j;...;m;(n,<n?>);(o,<o'>,<o!>,<o?>,<o/>>);\
-	p;...;t;(u,<u'>,<u!>,<u/>>,<u:>);\
-	v;w;x;(y,<y'>,<y:>);z;(<ae>,<a:>);(<o//>,<o:>);<aa>;\
+	p;...;t;(u,<u'>,<u!>,<u/>>);\
+	v;w;x;(y,<y'>,<y:>,<u:>);z;\
 	<th>;\
+	(<ae>,<a:>);(<o//>,<o:>);<aa>;\
 #
 	\{;<NO>;|;<BB>;\};~;<.M>;<DG>;<My>;<DT>;\
 # remains

==== //depot/projects/mpsafetty/share/colldef/no_NO.ISO8859-15.src#2 (text+ko) ====

@@ -2,7 +2,7 @@
 #
 # (Based on the Swedish sv_SE.ISO_8859-15)
 #
-# $FreeBSD: src/share/colldef/no_NO.ISO8859-15.src,v 1.1 2008/07/28 21:33:34 des Exp $
+# $FreeBSD: src/share/colldef/no_NO.ISO8859-15.src,v 1.2 2008/07/30 15:37:13 des Exp $
 #
 charmap map.ISO8859-15
 order \
@@ -21,9 +21,10 @@
 	B;(C,<C,>);(D,<D->);(E,<E'>,<E!>,<E/>>,<E:>);\
 	F;G;H;(I,<I'>,<I!>,<I/>>,<I:>);\
 	J;...;M;(N,<N?>);(O,<O'>,<O!>,<O?>,<O/>>,<OE>);\
-	P;Q;R;(S,<S<>);T;(U,<U'>,<U!>,<U/>>,<U:>);\
-	V;W;X;(Y,<Y'>,<Y:>);(Z,<Z<>);(<AE>,<A:>);(<O//>,<O:>);<AA>;\
+	P;Q;R;(S,<S<>);T;(U,<U'>,<U!>,<U/>>);\
+	V;W;X;(Y,<Y'>,<Y:>,<U:>);(Z,<Z<>);\
 	<TH>;\
+	(<AE>,<A:>);(<O//>,<O:>);<AA>;\
 #
 	[;\\;];^;_;<'m>;`;\
 # small
@@ -31,9 +32,10 @@
 	b;(c,<c,>);(d,<d->);(e,<e'>,<e!>,<e/>>,<e:>);\
 	f;g;h;(i,<i'>,<i!>,<i/>>,<i:>);\
 	j;...;m;(n,<n?>);(o,<o'>,<o!>,<o?>,<o/>>,<oe>);\
-	p;q;r;(s,<s<>,<ss>);t;(u,<u'>,<u!>,<u/>>,<u:>);\
-	v;w;x;(y,<y'>,<y:>);(z,<z<>);(<ae>,<a:>);(<o//>,<o:>);<aa>;\
+	p;q;r;(s,<s<>,<ss>);t;(u,<u'>,<u!>,<u/>>);\
+	v;w;x;(y,<y'>,<y:>,<u:>);(z,<z<>);\
 	<th>;\
+	(<ae>,<a:>);(<o//>,<o:>);<aa>;\
 #
 	\{;<NO>;|;\};~;<.M>;<DG>;<My>;<DT>;\
 # remains

==== //depot/projects/mpsafetty/share/misc/committers-ports.dot#3 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/share/misc/committers-ports.dot,v 1.72 2008/07/23 01:37:04 pgollucci Exp $
+# $FreeBSD: src/share/misc/committers-ports.dot,v 1.73 2008/07/30 01:05:13 rnoland Exp $
 
 # This file is meant to list all FreeBSD ports committers and describe the
 # mentor-mentee relationships between them.
@@ -127,6 +127,7 @@
 philip [label="Philip Paeps\nphilip@FreeBSD.org\n2005/10/19"]
 pgollucci [label="Philip M. Gollucci\npgollucci@FreeBSD.org\n2008/07/21"]
 rafan [label="Rong-En Fan\nrafan@FreeBSD.org\n2006/06/23"]
+rnoland [label="Robert Noland\nrnoland@FreeBSD.org\n2008/07/21"]
 sat [label="Andrew Pantyukhin\nsat@FreeBSD.org\n2006/05/06"]
 sem [label="Sergey Matveychuk\nsem@FreeBSD.org\n2004/07/07"]
 sergei [label="Sergei Kolobov\nsergei@FreeBSD.org\n2003/10/21"]
@@ -211,6 +212,7 @@
 garga -> acm
 garga -> alepulver
 garga -> mm
+garga -> rnoland
 garga -> vd
 garga -> wxs
 garga -> xride

==== //depot/projects/mpsafetty/sys/amd64/amd64/cpu_switch.S#2 (text+ko) ====

@@ -30,7 +30,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.161 2008/03/23 23:09:06 peter Exp $
+ * $FreeBSD: src/sys/amd64/amd64/cpu_switch.S,v 1.162 2008/07/30 11:30:55 kib Exp $
  */
 
 #include <machine/asmacros.h>
@@ -113,8 +113,8 @@
 	movq	PCB_GSBASE(%r8),%r10
 
 	testl	$PCB_32BIT,PCB_FLAGS(%r8)
-	jnz	store_gs			/* static predict not taken */
-done_store_gs:
+	jnz	store_seg
+done_store_seg:
 
 	testl	$PCB_DBREGS,PCB_FLAGS(%r8)
 	jnz	store_dr			/* static predict not taken */
@@ -176,6 +176,10 @@
 	testl	$TDP_KTHREAD,TD_PFLAGS(%rsi)
 	jnz	do_kthread
 
+	testl	$PCB_32BIT,PCB_FLAGS(%r8)
+	jnz	load_seg
+done_load_seg:
+
 	cmpq	PCB_FSBASE(%r8),%r9
 	jz	1f
 	/* Restore userland %fs */
@@ -184,7 +188,6 @@
 	movl	PCB_FSBASE+4(%r8),%edx
 	wrmsr
 1:
-
 	cmpq	PCB_GSBASE(%r8),%r10
 	jz	2f
 	/* Restore userland %gs */
@@ -193,8 +196,8 @@
 	movl	PCB_GSBASE+4(%r8),%edx
 	wrmsr
 2:
+
 do_tss:
-
 	/* Update the TSS_RSP0 pointer for the next interrupt */
 	movq	PCPU(TSSP), %rax
 	movq	%r8, PCPU(RSP0)
@@ -208,10 +211,6 @@
 	jnz	load_dr				/* static predict not taken */
 done_load_dr:
 
-	testl	$PCB_32BIT,PCB_FLAGS(%r8)
-	jnz	load_gs				/* static predict not taken */
-done_load_gs:
-
 	/* Restore context. */
 	movq	PCB_R15(%r8),%r15
 	movq	PCB_R14(%r8),%r14
@@ -243,23 +242,35 @@
 	movq	%r10,PCB_GSBASE(%r8)
 	jmp	do_tss
 
-store_gs:
+store_seg:
 	movl	%gs,PCB_GS(%r8)
-	movq	PCB_GS32P(%r8),%rax
+	testl	$PCB_GS32BIT,PCB_FLAGS(%r8)
+	jnz	2f
+1:	movl	%ds,PCB_DS(%r8)
+	movl	%es,PCB_ES(%r8)
+	movl	%fs,PCB_FS(%r8)
+	jmp	done_store_seg
+2:	movq	PCB_GS32P(%r8),%rax
 	movq	(%rax),%rax
 	movq	%rax,PCB_GS32SD(%r8)
-	jmp	done_store_gs
+	jmp	1b
 
-load_gs:
+load_seg:
+	testl	$PCB_GS32BIT,PCB_FLAGS(%r8)
+	jnz	2f
+1:	movl	$MSR_GSBASE,%ecx
+	rdmsr
+	movl	PCB_GS(%r8),%gs
+	wrmsr
+	movl	PCB_DS(%r8),%ds
+	movl	PCB_ES(%r8),%es
+	movl	PCB_FS(%r8),%fs
+	jmp	done_load_seg
 	/* Restore userland %gs while preserving kernel gsbase */
-	movq	PCB_GS32P(%r8),%rax
+2:	movq	PCB_GS32P(%r8),%rax
 	movq	PCB_GS32SD(%r8),%rcx
 	movq	%rcx,(%rax)
-	movl	$MSR_GSBASE,%ecx
-	rdmsr
-	movl	PCB_GS(%r8),%gs
-	wrmsr
-	jmp	done_load_gs
+	jmp	1b
 
 store_dr:
 	movq	%dr7,%rax			/* yes, do the save */

==== //depot/projects/mpsafetty/sys/amd64/amd64/genassym.c#2 (text+ko) ====

@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.168 2008/05/16 13:23:47 attilio Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/genassym.c,v 1.169 2008/07/30 11:30:55 kib Exp $");
 
 #include "opt_compat.h"
 #include "opt_kstack_pages.h"
@@ -140,6 +140,7 @@
 ASSYM(PCB_DR7, offsetof(struct pcb, pcb_dr7));
 ASSYM(PCB_DBREGS, PCB_DBREGS);

>>> TRUNCATED FOR MAIL (1000 lines) <<<



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200807301902.m6UJ2oWl008009>