[FUG-BR] problemas com altq HFSC no open 3.7

Reginaldo L. Russinholi russinholi em irapida.com.br
Ter Jun 21 08:01:53 BRT 2005


William David Armstrong wrote:

> Boa noite
>
> desculpe a lista da fugs pelo post ser para openbsd  mas  talvez 
> alguém ja tenha passado por isso também.
>
> Estou tentando implementar uma regra de AltQ com politicas em HFSC 
> mas  ele  esta me  retornando a seguinte msg de erro.
>
> nas versoes anteriores do openbsd não dava erro algum  mas na versão 
> 3.7 esta me retornando este erro.
>
> vou detalhar minhas conifigurações para explicar de 1 so vez. =o)
>
> este micro esta  rodando com uma bridge entre 3 placas de rede
>
> brconfig bridge0
> bridge0: flags=41<UP,RUNNING>
>        Configuration:
>                priority 32768 hellotime 2 fwddelay 15 maxage 20
>        Interfaces:
>                wi0 flags=7<LEARNING,DISCOVER,BLOCKNONIP>
>                        port 8 ifpriority 128 ifcost 55
>                xl0 flags=7<LEARNING,DISCOVER,BLOCKNONIP>
>                        port 1 ifpriority 128 ifcost 55
>                ep0 flags=f<LEARNING,DISCOVER,BLOCKNONIP,STP>
>                        port 2 ifpriority 128 ifcost 55 forwarding
>        Addresses (max cache: 100, timeout: 240):
>                00:00:b4:c4:18:99 xl0 0 flags=0<>
>                00:e0:d0:13:bf:d1 ep0 1 flags=0<>
>                00:a0:c9:e2:00:d9 xl0 1 flags=0<>
>                00:07:95:d5:05:76 xl0 1 flags=0<>
>
> [root em BeHoldeR] ~# ifconfig  wi0
> wi0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
>        address: 00:02:2d:5e:8d:9c
>        ieee80211: nwid LostSoul nwkey 0xXXXXXXXXXX -12dBm (auto)
>        media: IEEE802.11 DS11 ibss-master
>        status: active
>        inet6 fe80::202:2dff:fe5e:8d9c%wi0 prefixlen 64 scopeid 0x8
> [root em BeHoldeR] ~# ifconfig xl0
> xl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
>        address: 00:60:97:63:25:28
>        media: Ethernet autoselect (100baseTX full-duplex)
>        status: active
>        inet 192.168.33.5 netmask 0xfffffff8 broadcast 192.168.33.7
>        inet6 fe80::260:97ff:fe63:2528%xl0 prefixlen 64 scopeid 0x1
> [root em BeHoldeR] ~# ifconfig ep0
> ep0: 
> flags=8963<UP,BROADCAST,NOTRAILERS,RUNNING,PROMISC,SIMPLEX,MULTICAST> 
> mtu 1500
>        address: 00:20:af:58:ac:9d
>        media: Ethernet 10baseT
>        inet6 fe80::220:afff:fe58:ac9d%ep0 prefixlen 64 scopeid 0x2
>
>
> /etc/sysctl.conf
> net.inet.ip.forwarding=1        # 1=Permit forwarding (routing) of 
> packets
> net.inet.tcp.rfc3390=1          # 1=Enable RFC3390 for TCP window 
> increasing
> net.inet.ipcomp.enable=1        # 1=Enable the IPCOMP protocol
> net.inet.tcp.ecn=1              # 1=Enable the TCP ECN extension
> kern.usercrypto=1               # 1=enable userland use of /dev/crypto
> kern.splassert=2                # 2=enable and verbose error messages.
>
>
> #########################
> #       Interface Macros
> #
>
> int_if                  =               "{ xl0 }"
> ext_if                  =               "{ ep0 }"
>
>
> #########################
> #       Bandwidth Macros
> #
>
> ext_bandwidth           =               "320Kb"
> int_bandwidth           =               "608Kb"
>
>
> #################################################################
> #
> #       Queue Definitions
>                                                                #
> #################################################################
>
>
> #################################################################
> #
> #       HFSC    --01--
>
>
> altq on $ext_if hfsc bandwidth $ext_bandwidth                   \
>        queue {std_out, tcp_ack_out, dns_out, ssh_out, www_out, mail_out}
>
>        queue   std_out hfsc                                    \
>                (default linkshare      (5% 20000 20%)          \
>                upperlimit              (10% 20000 30%))
>
>        queue   tcp_ack_out hfsc                                \
>                (realtime               (20% 5000 5%)           \
>                upperlimit              (30% 5000 5%)           \
>                linkshare               (25% 5000 5%))
>
>        queue   dns_out hfsc                                    \
>                (realtime               (10% 5000 5%)           \
>                upperlimit              (20% 5000 15%)          \
>                linkshare               (15% 5000 10%))
>
>        queue   ssh_out hfsc                                    \
>                (upperlimit             (30% 5000 40%)          \
>                linkshare               (20% 5000 30%))
>
>        queue   www_out hfsc                                    \
>                (realtime               (20% 5000 10%)          \
>                upperlimit              (40% 5000 30%)          \
>                linkshare               (30% 5000 20%))
>
>        queue   mail_out hfsc                                   \
>                (upperlimit             (15% 5000 20%)          \
>                linkshare               (10% 5000 15%))
>
> altq on $int_if                                                 \
>       hfsc bandwidth $int_bandwidth                            \
>       queue { std_in, dns_in, ssh_in, mail_in, www_in }
>
>       queue    std_in hfsc                                     \
>                (default realtime       (15% 20000 5%)          \
>                linkshare               (20% 20000 20%)         \
>                upperlimit              (30% 20000 20%))
>
>       queue    dns_in hfsc                                     \
>                (realtime               (15% 5000 5%)           \
>                linkshare               (20% 5000 10%)          \
>                upperlimit              (30% 5000 20%))
>
>       queue    ssh_in hfsc                                     \
>                (linkshare              (30% 5000 40%)          \
>                upperlimit              (40% 5000 60%))
>
>       queue    www_in hfsc                                     \
>                (realtime               (20% 5000 20%)          \
>                linkshare               (20% 5000 15%)          \
>                upperlimit              (40% 5000 30%))
>
>       queue    mail_in hfsc                                    \
>                (realtime               (20% 5000 5%)           \
>                linkshare               (10% 5000 15%)          \
>                upperlimit              (40% 5000 30%))
>
>
>
> [root em BeHoldeR] ~# pfctl -n -f altq
> pfctl: the sum of the child bandwidth higher than parent "root_ep0"
> pfctl: the sum of the child bandwidth higher than parent "root_ep0"
> pfctl: the sum of the child bandwidth higher than parent "root_ep0"
> pfctl: the sum of the child bandwidth higher than parent "root_ep0"
> pfctl: the sum of the child bandwidth higher than parent "root_ep0"
> pfctl: linkshare sc exceeds parent's sc
> altq:57: errors in queue definition
> pfctl: the sum of the child bandwidth higher than parent "root_xl0"
> pfctl: the sum of the child bandwidth higher than parent "root_xl0"
> pfctl: the sum of the child bandwidth higher than parent "root_xl0"
> pfctl: the sum of the child bandwidth higher than parent "root_xl0"
> [root em BeHoldeR] ~# uname -a
> OpenBSD BeHoldeR.biosystems.ath.cx 3.7 FiorinaFury161#0 i386
>
> dmesg
> OpenBSD 3.7-stable (FiorinaFury161) #0: Wed Jun 15 02:30:19 BRT 2005
>    
> root em BeHoldeR.biosystems.ath.cx:/usr/src/sys/arch/i386/compile/FiorinaFury161 
>
> cpu0: Intel Pentium/MMX ("GenuineIntel" 586-class) 167 MHz
> cpu0: FPU,V86,DE,PSE,TSC,MSR,MCE,CX8,MMX
> cpu0: F00F bug workaround installed
> real mem  = 66691072 (65128K)
> avail mem = 56512512 (55188K)
> using 839 buffers containing 3436544 bytes (3356K) of memory
> mainbus0 (root)
>
>
>
> _______________________________________________
> Freebsd mailing list
> Freebsd em fug.com.br
> http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br
>
>

Olha Willian, que eu saiba isto ocorre quando a soma do bandwith das 
filas filho ultrapassam o bandwith da fila pai.
Acho que se vc especificar o bandwith das filas filho, colocando um 
valor que somadas não ultrapassem a fila pai, deva resolver.

Por exemplo
altq on $int_if  hfsc bandwidth 128Kb queue { std_in, dns_in, ssh_in, 
mail_in, www_in }

      queue    std_in 32Kb hfsc  (default realtime       (15% 20000 
5%)          \
               linkshare               (20% 20000 20%)         \
               upperlimit              (30% 20000 20%))
      queue    dns_in 32Kb hfsc (default realtime       (15% 20000 
5%)          \
               linkshare               (20% 20000 20%)         \
               upperlimit              (30% 20000 20%))
     ... e assim por diante.

-- 
Reginaldo L. Russinholi
Adm. de Rede - Network Adm.
iRapida Telecom
Cianorte - PR - Brazil



_______________________________________________
Freebsd mailing list
Freebsd em fug.com.br
http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br




Mais detalhes sobre a lista de discussão freebsd