Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Jan 2017 14:38:27 -0800
From:      Hiren Panchasara <hiren@freebsd.org>
To:        Alan Somers <asomers@freebsd.org>, lakshmi.n@msystechnologies.com, rpokala@FreeBSD.org, smh@FreeBSD.org
Cc:        "src-committers@freebsd.org" <src-committers@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>
Subject:   Re: svn commit: r286700 - in head: sbin/ifconfig sys/net
Message-ID:  <20170118223827.GJ86256@strugglingcoder.info>
In-Reply-To: <CAOtMX2jwU-mVT-6F7=y5aS8i=VBjya%2BU_9r5r%2BJ=tLK4Z518VA@mail.gmail.com>
References:  <201508122021.t7CKL5wk016750@repo.freebsd.org> <CAOtMX2jwU-mVT-6F7=y5aS8i=VBjya%2BU_9r5r%2BJ=tLK4Z518VA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--EVh9lyqKgK19OcEf
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Adding the submitter and other reviewers for their comments.

On 01/18/17 at 03:03P, Alan Somers wrote:
> Is the change to lacp_port_create correct?  The comment indicates that
> fast is configurable, but it's actually constant.  Later on, there's
> some dead code that depends on the value of fast (it was dead before
> this commit, too).
>=20
> CID: 1305734
> CID: 1305692
>=20
> -Alan
>=20
> On Wed, Aug 12, 2015 at 2:21 PM, Hiren Panchasara <hiren@freebsd.org> wro=
te:
> > Author: hiren
> > Date: Wed Aug 12 20:21:04 2015
> > New Revision: 286700
> > URL: https://svnweb.freebsd.org/changeset/base/286700
> >
> > Log:
> >   Make LAG LACP fast timeout tunable through IOCTL.
> >
> >   Differential Revision:        D3300
> >   Submitted by:         LN Sundararajan <lakshmi.n at msystechnologies>
> >   Reviewed by:          wblock, smh, gnn, hiren, rpokala at panasas
> >   MFC after:            2 weeks
> >   Sponsored by:         Panasas
> >
> > Modified:
> >   head/sbin/ifconfig/ifconfig.8
> >   head/sbin/ifconfig/iflagg.c
> >   head/sys/net/ieee8023ad_lacp.c
> >   head/sys/net/ieee8023ad_lacp.h
> >   head/sys/net/if_lagg.c
> >   head/sys/net/if_lagg.h
> >
> > Modified: head/sbin/ifconfig/ifconfig.8
> > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D
> > --- head/sbin/ifconfig/ifconfig.8       Wed Aug 12 20:16:13 2015       =
 (r286699)
> > +++ head/sbin/ifconfig/ifconfig.8       Wed Aug 12 20:21:04 2015       =
 (r286700)
