[Contents] [Prev] [Next] [Index] [Report an Error]


Examples: Configuring up to Eight Forwarding Classes

Configure a one-to-one mapping between eight forwarding classes and eight queues.

For PICs restricted to four queues, map two forwarding classes to each queue.

[edit class-of-service]
forwarding-classes {
    queue 0 be;
    queue 1 ef;
    queue 2 af;
    queue 3 nc;
    queue 4 ef1;
    queue 5 ef2;
    queue 6 af1;
    queue 7 nc1;
}

Mapping Two Forwarding Classes to Each Queue

[edit class-of-service]
restricted-queues {
    forwarding-class be queue 0;
    forwarding-class be1 queue 0;
    forwarding-class ef queue 1;
    forwarding-class ef1 queue 1;
    forwarding-class af queue 2;
    forwarding-class af1 queue 2;
    forwarding-class nc queue 3;
    forwarding-class nc1 queue 3;
}

Defining Eight Classifiers

[edit class-of-service]
classifiers {
    dscp dscp-table {
        forwarding-class ef {
            loss-priority low code-points [101000, 101001];
            loss-priority high code-points [101010, 101011];
        }
        forwarding-class af {
            loss-priority low code-points [010000, 010001];
            loss-priority high code-points [010010, 010011];
        }
        forwarding-class be {
            loss-priority low code-points [000000];
        }
        forwarding-class nc {
            loss-priority low code-points [111000];
        }
        forwarding-class ef1 {
            loss-priority low code-points [101100, 101101];
            loss-priority high code-points [101110];
        }
        forwarding-class af1 {
            loss-priority high code-points [101110];
        }
        forwarding-class ef2 {
            loss-priority low code-points [101111];
        }
        forwarding-class af2 {
            loss-priority low code-points [010000];
        }
    }
}

Adding Eight Schedulers to a Scheduler Map

Configure a custom scheduler map that applies globally to all interfaces, except those that are restricted to four queues.

[edit class-of-service]
scheduler-maps {
    interface-global {
        forwarding-class be scheduler Q0;
        forwarding-class ef scheduler Q1;
        forwarding-class af scheduler Q2;
        forwarding-class nc scheduler Q3;
        forwarding-class ef1 scheduler Q4;
        forwarding-class ef2 scheduler Q5;
        forwarding-class af1 scheduler Q6;
        forwarding-class nc1 scheduler Q7;
    }
}
schedulers {
    Q0 {
        transmit-rate percent 25;
        buffer-size percent 25;
        priority low;
        drop-profile-map loss-priority any protocol both drop-default;
    }
    Q1 {
        buffer-size temporal 2000;
        priority strict-high;
        drop-profile-map loss-priority any protocol both drop-ef;
    }
    Q2 {
        transmit-rate percent 35;
        buffer-size percent 35;
        priority low;
        drop-profile-map loss-priority any protocol both drop-default;
    }
    Q3 {
        transmit-rate percent 5;
        buffer-size percent 5;
        drop-profile-map loss-priority any protocol both drop-default;
    }
    Q4 {
        transmit-rate percent 5;
        priority high;
        drop-profile-map loss-priority any protocol both drop-ef;
    }
    Q5 {
        transmit-rate percent 10;
        priority high;
        drop-profile-map loss-priority any protocol both drop-ef;
    }
    Q6 {
        transmit-rate remainder;
        priority low;
        drop-profile-map loss-priority any protocol both drop-default;
    }
    Q7 {
        transmit-rate percent 5;
        priority high;
        drop-profile-map loss-priority any protocol both drop-default;
    }
}

Configuring a Scheduler Map Applicable to an Interface Restricted to Four Queues

For PICs restricted to four queues, if you map multiple forwarding classes to a queue, the multiple forwarding classes must refer to the same scheduler.

[edit class-of-service]
scheduler-maps {
    interface-restricted { 
        forwarding-class be scheduler Q0;
        forwarding-class ef scheduler Q1;
        forwarding-class ef1 scheduler Q1;
        forwarding-class ef2 scheduler Q1;
        forwarding-class af1 scheduler Q2;
        forwarding-class af scheduler Q2;
        forwarding-class nc scheduler Q3;
        forwarding-class nc1 scheduler Q3;
    }
}
[edit class-of-service]
restricted-queues {
    forwarding-class be queue 0;
    forwarding-class ef queue 1;
    forwarding-class ef1 queue 1;
    forwarding-class ef2 queue 1;
    forwarding-class af queue 2;
    forwarding-class af1 queue 2;
    forwarding-class nc queue 3;
    forwarding-class nc1 queue 3;
}

Configuring an IP Precedence Classifier and Rewrite Tables

[edit class-of-service]
classifiers {
    inet-precedence inet-classifier {
        forwarding-class be {
            loss-priority low code-points 000;
        }
        forwarding-class af11 {
            loss-priority high code-points 001;
        }
        forwarding-class ef {
            loss-priority low code-points 010;
        }
        forwarding-class nc1 {
            loss-priority high code-points 011;
        }
        forwarding-class  {
            loss-priority low code-points 100;
        }
        forwarding-class af12 {
            loss-priority high code-points 101;
        }
        forwarding-class ef1 {
            loss-priority low code-points 110;
        }
        forwarding-class nc2 {
            loss-priority high code-points 111;
        }
    }
}
exp exp-rw-table {
    forwarding-class be {
        loss-priority low code-point 000;
    }
    forwarding-class af11 {
        loss-priority high code-point 001;
    }
    forwarding-class ef {
        loss-priority low code-point 010;
    }
    forwarding-class nc1 {
        loss-priority high code-point 111;
    }
    forwarding-class be1 {
        loss-priority low code-point 100;
    }
    forwarding-class af12 {
        loss-priority high code-point 101;
    }
    forwarding-class ef1 {
        loss-priority low code-point 110;
    }
    forwarding-class nc2 {
        loss-priority low code-point 111;
    }
}
inet-precedence inet-rw-table {
    forwarding-class be {
        loss-priority low code-point 000;
    }
    forwarding-class af11 {
        loss-priority high code-point 001;
    }
    forwarding-class ef1 {
        loss-priority low code-point 010;
    }
    forwarding-class nc1 {
        loss-priority low code-point 111;
    }
    forwarding-class be1 {
        loss-priority low code-point 100;
    }
    forwarding-class af12 {
        loss-priority high code-point 101;
    }
    forwarding-class ef1 {
        loss-priority low code-point 111;
    }
    forwarding-class nc2 {
        loss-priority low code-point 110;
    }
}



[Contents] [Prev] [Next] [Index] [Report an Error]