Am Sonntag, 25. November 2012 schrieb Brad Smith :

> On Fri, Nov 23, 2012 at 11:57:50AM -0200, Gleydson Soares wrote:
> > set ifp->if_baudrate with IF_Gbps() / IF_Mbps().
> >
> > OK ?
>
> Although it has already been commited its the wrong direction to go in.
> These should be removed as the MII framework deals with this properly,
> plus you missed a bunch of drivers.
>
>
Did you read my last reply about it? This is wrong. You cannot just remove
if_baudrate because it is used in some places in the kernel (lacp, bridge)
and userland as ifi_baudrate (pfctl's altq auto-bandwidth, snmpd). Simply
removing it will break existing setups. We had the same problem and reason
for if_linkstate: you cannot simply switch it to the MII framework as it is
neither easy nor safe to read it from interrupt context. if_baudrate has to
be fixed and unified, but it is not as easy as you think. I think it should
reflect the current link bandwidth, just like if_linkstate does for the
link state.

Reyk


>
> Index: arch/octeon/dev/cn30xxgmx.c
> ===================================================================
> RCS file: /home/cvs/src/sys/arch/octeon/dev/cn30xxgmx.c,v
> retrieving revision 1.3
> diff -u -p -r1.3 cn30xxgmx.c
> --- arch/octeon/dev/cn30xxgmx.c 3 Jul 2011 20:31:39 -0000       1.3
>                 baudrate = IF_Mbps(100);
>                 break;
>         case RXN_RX_INBND_SPEED_125:
> -               baudrate = IF_Mbps(1000);
> +               baudrate = IF_Gbps(1);
>                 break;
>         default:
>                 baudrate = 0/* XXX */;
> Index: arch/socppc/dev/if_tsec.c
> ===================================================================
> RCS file: /home/cvs/src/sys/arch/socppc/dev/if_tsec.c,v
> retrieving revision 1.28
> diff -u -p -r1.28 if_tsec.c
> --- arch/socppc/dev/if_tsec.c   21 Dec 2009 19:58:57 -0000      1.28
> +++ arch/socppc/dev/if_tsec.c   23 Nov 2012 22:49:19 -0000
> @@ -413,7 +413,6 @@ tsec_attach(struct device *parent, struc
>         ifp->if_ioctl = tsec_ioctl;
>         ifp->if_start = tsec_start;
>         ifp->if_watchdog = tsec_watchdog;
> -       ifp->if_baudrate = IF_Gbps(1);
>         IFQ_SET_MAXLEN(&ifp->if_snd, TSEC_NTXDESC - 1);
>         IFQ_SET_READY(&ifp->if_snd);
>         bcopy(sc->sc_dev.dv_xname, ifp->if_xname, IFNAMSIZ);
> Index: dev/ic/dc.c
> ===================================================================
> RCS file: /home/cvs/src/sys/dev/ic/dc.c,v
> retrieving revision 1.124
> diff -u -p -r1.124 dc.c
> --- dev/ic/dc.c 7 Jul 2011 20:42:56 -0000       1.124
> +++ dev/ic/dc.c 23 Nov 2012 22:33:36 -0000
> @@ -1731,7 +1731,6 @@ hasmac:
>         ifp->if_ioctl = dc_ioctl;
>         ifp->if_start = dc_start;
>         ifp->if_watchdog = dc_watchdog;
> -       ifp->if_baudrate = 10000000;
>         IFQ_SET_MAXLEN(&ifp->if_snd, DC_TX_LIST_CNT - 1);
>         IFQ_SET_READY(&ifp->if_snd);
>         bcopy(sc->sc_dev.dv_xname, ifp->if_xname, IFNAMSIZ);
> Index: dev/ic/mtd8xx.c
> ===================================================================
> RCS file: /home/cvs/src/sys/dev/ic/mtd8xx.c,v
> retrieving revision 1.18
> diff -u -p -r1.18 mtd8xx.c
> --- dev/ic/mtd8xx.c     21 Jun 2011 16:52:45 -0000      1.18
> +++ dev/ic/mtd8xx.c     23 Nov 2012 22:33:45 -0000
> @@ -163,7 +163,6 @@ mtd_attach(struct mtd_softc *sc)
>         ifp->if_ioctl = mtd_ioctl;
>         ifp->if_start = mtd_start;
>         ifp->if_watchdog = mtd_watchdog;
> -       ifp->if_baudrate = 10000000;
>         IFQ_SET_READY(&ifp->if_snd);
>         bcopy(sc->sc_dev.dv_xname, ifp->if_xname, IFNAMSIZ);
>
> Index: dev/ic/rtl81x9.c
> ===================================================================
> RCS file: /home/cvs/src/sys/dev/ic/rtl81x9.c,v
> retrieving revision 1.75
> diff -u -p -r1.75 rtl81x9.c
> --- dev/ic/rtl81x9.c    21 Jun 2011 16:52:45 -0000      1.75
> +++ dev/ic/rtl81x9.c    23 Nov 2012 22:33:25 -0000
> @@ -1213,7 +1213,6 @@ rl_attach(struct rl_softc *sc)
>         ifp->if_ioctl = rl_ioctl;
>         ifp->if_start = rl_start;
>         ifp->if_watchdog = rl_watchdog;
> -       ifp->if_baudrate = 10000000;
>         IFQ_SET_READY(&ifp->if_snd);
>
>         bcopy(sc->sc_dev.dv_xname, ifp->if_xname, IFNAMSIZ);
> Index: dev/pci/if_age.c
> ===================================================================
> RCS file: /home/cvs/src/sys/dev/pci/if_age.c,v
> retrieving revision 1.19
> diff -u -p -r1.19 if_age.c
> --- dev/pci/if_age.c    19 Oct 2011 05:23:44 -0000      1.19
> +++ dev/pci/if_age.c    23 Nov 2012 22:10:10 -0000
> @@ -231,7 +231,6 @@ age_attach(struct device *parent, struct
>         ifp->if_ioctl = age_ioctl;
>         ifp->if_start = age_start;
>         ifp->if_watchdog = age_watchdog;
> -       ifp->if_baudrate = IF_Gbps(1);
>         IFQ_SET_MAXLEN(&ifp->if_snd, AGE_TX_RING_CNT - 1);
>         IFQ_SET_READY(&ifp->if_snd);
>         bcopy(sc->age_eaddr, sc->sc_arpcom.ac_enaddr, ETHER_ADDR_LEN);
> Index: dev/pci/if_alc.c
> ===================================================================
> RCS file: /home/cvs/src/sys/dev/pci/if_alc.c,v
> retrieving revision 1.21
> diff -u -p -r1.21 if_alc.c
> --- dev/pci/if_alc.c    19 Oct 2011 05:23:44 -0000      1.21
> +++ dev/pci/if_alc.c    23 Nov 2012 22:10:16 -0000
> @@ -847,7 +847,6 @@ alc_attach(struct device *parent, struct
>         ifp->if_ioctl = alc_ioctl;
>         ifp->if_start = alc_start;
>         ifp->if_watchdog = alc_watchdog;
> -       ifp->if_baudrate = IF_Gbps(1);
>         IFQ_SET_MAXLEN(&ifp->if_snd, ALC_TX_RING_CNT - 1);
>         IFQ_SET_READY(&ifp->if_snd);
>         bcopy(sc->alc_eaddr, sc->sc_arpcom.ac_enaddr, ETHER_ADDR_LEN);
> Index: dev/pci/if_ale.c
> ===================================================================
> RCS file: /home/cvs/src/sys/dev/pci/if_ale.c,v
> retrieving revision 1.24
> diff -u -p -r1.24 if_ale.c
> --- dev/pci/if_ale.c    26 Sep 2012 19:24:06 -0000      1.24
> +++ dev/pci/if_ale.c    23 Nov 2012 22:10:23 -0000
> @@ -509,7 +509,6 @@ ale_attach(struct device *parent, struct
>         ifp->if_ioctl = ale_ioctl;
>         ifp->if_start = ale_start;
>         ifp->if_watchdog = ale_watchdog;
> -       ifp->if_baudrate = IF_Gbps(1);
>         IFQ_SET_MAXLEN(&ifp->if_snd, ALE_TX_RING_CNT - 1);
>         IFQ_SET_READY(&ifp->if_snd);
>         bcopy(sc->ale_eaddr, sc->sc_arpcom.ac_enaddr, ETHER_ADDR_LEN);
> Index: dev/pci/if_em.c
> ===================================================================
> RCS file: /home/cvs/src/sys/dev/pci/if_em.c,v
> retrieving revision 1.267
> diff -u -p -r1.267 if_em.c
> --- dev/pci/if_em.c     16 Aug 2012 09:31:53 -0000      1.267
> +++ dev/pci/if_em.c     23 Nov 2012 22:23:28 -0000
> @@ -1485,7 +1485,7 @@ em_update_link_status(struct em_softc *s
>                         }
>                         sc->link_active = 1;
>                         sc->smartspeed = 0;
> -                       ifp->if_baudrate = sc->link_speed * 1000000;
> +                       ifp->if_baudrate = IF_Mbps(sc->link_speed);
>                 }
>                 if (!LINK_STATE_IS_UP(ifp->if_link_state)) {
>                         if (sc->link_duplex == FULL_DUPLEX)
> Index: dev/pci/if_ix.c
> ===================================================================
> RCS file: /home/cvs/src/sys/dev/pci/if_ix.c,v
> retrieving revision 1.75
> diff -u -p -r1.75 if_ix.c
> --- dev/pci/if_ix.c     23 Nov 2012 04:34:11 -0000      1.75
> +++ dev/pci/if_ix.c     25 Nov 2012 03:10:56 -0000
> @@ -1598,7 +1598,6 @@ ixgbe_setup_interface(struct ix_softc *s
>         INIT_DEBUGOUT("ixgbe_setup_interface: begin");
>
>         strlcpy(ifp->if_xname, sc->dev.dv_xname, IFNAMSIZ);
> -       ifp->if_baudrate = IF_Gbps(10);
>         ifp->if_softc = sc;
>         ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST;
>         ifp->if_ioctl = ixgbe_ioctl;
> Index: dev/pci/if_jme.c
> ===================================================================
> RCS file: /home/cvs/src/sys/dev/pci/if_jme.c,v
> retrieving revision 1.28
> diff -u -p -r1.28 if_jme.c
> --- dev/pci/if_jme.c    22 Oct 2012 09:19:17 -0000      1.28
> +++ dev/pci/if_jme.c    23 Nov 2012 22:16:16 -0000
> @@ -609,7 +609,6 @@ jme_attach(struct device *parent, struct
>         ifp->if_ioctl = jme_ioctl;
>         ifp->if_start = jme_start;
>         ifp->if_watchdog = jme_watchdog;
> -       ifp->if_baudrate = IF_Gbps(1);
>         IFQ_SET_MAXLEN(&ifp->if_snd, JME_TX_RING_CNT - 1);
>         IFQ_SET_READY(&ifp->if_snd);
>         strlcpy(ifp->if_xname, sc->sc_dev.dv_xname, IFNAMSIZ);
> Index: dev/pci/if_lge.c
> ===================================================================
> RCS file: /home/cvs/src/sys/dev/pci/if_lge.c,v
> retrieving revision 1.56
> diff -u -p -r1.56 if_lge.c
> --- dev/pci/if_lge.c    18 Oct 2012 21:44:21 -0000      1.56
> +++ dev/pci/if_lge.c    23 Nov 2012 22:29:14 -0000
> @@ -518,7 +518,6 @@ lge_attach(struct device *parent, struct
>         ifp->if_ioctl = lge_ioctl;
>         ifp->if_start = lge_start;
>         ifp->if_watchdog = lge_watchdog;
> -       ifp->if_baudrate = 1000000000;
>         ifp->if_hardmtu = LGE_JUMBO_MTU;
>         IFQ_SET_MAXLEN(&ifp->if_snd, LGE_TX_LIST_CNT - 1);
>         IFQ_SET_READY(&ifp->if_snd);
> Index: dev/pci/if_msk.c
> ===================================================================
> RCS file: /home/cvs/src/sys/dev/pci/if_msk.c,v
> retrieving revision 1.95
> diff -u -p -r1.95 if_msk.c
> --- dev/pci/if_msk.c    18 Oct 2012 21:44:21 -0000      1.95
> +++ dev/pci/if_msk.c    23 Nov 2012 22:16:01 -0000
> @@ -970,7 +970,6 @@ msk_attach(struct device *parent, struct
>         ifp->if_ioctl = msk_ioctl;
>         ifp->if_start = msk_start;
>         ifp->if_watchdog = msk_watchdog;
> -       ifp->if_baudrate = 1000000000;
>         if (sc->sk_type != SK_YUKON_FE &&
>             sc->sk_type != SK_YUKON_FE_P)
>                 ifp->if_hardmtu = SK_JUMBO_MTU;
> Index: dev/pci/if_myx.c
> ===================================================================
> RCS file: /home/cvs/src/sys/dev/pci/if_myx.c,v
> retrieving revision 1.30
> diff -u -p -r1.30 if_myx.c
> --- dev/pci/if_myx.c    28 Nov 2011 10:25:22 -0000      1.30
> +++ dev/pci/if_myx.c    23 Nov 2012 22:31:36 -0000
> @@ -466,7 +466,6 @@ myx_attachhook(void *arg)
>         ifp->if_capabilities |= IFCAP_CSUM_IPv4 | IFCAP_CSUM_TCPv4 |
>             IFCAP_CSUM_UDPv4;
>  #endif
> -       ifp->if_baudrate = 0;
>
>         ifmedia_init(&sc->sc_media, 0, myx_media_change, myx_media_status);
>         ifmedia_add(&sc->sc_media, IFM_ETHER | IFM_AUTO, 0, NULL);
> Index: dev/pci/if_nfe.c
> ===================================================================
> RCS file: /home/cvs/src/sys/dev/pci/if_nfe.c,v
> retrieving revision 1.99
> diff -u -p -r1.99 if_nfe.c
> --- dev/pci/if_nfe.c    31 Aug 2012 12:41:17 -0000      1.99
> +++ dev/pci/if_nfe.c    23 Nov 2012 22:29:32 -0000
> @@ -344,7 +344,6 @@ nfe_attach(struct device *parent, struct
>         ifp->if_ioctl = nfe_ioctl;
>         ifp->if_start = nfe_start;
>         ifp->if_watchdog = nfe_watchdog;
> -       ifp->if_baudrate = IF_Gbps(1);
>         IFQ_SET_MAXLEN(&ifp->if_snd, NFE_IFQ_MAXLEN);
>         IFQ_SET_READY(&ifp->if_snd);
>         strlcpy(ifp->if_xname, sc->sc_dev.dv_xname, IFNAMSIZ);
> Index: dev/pci/if_nge.c
> ===================================================================
> RCS file: /home/cvs/src/sys/dev/pci/if_nge.c,v
> retrieving revision 1.72
> diff -u -p -r1.72 if_nge.c
> --- dev/pci/if_nge.c    18 Oct 2012 21:44:21 -0000      1.72
> +++ dev/pci/if_nge.c    23 Nov 2012 22:29:23 -0000
> @@ -848,7 +848,6 @@ nge_attach(parent, self, aux)
>         ifp->if_ioctl = nge_ioctl;
>         ifp->if_start = nge_start;
>         ifp->if_watchdog = nge_watchdog;
> -       ifp->if_baudrate = 1000000000;
>         ifp->if_hardmtu = NGE_JUMBO_MTU;
>         IFQ_SET_MAXLEN(&ifp->if_snd, NGE_TX_LIST_CNT - 1);
>         IFQ_SET_READY(&ifp->if_snd);
> Index: dev/pci/if_sis.c
> ===================================================================
> RCS file: /home/cvs/src/sys/dev/pci/if_sis.c,v
> retrieving revision 1.106
> diff -u -p -r1.106 if_sis.c
> --- dev/pci/if_sis.c    18 Oct 2012 21:44:21 -0000      1.106
> +++ dev/pci/if_sis.c    23 Nov 2012 22:29:41 -0000
> @@ -1090,7 +1090,6 @@ sis_attach(struct device *parent, struct
>         ifp->if_ioctl = sis_ioctl;
>         ifp->if_start = sis_start;
>         ifp->if_watchdog = sis_watchdog;
> -       ifp->if_baudrate = 10000000;
>         IFQ_SET_MAXLEN(&ifp->if_snd, SIS_TX_LIST_CNT - 1);
>         IFQ_SET_READY(&ifp->if_snd);
>         bcopy(sc->sc_dev.dv_xname, ifp->if_xname, IFNAMSIZ);
> Index: dev/pci/if_sk.c
> ===================================================================
> RCS file: /home/cvs/src/sys/dev/pci/if_sk.c,v
> retrieving revision 1.162
> diff -u -p -r1.162 if_sk.c
> --- dev/pci/if_sk.c     18 Oct 2012 21:44:21 -0000      1.162
> +++ dev/pci/if_sk.c     23 Nov 2012 22:17:10 -0000
> @@ -1167,7 +1167,6 @@ sk_attach(struct device *parent, struct
>         ifp->if_ioctl = sk_ioctl;
>         ifp->if_start = sk_start;
>         ifp->if_watchdog = sk_watchdog;
> -       ifp->if_baudrate = 1000000000;
>         ifp->if_hardmtu = SK_JUMBO_MTU;
>         IFQ_SET_MAXLEN(&ifp->if_snd, SK_TX_RING_CNT - 1);
>         IFQ_SET_READY(&ifp->if_snd);
> Index: dev/pci/if_ste.c
> ===================================================================
> RCS file: /home/cvs/src/sys/dev/pci/if_ste.c,v
> retrieving revision 1.49
> diff -u -p -r1.49 if_ste.c
> --- dev/pci/if_ste.c    23 Nov 2012 18:40:29 -0000      1.49
> +++ dev/pci/if_ste.c    23 Nov 2012 22:32:14 -0000
> @@ -931,7 +931,6 @@ ste_attach(struct device *parent, struct
>         ifp->if_ioctl = ste_ioctl;
>         ifp->if_start = ste_start;
>         ifp->if_watchdog = ste_watchdog;
> -       ifp->if_baudrate = IF_Mbps(10);
>         IFQ_SET_MAXLEN(&ifp->if_snd, STE_TX_LIST_CNT - 1);
>         IFQ_SET_READY(&ifp->if_snd);
>         bcopy(sc->sc_dev.dv_xname, ifp->if_xname, IFNAMSIZ);
> Index: dev/pci/if_tl.c
> ===================================================================
> RCS file: /home/cvs/src/sys/dev/pci/if_tl.c,v
> retrieving revision 1.52
> diff -u -p -r1.52 if_tl.c
> --- dev/pci/if_tl.c     23 Nov 2012 18:40:30 -0000      1.52
> +++ dev/pci/if_tl.c     23 Nov 2012 22:32:37 -0000
> @@ -2125,7 +2125,6 @@ tl_attach(parent, self, aux)
>         ifp->if_ioctl = tl_ioctl;
>         ifp->if_start = tl_start;
>         ifp->if_watchdog = tl_watchdog;
> -       ifp->if_baudrate = IF_Mbps(10);
>         IFQ_SET_MAXLEN(&ifp->if_snd, TL_TX_LIST_CNT - 1);
>         IFQ_SET_READY(&ifp->if_snd);
>         bcopy(sc->sc_dev.dv_xname, ifp->if_xname, IFNAMSIZ);
> Index: dev/pci/if_vge.c
> ===================================================================
> RCS file: /home/cvs/src/sys/dev/pci/if_vge.c,v
> retrieving revision 1.52
> diff -u -p -r1.52 if_vge.c
> --- dev/pci/if_vge.c    23 Nov 2012 18:40:30 -0000      1.52
> +++ dev/pci/if_vge.c    23 Nov 2012 22:17:02 -0000
> @@ -787,7 +787,6 @@ vge_attach(struct device *parent, struct
>         ifp->if_ioctl = vg-     Index: dev/pci

Reply via email to