# No ALTQ support in kernel ?



## mike99 (Dec 2, 2010)

Hi, 

I just compile a kernel with pf & altq and when I enable or disable altq, I have this message :
No ALTQ support in kernel
ALTQ related functions disabled

I use the generic config, commeted driver I didn't I would need. Added "device mem" because I saw it somewhere in a config sample with pf, also add devices pf, pflog & pfsync with options altq + cbq,red,rio,hfsc, priq & nopcc and finally added options device polling with hz=1000.

The first time I tryed, it was with em driver and now on re driver (on a proxmox virtual machine). The are compatible with altq from what I read from altq(4) freebsd man page.
http://www.freebsd.org/cgi/man.cgi?query=altq&sektion=4

Is something not compatible with ALTQ on my config or did I miss something ? Here my kernel config based on generic without comment because of post carachter limit :


```
cpu             HAMMER
ident           GENERIC

makeoptions     DEBUG=-g

options         SCHED_ULE
options         PREEMPTION
options         INET
options         INET6
options         SCTP
options         FFS
options         SOFTUPDATES
options         UFS_ACL
options         UFS_DIRHASH
options         UFS_GJOURNAL
options         MD_ROOT
options         NFSCLIENT
options         NFSSERVER
options         NFSLOCKD
options         NFS_ROOT
options         MSDOSFS
options         CD9660
options         PROCFS
options         PSEUDOFS
options         GEOM_PART_GPT
options         GEOM_LABEL
options         COMPAT_43TTY
options         COMPAT_FREEBSD32
options         COMPAT_FREEBSD4
options         COMPAT_FREEBSD5
options         COMPAT_FREEBSD6
options         COMPAT_FREEBSD7
options         SCSI_DELAY=5000
options         KTRACE
options         STACK
options         SYSVSHM
options         SYSVMSG
options         SYSVSEM
options         P1003_1B_SEMAPHORES
options         _KPOSIX_PRIORITY_SCHEDULING
options         PRINTF_BUFR_SIZE=128
options         KBD_INSTALL_CDEV
options         HWPMC_HOOKS
options         AUDIT
options         MAC
options         FLOWTABLE
#options        KDTRACE_FRAME
#options        KDTRACE_HOOKS
options         INCLUDE_CONFIG_FILE

# Make an SMP-capable kernel by default
options         SMP

# CPU frequency control
device          cpufreq

# Bus support.
device          acpi
device          pci

# Floppy drives
device          fdc

# ATA and ATAPI devices
device          ata
device          atadisk
#device         ataraid
device          atapicd
#device         atapifd
#device         atapist
options         ATA_STATIC_ID

# SCSI Controllers
device          ahc
#options        AHC_REG_PRETTY_PRINT
#device         ahd
#options        AHD_REG_PRETTY_PRINT
#device         amd
#device         hptiop
#device         isp
#device         ispfw
#device         mpt
##device                ncr
#device         sym
#device         trm

#device         adv
#device         adw
#device         aic
#device         bt

# SCSI peripherals
device          scbus
#device         ch
device          da
#device         sa
#device         cd
#device         pass
#device         ses

# RAID controllers interfaced to the SCSI subsystem
device          amr
device          arcmsr
#XXX it is not 64-bit clean, -scottl
#device         asr
device          ciss
device          dpt
device          hptmv
device          hptrr
device          iir
device          ips
device          mly
device          twa

# RAID controllers
#device         aac
#device         aacp
#device         ida
#device         mfi
#device         mlx
# XXX pointer/int warnings
#device         pst
#device         twe

# atkbdc0 controls both the keyboard and the PS/2 mouse
device          atkbdc
device          atkbd
device          psm

device          kbdmux

device          vga

device          splash

# syscons is the default console driver, resembling an SCO console
device          sc

device          agp

# PCCARD (PCMCIA) support
# PCMCIA and cardbus bridge support
#device         cbb
#device         pccard
#device         cardbus

# Serial (COM) ports
#device         uart

# Parallel port
#device         ppc
#device         ppbus
#device         lpt
#device         plip
#device         ppi
#device         vpo

#device         puc

#device         de
#device         em
#device         igb
#device         ixgbe
#device         le
#device         ti
#device         txp
#device         vx

device          miibus
#device         ae
#device         age
#device         alc
#device         ale
#device         bce
#device         bfe
#device         bge
#device         dc
#device         et
#device         fxp
#device         jme
#device         lge
#device         msk
#device         nfe
#device         nge
#device         nve
#device         pcn
device          re
#device         rl
#device         sf
#device         sge
#device         sis
#device         sk
#device         ste
#device         stge
#device         tl
#device         tx
#device         vge
#device         vr
#device         wb
#device         xl

# ISA Ethernet NICs.  pccard NICs included.
device          cs
# 'device ed' requires 'device miibus'
#device         ed
#device         ex
#device         ep
#device         fe
#device         sn
#device         xe

#device         wlan
#options        IEEE80211_DEBUG
#options        IEEE80211_AMPDU_AGE
#options        IEEE80211_SUPPORT_MESH
#device         wlan_wep
#device         wlan_ccmp
#device         wlan_tkip
#device         wlan_amrr
#device         an
#device         ath
#device         ath_hal
#options        AH_SUPPORT_AR5416
#device         ath_rate_sample
#device         ral
#device         wi

device          loop
device          random
device          ether
device          vlan
device          tun
device          pty
device          md
device          gif
device          faith
device          firmware
device          mem
device          bpf

options         USB_DEBUG
device          uhci
device          ohci
device          ehci
device          usb
#device         udbp
device          uhid
device          ukbd
#device         ulpt
device          umass
device          ums
#device         urio

#device         uark
#device         ubsa
#device         uftdi
#device         uipaq
#device         uplcom
#device         uslcom
#device         uvisor
#device         uvscom

device pf
device pflog
device pfsync

options         ALTQ
options         ALTQ_CBQ
options         ALTQ_RED
options         ALTQ_RIO
options         ALTQ_HFSC
options         ALTQ_PRIQ
options         ALTQ_NOPCC

options HZ=1000
options DEVICE_POLLING
```
Thank


