発信パケットの 3 つのラベルすべてにおける EXP ビットの書き換え
プロバイダ間、キャリアオブキャリア、複雑なトラフィックエンジニアリングのシナリオでは、swap-push-pushまたはトリプルプッシュ操作を使用して、ネクストホップに3つのラベルをプッシュする必要がある場合があります。
デフォルトでは、M シリーズ ルーターと EX シリーズ スイッチでは、swap-push-push 操作とトリプルプッシュ操作を設定しても、発信パケットの上位 MPLS EXP ラベルは書き換えされません。M シリーズ ルーターでは、送信パケットの 3 つのラベルすべての EXP ビットを書き換えることで、受信 MPLS または非 MPLS パケットの CoS を維持できます。
ソフトウェアが swap-push-push 操作を実行し、書き換えが設定されていない場合、3 つのラベルすべての EXP フィールドは古いラベルと同じです。EXP書き換えが設定されている場合、下の2つのラベルのEXPビットがテーブルエントリーで上書きされます。トップ ラベルの EXP 設定は書き換えても保持されます。
すべての受信MPLSパケットに3つのラベルをプッシュするには、 階層レベルに ステートメントを[edit class-of-service interfaces interface-name unit logical-unit-number rewrite-rules]含めますexp-swap-push-push default。
[edit class-of-service interfaces interface-name unit logical-unit-number rewrite-rules] exp-swap-push-push default;
ソフトウェアが push-push-push 操作を実行し、書き換えが設定されていない場合、下の 2 つのラベルの EXP フィールドはゼロになります。EXP書き換えが設定されている場合、下の2つのラベルのEXPフィールドはテーブルエントリーの書き換え値で書き換えます。トップ ラベルの EXP フィールドを Qn+PLP 値で挿入します。この Qn には、書き換えが設定されているかどうかに関係なく、マルチフィールド分類子が存在する場合の最終的な分類が反映されます。
エグレスインターフェイスの および exp-swap-push-push 設定はexp-push-push-push、IQまたはIQ2 PIC上のQn+PLP値でトップラベルのEXPフィールドを書き換えることはありません。
受信する非 MPLS パケットに 3 つのラベルをプッシュするには、 階層レベルで exp-push-push-push default ステートメントを [edit class-of-service interfaces interface-name unit logical-unit-number rewrite-rules] 含めます。
[edit class-of-service interfaces interface-name unit logical-unit-number rewrite-rules] exp-push-push-push default;
これらの設定は、MPLS および IPv4 パケット ヘッダーの書き換えで説明されているように、デフォルト MPLS EXP 書き換えテーブルを適用します。これらの操作を設定し、デフォルトの MPLS EXP 書き換えテーブルをカスタム テーブルで上書きできます。カスタム書き換えテーブルの書き込みと適用の詳細については、 書き換えルールの設定 と 出力論理インターフェイスへの書き換えルールの適用を参照してください。
3ラベルスタックでは、設定に または exp-push-push-push default ステートメントをexp-swap-push-push default含まない場合、トップラベルのEXPビットはゼロに設定されます。
例:発信パケットの3つのラベルすべてにおける EXP ビットの書き換え
swap-push-push操作を設定し、カスタムテーブルでデフォルトの書き換えテーブルを上書きします。
[edit class-of-service]
forwarding-classes {
queue 0 be;
queue 1 ef;
queue 2 af;
queue 3 nc;
}
interfaces {
so-1/1/3 {
unit 0 {
rewrite-rules {
exp exp_rew; # Apply custom rewrite table
exp-swap-push-push default;
}
}
}
}
rewrite-rules {
exp exp_rew {
forwarding-class be {
loss-priority low code-point 000;
loss-priority high code-point 100;
}
forwarding-class ef {
loss-priority low code-point 001;
loss-priority high code-point 101;
}
forwarding-class af {
loss-priority low code-point 010;
loss-priority high code-point 110;
}
forwarding-class nc {
loss-priority low code-point 011;
loss-priority high code-point 111;
}
}
}