ツーレートの tokenmt をカラーアウェアとして構成するには、「カラーアウェアネス」を有効にするパラメータを追加する必要があります。次に、カラーアウェアの tokenmt を構成するアクション文の例を示します。
action { module tokenmt name meter1 params { committed_rate 4000000 peak_rate 8000000 committed_burst 4000000 peak_burst 8000000 global_stats true red_action_name continue yellow_action_name continue green_action_name continue color_aware true color_map {0-20,22:GREEN;21,23-42:RED;43-63:YELLOW} } }
color_aware パラメータを true に設定することによって、カラーアウェアを有効にできます。カラーアウェアにした tokenmt メーターは、以前の tokenmt アクションによってパケットが赤、黄、または緑にマーキング済みであるものと見なします。カラーアウェアの tokenmt は、ツーレートメーター用のパラメータに加え、パケットヘッダー内の DS コードポイントも使用してパケットを評価します。
color_map パラメータには、パケットヘッダー内の DSCP がマッピングされた配列が含まれます。次の color_map 配列について説明します。
color_map {0-20,22:GREEN;21,23-42:RED;43-63:YELLOW}
DSCP が 0〜20 および 22 のパケットは緑にマッピングされます。DSCP が 21 および 23〜42 のパケットは赤にマッピングされます。DSCP が 43〜63 のパケットは黄にマッピングされます。tokenmt は、デフォルトのカラーマップを持っていますが、必要に応じ color_map パラメータを使用してカラーマップを変更できます。
color_action_name パラメータでは、continue を指定するとパケットの処理を完了できます。また、たとえば yellow_action_name markAF22 のように、引数を指定してパケットをマーカーアクションに送信することもできます。