From owner-svn-src-stable-7@FreeBSD.ORG Mon Apr 23 03:42:24 2012 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2CFEC1065670; Mon, 23 Apr 2012 03:42:24 +0000 (UTC) (envelope-from yongari@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0FFDD8FC1E; Mon, 23 Apr 2012 03:42:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3N3gN2W073233; Mon, 23 Apr 2012 03:42:23 GMT (envelope-from yongari@svn.freebsd.org) Received: (from yongari@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3N3gNE2073230; Mon, 23 Apr 2012 03:42:23 GMT (envelope-from yongari@svn.freebsd.org) Message-Id: <201204230342.q3N3gNE2073230@svn.freebsd.org> From: Pyun YongHyeon Date: Mon, 23 Apr 2012 03:42:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234595 - stable/7/sys/dev/bce X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Apr 2012 03:42:24 -0000 Author: yongari Date: Mon Apr 23 03:42:23 2012 New Revision: 234595 URL: http://svn.freebsd.org/changeset/base/234595 Log: MFC r234121: Back out r228476. r228476 fixed superfluous link UP/DOWN messages but broke IPMI access during boot. It's not clear why r228476 breaks IPMI and should be revisited. Reported by: Paul Guyot ieee dot org > Modified: stable/7/sys/dev/bce/if_bce.c stable/7/sys/dev/bce/if_bcereg.h Directory Properties: stable/7/sys/ (props changed) stable/7/sys/cddl/contrib/opensolaris/ (props changed) stable/7/sys/contrib/dev/acpica/ (props changed) stable/7/sys/contrib/pf/ (props changed) Modified: stable/7/sys/dev/bce/if_bce.c ============================================================================== --- stable/7/sys/dev/bce/if_bce.c Mon Apr 23 03:40:39 2012 (r234594) +++ stable/7/sys/dev/bce/if_bce.c Mon Apr 23 03:42:23 2012 (r234595) @@ -1986,7 +1986,6 @@ static void bce_miibus_statchg(device_t dev) { struct bce_softc *sc; - struct ifnet *ifp; struct mii_data *mii; int val; @@ -1994,57 +1993,42 @@ bce_miibus_statchg(device_t dev) DBENTER(BCE_VERBOSE_PHY); - ifp = sc->bce_ifp; mii = device_get_softc(sc->bce_miibus); - if (mii == NULL || ifp == NULL || - (ifp->if_drv_flags & IFF_DRV_RUNNING) == 0) - return; - sc->bce_link_up = FALSE; val = REG_RD(sc, BCE_EMAC_MODE); val &= ~(BCE_EMAC_MODE_PORT | BCE_EMAC_MODE_HALF_DUPLEX | BCE_EMAC_MODE_MAC_LOOP | BCE_EMAC_MODE_FORCE_LINK | BCE_EMAC_MODE_25G); /* Set MII or GMII interface based on the PHY speed. */ - if ((mii->mii_media_status & (IFM_ACTIVE | IFM_AVALID)) == - (IFM_ACTIVE | IFM_AVALID)) { - switch (IFM_SUBTYPE(mii->mii_media_active)) { - case IFM_10_T: - if (BCE_CHIP_NUM(sc) != BCE_CHIP_NUM_5706) { - DBPRINT(sc, BCE_INFO_PHY, - "Enabling 10Mb interface.\n"); - val |= BCE_EMAC_MODE_PORT_MII_10; - sc->bce_link_up = TRUE; - break; - } - /* FALLTHROUGH */ - case IFM_100_TX: - DBPRINT(sc, BCE_INFO_PHY, "Enabling MII interface.\n"); - val |= BCE_EMAC_MODE_PORT_MII; - sc->bce_link_up = TRUE; - break; - case IFM_2500_SX: - DBPRINT(sc, BCE_INFO_PHY, "Enabling 2.5G MAC mode.\n"); - val |= BCE_EMAC_MODE_25G; - /* FALLTHROUGH */ - case IFM_1000_T: - case IFM_1000_SX: - DBPRINT(sc, BCE_INFO_PHY, "Enabling GMII interface.\n"); - val |= BCE_EMAC_MODE_PORT_GMII; - sc->bce_link_up = TRUE; - if (bce_verbose || bootverbose) - BCE_PRINTF("Gigabit link up!\n"); - break; - default: - DBPRINT(sc, BCE_INFO_PHY, "Unknown link speed.\n"); + switch (IFM_SUBTYPE(mii->mii_media_active)) { + case IFM_10_T: + if (BCE_CHIP_NUM(sc) != BCE_CHIP_NUM_5706) { + DBPRINT(sc, BCE_INFO_PHY, + "Enabling 10Mb interface.\n"); + val |= BCE_EMAC_MODE_PORT_MII_10; break; } + /* fall-through */ + case IFM_100_TX: + DBPRINT(sc, BCE_INFO_PHY, "Enabling MII interface.\n"); + val |= BCE_EMAC_MODE_PORT_MII; + break; + case IFM_2500_SX: + DBPRINT(sc, BCE_INFO_PHY, "Enabling 2.5G MAC mode.\n"); + val |= BCE_EMAC_MODE_25G; + /* fall-through */ + case IFM_1000_T: + case IFM_1000_SX: + DBPRINT(sc, BCE_INFO_PHY, "Enabling GMII interface.\n"); + val |= BCE_EMAC_MODE_PORT_GMII; + break; + default: + DBPRINT(sc, BCE_INFO_PHY, "Unknown link speed, enabling " + "default GMII interface.\n"); + val |= BCE_EMAC_MODE_PORT_GMII; } - if (sc->bce_link_up == FALSE) - return; - /* Set half or full duplex based on PHY settings. */ if ((mii->mii_media_active & IFM_GMASK) == IFM_HDX) { DBPRINT(sc, BCE_INFO_PHY, @@ -2056,7 +2040,7 @@ bce_miibus_statchg(device_t dev) REG_WR(sc, BCE_EMAC_MODE, val); - if ((mii->mii_media_active & IFM_ETH_RXPAUSE) != 0) { + if ((mii->mii_media_active & IFM_ETH_RXPAUSE) != 0) { DBPRINT(sc, BCE_INFO_PHY, "%s(): Enabling RX flow control.\n", __FUNCTION__); BCE_SETBIT(sc, BCE_EMAC_RX_MODE, BCE_EMAC_RX_MODE_FLOW_EN); @@ -2066,7 +2050,7 @@ bce_miibus_statchg(device_t dev) BCE_CLRBIT(sc, BCE_EMAC_RX_MODE, BCE_EMAC_RX_MODE_FLOW_EN); } - if ((mii->mii_media_active & IFM_ETH_TXPAUSE) != 0) { + if ((mii->mii_media_active & IFM_ETH_TXPAUSE) != 0) { DBPRINT(sc, BCE_INFO_PHY, "%s(): Enabling TX flow control.\n", __FUNCTION__); BCE_SETBIT(sc, BCE_EMAC_TX_MODE, BCE_EMAC_TX_MODE_FLOW_EN); @@ -6226,11 +6210,15 @@ bce_phy_intr(struct bce_softc *sc) DBPRINT(sc, BCE_INFO_PHY, "%s(): Link is now DOWN.\n", __FUNCTION__); } + /* - * Link state changed, allow tick routine to update - * the state baased on actual media state. + * Assume link is down and allow + * tick routine to update the state + * based on the actual media state. */ - sc->bce_link_tick = TRUE; + sc->bce_link_up = FALSE; + callout_stop(&sc->bce_tick_callout); + bce_tick(sc); } /* Acknowledge the link change interrupt. */ @@ -6914,13 +6902,12 @@ bce_init_locked(struct bce_softc *sc) /* Enable host interrupts. */ bce_enable_intr(sc, 1); + bce_ifmedia_upd_locked(ifp); + /* Let the OS know the driver is up and running. */ ifp->if_drv_flags |= IFF_DRV_RUNNING; ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; - sc->bce_link_tick = TRUE; - bce_ifmedia_upd_locked(ifp); - callout_reset(&sc->bce_tick_callout, hz, bce_tick, sc); bce_init_locked_exit: @@ -8216,19 +8203,31 @@ bce_tick(void *xsc) bce_watchdog(sc); /* If link is up already up then we're done. */ - if (sc->bce_link_tick == FALSE && sc->bce_link_up == TRUE) + if (sc->bce_link_up == TRUE) goto bce_tick_exit; /* Link is down. Check what the PHY's doing. */ mii = device_get_softc(sc->bce_miibus); mii_tick(mii); - sc->bce_link_tick = FALSE; - /* Now that link is up, handle any outstanding TX traffic. */ - if (sc->bce_link_up == TRUE && !IFQ_DRV_IS_EMPTY(&ifp->if_snd)) { + /* Check if the link has come up. */ + if ((mii->mii_media_status & IFM_ACTIVE) && + (IFM_SUBTYPE(mii->mii_media_active) != IFM_NONE)) { DBPRINT(sc, BCE_VERBOSE_MISC, - "%s(): Found pending TX traffic.\n", __FUNCTION__); - bce_start_locked(ifp); + "%s(): Link up!\n", __FUNCTION__); + sc->bce_link_up = TRUE; + if ((IFM_SUBTYPE(mii->mii_media_active) == IFM_1000_T || + IFM_SUBTYPE(mii->mii_media_active) == IFM_1000_SX || + IFM_SUBTYPE(mii->mii_media_active) == IFM_2500_SX) && + (bce_verbose || bootverbose)) + BCE_PRINTF("Gigabit link up!\n"); + + /* Now that link is up, handle any outstanding TX traffic. */ + if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) { + DBPRINT(sc, BCE_VERBOSE_MISC, "%s(): Found " + "pending TX traffic.\n", __FUNCTION__); + bce_start_locked(ifp); + } } bce_tick_exit: Modified: stable/7/sys/dev/bce/if_bcereg.h ============================================================================== --- stable/7/sys/dev/bce/if_bcereg.h Mon Apr 23 03:40:39 2012 (r234594) +++ stable/7/sys/dev/bce/if_bcereg.h Mon Apr 23 03:42:23 2012 (r234595) @@ -6557,7 +6557,6 @@ struct bce_softc u16 pg_prod; u16 pg_cons; - int bce_link_tick; int bce_link_up; struct callout bce_tick_callout; struct callout bce_pulse_callout; From owner-svn-src-stable-7@FreeBSD.ORG Tue Apr 24 03:30:27 2012 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5A1D91065675; Tue, 24 Apr 2012 03:30:27 +0000 (UTC) (envelope-from bjk@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4543A8FC0C; Tue, 24 Apr 2012 03:30:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3O3URov028309; Tue, 24 Apr 2012 03:30:27 GMT (envelope-from bjk@svn.freebsd.org) Received: (from bjk@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3O3UROH028307; Tue, 24 Apr 2012 03:30:27 GMT (envelope-from bjk@svn.freebsd.org) Message-Id: <201204240330.q3O3UROH028307@svn.freebsd.org> From: Benjamin Kaduk Date: Tue, 24 Apr 2012 03:30:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234630 - stable/7/lib/libc/sys X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Apr 2012 03:30:27 -0000 Author: bjk (doc committer) Date: Tue Apr 24 03:30:26 2012 New Revision: 234630 URL: http://svn.freebsd.org/changeset/base/234630 Log: MFC r233160: Expound a bit more about the system maximum number of FIBs, how it may be set, and current limitations on the value. PR: docs/157453 Approved by: hrs (mentor) Modified: stable/7/lib/libc/sys/setfib.2 Directory Properties: stable/7/lib/libc/ (props changed) Modified: stable/7/lib/libc/sys/setfib.2 ============================================================================== --- stable/7/lib/libc/sys/setfib.2 Tue Apr 24 03:29:10 2012 (r234629) +++ stable/7/lib/libc/sys/setfib.2 Tue Apr 24 03:30:26 2012 (r234630) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 9, 2008 +.Dd March 19, 2012 .Dt SETFIB 2 .Os .Sh NAME @@ -44,10 +44,28 @@ subsequent to the call, to be that of th The .Fa fib argument -may be between 0 and the current system maximum which +must be greater than or equal to 0 +and less than the current system maximum which may be retrieved by the .Em net.fibs sysctl. +The system maximum is set in the kernel configuration file with +.Pp +.Dl options ROUTETABLES= Ns Em N +.Pp +or in +.Pa /boot/loader.conf +with +.Pp +.Dl net.fibs= Ns Qq Em N +.Pp +where +.Em N +is an integer. +However, this maximum is capped at 16 due to the implementation storing +the fib number in a 4-bit field in +.Xr mbuf 9 +flags. The default fib of the process will be applied to all protocol families that support multiple fibs, and ignored by those that do not. The default fib for a process may be overidden for a socket with the use From owner-svn-src-stable-7@FreeBSD.ORG Tue Apr 24 03:59:14 2012 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1A9AE1065673; Tue, 24 Apr 2012 03:59:14 +0000 (UTC) (envelope-from das@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 059858FC1A; Tue, 24 Apr 2012 03:59:14 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3O3xDe6029351; Tue, 24 Apr 2012 03:59:13 GMT (envelope-from das@svn.freebsd.org) Received: (from das@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3O3xDg4029349; Tue, 24 Apr 2012 03:59:13 GMT (envelope-from das@svn.freebsd.org) Message-Id: <201204240359.q3O3xDg4029349@svn.freebsd.org> From: David Schultz Date: Tue, 24 Apr 2012 03:59:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234633 - stable/7/lib/libc/stdio X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Apr 2012 03:59:14 -0000 Author: das Date: Tue Apr 24 03:59:13 2012 New Revision: 234633 URL: http://svn.freebsd.org/changeset/base/234633 Log: MFC r234529: Ensure that the {,v}swprintf functions always null-terminate the output string, even if an encoding error or malloc failure occurs. Modified: stable/7/lib/libc/stdio/vswprintf.c Directory Properties: stable/7/lib/libc/ (props changed) Modified: stable/7/lib/libc/stdio/vswprintf.c ============================================================================== --- stable/7/lib/libc/stdio/vswprintf.c Tue Apr 24 03:56:45 2012 (r234632) +++ stable/7/lib/libc/stdio/vswprintf.c Tue Apr 24 03:59:13 2012 (r234633) @@ -61,6 +61,7 @@ vswprintf(wchar_t * __restrict s, size_t f._bf._base = f._p = (unsigned char *)malloc(128); if (f._bf._base == NULL) { errno = ENOMEM; + *s = L'\0'; return (-1); } f._bf._size = f._w = 127; /* Leave room for the NUL */ @@ -71,6 +72,7 @@ vswprintf(wchar_t * __restrict s, size_t sverrno = errno; free(f._bf._base); errno = sverrno; + *s = L'\0'; return (-1); } *f._p = '\0'; @@ -84,6 +86,7 @@ vswprintf(wchar_t * __restrict s, size_t free(f._bf._base); if (nwc == (size_t)-1) { errno = EILSEQ; + *s = L'\0'; return (-1); } if (nwc == n) { From owner-svn-src-stable-7@FreeBSD.ORG Wed Apr 25 12:02:07 2012 Return-Path: Delivered-To: svn-src-stable-7@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6494B1065674; Wed, 25 Apr 2012 12:02:07 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 4F3E48FC25; Wed, 25 Apr 2012 12:02:07 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3PC27Pt097589; Wed, 25 Apr 2012 12:02:07 GMT (envelope-from ae@svn.freebsd.org) Received: (from ae@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3PC27qc097587; Wed, 25 Apr 2012 12:02:07 GMT (envelope-from ae@svn.freebsd.org) Message-Id: <201204251202.q3PC27qc097587@svn.freebsd.org> From: "Andrey V. Elsukov" Date: Wed, 25 Apr 2012 12:02:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org X-SVN-Group: stable-7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234683 - stable/7/sys/netgraph X-BeenThere: svn-src-stable-7@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for only the 7-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Apr 2012 12:02:07 -0000 Author: ae Date: Wed Apr 25 12:02:06 2012 New Revision: 234683 URL: http://svn.freebsd.org/changeset/base/234683 Log: MFC r234574 (by melifaro): Fix panic in ng_patch(4) caused by checksum flags being added to mbuf flags. Tested by: Maxim Ignatenko Modified: stable/7/sys/netgraph/ng_patch.c Directory Properties: stable/7/sys/ (props changed) Modified: stable/7/sys/netgraph/ng_patch.c ============================================================================== --- stable/7/sys/netgraph/ng_patch.c Wed Apr 25 09:56:35 2012 (r234682) +++ stable/7/sys/netgraph/ng_patch.c Wed Apr 25 12:02:06 2012 (r234683) @@ -517,7 +517,7 @@ ng_patch_rcvdata(hook_p hook, item_p ite return (ENOMEM); } do_patch(priv, m); - m->m_flags |= priv->config->csum_flags; + m->m_pkthdr.csum_flags |= priv->config->csum_flags; } target = NULL;