Hi Raimundo,

please use max directive:

queue root on alc0 bandwidth 600M, max 500M
-- 
Best regards, 

Loïc BLOT, Engineering
UNIX Systems, Security and Network Engineer
http://www.unix-experience.fr


Le mardi 12 août 2014 à 02:11 -0300, Raimundo Santos a écrit :
> Hello misc!
> 
> I am with a very non expected behaviour. With this simple pf.conf
> 
> # pfctl -vnf /etc/pf.conf
> 
> set skip on { lo }
> 
> queue root on alc0 bandwidth 600M default
> 
> pass out on alc0 all flags S/SA set ( queue root )
> 
> I got this queue output when running tcpbench in client mode
> 
> # pfctl -vvvsq
> 
>   [ pkts:          0  bytes:          0  dropped pkts:      0 bytes:      0
> ]
> 
>   [ qlength:   0/ 50 ]
> 
> queue root on alc0 bandwidth 600M default qlimit 50
> 
>   [ pkts:    6099167  bytes: 9233990662  dropped pkts:      0 bytes:      0
> ]
> 
>   [ qlength:   0/ 50 ]
> 
> 
>   [ pkts:          0  bytes:          0  dropped pkts:      0 bytes:      0
> ]
> 
>   [ qlength:   0/ 50 ]
> 
>   [ measured:     0.0 packets/s, 0 b/s ]
> 
> queue root on alc0 bandwidth 600M default qlimit 50
> 
>   [ pkts:    6500911  bytes: 9842225822  dropped pkts:      0 bytes:      0
> ]
> 
>   [ qlength:   0/ 50 ]
> 
>   [ measured: 80348.8 packets/s, 973.18Mb/s ]
> 
> 
>   [ pkts:          0  bytes:          0  dropped pkts:      0 bytes:      0
> ]
> 
>   [ qlength:   0/ 50 ]
> 
>   [ measured:     0.0 packets/s, 0 b/s ]
> 
> queue root on alc0 bandwidth 600M default qlimit 50
> 
>   [ pkts:    6902593  bytes: 10450369962  dropped pkts:      0 bytes:
> 0 ]
> 
>   [ qlength:   0/ 50 ]
> 
>   [ measured: 80342.6 packets/s, 973.10Mb/s ]
> 
> # pfctl -vsr
> 
> pass out on alc0 all flags S/SA set ( queue root )
> 
>   [ Evaluations: 493       Packets: 14082601  Bytes: 13949048492  States: 1
>     ]
> 
>   [ Inserted: uid 0 pid 3493 State Creations: 1     ]
> 
> 
> I've tried with 100M, 200M and 400M, all not shaping.
> 
> I've also tried to setup a root queue with 200M and two child: a default
> with 1M and the other, referred in the rule, with 100M, also not working.
> 
> I am playing with tcpbench and this is the only traffic I really care about
> on this machine. I restarted the tcpbench client on this machine every time
> I reloaded the testing rule and queue, and even deleted the related states
> (or states, in cases that I run tcpbench -b <some alias>), but nothing
> leads me to the desired bandwidth shaping.
> 
> I am experiencing the same behaviour in a virtual machine under KVM with
> PCI Passthrough of an Intel NIC. These are the conf and results from the
> virtual machine:
> 
> # pfctl -vf /etc/pf.conf
> 
> 
> 
> set skip on { lo }
> 
> queue std on em0 bandwidth 100M default
> 
> pass out on em0 all flags S/SA set ( queue std )
> 
> 
> # pfctl -vvvsq
> 
>   [ pkts:          0  bytes:          0  dropped pkts:      0 bytes:      0
> ]
> 
>   [ qlength:   0/ 50 ]
> 
> queue std on em0 bandwidth 100M default qlimit 50
> 
>   [ pkts: 1195513815  bytes: 87858084628  dropped pkts:      0 bytes:
> 0 ]
> 
>   [ qlength:   0/ 50 ]
> 
> 
>   [ pkts:          0  bytes:          0  dropped pkts:      0 bytes:      0
> ]
> 
>   [ qlength:   0/ 50 ]
> 
>   [ measured:     0.0 packets/s, 0 b/s ]
> 
> queue std on em0 bandwidth 100M default qlimit 50
> 
>   [ pkts: 1195734870  bytes: 88192747866  dropped pkts:      0 bytes:
> 0 ]
> 
>   [ qlength:   0/ 50 ]
> 
>   [ measured: 44211.0 packets/s, 535.46Mb/s ]
> 
> 
>   [ pkts:          0  bytes:          0  dropped pkts:      0 bytes:      0
> ]
> 
>   [ qlength:   0/ 50 ]
> 
>   [ measured:     0.0 packets/s, 0 b/s ]
> 
> queue std on em0 bandwidth 100M default qlimit 50
> 
>   [ pkts: 1195960995  bytes: 88535089028  dropped pkts:      0 bytes:
> 0 ]
> 
>   [ qlength:   0/ 50 ]
> 
>   [ measured: 44718.0 packets/s, 541.60Mb/s ]
> 
> # pfctl -vsr
> 
> pass out on em0 all flags S/SA set ( queue std )
> 
>   [ Evaluations: 2         Packets: 1853414   Bytes: 1708817040  States: 2
>     ]
> 
>   [ Inserted: uid 0 pid 19622 State Creations: 2     ]
> 
> The traffic passes through a Linux box where I have per ip bandwitdh
> control (justifying tcpbench -b <alias>), an in house bandwidth controller
> (poor man's 'net equalizer'). My intent was to not put a very high load
> over this machine by getting close to my real pps and bps and so make my
> capacity planing.
> 
> What am I doing wrong with these queues?
> 
> Thank you all,
> Raimundo Santos
> 
> Here is my dmesgs, first from the physical machine and after from the
> virtual machine:
> 
> OpenBSD 5.5 (GENERIC.MP) #315: Wed Mar  5 09:37:46 MST 2014
>     [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> real mem = 8538095616 (8142MB)
> avail mem = 8302202880 (7917MB)
> mainbus0 at root
> bios0 at mainbus0: SMBIOS rev. 2.5 @ 0x9f400 (53 entries)
> bios0: vendor American Megatrends Inc. version "0803" date 07/23/2012
> bios0: ASUSTeK Computer INC. M4A78LT-M-LE
> acpi0 at bios0: rev 2
> acpi0: sleep states S0 S1 S3 S4 S5
> acpi0: tables DSDT FACP APIC MCFG OEMB SRAT HPET SSDT
> acpi0: wakeup devices PCE2(S4) PCE3(S4) PCE4(S4) PCE5(S4) PCE6(S4) ALAN(S4)
> PCE7(S4) PCE9(S4) PCEA(S4) PCEB(S4) PCEC(S4) SBAZ(S4) PS2M(S4) PS2K(S4)
> UAR1(S4) P0PC(S4) [...]
> acpitimer0 at acpi0: 3579545 Hz, 32 bits
> acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
> cpu0 at mainbus0: apid 0 (boot processor)
> cpu0: AMD Phenom(tm) II X2 565 Processor, 3415.72 MHz
> cpu0:
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,MWAIT,CX16,POPCNT,NXE,MMXX,FFXSR,LONG,3DNOW2,3DNOW,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,ITSC
> cpu0: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB
> 64b/line 16-way L2 cache, 6MB 64b/line 48-way L3 cache
> cpu0: ITLB 32 4KB entries fully associative, 16 4MB entries fully
> associative
> cpu0: DTLB 48 4KB entries fully associative, 48 4MB entries fully
> associative
> cpu0: AMD erratum 721 detected and fixed
> cpu0: smt 0, core 0, package 0
> mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
> cpu0: apic clock running at 200MHz
> cpu0: mwait min=64, max=64, C-substates=0.0.0.0.0, IBE
> cpu1 at mainbus0: apid 1 (application processor)
> cpu1: AMD Phenom(tm) II X2 565 Processor, 3415.24 MHz
> cpu1:
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,MWAIT,CX16,POPCNT,NXE,MMXX,FFXSR,LONG,3DNOW2,3DNOW,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,MASSE,3DNOWP,OSVW,IBS,SKINIT,ITSC
> cpu1: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB
> 64b/line 16-way L2 cache, 6MB 64b/line 48-way L3 cache
> cpu1: ITLB 32 4KB entries fully associative, 16 4MB entries fully
> associative
> cpu1: DTLB 48 4KB entries fully associative, 48 4MB entries fully
> associative
> cpu1: AMD erratum 721 detected and fixed
> cpu1: smt 0, core 1, package 0
> ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 21, 24 pins
> acpimcfg0 at acpi0 addr 0xe0000000, bus 0-255
> acpihpet0 at acpi0: 14318180 Hz
> acpiprt0 at acpi0: bus 0 (PCI0)
> acpiprt1 at acpi0: bus 1 (P0P1)
> acpiprt2 at acpi0: bus -1 (PCE2)
> acpiprt3 at acpi0: bus -1 (PCE3)
> acpiprt4 at acpi0: bus 2 (PCE4)
> acpiprt5 at acpi0: bus 3 (PCE6)
> acpiprt6 at acpi0: bus 4 (P0PC)
> acpicpu0 at acpi0: PSS
> acpicpu1 at acpi0: PSS
> aibs0 at acpi0 RTMP RVLT RFAN GGRP GITM SITM
> acpibtn0 at acpi0: PWRB
> cpu0: 3415 MHz: speeds: 3400 2700 2300 800 MHz
> pci0 at mainbus0 bus 0
> pchb0 at pci0 dev 0 function 0 "AMD RS780 Host" rev 0x00
> ppb0 at pci0 dev 1 function 0 vendor "Asustek", unknown product 0x9602 rev
> 0x00
> pci1 at ppb0 bus 1
> radeondrm0 at pci1 dev 5 function 0 "ATI Radeon HD 3000" rev 0x00
> drm0 at radeondrm0
> radeondrm0: apic 2 int 18
> ppb1 at pci0 dev 4 function 0 "AMD RS780 PCIE" rev 0x00: msi
> pci2 at ppb1 bus 2
> re0 at pci2 dev 0 function 0 "Realtek 8168" rev 0x03: RTL8168D/8111D
> (0x2800), msi, address 00:e0:4c:68:26:38
> rgephy0 at re0 phy 7: RTL8169S/8110S PHY, rev. 2
> ppb2 at pci0 dev 6 function 0 "AMD RS780 PCIE" rev 0x00: msi
> pci3 at ppb2 bus 3
> alc0 at pci3 dev 0 function 0 "Attansic Technology L1C" rev 0xc0: msi,
> address f4:6d:04:00:8f:a1
> atphy0 at alc0 phy 0: F1 10/100/1000 PHY, rev. 11
> ahci0 at pci0 dev 17 function 0 "ATI SBx00 SATA" rev 0x00: apic 2 int 22,
> AHCI 1.1
> scsibus0 at ahci0: 32 targets
> sd0 at scsibus0 targ 0 lun 0: <ATA, ST3500418AS, CC34> SCSI3 0/direct fixed
> naa.5000c500120cd875
> sd0: 476940MB, 512 bytes/sector, 976773168 sectors
> ohci0 at pci0 dev 18 function 0 "ATI SB700 USB" rev 0x00: apic 2 int 16,
> version 1.0, legacy support
> ohci1 at pci0 dev 18 function 1 "ATI SB700 USB" rev 0x00: apic 2 int 16,
> version 1.0, legacy support
> ehci0 at pci0 dev 18 function 2 "ATI SB700 USB2" rev 0x00: apic 2 int 17
> usb0 at ehci0: USB revision 2.0
> uhub0 at usb0 "ATI EHCI root hub" rev 2.00/1.00 addr 1
> ohci2 at pci0 dev 19 function 0 "ATI SB700 USB" rev 0x00: apic 2 int 18,
> version 1.0, legacy support
> ohci3 at pci0 dev 19 function 1 "ATI SB700 USB" rev 0x00: apic 2 int 18,
> version 1.0, legacy support
> ehci1 at pci0 dev 19 function 2 "ATI SB700 USB2" rev 0x00: apic 2 int 19
> usb1 at ehci1: USB revision 2.0
> uhub1 at usb1 "ATI EHCI root hub" rev 2.00/1.00 addr 1
> piixpm0 at pci0 dev 20 function 0 "ATI SBx00 SMBus" rev 0x3c: SMI
> iic0 at piixpm0
> iic0: addr 0x20 01=11 02=28 04=00 05=00 06=00 07=00 09=00 0a=0f 0b=0f 0c=0f
> 0d=0f 0e=19 0f=8a 10=00 11=00 12=00 13=00 14=00 15=0e 16=3a 17=9c 18=80
> 19=fb 1a=af 1b=a0 1c=b6 1d=80 1e=0c 1f=01 20=09 21=09 22=09 23=09 24=03
> 3e=bf words 00=ff11 01=1128 02=28ff 03=ff00 04=0000 05=0000 06=0000 07=00ff
> spdmem0 at iic0 addr 0x50: 4GB DDR3 SDRAM PC3-10600
> spdmem1 at iic0 addr 0x51: 4GB DDR3 SDRAM PC3-10600
> pciide0 at pci0 dev 20 function 1 "ATI SB700 IDE" rev 0x00: DMA, channel 0
> configured to compatibility, channel 1 configured to compatibility
> pcib0 at pci0 dev 20 function 3 "ATI SB700 ISA" rev 0x00
> ppb3 at pci0 dev 20 function 4 "ATI SB600 PCI" rev 0x00
> pci4 at ppb3 bus 4
> ohci4 at pci0 dev 20 function 5 "ATI SB700 USB" rev 0x00: apic 2 int 18,
> version 1.0, legacy support
> pchb1 at pci0 dev 24 function 0 "AMD AMD64 10h HyperTransport" rev 0x00
> pchb2 at pci0 dev 24 function 1 "AMD AMD64 10h Address Map" rev 0x00
> pchb3 at pci0 dev 24 function 2 "AMD AMD64 10h DRAM Cfg" rev 0x00
> km0 at pci0 dev 24 function 3 "AMD AMD64 10h Misc Cfg" rev 0x00
> pchb4 at pci0 dev 24 function 4 "AMD AMD64 10h Link Cfg" rev 0x00
> usb2 at ohci0: USB revision 1.0
> uhub2 at usb2 "ATI OHCI root hub" rev 1.00/1.00 addr 1
> usb3 at ohci1: USB revision 1.0
> uhub3 at usb3 "ATI OHCI root hub" rev 1.00/1.00 addr 1
> usb4 at ohci2: USB revision 1.0
> uhub4 at usb4 "ATI OHCI root hub" rev 1.00/1.00 addr 1
> usb5 at ohci3: USB revision 1.0
> uhub5 at usb5 "ATI OHCI root hub" rev 1.00/1.00 addr 1
> isa0 at pcib0
> isadma0 at isa0
> com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
> pckbc0 at isa0 port 0x60/5
> pckbd0 at pckbc0 (kbd slot)
> pckbc0: using irq 1 for kbd slot
> wskbd0 at pckbd0: console keyboard
> pcppi0 at isa0 port 0x61
> spkr0 at pcppi0
> lpt0 at isa0 port 0x378/4 irq 7
> it0 at isa0 port 0x2e/2: IT8712F rev 8, EC port 0x290
> usb6 at ohci4: USB revision 1.0
> uhub6 at usb6 "ATI OHCI root hub" rev 1.00/1.00 addr 1
> vscsi0 at root
> scsibus1 at vscsi0: 256 targets
> softraid0 at root
> scsibus2 at softraid0: 256 targets
> root on sd0a (5a32fb5b12fd1447.a) swap on sd0b dump on sd0b
> drm: initializing kernel modesetting (RS780 0x1002:0x9616 0x1043:0x8388).
> radeondrm0: VRAM: 32M 0x00000000C0000000 - 0x00000000C1FFFFFF (32M used)
> radeondrm0: GTT: 512M 0x00000000A0000000 - 0x00000000BFFFFFFF
> error: [drm:pid0:r600_init_microcode] *ERROR* r600_cp: Failed to load
> firmware "radeon-rs780_pfp"
> error: [drm:pid0:r600_startup] *ERROR* Failed to load firmware!
> error: [drm:pid0:r600_init] *ERROR* disabling GPU acceleration
> error: [drm:pid0:radeon_bo_unpin] *ERROR* 0xfffffe821d3ae2b0 unpin not
> necessary
> error: [drm:pid0:radeon_bo_unpin] *ERROR* 0xfffffe821d3ae2b0 unpin not
> necessary
> radeondrm0: 1920x1080
> wsdisplay0 at radeondrm0 mux 1: console (std, vt100 emulation), using wskbd0
> wsdisplay0: screen 1-5 added (std, vt100 emulation)
> 
> Virtual machine:
> 
> OpenBSD 5.5 (GENERIC) #271: Wed Mar  5 09:31:16 MST 2014
>     [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC
> real mem = 1056956416 (1007MB)
> avail mem = 1020309504 (973MB)
> mainbus0 at root
> bios0 at mainbus0: SMBIOS rev. 2.4 @ 0xfd9a0 (10 entries)
> bios0: vendor Bochs version "Bochs" date 01/01/2007
> bios0: Bochs Bochs
> acpi0 at bios0: rev 0
> acpi0: sleep states S3 S4 S5
> acpi0: tables DSDT FACP SSDT APIC HPET SSDT
> acpi0: wakeup devices
> acpitimer0 at acpi0: 3579545 Hz, 24 bits
> acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
> acpihpet0 at acpi0: 100000000 Hz
> acpiprt0 at acpi0: bus 0 (PCI0)
> acpicpu0 at acpi0
> mpbios at bios0 not configured
> cpu0 at mainbus0: (uniprocessor)
> cpu0: QEMU Virtual CPU version 1.1.2, 3003.29 MHz
> cpu0:
> FPU,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SSE3,CX16,POPCNT,NXE,LONG,LAHF
> cpu0: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB
> 64b/line 16-way L2 cache
> cpu0: ITLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped
> cpu0: DTLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped
> cpu0: smt 0, core 0, package 0
> mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges
> pci0 at mainbus0 bus 0
> pchb0 at pci0 dev 0 function 0 "Intel 82441FX" rev 0x02
> pcib0 at pci0 dev 1 function 0 "Intel 82371SB ISA" rev 0x00
> pciide0 at pci0 dev 1 function 1 "Intel 82371SB IDE" rev 0x00: DMA, channel
> 0 wired to compatibility, channel 1 wired to compatibility
> pciide0: channel 0 disabled (no drives)
> pciide0: channel 1 disabled (no drives)
> uhci0 at pci0 dev 1 function 2 "Intel 82371SB USB" rev 0x01: irq 11
> piixpm0 at pci0 dev 1 function 3 "Intel 82371AB Power" rev 0x03: irq 10
> iic0 at piixpm0
> iic0: addr 0x4c 48=00 words 00=0000 01=0000 02=0000 03=0000 04=0000 05=0000
> 06=0000 07=0000
> iic0: addr 0x4e 48=00 words 00=0000 01=0000 02=0000 03=0000 04=0000 05=0000
> 06=0000 07=0000
> vga1 at pci0 dev 2 function 0 unknown vendor 0x1234 product 0x1111 rev 0x00
> wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
> wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
> virtio0 at pci0 dev 3 function 0 "Qumranet Virtio Network" rev 0x00: Virtio
> Network Device
> vio0 at virtio0: RingEventIdx disabled by UKC: address 52:54:00:7a:d5:c2
> virtio0: irq 11
> virtio1 at pci0 dev 4 function 0 "Qumranet Virtio Storage" rev 0x00: Virtio
> Block Device
> vioblk0 at virtio1
> scsibus0 at vioblk0: 2 targets
> sd0 at scsibus0 targ 0 lun 0: <VirtIO, Block Device, > SCSI3 0/direct fixed
> sd0: 1024MB, 512 bytes/sector, 2097152 sectors
> virtio1: irq 11
> em0 at pci0 dev 5 function 0 "Intel 82576" rev 0x01: irq 10, address
> 00:1b:21:53:51:38
> em1 at pci0 dev 6 function 0 "Intel 82576" rev 0x01: irq 11, address
> 00:1b:21:53:51:39
> virtio2 at pci0 dev 7 function 0 "Qumranet Virtio Memory" rev 0x00: Virtio
> Memory Balloon Device
> viomb0 at virtio2
> virtio2: irq 11
> virtio3 at pci0 dev 8 function 0 "Qumranet Virtio Network" rev 0x00: Virtio
> Network Device
> vio1 at virtio3: RingEventIdx disabled by UKC: address 52:54:00:57:b8:fa
> virtio3: irq 11
> virtio4 at pci0 dev 9 function 0 "Qumranet Virtio Network" rev 0x00: Virtio
> Network Device
> vio2 at virtio4: RingEventIdx disabled by UKC: address 52:54:00:d0:35:7a
> virtio4: irq 10
> isa0 at pcib0
> isadma0 at isa0
> com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
> pckbc0 at isa0 port 0x60/5
> pckbd0 at pckbc0 (kbd slot)
> pckbc0: using irq 1 for kbd slot
> wskbd0 at pckbd0: console keyboard, using wsdisplay0
> pms0 at pckbc0 (aux slot)
> pckbc0: using irq 12 for aux slot
> wsmouse0 at pms0 mux 0
> pcppi0 at isa0 port 0x61
> spkr0 at pcppi0
> fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
> fd0 at fdc0 drive 0: density unknown
> fd1 at fdc0 drive 1: density unknown
> usb0 at uhci0: USB revision 1.0
> uhub0 at usb0 "Intel UHCI root hub" rev 1.00/1.00 addr 1
> nvram: invalid checksum
> vscsi0 at root
> scsibus1 at vscsi0: 256 targets
> softraid0 at root
> scsibus2 at softraid0: 256 targets
> root on sd0a (f03547feaad421a4.a) swap on sd0b dump on sd0b
> clock: unknown CMOS layout

Reply via email to