----------



## SirDice (Dec 2, 2010)

If you copy GENERIC and edit it also change the ident line. This will help identifying your custom kernel with the *uname -a* command. Currently this will show GENERIC when it's not the 'real' GENERIC. This will inevitably lead to confusion. In short always change the ident for a custom kernel.

You state that you compiled a new kernel but did you also install it?


----------



## mike99 (Dec 2, 2010)

Yes, I installed it. I can use the pfctl command without error except the ALTQ support and I couldn't before installing the custom kernel but will also change the ident, compile and install it and try uname -a just to be sure.


----------



## mike99 (Dec 2, 2010)

Strange, `uname -a` give me this result :

```
FreeBSD firewall.domain.com 8.1-RELEASE FreeBSD 8.1-RELEASE #2: Thu Dec  2 16:42:50 EST 2010     
[email]user@firewall.domain.com[/email]:/usr/obj/usr/src/sys/GENERIC  amd64
```
I changed the IDENT for "PFFIREWALL"

dmesg.boot also show this: /usr/obj/usr/src/sys/GENERIC amd64

Maybe there's a wrong configuration in my custom kernel.

Thank


----------



## DutchDaemon (Dec 2, 2010)

What *make* command did you use to build and install your kernel?


----------



## SirDice (Dec 3, 2010)

Yeah, I'm guessing mike99 forgot to specify his custom kernel.

Chapter 8 Configuring the FreeBSD Kernel


----------



## mike99 (Dec 3, 2010)

I already read the doc to try to find my error without succes. Here what I have done, I maked a copy of generic and edited it. I posted my config on the first post. Then only change I made after posting it is the ident.

The procedure I used :
changed directory for "/usr/src"
To compile it, "make buildkernel KERNELCONF=FIREWALL"
once it done, to install it, "make installkernel KERNELCONF=FIREWALL"
after everything is install, I reboot the server with "reboot"

I've done it maybe 5 times and everytime, when I boot, I still have the GENERIC kernel.


----------



## DutchDaemon (Dec 3, 2010)

It's *KERNCONF*, not *KERNELCONF*.


----------



## mike99 (Dec 4, 2010)

x(

Your right, everything went fine with KERNCONF instead of KERNELCONF. It's strange that instead of giving me a error, it was building and installing GENERIC. Anyway, I now have my custom kernel with only the devices I need and ALTQ.

Thank a lot.


----------



## kpa (Dec 4, 2010)

Nothing strange there. It's not an error to specify variables that are not used in the Makefile(s) on make(1)'s command line.


----------