> > @@ -28,7 +28,7 @@
> >  .\"     From: @(#)ifconfig.8   8.3 (Berkeley) 1/5/94
> >  .\" $FreeBSD$
> >  .\"
> > -.Dd May 15, 2015
> > +.Dd Aug 12, 2015
> >  .Dt IFCONFIG 8
> >  .Os
> >  .Sh NAME
> > @@ -2396,6 +2396,10 @@ Disable local hash computation for RSS h
> >  Set a shift parameter for RSS local hash computation.
> >  Hash is calculated by using flowid bits in a packet header mbuf
> >  which are shifted by the number of this parameter.
> > +.It Cm lacp_fast_timeout
> > +Enable lacp fast-timeout on the interface.
> > +.It Cm -lacp_fast_timeout
> > +Disable lacp fast-timeout on the interface.
> >  .El
> >  .Pp
> >  The following parameters are specific to IP tunnel interfaces,
> >
> > Modified: head/sbin/ifconfig/iflagg.c
> > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D
> > --- head/sbin/ifconfig/iflagg.c Wed Aug 12 20:16:13 2015        (r28669=
9)
> > +++ head/sbin/ifconfig/iflagg.c Wed Aug 12 20:21:04 2015        (r28670=
0)
> > @@ -115,6 +115,8 @@ setlaggsetopt(const char *val, int d, in
> >         case -LAGG_OPT_LACP_TXTEST:
> >         case LAGG_OPT_LACP_RXTEST:
> >         case -LAGG_OPT_LACP_RXTEST:
> > +       case LAGG_OPT_LACP_TIMEOUT:
> > +       case -LAGG_OPT_LACP_TIMEOUT:
> >                 break;
> >         default:
> >                 err(1, "Invalid lagg option");
> > @@ -293,6 +295,8 @@ static struct cmd lagg_cmds[] =3D {
> >         DEF_CMD("-lacp_txtest", -LAGG_OPT_LACP_TXTEST,  setlaggsetopt),
> >         DEF_CMD("lacp_rxtest",  LAGG_OPT_LACP_RXTEST,   setlaggsetopt),
> >         DEF_CMD("-lacp_rxtest", -LAGG_OPT_LACP_RXTEST,  setlaggsetopt),
> > +       DEF_CMD("lacp_fast_timeout",    LAGG_OPT_LACP_TIMEOUT,  setlagg=
setopt),
> > +       DEF_CMD("-lacp_fast_timeout",   -LAGG_OPT_LACP_TIMEOUT, setlagg=
setopt),
> >         DEF_CMD_ARG("flowid_shift",     setlaggflowidshift),
> >  };
> >  static struct afswtch af_lagg =3D {
> >
> > Modified: head/sys/net/ieee8023ad_lacp.c
> > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D
> > --- head/sys/net/ieee8023ad_lacp.c      Wed Aug 12 20:16:13 2015       =
 (r286699)
> > +++ head/sys/net/ieee8023ad_lacp.c      Wed Aug 12 20:21:04 2015       =
 (r286700)
> > @@ -522,7 +522,7 @@ lacp_port_create(struct lagg_port *lgp)
> >         int error;
> >
> >         boolean_t active =3D TRUE; /* XXX should be configurable */
> > -       boolean_t fast =3D FALSE; /* XXX should be configurable */
> > +       boolean_t fast =3D FALSE; /* Configurable via ioctl */
> >
> >         link_init_sdl(ifp, (struct sockaddr *)&sdl, IFT_ETHER);
> >         sdl.sdl_alen =3D ETHER_ADDR_LEN;
> >
> > Modified: head/sys/net/ieee8023ad_lacp.h
> > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D
> > --- head/sys/net/ieee8023ad_lacp.h      Wed Aug 12 20:16:13 2015       =
 (r286699)
> > +++ head/sys/net/ieee8023ad_lacp.h      Wed Aug 12 20:21:04 2015       =
 (r286700)
> > @@ -251,6 +251,7 @@ struct lacp_softc {
> >                 u_int32_t       lsc_tx_test;
> >         } lsc_debug;
> >         u_int32_t               lsc_strict_mode;
> > +       boolean_t               lsc_fast_timeout; /* if set, fast timeo=
ut */
> >  };
> >
> >  #define        LACP_TYPE_ACTORINFO     1
> >
> > Modified: head/sys/net/if_lagg.c
> > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D
> > --- head/sys/net/if_lagg.c      Wed Aug 12 20:16:13 2015        (r28669=
9)
> > +++ head/sys/net/if_lagg.c      Wed Aug 12 20:21:04 2015        (r28670=
0)
> > @@ -1257,6 +1257,8 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd
> >                                 ro->ro_opts |=3D LAGG_OPT_LACP_RXTEST;
> >                         if (lsc->lsc_strict_mode !=3D 0)
> >                                 ro->ro_opts |=3D LAGG_OPT_LACP_STRICT;
> > +                       if (lsc->lsc_fast_timeout !=3D 0)
> > +                               ro->ro_opts |=3D LAGG_OPT_LACP_TIMEOUT;
> >
> >                         ro->ro_active =3D sc->sc_active;
> >                 } else {
> > @@ -1292,6 +1294,8 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd
> >                 case -LAGG_OPT_LACP_RXTEST:
> >                 case LAGG_OPT_LACP_STRICT:
> >                 case -LAGG_OPT_LACP_STRICT:
> > +               case LAGG_OPT_LACP_TIMEOUT:
> > +               case -LAGG_OPT_LACP_TIMEOUT:
> >                         valid =3D lacp =3D 1;
> >                         break;
> >                 default:
> > @@ -1320,6 +1324,7 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd
> >                                 sc->sc_opts &=3D ~ro->ro_opts;
> >                 } else {
> >                         struct lacp_softc *lsc;
> > +                       struct lacp_port *lp;
> >
> >                         lsc =3D (struct lacp_softc *)sc->sc_psc;
> >
> > @@ -1342,6 +1347,20 @@ lagg_ioctl(struct ifnet *ifp, u_long cmd
> >                         case -LAGG_OPT_LACP_STRICT:
> >                                 lsc->lsc_strict_mode =3D 0;
> >                                 break;
> > +                       case LAGG_OPT_LACP_TIMEOUT:
> > +                               LACP_LOCK(lsc);
> > +                               LIST_FOREACH(lp, &lsc->lsc_ports, lp_ne=
xt)
> > +                                       lp->lp_state |=3D LACP_STATE_TI=
MEOUT;
> > +                               LACP_UNLOCK(lsc);
> > +                               lsc->lsc_fast_timeout =3D 1;
> > +                               break;
> > +                       case -LAGG_OPT_LACP_TIMEOUT:
> > +                               LACP_LOCK(lsc);
> > +                               LIST_FOREACH(lp, &lsc->lsc_ports, lp_ne=
xt)
> > +                                       lp->lp_state &=3D ~LACP_STATE_T=
IMEOUT;
> > +                               LACP_UNLOCK(lsc);
> > +                               lsc->lsc_fast_timeout =3D 0;
> > +                               break;
> >                         }
> >                 }
> >                 LAGG_WUNLOCK(sc);
> >
> > Modified: head/sys/net/if_lagg.h
> > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D
> > --- head/sys/net/if_lagg.h      Wed Aug 12 20:16:13 2015        (r28669=
9)
> > +++ head/sys/net/if_lagg.h      Wed Aug 12 20:21:04 2015        (r28670=
0)
> > @@ -150,6 +150,7 @@ struct lagg_reqopts {
> >  #define        LAGG_OPT_LACP_STRICT            0x10            /* LACP=
 strict mode */
> >  #define        LAGG_OPT_LACP_TXTEST            0x20            /* LACP=
 debug: txtest */
> >  #define        LAGG_OPT_LACP_RXTEST            0x40            /* LACP=
 debug: rxtest */
> > +#define        LAGG_OPT_LACP_TIMEOUT           0x80            /* LACP=
 timeout */
> >         u_int                   ro_count;               /* number of po=
rts */
> >         u_int                   ro_active;              /* active port =
count */
> >         u_int                   ro_flapping;            /* number of fl=
apping */
> >
>=20

--EVh9lyqKgK19OcEf
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQF8BAABCgBmBQJYf+5dXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRBNEUyMEZBMUQ4Nzg4RjNGMTdFNjZGMDI4
QjkyNTBFMTU2M0VERkU1AAoJEIuSUOFWPt/lKAEH/3vpOnIjPuMagrPSCsYRx1oQ
vQdpXEvWu8soXJTJuvs7k6v1mLoeUPSZkQotzKdLyuHpY/pGx+7/4lpf/BnGxq9F
oHncnr7pL6cB3E8Sriyj91TeKIy0Qm6p9WB3nXvGY1oQuwQxB2Z/Md19VWmGLn0t
23jbBPBJeB81LpPqSFwZagy3lkW4TTZ69deboKoK6mLMegTknJa0p7lfXAbdVUOy
Y232ZJk12G1rex0JQcDrQH5L0l3C+lUWA+QVL6aJsFNsVoKXIu88hEedixqtWoU+
br996on9xRrFWnAbnJOtTGFgXyrksbijVRizwarzyJGOh2mEUsjeQ8mEaOLkxSM=
=mDTP
-----END PGP SIGNATURE-----

--EVh9lyqKgK19OcEf--



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