Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Apr 2013 06:58:22 -0700
From:      Nick Rogers <ncrogers@gmail.com>
To:        Karim Fodil-Lemelin <fodillemlinkarim@gmail.com>
Cc:        "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>
Subject:   Re: igb and ALTQ in 9.1-rc3
Message-ID:  <CAKOb=Ybh=_w5ZSB%2B64bxpzBanheJvMhwd9Pus7sJet9ihn5jSA@mail.gmail.com>
In-Reply-To: <515ADACD.8010108@gmail.com>
References:  <1355177348.71087.YahooMailClassic@web121601.mail.ne1.yahoo.com> <50C6656E.3020601@gmail.com> <CAFOYbc=79HwkHm6PAyRba%2Bue_7Xq0dUJvLk48RwqUN0Oz6%2BVFw@mail.gmail.com> <20121211075853.GU48639@FreeBSD.org> <CAFOYbc=Yh3WiUDstjSm-AUz4WMF9VteiydcEb5opnJ_gT4F7ag@mail.gmail.com> <CAKOb=Yb7NMm26=u%2B-0ywMk543WdXc5uiO2omY4=TXpRxPrOWHg@mail.gmail.com> <CAFOYbcn3HpRaaoSPWF5OL6QJCec-Zb2%2BNySqjgqyOXHRaXD26Q@mail.gmail.com> <5159AB72.1050202@gmail.com> <CAKOb=YbDW2kMhnAPUetsGeNdtiaOCOmQ2X-9GXW18wwSUZ8j-A@mail.gmail.com> <515ADACD.8010108@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday, April 2, 2013, Karim Fodil-Lemelin wrote:

> Hi Nick,
>
> Can you verify that you have at least one of those options in your kernel
> config file:
>
> ALTQ_CBQ
> ALTQ_PRIQ
> ALTQ_HFSC


Yes I have hfsc included in the kernel. I have other machines using altq
with em(4) interfaces and similar pf configurations on the same kernel that
work fine.


> Regards,
>
> Karim.
>
> On 01/04/2013 8:22 PM, Nick Rogers wrote:
>
> On Mon, Apr 1, 2013 at 8:44 AM, Karim Fodil-Lemelin
> <fodillemlinkarim@gmail.com> wrote:
>
> Hi Jack,
>
> I think this would help M. Rogers case as we have done something similar
> here to circumvent the issue and it seems to work well. I would also add
> that when using ALTQ we found it much more stable to set the number of
> queues to 1:
>
> static int igb_num_queues = 1;
>
> Our approach consisted in keeping igb_start() defined and using
> igb_mq_start_locked() inside it instead of igb_start_locked().
>
> Regards,
>
> Karim.
>
> Thanks for the pointer.
>
> I've been working with Jack to get a fix for this in that downgrades
> the stack to the older if_start/non-multiqueue interface. See the
> following two commits he made to HEAD.
>
> http://svnweb.freebsd.org/**base/head/sys/dev/e1000/if_**
> igb.c?revision=248906&view=**markup<http://svnweb.freebsd.org/base/head/sys/dev/e1000/if_igb.c?revision=248906&view=markup>;
> http://svnweb.freebsd.org/**base/head/sys/dev/e1000/if_**
> igb.h?revision=248908&view=**markup<http://svnweb.freebsd.org/base/head/sys/dev/e1000/if_igb.h?revision=248908&view=markup>;
>
> I've applied these changes to latest 9.1-STABLE src and included the
> IGB_LEGACY_TX in the e1000 Makefile. So far I am not having any luck
> getting pfctl to think igb is supported.
>
> i.e. I am still getting the following when loading my PF config:
> pfctl -f /etc/pf.conf
> pfctl: igb0: driver does not support altq
>
> Can anyone comment on if the above referenced changes that Jack made
> should be sufficient to get ALTQ working with igb?
>
> The error is coming from src/contrib/pf/pfctl/pfctl.c. There seems to
> be a function that checks if the driver is supported or not but I
> cannot figure out why the ioctl is not returning a device.
>
> Here is the device check code for reference:
>
> int
> pfctl_add_altq(struct pfctl *pf, struct pf_altq *a)
> {
>          if (altqsupport &&
>              (loadopt & PFCTL_FLAG_ALTQ) != 0) {
>                  memcpy(&pf->paltq->altq, a, sizeof(struct pf_altq));
>                  if ((pf->opts & PF_OPT_NOACTION) == 0) {
>                          if (ioctl(pf->dev, DIOCADDALTQ, pf->paltq)) {
>                                  if (errno == ENXIO)
>                                          errx(1, "qtype not configured");
>                                  else if (errno == ENODEV)
>                                          errx(1, "%s: driver does not
> support "
>                                              "altq", a->ifname);
>                                  else
>                                          err(1, "DIOCADDALTQ");
>                          }
>                  }
>                  pfaltq_store(&pf->paltq->altq)**;
>          }
>          return (0);
> }
>
>
>
>
>
> On 28/03/2013 7:16 PM, Jack Vogel wrote:
>
> Have been kept fairly busy with other matters, one thing I could do short
> term is
> change the defines in igb the way I did in the em driver so you could
> still
> define
> the older if_start entry. Right now those are based on OS version and so
> you will
> automatically get if_transmit, but I could change it to be IGB_LEGACY_TX
> or
> so,
> and that could be defined in the Makefile.
>
> Would this help?
>
> Jack
>
>
> On Thu, Mar 28, 2013 at 2:31 PM, Nick Rogers <ncrogers@gmail.com> wrote:
>
>  On Tue, Dec 11, 2012 at 1:09 AM, Jack Vogel <jfvogel@gmail.com> wrote:
>
> On Mon, Dec 10, 2012 at 11:58 PM, Gleb Smirnoff <glebius@freebsd.org>
>
> wrote:
>
> On Mon, Dec 10, 2012 at 03:31:19PM -0800, Jack Vogel wrote:
> J> UH, maybe asking the owner of the driver would help :)
> J>
> J> ... and no, I've never been aware of doing anything to stop
>
> supporting
>
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAKOb=Ybh=_w5ZSB%2B64bxpzBanheJvMhwd9Pus7sJet9ihn5jSA>