Hi!
 I have FreeBSD9 router with ADSL connections and with 5Mb/s download speeed 
and only 850 Kb/s upload.

 I am attempting prioritization outgoing traffic coming from LAN (bulk and TCP 
ACK) and traffic coming from the router, because I have some services running 
on the server for remote clients.

mst="modulate state"
ext_if="em0"
int_if1="em1"

table <lan> persist {192.168.10/24}

set skip on {lo}
set ruleset-optimization basic
set state-policy if-bound
set require-order yes



scrub on $ext_if all random-id no-df min-ttl 128


### ALTQ

altq on $ext_if hfsc bandwidth 800Kb queue {std, lan, lan_ack, serv, serv_ack}
queue std bandwidth 50Kb priority 1 hfsc (default realtime 50Kb)
queue lan bandwidth 50Kb priority 2 hfsc (realtime 50Kb)
queue lan_ack bandwidth 50Kb priority 7 hfsc (realtime 300Kb upperlimit 300Kb)
queue serv bandwidth 50Kb priority 2 hfsc (realtime 50Kb)
queue serv_ack bandwidth 50Kb priority 7 hfsc (realtime 50Kb)

###

nat on $ext_if tag INET tagged INET -> ($ext_if) port 1024:65535

###################### BLOCK IN/OUT/ALL


block all
block in quick inet from urpf-failed to any
block in quick inet from no-route to any

antispoof quick for {$int_if1 lo} inet

####################### PASS IN

### EXT_IF_IN

pass in quick on $ext_if inet from any to ($ext_if) $mst (max 100) queue (serv 
serv_ack)

### INT_IF

pass in quick on $int_if1 inet from <lan> to !$int_if1 $mst tag INET
pass in quick on $int_if1 inet from <lan> to $int_if1


###################### PASS OUT

### EXT_IF

pass out quick on $ext_if inet from $ext_if to any tagged INET queue (lan 
lan_ack)
pass out quick on $ext_if inet from $ext_if to any queue (serv serv_ack)

### INT_IF
pass out quick on $int_if1 inet from $int_if1 to <lan>

  
pfctl -vvsq

queue root_em0 on em0 bandwidth 800Kb priority 0 {std, lan, lan_ack, serv, 
serv_ack}
  [ 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 50Kb hfsc( default realtime 50Kb )
  [ pkts:          3  bytes:        126  dropped pkts:      0 bytes:      0 ]
  [ qlength:   0/ 50 ]
  [ measured:     0.0 packets/s, 0 b/s ]
queue  lan on em0 bandwidth 50Kb priority 2 hfsc( realtime 50Kb )
  [ pkts:         17  bytes:       1123  dropped pkts:      0 bytes:      0 ]
  [ qlength:   0/ 50 ]
  [ measured:     0.0 packets/s, 0 b/s ]
queue  lan_ack on em0 bandwidth 50Kb priority 7 hfsc( realtime 300Kb upperlimit 
300Kb )
  [ pkts:       8872  bytes:     479088  dropped pkts:      0 bytes:      0 ]
  [ qlength:   0/ 50 ]
  [ measured:    49.0 packets/s, 21.19Kb/s ]
queue  serv on em0 bandwidth 50Kb priority 2 hfsc( realtime 50Kb )
  [ pkts:      11290  bytes:   17089007  dropped pkts:      0 bytes:      0 ]
  [ qlength:  43/ 50 ]
  [ measured:    50.0 packets/s, 605.60Kb/s ]
queue  serv_ack on em0 bandwidth 50Kb priority 7 hfsc( realtime 50Kb )
  [ pkts:         29  bytes:       2597  dropped pkts:      0 bytes:      0 ]
  [ qlength:   0/ 50 ]
  [ measured:     0.0 packets/s, 0 b/s ]


  Without ALTQ when anybody from Internet dowloading from server the dowload 
speed for LAN bring down to 20Kb/s. When use ALTQ - speed for LAN users bring 
down to 2Mb/s. This is good, but not as I have specified in pf.conf
  I have specified realtime speed for ACK's packets 300Kb but in real I have 
about 20Kb.

  In above queues output, one user from LAN downloading file and one from 
Internet downloading from router. Both via ftp.
  
  Where is my mistake?
_______________________________________________
freebsd-pf@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-pf
To unsubscribe, send any mail to "freebsd-pf-unsubscr...@freebsd.org"

Reply via email to