summaryrefslogtreecommitdiff
path: root/usr.sbin/altq/altqd/altq.conf.samples
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/altq/altqd/altq.conf.samples')
-rw-r--r--usr.sbin/altq/altqd/altq.conf.samples/cbq.bandwidthtest17
-rw-r--r--usr.sbin/altq/altqd/altq.conf.samples/cbq.diffedge57
-rw-r--r--usr.sbin/altq/altqd/altq.conf.samples/cbq.lo012
-rw-r--r--usr.sbin/altq/altqd/altq.conf.samples/cbq.sample057
-rw-r--r--usr.sbin/altq/altqd/altq.conf.samples/cbq.sample118
-rw-r--r--usr.sbin/altq/altqd/altq.conf.samples/cbq.sample213
-rw-r--r--usr.sbin/altq/altqd/altq.conf.samples/cbq.sharing36
-rw-r--r--usr.sbin/altq/altqd/altq.conf.samples/cbq.v668
-rw-r--r--usr.sbin/altq/altqd/altq.conf.samples/cbq.widecamp94
-rw-r--r--usr.sbin/altq/altqd/altq.conf.samples/cdnr.sample36
-rw-r--r--usr.sbin/altq/altqd/altq.conf.samples/hfsc.diffedge59
-rw-r--r--usr.sbin/altq/altqd/altq.conf.samples/hfsc.grate23
-rw-r--r--usr.sbin/altq/altqd/altq.conf.samples/hfsc.lo023
-rw-r--r--usr.sbin/altq/altqd/altq.conf.samples/hfsc.pvc014
-rw-r--r--usr.sbin/altq/altqd/altq.conf.samples/hfsc.share34
15 files changed, 561 insertions, 0 deletions
diff --git a/usr.sbin/altq/altqd/altq.conf.samples/cbq.bandwidthtest b/usr.sbin/altq/altqd/altq.conf.samples/cbq.bandwidthtest
new file mode 100644
index 00000000000..678de54b830
--- /dev/null
+++ b/usr.sbin/altq/altqd/altq.conf.samples/cbq.bandwidthtest
@@ -0,0 +1,17 @@
+#
+# this is the setting used for the bandwidth guarantee test (Fig. 7)
+# in the ALTQ paper
+#
+interface en0 bandwidth 134M cbq
+class cbq en0 root_class NULL priority 0 admission none pbandwidth 100
+class cbq en0 def_class root_class borrow priority 2 pbandwidth 95 default
+#
+class cbq en0 tcp_class0 def_class priority 3 pbandwidth 8
+filter en0 tcp_class0 0 0 0 6790 6
+class cbq en0 tcp_class1 def_class priority 3 pbandwidth 16
+filter en0 tcp_class1 0 0 0 6791 6
+class cbq en0 tcp_class2 def_class priority 3 pbandwidth 24
+filter en0 tcp_class2 0 0 0 6792 6
+class cbq en0 tcp_class3 def_class priority 3 pbandwidth 32
+filter en0 tcp_class3 0 0 0 6793 6
+
diff --git a/usr.sbin/altq/altqd/altq.conf.samples/cbq.diffedge b/usr.sbin/altq/altqd/altq.conf.samples/cbq.diffedge
new file mode 100644
index 00000000000..adea91ccb49
--- /dev/null
+++ b/usr.sbin/altq/altqd/altq.conf.samples/cbq.diffedge
@@ -0,0 +1,57 @@
+#
+# sample diffedge configuration using CBQ
+#
+
+#
+# input interface
+#
+interface pvc1
+#
+# EF conditioner
+#
+conditioner pvc1 ef_cdnr <tbmeter 6M 64K <mark 0xb8><drop>>
+ filter pvc1 ef_cdnr 0 0 172.16.4.174 0 0
+#
+# AF conditioners
+#
+conditioner pvc1 af1x_cdnr \
+ <trtcm 3M 32K 10M 64K <mark 0x28><mark 0x30><mark 0x38> colorblind>
+conditioner pvc1 af2x_cdnr \
+ <trtcm 3M 32K 10M 64K <mark 0x48><mark 0x50><mark 0x58> colorblind>
+conditioner pvc1 af3x_cdnr \
+ <trtcm 3M 32K 10M 64K <mark 0x68><mark 0x70><mark 0x78> colorblind>
+# tswtcm
+conditioner pvc1 af4x_cdnr \
+ <tswtcm 3M 10M 500 <mark 0x88><mark 0x90><mark 0x98>>
+
+ filter pvc1 af1x_cdnr 0 0 172.16.4.176 0 0
+ filter pvc1 af2x_cdnr 0 0 172.16.4.177 0 0
+ filter pvc1 af3x_cdnr 0 0 172.16.4.178 0 0
+ filter pvc1 af4x_cdnr 0 0 172.16.4.179 0 0
+
+#
+# output interface
+#
+interface pvc0 bandwidth 45M cbq
+class cbq pvc0 root_class NULL pbandwidth 100
+class cbq pvc0 def_class root_class borrow pbandwidth 86 default
+#
+# EF class
+#
+class cbq pvc0 ef_class root_class pbandwidth 14 priority 5
+ filter pvc0 ef_class 0 0 0 0 0 tos 0xb8 tosmask 0xfc
+#
+# AF classes
+#
+# rio threshold values
+rio 40 50 10 20 30 10 5 15 10
+#
+class cbq pvc0 af1x_class def_class borrow pbandwidth 20 rio
+class cbq pvc0 af2x_class def_class borrow pbandwidth 20 rio
+class cbq pvc0 af3x_class def_class borrow pbandwidth 20 rio cleardscp
+class cbq pvc0 af4x_class def_class borrow pbandwidth 20 rio
+
+ filter pvc0 af1x_class 0 0 0 0 0 tos 0x20 tosmask 0xe4
+ filter pvc0 af2x_class 0 0 0 0 0 tos 0x40 tosmask 0xe4
+ filter pvc0 af3x_class 0 0 0 0 0 tos 0x60 tosmask 0xe4
+ filter pvc0 af4x_class 0 0 0 0 0 tos 0x80 tosmask 0xe4
diff --git a/usr.sbin/altq/altqd/altq.conf.samples/cbq.lo0 b/usr.sbin/altq/altqd/altq.conf.samples/cbq.lo0
new file mode 100644
index 00000000000..ba519ee1fa9
--- /dev/null
+++ b/usr.sbin/altq/altqd/altq.conf.samples/cbq.lo0
@@ -0,0 +1,12 @@
+interface lo0 bandwidth 300M cbq
+class cbq lo0 root_class NULL pbandwidth 100
+class cbq lo0 def_class root_class borrow pbandwidth 95 default
+class cbq lo0 tcp_class def_class pbandwidth 10
+ filter lo0 tcp_class 0 0 0 0 6
+class cbq lo0 udp_class def_class pbandwidth 10
+ filter lo0 udp_class 0 0 0 0 17
+
+# filters for ipv6
+# filter6 lo0 tcp_class ::0 0 ::0 0 6
+# filter6 lo0 udp_class ::0 0 ::0 0 17
+# \ No newline at end of file
diff --git a/usr.sbin/altq/altqd/altq.conf.samples/cbq.sample0 b/usr.sbin/altq/altqd/altq.conf.samples/cbq.sample0
new file mode 100644
index 00000000000..ec662265aa3
--- /dev/null
+++ b/usr.sbin/altq/altqd/altq.conf.samples/cbq.sample0
@@ -0,0 +1,57 @@
+#
+# sample configuration file for 1Mbps link
+#
+interface sr0 bandwidth 1M cbq
+class cbq sr0 root NULL pbandwidth 100
+#
+# meta classes
+#
+class cbq sr0 ctl_class root pbandwidth 4 control
+class cbq sr0 def_class root borrow pbandwidth 95 default
+#
+class cbq sr0 bulk def_class borrow pbandwidth 30
+class cbq sr0 misc def_class borrow pbandwidth 30
+class cbq sr0 intr def_class borrow pbandwidth 30
+
+#
+# leaf classes
+#
+
+#
+# bulk data classes
+#
+class cbq sr0 tcp bulk borrow pbandwidth 5 red
+ filter sr0 tcp 0 0 0 0 6 # other tcp
+class cbq sr0 ftp bulk borrow pbandwidth 5 red
+ filter sr0 ftp 0 0 0 20 6 # ftp-data
+ filter sr0 ftp 0 20 0 0 6 # ftp-data
+class cbq sr0 http bulk borrow pbandwidth 5 red
+ filter sr0 http 0 0 0 80 6 # http
+ filter sr0 http 0 80 0 0 6 # http
+class cbq sr0 pop3 bulk borrow pbandwidth 5 red
+ filter sr0 pop3 0 0 0 110 6 # pop3
+ filter sr0 pop3 0 110 0 0 6 # pop3
+class cbq sr0 imap bulk borrow pbandwidth 5 red
+ filter sr0 imap 0 0 0 143 6 # imap
+ filter sr0 imap 0 143 0 0 6 # imap
+#
+# misc (udp) classes
+#
+class cbq sr0 udp misc borrow pbandwidth 5 red
+ filter sr0 udp 0 0 0 0 17 # other udp
+class cbq sr0 rip misc borrow pbandwidth 5 red
+ filter sr0 rip 0 520 0 0 17 # rip
+#
+# interactive classes
+#
+class cbq sr0 dns intr borrow pbandwidth 5 red
+ filter sr0 dns 0 0 0 53 17
+ filter sr0 dns 0 0 0 53 6
+class cbq sr0 telnet intr borrow pbandwidth 5 red
+ filter sr0 telnet 0 0 0 23 6 # telnet
+ filter sr0 telnet 0 23 0 0 6 # telnet
+ filter sr0 telnet 0 0 0 513 6 # rlogin
+ filter sr0 telnet 0 513 0 0 6 # rlogin
+class cbq sr0 ssh intr borrow pbandwidth 5 red
+ filter sr0 ssh 0 0 0 22 6 # ssh
+ filter sr0 ssh 0 22 0 0 6 # ssh
diff --git a/usr.sbin/altq/altqd/altq.conf.samples/cbq.sample1 b/usr.sbin/altq/altqd/altq.conf.samples/cbq.sample1
new file mode 100644
index 00000000000..a1a2c61e17c
--- /dev/null
+++ b/usr.sbin/altq/altqd/altq.conf.samples/cbq.sample1
@@ -0,0 +1,18 @@
+interface en0 bandwidth 135M cbq
+class cbq en0 root_class NULL pbandwidth 100
+class cbq en0 def_class root_class borrow pbandwidth 95 default
+# tcp, udp, mcast
+class cbq en0 tcp_class def_class borrow pbandwidth 40
+ filter en0 tcp_class 0 0 0 0 6
+class cbq en0 udp_class def_class borrow pbandwidth 40
+ filter en0 udp_class 0 0 0 0 17
+class cbq en0 mcast_class def_class pbandwidth 10
+ filter en0 mcast_class 224.0.0.0 netmask 0xf0000000 0 0 0 17
+# http ftp
+class cbq en0 http_class tcp_class borrow pbandwidth 10
+ filter en0 http_class 0 0 0 80 6
+class cbq en0 ftp_class tcp_class borrow pbandwidth 10
+ filter en0 ftp_class 0 0 0 20 6
+ filter en0 ftp_class 0 20 0 0 6
+
+
diff --git a/usr.sbin/altq/altqd/altq.conf.samples/cbq.sample2 b/usr.sbin/altq/altqd/altq.conf.samples/cbq.sample2
new file mode 100644
index 00000000000..a7c913257e7
--- /dev/null
+++ b/usr.sbin/altq/altqd/altq.conf.samples/cbq.sample2
@@ -0,0 +1,13 @@
+# cbq configuration for vx0 (10Mbps ether)
+# give at least 40% to TCP
+# limit HTTP from network 133.138.1.0 up to 10%
+# other traffic goes into default class
+interface vx0 bandwidth 10M cbq
+class cbq vx0 root_class NULL pbandwidth 100
+class cbq vx0 def_class root_class borrow pbandwidth 95 default
+class cbq vx0 tcp_class def_class borrow pbandwidth 40
+ filter vx0 tcp_class 0 0 0 0 6
+class cbq vx0 csl_class tcp_class pbandwidth 10
+ filter vx0 csl_class 0 0 133.138.1.0 netmask 0xffffff00 80 6
+ filter vx0 csl_class 133.138.1.0 netmask 0xffffff00 0 0 80 6
+
diff --git a/usr.sbin/altq/altqd/altq.conf.samples/cbq.sharing b/usr.sbin/altq/altqd/altq.conf.samples/cbq.sharing
new file mode 100644
index 00000000000..adaf008d757
--- /dev/null
+++ b/usr.sbin/altq/altqd/altq.conf.samples/cbq.sharing
@@ -0,0 +1,36 @@
+#
+# this is the setting used for the link-sharing test (Fig. 10, 11)
+# in the ALTQ paper
+#
+#
+# WRR for cbq two Agency link sharing test
+#
+interface pvc0 bandwidth 134M cbq
+class cbq pvc0 root_class NULL priority 0 pbandwidth 100
+class cbq pvc0 ctl_class root_class pbandwidth 0
+#
+# Create Agency A classes
+#
+class cbq pvc0 agencyA root_class priority 2 pbandwidth 70 borrow default
+class cbq pvc0 dataA_class agencyA priority 3 pbandwidth 40 borrow
+class cbq pvc0 vidA_class agencyA priority 4 pbandwidth 30 borrow
+#
+# Create Agency B class
+#
+class cbq pvc0 agencyB root_class priority 2 pbandwidth 30 borrow
+class cbq pvc0 dataB_class agencyB priority 3 pbandwidth 20 borrow
+class cbq pvc0 vidB_class agencyB priority 4 pbandwidth 10 borrow
+#
+# Filters
+#
+# dataA - 172.16.4.176/6760
+# vidA - 172.16.4.176/6761
+#
+filter pvc0 dataA_class 0 0 172.16.3.178 6760 6
+filter pvc0 vidA_class 0 0 172.16.3.178 6761 6
+#
+# data B - 172.16.3.178/6762
+# vid B - 172.16.3.178/6763
+#
+filter pvc0 dataB_class 0 0 172.16.4.176 6760 6
+filter pvc0 vidB_class 0 0 172.16.4.176 6761 6
diff --git a/usr.sbin/altq/altqd/altq.conf.samples/cbq.v6 b/usr.sbin/altq/altqd/altq.conf.samples/cbq.v6
new file mode 100644
index 00000000000..894a26984a5
--- /dev/null
+++ b/usr.sbin/altq/altqd/altq.conf.samples/cbq.v6
@@ -0,0 +1,68 @@
+#
+# CBQ (for IPv6) configuration for the WIDE Camp'98 Fall
+#
+interface sr0 bandwidth 128K cbq
+class cbq sr0 root NULL pbandwidth 100
+#
+# meta classes
+#
+class cbq sr0 ctl_class root pbandwidth 4 control
+class cbq sr0 def_class root borrow pbandwidth 95 default
+#
+class cbq sr0 bulk def_class borrow pbandwidth 40
+class cbq sr0 misc def_class borrow pbandwidth 25
+class cbq sr0 intr def_class borrow pbandwidth 25
+
+#
+# leaf classes
+#
+
+#
+# bulk data classes
+#
+class cbq sr0 tcp bulk borrow pbandwidth 10 red
+ filter6 sr0 tcp ::0 0 ::0 0 6 # other tcp
+class cbq sr0 ftp bulk borrow pbandwidth 10 red
+ filter6 sr0 ftp ::0 0 ::0 20 6 # ftp-data
+ filter6 sr0 ftp ::0 20 ::0 0 6 # ftp-data
+class cbq sr0 http bulk borrow pbandwidth 10 red
+ filter6 sr0 http ::0 0 ::0 80 6 # http
+ filter6 sr0 http ::0 80 ::0 0 6 # http
+ filter6 sr0 http ::0 0 ::0 8080 6 # http proxy
+ filter6 sr0 http ::0 8080 ::0 0 6 # http proxy
+ filter6 sr0 http ::0 0 ::0 3128 6 # squid
+ filter6 sr0 http ::0 3128 ::0 0 6 # squid
+class cbq sr0 pop3 bulk borrow pbandwidth 10 red
+ filter6 sr0 pop3 ::0 0 ::0 110 6 # pop3
+ filter6 sr0 pop3 ::0 110 ::0 0 6 # pop3
+
+#
+# misc (udp, ipv4) classes
+#
+class cbq sr0 udp misc borrow pbandwidth 5 red
+ filter6 sr0 udp ::0 0 ::0 0 17 # other udp
+class cbq sr0 cbq misc borrow pbandwidth 5 red
+ filter6 sr0 cbq ::0 7289 ::0 0 17 # cbq monitor
+ filter6 sr0 cbq ::0 7291 ::0 0 17 # cbq monitor
+class cbq sr0 rip misc borrow pbandwidth 5 red
+ filter6 sr0 rip ::0 520 ::0 0 17 # rip
+ filter6 sr0 rip ::0 0 ::0 520 17 # rip
+class cbq sr0 ipv4 misc borrow pbandwidth 10 red
+ filter sr0 ipv4 0 0 0 0 0 # ipv4
+
+#
+# interactive classes
+#
+class cbq sr0 dns intr borrow pbandwidth 5 red
+ filter6 sr0 dns ::0 0 ::0 53 17 # dns (udp)
+ filter6 sr0 dns ::0 53 ::0 0 17 # dns (udp)
+ filter6 sr0 dns ::0 0 ::0 53 6 # dns (tcp)
+ filter6 sr0 dns ::0 53 ::0 0 6 # dns (tcp)
+class cbq sr0 telnet intr borrow pbandwidth 10 red
+ filter6 sr0 telnet ::0 0 ::0 23 6 # telnet
+ filter6 sr0 telnet ::0 23 ::0 0 6 # telnet
+ filter6 sr0 telnet ::0 0 ::0 513 6 # rlogin
+ filter6 sr0 telnet ::0 513 ::0 0 6 # rlogin
+class cbq sr0 ssh intr borrow pbandwidth 10 red
+ filter6 sr0 ssh ::0 0 ::0 22 6 # ssh
+ filter6 sr0 ssh ::0 22 ::0 0 6 # ssh
diff --git a/usr.sbin/altq/altqd/altq.conf.samples/cbq.widecamp b/usr.sbin/altq/altqd/altq.conf.samples/cbq.widecamp
new file mode 100644
index 00000000000..206cd58b1fe
--- /dev/null
+++ b/usr.sbin/altq/altqd/altq.conf.samples/cbq.widecamp
@@ -0,0 +1,94 @@
+#
+# cbq config for wide-camp (98 spring)
+# 384kbps line for more than 250 people
+#
+interface sr0 bandwidth 384000 cbq
+class cbq sr0 root NULL priority 0 pbandwidth 100
+#
+# meta classes
+#
+class cbq sr0 ctl_class root priority 3 pbandwidth 4 maxburst 4 control
+class cbq sr0 def_class root borrow priority 2 pbandwidth 60 default
+#
+class cbq sr0 bulk def_class borrow priority 0 pbandwidth 20
+class cbq sr0 misc def_class borrow priority 0 pbandwidth 12
+class cbq sr0 intr def_class borrow priority 0 pbandwidth 24
+
+#
+# leaf classes
+#
+
+#
+# bulk data classes
+#
+class cbq sr0 tcp bulk borrow priority 3 pbandwidth 4 maxburst 8 red
+ filter sr0 tcp 0 0 0 0 6 # other tcp
+class cbq sr0 ftp bulk borrow priority 3 pbandwidth 4 maxburst 8 red
+ filter sr0 ftp 0 0 0 20 6 # ftp-data
+ filter sr0 ftp 0 20 0 0 6 # ftp-data
+class cbq sr0 http bulk borrow priority 3 pbandwidth 4 maxburst 8 red
+ filter sr0 http 0 0 0 80 6 # http
+ filter sr0 http 0 80 0 0 6 # http
+ filter sr0 http 0 0 0 8080 6 # cache
+ filter sr0 http 0 8080 0 0 6 # cache
+ filter sr0 http 0 0 0 443 6 # https
+ filter sr0 http 0 443 0 0 6 # https
+class cbq sr0 pop3 bulk borrow priority 3 pbandwidth 4 maxburst 8 red
+ filter sr0 pop3 0 0 0 110 6 # pop3
+ filter sr0 pop3 0 110 0 0 6 # pop3
+class cbq sr0 imap bulk borrow priority 3 pbandwidth 4 maxburst 8 red
+ filter sr0 imap 0 0 0 143 6 # imap
+ filter sr0 imap 0 143 0 0 6 # imap
+#
+# misc (udp) classes
+#
+class cbq sr0 udp misc borrow priority 3 pbandwidth 4 maxburst 8 red
+ filter sr0 udp 0 0 0 0 17 # other udp
+class cbq sr0 cbq misc borrow priority 3 pbandwidth 4 maxburst 8 red
+ filter sr0 cbq 224.8.8.0 0 0 0 17 # cbq traffic monitor
+class cbq sr0 rip misc borrow priority 3 pbandwidth 4 maxburst 8 red
+ filter sr0 rip 0 520 0 0 17 # rip
+#
+# interactive classes
+#
+class cbq sr0 dns intr borrow priority 5 pbandwidth 4 maxburst 8 red
+ filter sr0 dns 0 0 0 53 17
+ filter sr0 dns 0 0 0 53 6
+class cbq sr0 telnet intr borrow priority 4 pbandwidth 4 maxburst 8 red ecn
+ filter sr0 telnet 0 0 0 23 6 # telnet
+ filter sr0 telnet 0 23 0 0 6 # telnet
+ filter sr0 telnet 0 0 0 513 6 # rlogin
+ filter sr0 telnet 0 513 0 0 6 # rlogin
+class cbq sr0 ssh intr borrow priority 4 pbandwidth 4 maxburst 8 red ecn
+ filter sr0 ssh 0 0 0 22 6 # ssh
+ filter sr0 ssh 0 22 0 0 6 # ssh
+class cbq sr0 ipv6 intr borrow priority 4 pbandwidth 4 maxburst 8 red ecn
+ filter sr0 ipv6 0 0 0 0 41 # ipv6
+class cbq sr0 ipsec intr borrow priority 4 pbandwidth 4 maxburst 8 red ecn
+ filter sr0 ipsec 0 0 0 0 50 # ipsec (ah)
+ filter sr0 ipsec 0 0 0 0 51 # ipsec (esp)
+
+## irc for soi staff
+class cbq sr0 irc intr borrow priority 4 pbandwidth 4 maxburst 8 red
+ filter sr0 irc 0 6667 0 0 6 # soi irc
+ filter sr0 irc 0 0 0 6667 6 # soi irc
+#
+# fec
+#
+class cbq sr0 fec root borrow priority 0 pbandwidth 0 maxburst 8 # red
+ filter sr0 fec 0 0 0 0 200 # fec
+#
+# soi video live
+#
+class cbq sr0 soi root priority 0 pbandwidth 32
+#
+class cbq sr0 video soi borrow priority 3 pbandwidth 16 maxburst 8 red
+ filter sr0 video 0 7070 0 0 17 # soi video
+class cbq sr0 voice soi borrow priority 3 pbandwidth 16 maxburst 8 red
+ filter sr0 voice 0 40034 0 0 17 # soi i-phone
+
+#
+# protection against tunnel (including mbone tunnel)
+#
+class cbq sr0 ipip root borrow priority 0 pbandwidth 0
+ filter sr0 ipip 0 0 0 0 4 # ip-ip
diff --git a/usr.sbin/altq/altqd/altq.conf.samples/cdnr.sample b/usr.sbin/altq/altqd/altq.conf.samples/cdnr.sample
new file mode 100644
index 00000000000..fe8f8e4b448
--- /dev/null
+++ b/usr.sbin/altq/altqd/altq.conf.samples/cdnr.sample
@@ -0,0 +1,36 @@
+#
+# null interface command
+#
+interface pvc1
+
+#
+# simple dropper
+#
+conditioner pvc1 dropper <drop>
+ filter pvc1 dropper 0 0 172.16.4.173 0 0
+
+#
+# simple marker to clear dscp
+#
+conditioner pvc1 clear_marker <mark 0x0>
+ filter pvc1 clear_marker 0 0 172.16.4.174 0 0
+
+#
+# EF style conditioner (a simple token bucket)
+#
+conditioner pvc1 ef_cdnr <tbmeter 6M 64K <pass><drop>>
+ filter pvc1 ef_cdnr 0 0 172.16.4.176 0 0
+
+#
+# AF style conditioners (trTCM)
+#
+conditioner pvc1 af1x_cdnr \
+ <trtcm 3M 32K 10M 64K <mark 0x28><mark 0x30><mark 0x38> colorblind>
+ filter pvc1 af1x_cdnr 0 0 172.16.4.177 0 0
+
+#
+# color-blind trTCM is equivalent to a dual tokenbucket meter
+#
+conditioner pvc1 dual_tb \
+ <tbmeter 10M 64K <tbmeter 3M 32K <mark 0x28><mark 0x30>><mark 0x38>>
+ filter pvc1 dual_tb 0 0 172.16.4.178 0 0
diff --git a/usr.sbin/altq/altqd/altq.conf.samples/hfsc.diffedge b/usr.sbin/altq/altqd/altq.conf.samples/hfsc.diffedge
new file mode 100644
index 00000000000..cdebb8bfef9
--- /dev/null
+++ b/usr.sbin/altq/altqd/altq.conf.samples/hfsc.diffedge
@@ -0,0 +1,59 @@
+#
+# sample diffedge configuration using HFSC
+#
+
+# input interface
+#
+interface pvc1
+#
+# EF conditioner
+#
+conditioner pvc1 ef_cdnr <tbmeter 6M 64K <mark 0xb8><drop>>
+ filter pvc1 ef_cdnr 0 0 172.16.4.174 0 0
+#
+# AF conditioners
+#
+conditioner pvc1 af1x_cdnr \
+ <trtcm 3M 32K 10M 64K <mark 0x28><mark 0x30><mark 0x38> colorblind>
+conditioner pvc1 af2x_cdnr \
+ <trtcm 3M 32K 10M 64K <mark 0x48><mark 0x50><mark 0x58> colorblind>
+conditioner pvc1 af3x_cdnr \
+ <trtcm 3M 32K 10M 64K <mark 0x68><mark 0x70><mark 0x78> colorblind>
+# tswtcm
+conditioner pvc1 af4x_cdnr \
+ <tswtcm 3M 10M 500 <mark 0x88><mark 0x90><mark 0x98>>
+
+ filter pvc1 af1x_cdnr 0 0 172.16.4.176 0 0
+ filter pvc1 af2x_cdnr 0 0 172.16.4.177 0 0
+ filter pvc1 af3x_cdnr 0 0 172.16.4.178 0 0
+ filter pvc1 af4x_cdnr 0 0 172.16.4.179 0 0
+
+#
+# output interface
+#
+interface pvc0 bandwidth 45M hfsc
+class hfsc pvc0 def_class root pshare 10 default
+#
+# EF class
+# real-time: 6Mbps
+# link-sharing: 0%
+#
+class hfsc pvc0 ef_class root grate 6M
+ filter pvc0 ef_class 0 0 0 0 0 tos 0xb8 tosmask 0xfc
+#
+# AF classes
+# real-time: 3Mbps
+# link-sharing: 10% (4.5Mbps)
+#
+# rio threshold values
+rio 40 50 10 20 30 10 5 15 10
+#
+class hfsc pvc0 af1x_class root grate 3M pshare 10 rio
+class hfsc pvc0 af2x_class root grate 3M pshare 10 rio
+class hfsc pvc0 af3x_class root grate 3M pshare 10 rio cleardscp
+class hfsc pvc0 af4x_class root grate 3M pshare 10 rio
+
+ filter pvc0 af1x_class 0 0 0 0 0 tos 0x20 tosmask 0xe4
+ filter pvc0 af2x_class 0 0 0 0 0 tos 0x40 tosmask 0xe4
+ filter pvc0 af3x_class 0 0 0 0 0 tos 0x60 tosmask 0xe4
+ filter pvc0 af4x_class 0 0 0 0 0 tos 0x80 tosmask 0xe4
diff --git a/usr.sbin/altq/altqd/altq.conf.samples/hfsc.grate b/usr.sbin/altq/altqd/altq.conf.samples/hfsc.grate
new file mode 100644
index 00000000000..67f3ebef2f5
--- /dev/null
+++ b/usr.sbin/altq/altqd/altq.conf.samples/hfsc.grate
@@ -0,0 +1,23 @@
+#
+# a simple test config for loopback
+#
+
+#
+# interface bandwidth 45Mbps is arbitrary (it doesn't matter as long as
+# it is bigger than the total guaranteed bandwidth)
+#
+interface pvc0 bandwidth 45M hfsc
+#
+# 50% of the excess bandwidth goes to the default class
+#
+class hfsc pvc0 def_class root pshare 50 default
+#
+# TCP 10Mbps guaranteed rate (no excess bandwidth assigned)
+#
+class hfsc pvc0 tcp_class root grate 10M
+ filter pvc0 tcp_class 0 0 0 0 6
+#
+# UDP 5Mbps guaranteed rate (no excess bandwidth assigned)
+#
+class hfsc pvc0 udp_class root grate 5M
+ filter pvc0 udp_class 0 0 0 0 17
diff --git a/usr.sbin/altq/altqd/altq.conf.samples/hfsc.lo0 b/usr.sbin/altq/altqd/altq.conf.samples/hfsc.lo0
new file mode 100644
index 00000000000..789b3baadb8
--- /dev/null
+++ b/usr.sbin/altq/altqd/altq.conf.samples/hfsc.lo0
@@ -0,0 +1,23 @@
+#
+# a simple test config for loopback
+#
+
+#
+# interface bandwidth 300Mbps is arbitrary (it doesn't matter as long as
+# it is bigger than the total guaranteed bandwidth)
+#
+interface lo0 bandwidth 300M hfsc
+#
+# 50% of the excess bandwidth goes to the default class
+#
+class hfsc lo0 def_class root pshare 50 default
+#
+# TCP 10Mbps guaranteed rate (no excess bandwidth assigned)
+#
+class hfsc lo0 tcp_class root grate 10M
+ filter lo0 tcp_class 0 0 0 0 6
+#
+# UDP 5Mbps guaranteed rate (no excess bandwidth assigned)
+#
+class hfsc lo0 udp_class root grate 5M
+ filter lo0 udp_class 0 0 0 0 17
diff --git a/usr.sbin/altq/altqd/altq.conf.samples/hfsc.pvc0 b/usr.sbin/altq/altqd/altq.conf.samples/hfsc.pvc0
new file mode 100644
index 00000000000..05c73333781
--- /dev/null
+++ b/usr.sbin/altq/altqd/altq.conf.samples/hfsc.pvc0
@@ -0,0 +1,14 @@
+#
+# simple test config for pvc0
+#
+
+#
+interface pvc0 bandwidth 45M hfsc
+#
+class hfsc pvc0 def_class root pshare 60 default
+class hfsc pvc0 shared_class root pshare 40
+class hfsc pvc0 tcp_class shared_class pshare 30
+ filter pvc0 tcp_class 0 0 0 0 6
+class hfsc pvc0 csl_class shared_class pshare 10
+ filter pvc0 csl_class 0 0 172.16.4.176 0 6
+
diff --git a/usr.sbin/altq/altqd/altq.conf.samples/hfsc.share b/usr.sbin/altq/altqd/altq.conf.samples/hfsc.share
new file mode 100644
index 00000000000..2086553f9c0
--- /dev/null
+++ b/usr.sbin/altq/altqd/altq.conf.samples/hfsc.share
@@ -0,0 +1,34 @@
+#
+# a config for hierachical sharing
+#
+
+interface pvc0 bandwidth 45M hfsc
+#
+# 10% of the bandwidth share goes to the default class
+#
+class hfsc pvc0 def_class root pshare 10 default
+#
+# bandwidth share guaranteed rate
+# CMU: 45% 15Mbps
+# MIT: 45% 15Mbps
+#
+class hfsc pvc0 cmu root grate 15M pshare 45
+class hfsc pvc0 mit root grate 15M pshare 45
+#
+# CMU bandwidth share guaranteed rate
+# CS: 20% 10Mbps
+# other: 20% 5Mbps
+#
+class hfsc pvc0 cmu_other cmu grate 10M pshare 20
+ filter pvc0 cmu_other 0 0 0 0 6
+class hfsc pvc0 cmu_cs cmu grate 5M pshare 20
+ filter pvc0 cmu_cs 0 0 172.16.4.176 0 6
+#
+# MIT bandwidth share guaranteed rate
+# CS: 20% 10Mbps
+# other: 20% 5Mbps
+#
+class hfsc pvc0 mit_other mit grate 10M pshare 20
+ filter pvc0 mit_other 0 0 0 0 17
+class hfsc pvc0 mit_cs mit grate 5M pshare 20
+ filter pvc0 mit_cs 0 0 172.16.4.176 0 17