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>