# sub-class(htb)

モード
  トラフィックコントロール・ポリシー・クラスモード --> トラフィックコントロール・ポリシー・サブクラスモード
カテゴリー
  トラフィック制御 / Quality of Service

## 構文

コマンド構文

`(config-tc-class)# sub-class NAME cir RATE [pir RATE & bc <1-100000000> & be <1-100000000> & preference <0-7> & queue-length <2-65536> & set-dscp <0-63> & red-curve NAME & sub-sub-class-policy SCHED]`

`(config-tc-class)# sub-class NAME`

`(config-tc-class)# no sub-class NAME`

## コマンド説明

対象第一階層クラスに第二階層クラス（サブクラス）を追加する。
本コマンドは、class(htb)、class(priority)コマンドで指定した第二階層クラス間のキュー制御方式がHTBの場合に使う。

- sub-sub-class-policyパラメーターを指定した場合は、サブサブクラス（第三階層クラス）の設定を行うためのトラフィックコントロール・ポリシー・サブクラスモードに移行する。
- sub-sub-class-policyパラメーターを指定しなかった場合はトラフィックコントロール・ポリシー・クラスモードのまま移動しない。

no形式で実行した場合は指定したクラスを削除する。この場合はトラフィックコントロール・ポリシー・クラスモードのまま移動しない。
なお、単に「sub-class NAME」とした場合は、第三階層クラスの設定を行うためのトラフィックコントロール・ポリシー・サブクラスモードに移行する（指定した第二階層クラスがすでに存在しており、sub-sub-class-policyが指定されていることが前提）。

## パラメーター

`NAME`
  クラス名
`cir RATE`
  対象クラスの最小保証帯域（CIR）。単位として「kbit」（Kbps）、「mbit」（Mbps）、「gbit」（Gbps）のいずれかを指定すること。有効範囲は 1kbit ～ 100gbit
`pir RATE`
  対象クラスが使用可能な最大帯域（PIR）。単位として「kbit」（Kbps）、「mbit」（Mbps）、「gbit」（Gbps）のいずれかを指定すること。有効範囲は 1kbit ～ 100gbit。省略時はCIRと同じになる
`bc <1-100000000>`
  最小保証帯域（CIR）に対する許容バーストサイズ。単位はByte。未指定時はCIR、PIRに応じてMTUよりも大きい適切な値が割り当てられる
`be <1-100000000>`
  最大帯域（PIR）に対する許容バーストサイズ。単位はByte。未指定時はCIR、PIRに応じてMTUよりも大きい適切な値が割り当てられる
`preference <0-7>`
  対象クラスの余剰帯域割り当て優先度。7がもっとも高く、0がもっとも低い。省略時は7
`queue-length <2-65536>`
  末端クラスの最大キュー長（パケット数）。中間クラス（sub-sub-class-policyを指定したクラス）では指定できない。初期値は1000
`set-dscp <0-63>`
  末端クラスでパケットにセットするDSCP値。中間クラス（sub-sub-class-policyを指定したクラス）では指定できない。初期状態では未設定
`red-curve NAME`
  末端クラス内の各フローに適用するREDカーブテンプレート（red-curveコマンド）。中間クラス（sub-sub-class-policyを指定したクラス）では指定できない。初期状態では未設定
`sub-sub-class-policy SCHED`
  配下にサブサブクラス（第三階層クラス）を作成する場合に指定する。本パラメーターを指定した場合、本クラスは中間クラスとなり、第三階層クラスの設定を行うためのトラフィックコントロール・ポリシー・サブクラスモードに移行する。`SCHED`は第三階層クラス間のキュー制御方式。第二階層キュー間の制御方式がHTBのときはHTBしか選択できない。
  `htb`
    HTB（階層型トークンバケット）

## 注意・補足事項

red-curveパラメーターで指定したREDカーブテンプレートは、末端クラス内のフロー単位で適用される。

## コマンドツリー

## 関連コマンド