[Zrouter-src-freebsd] ZRouter.org: push to FreeBSD HEAD tree

zrouter-src-freebsd at zrouter.org zrouter-src-freebsd at zrouter.org
Wed Jul 25 14:44:04 UTC 2012


details:   http://zrouter.org/hg/FreeBSD/head//rev/13d7a51a1a78
changeset: 518:13d7a51a1a78
user:      Aleksandr Rybalko <ray at ddteam.net>
date:      Wed Jul 25 17:45:31 2012 +0300
description:
FreeBSD HEAD @svn 238772r.

diffstat:

 head/sys/dev/e1000/if_lem.c      |   3 ++-
 head/sys/dev/usb/serial/uplcom.c |   3 ++-
 head/sys/dev/usb/usbdevs         |   3 ++-
 head/sys/netinet/ip_carp.c       |  26 +++++++++++++++++---------
 4 files changed, 23 insertions(+), 12 deletions(-)

diffs (109 lines):

diff -r 97fc4cc0d663 -r 13d7a51a1a78 head/sys/dev/e1000/if_lem.c
--- a/head/sys/dev/e1000/if_lem.c	Wed Jul 25 17:32:49 2012 +0300
+++ b/head/sys/dev/e1000/if_lem.c	Wed Jul 25 17:45:31 2012 +0300
@@ -30,7 +30,7 @@
   POSSIBILITY OF SUCH DAMAGE.
 
 ******************************************************************************/
-/*$FreeBSD: head/sys/dev/e1000/if_lem.c 232238 2012-02-27 19:05:01Z luigi $*/
+/*$FreeBSD: head/sys/dev/e1000/if_lem.c 238770 2012-07-25 12:51:33Z luigi $*/
 
 #ifdef HAVE_KERNEL_OPTION_HEADERS
 #include "opt_device_polling.h"
@@ -239,6 +239,7 @@
 static int	lem_enable_phy_wakeup(struct adapter *);
 static void	lem_led_func(void *, int);
 
+#define EM_LEGACY_IRQ	/* slightly faster, at least in qemu */
 #ifdef EM_LEGACY_IRQ
 static void	lem_intr(void *);
 #else /* FAST IRQ */
diff -r 97fc4cc0d663 -r 13d7a51a1a78 head/sys/dev/usb/serial/uplcom.c
--- a/head/sys/dev/usb/serial/uplcom.c	Wed Jul 25 17:32:49 2012 +0300
+++ b/head/sys/dev/usb/serial/uplcom.c	Wed Jul 25 17:45:31 2012 +0300
@@ -1,7 +1,7 @@
 /*	$NetBSD: uplcom.c,v 1.21 2001/11/13 06:24:56 lukem Exp $	*/
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: head/sys/dev/usb/serial/uplcom.c 233774 2012-04-02 10:50:42Z hselasky $");
+__FBSDID("$FreeBSD: head/sys/dev/usb/serial/uplcom.c 238766 2012-07-25 11:33:43Z gavin $");
 
 /*-
  * Copyright (c) 2001-2003, 2005 Shunsuke Akiyama <akiyama at jp.FreeBSD.org>.
@@ -279,6 +279,7 @@
 	UPLCOM_DEV(PROLIFIC, DCU11),		/* DCU-11 Phone Cable */
 	UPLCOM_DEV(PROLIFIC, HCR331),		/* HCR331 Card Reader */
 	UPLCOM_DEV(PROLIFIC, MICROMAX_610U),	/* Micromax 610U modem */
+	UPLCOM_DEV(PROLIFIC, MOTOROLA),		/* Motorola cable */
 	UPLCOM_DEV(PROLIFIC, PHAROS),		/* Prolific Pharos */
 	UPLCOM_DEV(PROLIFIC, PL2303),		/* Generic adapter */
 	UPLCOM_DEV(PROLIFIC, RSAQ2),		/* I/O DATA USB-RSAQ2 */
diff -r 97fc4cc0d663 -r 13d7a51a1a78 head/sys/dev/usb/usbdevs
--- a/head/sys/dev/usb/usbdevs	Wed Jul 25 17:32:49 2012 +0300
+++ b/head/sys/dev/usb/usbdevs	Wed Jul 25 17:45:31 2012 +0300
@@ -1,4 +1,4 @@
-$FreeBSD: head/sys/dev/usb/usbdevs 238717 2012-07-23 14:22:45Z rea $
+$FreeBSD: head/sys/dev/usb/usbdevs 238766 2012-07-25 11:33:43Z gavin $
 /* $NetBSD: usbdevs,v 1.392 2004/12/29 08:38:44 imp Exp $ */
 
 /*-
@@ -2669,6 +2669,7 @@
 /* Prolific products */
 product PROLIFIC PL2301		0x0000	PL2301 Host-Host interface
 product PROLIFIC PL2302		0x0001	PL2302 Host-Host interface
+product PROLIFIC MOTOROLA	0x0307	Motorola Cable
 product PROLIFIC RSAQ2		0x04bb	PL2303 Serial (IODATA USB-RSAQ2)
 product PROLIFIC ALLTRONIX_GPRS	0x0609	Alltronix ACM003U00 modem
 product PROLIFIC ALDIGA_AL11U	0x0611	AlDiga AL-11U modem
diff -r 97fc4cc0d663 -r 13d7a51a1a78 head/sys/netinet/ip_carp.c
--- a/head/sys/netinet/ip_carp.c	Wed Jul 25 17:32:49 2012 +0300
+++ b/head/sys/netinet/ip_carp.c	Wed Jul 25 17:45:31 2012 +0300
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: head/sys/netinet/ip_carp.c 236310 2012-05-30 13:51:00Z glebius $");
+__FBSDID("$FreeBSD: head/sys/netinet/ip_carp.c 238769 2012-07-25 12:14:39Z bz $");
 
 #include "opt_bpf.h"
 #include "opt_inet.h"
@@ -1027,23 +1027,31 @@
 	}
 }
 
+/*
+ * Returns ifa in case it's a carp address and it is MASTER, or if the address
+ * matches and is not a carp address.  Returns NULL otherwise.
+ */
 struct ifaddr *
 carp_iamatch6(struct ifnet *ifp, struct in6_addr *taddr)
 {
 	struct ifaddr *ifa;
 
+	ifa = NULL;
 	IF_ADDR_RLOCK(ifp);
-	IFNET_FOREACH_IFA(ifp, ifa)
-		if (ifa->ifa_addr->sa_family == AF_INET6 &&
-		    ifa->ifa_carp->sc_state == MASTER &&
-		    IN6_ARE_ADDR_EQUAL(taddr, IFA_IN6(ifa))) {
+	TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) {
+		if (ifa->ifa_addr->sa_family != AF_INET6)
+			continue;
+		if (!IN6_ARE_ADDR_EQUAL(taddr, IFA_IN6(ifa)))
+			continue;
+		if (ifa->ifa_carp && ifa->ifa_carp->sc_state != MASTER)
+			ifa = NULL;
+		else
 			ifa_ref(ifa);
-			IF_ADDR_RUNLOCK(ifp);
-			return (ifa);
-		}
+		break;
+	}
 	IF_ADDR_RUNLOCK(ifp);
 
-	return (NULL);
+	return (ifa);
 }
 
 caddr_t


More information about the Zrouter-src-freebsd mailing list