Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Aug 2016 13:08:44 -0600
From:      Nick Rogers <ncrogers@gmail.com>
To:        =?UTF-8?Q?Andr=C3=A9_S=2E_Almeida?= <andre@andre.adm.br>
Cc:        freebsd-pf@freebsd.org
Subject:   Re: pfctl: igb2: driver does not support altq
Message-ID:  <CAKOb=YY%2BvwsXwB8MFuknSdTukNkKM2=f6=LCKLL3Egw0hbNiCg@mail.gmail.com>
In-Reply-To: <CADsrzyaEWs=MWoY0359S0eH7L7FCYkhD0asYr1XsDcTRJBkj6g@mail.gmail.com>
References:  <CADsrzyaEWs=MWoY0359S0eH7L7FCYkhD0asYr1XsDcTRJBkj6g@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Aug 22, 2016 at 6:51 AM, Andr=C3=A9 S. Almeida <andre@andre.adm.br>
wrote:

> Hello,
>
> I have 10.3 RELEASE and I am having problem with driver of igb device tha=
t
> does not support ALTQ.
>
> I already compiled the kernel with IGB_LEGACY_TX, but when I try to use
> ALTQ on igb interface, I get the message below.
>
> # pfctl -f fw_rules.conf
> pfctl: igb2: driver does not support altq
>
> As you can see below, when I compile the kernel, the driver is compiled
> correctly with IGB_LEGACY_TX.
>
> cc -O2 -pipe  -DSMP -DIGB_LEGACY_TX -fno-strict-aliasing -Werror -D_KERNE=
L
> -DKLD_MODULE -nostdinc  -I/usr/src/sys/modules/igb/../../dev/e1000 -I. -I=
@
> -I@/contrib/altq -fno-common  -fno-omit-frame-pointer
> -mno-omit-leaf-frame-pointer  -mno-aes -mno-avx -mcmodel=3Dkernel
> -mno-red-zone -mno-mmx -mno-sse -msoft-float
> -fno-asynchronous-unwind-tables -ffreestanding -fstack-protector
> -std=3Diso9899:1999 -Qunused-arguments  -fstack-protector -Wall
> -Wredundant-decls -Wnested-externs -Wstrict-prototypes
> -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef
> -Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs
> -fdiagnostics-show-option  -Wno-error-tautological-compare
> -Wno-error-empty-body  -Wno-error-parentheses-equality
> -Wno-error-unused-function    -c
> /usr/src/sys/modules/igb/../../dev/e1000/e1000_i210.c -o e1000_i210.o
>
> Is there anything that I can do to solve this?
>

In my experience there is no way to enable IGB_LEGACY_TX without modifying
the driver files directly by adding a #define IGB_LEGACY_TX.  I am not sure
why, but including it as a compiler option (-DIGB_LEGACY_TX) does not work
when building the kernel.

I use this basic little script...

echo 'Performing IGB_LEGACY_TX mod'
cd /usr/src/sys/dev/e1000
for ext in c h
do
    echo '#define IGB_LEGACY_TX' > if_igb.$ext.new
    cat if_igb.$ext >> if_igb.$ext.new
    mv -v if_igb.$ext.new if_igb.$ext
done
echo

Here is a related PR to make it a kernel tunable.
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D194197

_______________________________________________
> freebsd-pf@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-pf
> To unsubscribe, send any mail to "freebsd-pf-unsubscribe@freebsd.org"
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAKOb=YY%2BvwsXwB8MFuknSdTukNkKM2=f6=LCKLL3Egw0hbNiCg>