Junos OS

 View Only
last person joined: 2 days ago 

Ask questions and share experiences about Junos OS.
Expand all | Collapse all

EX4600 and CoS settings - Sum of the transmit-rate configured on all schedulers exceed the guaranteed rate

  • 1.  EX4600 and CoS settings - Sum of the transmit-rate configured on all schedulers exceed the guaranteed rate

    Posted 08-15-2020 14:30

    Hello everyone.

    I`m trying to configure CoS on EX4600 switch:

    classifiers {
        dscp CORE-DSCP {
            import default;
            forwarding-class best-effort {
                loss-priority low code-points [ 000000 000001 000010 000011 000100 000101 000110 000111 001000 001001 001011 001101 001111 010000 010001 010010 010011 010100 010101 010110 010111 011000 011001 011010 011011 011100 011101 011110 011111 100000 100001 100010 100011 100100 100101 100110 100111 101000 101001 101010 101011 101100 101101 101111 110001 110010 110011 110100 110101 110110 110111 111001 111010 111011 111100 111101 111110 111111 ];
            }
            forwarding-class assured-forwarding {
                loss-priority low code-points 001010;
                loss-priority high code-points [ 001100 001110 ];
            }
            forwarding-class expedited-forwarding {
                loss-priority low code-points 101110;
            }
            forwarding-class network-control {
                loss-priority low code-points [ 110000 111000 ];
            }
        }
        dscp-ipv6 CORE-DSCP-V6 {
            import default;
        }
        exp CORE-EXP {
            import default;
            forwarding-class best-effort {
                loss-priority low code-points 000;
                loss-priority high code-points 001;
            }
            forwarding-class expedited-forwarding {
                loss-priority low code-points 010;
                loss-priority high code-points 011;
            }
            forwarding-class assured-forwarding {
                loss-priority low code-points 100;
                loss-priority high code-points 101;
            }
            forwarding-class network-control {
                loss-priority low code-points 110;
                loss-priority high code-points 111;
            }
        }
        ieee-802.1 CORE-8021p-class {
            import default;
            forwarding-class best-effort {
                loss-priority low code-points 000;
                loss-priority high code-points 001;
            }
            forwarding-class expedited-forwarding {
                loss-priority low code-points 010;
                loss-priority high code-points 011;
            }
            forwarding-class assured-forwarding {
                loss-priority low code-points 100;
                loss-priority high code-points 101;
            }
            forwarding-class network-control {
                loss-priority low code-points 110;
                loss-priority high code-points 111;
            }
        }
    }
    drop-profiles {
        RELAXED {
            interpolate {
                fill-level [ 70 100 ];
                drop-probability [ 0 100 ];
            }
        }
        AGGRESSIVE {
            interpolate {
                fill-level [ 60 100 ];
                drop-probability [ 0 100 ];
            }
        }
    }
    shared-buffer {
        ingress {
            percent 100;
            buffer-partition lossless {
                percent 1;
            }
            buffer-partition lossless-headroom {
                percent 0;
            }
            buffer-partition lossy {
                percent 99;
            }
        }
        egress {
            percent 100;
            buffer-partition lossless {
                percent 1;
            }
            buffer-partition lossy {
                percent 98;
            }
            buffer-partition multicast {
                percent 1;
            }
        }                                   
    }
    forwarding-classes {
        class expedited-forwarding queue-num 1;
        class assured-forwarding queue-num 2;
    }
    traffic-control-profiles {
        CORE-tcp {
            scheduler-map CORE-SCHED-MAP;
        }
        L-tcp {
            scheduler-map L-SC;
        }
        SH-tcp {
            scheduler-map SH-SC;
        }
        ACCESS-tcp-L {
            scheduler-map ACCESS-L;
        }
        ACCESS-tcp-H {
            scheduler-map ACCESS-H;
        }
    }
    forwarding-class-sets {
        SP-SET {
            class assured-forwarding;
            class best-effort;
            class expedited-forwarding;
            class network-control;
        }
        SH-SET {
            class expedited-forwarding;
            class network-control;
        }
        L-SET {
            class best-effort;
            class assured-forwarding;
            class network-control;
            class expedited-forwarding;
        }
        ACCESS-L-SET {
            class network-control;
            class assured-forwarding;
            class best-effort;
            class expedited-forwarding;
        }
        ACCESS-H-SET {
            class expedited-forwarding;
        }
    }
    system-defaults {                       
        classifiers {
            exp CORE-EXP;
        }
    }
    interfaces {
        ge-0/0/17 {
            forwarding-class-set {
                ACCESS-L-SET {
                    output-traffic-control-profile ACCESS-tcp-L;
                }
            }
            unit * {
                classifiers {
                    ieee-802.1 CORE-8021p-class;
                }                           
                rewrite-rules {
                    ieee-802.1 CORE-8021p;
                }
            }
            classifiers {
                ieee-802.1 CORE-8021p-class;
            }
            rewrite-rules {
                ieee-802.1 CORE-8021p;
            }
        }
    }
    rewrite-rules {
        dscp-ipv6 CORE-DSCPv6 {
            import default;
        }
        exp CORE-EXP {
            forwarding-class best-effort {
                loss-priority low code-point 000;
                loss-priority high code-point 001;
            }
            forwarding-class expedited-forwarding {
                loss-priority low code-point 010;
                loss-priority high code-point 011;
            }
            forwarding-class assured-forwarding {
                loss-priority low code-point 100;
                loss-priority high code-point 101;
            }
            forwarding-class network-control {
                loss-priority low code-point 110;
                loss-priority high code-point 111;
            }
        }
        ieee-802.1 CORE-8021p {
            forwarding-class best-effort {
                loss-priority low code-point 000;
                loss-priority high code-point 001;
            }
            forwarding-class expedited-forwarding {
                loss-priority low code-point 010;
                loss-priority high code-point 011;
            }
            forwarding-class assured-forwarding {
                loss-priority low code-point 100;
                loss-priority high code-point 101;
            }
            forwarding-class network-control {
                loss-priority low code-point 110;
                loss-priority high code-point 111;
            }
        }
    }
    scheduler-maps {
        CORE-SCHED-MAP {
            forwarding-class best-effort scheduler BE-SCHED;
            forwarding-class assured-forwarding scheduler AF-SCHED;
            forwarding-class expedited-forwarding scheduler EF-SCHED;
            forwarding-class network-control scheduler NC-SCHED;
        }
        L-SC {
            forwarding-class best-effort scheduler BE-SCHED;
            forwarding-class assured-forwarding scheduler AF-SCHED;
            forwarding-class expedited-forwarding scheduler EF-SCHED;
            forwarding-class network-control scheduler NC-SCHED;
        }
        SH-SC {
            forwarding-class expedited-forwarding scheduler EF-SCHED;
            forwarding-class network-control scheduler NC-SCHED;
        }                                   
        ACCESS-L {
            forwarding-class best-effort scheduler BE-ACCESS;
            forwarding-class assured-forwarding scheduler AF-ACCESS;
            forwarding-class network-control scheduler NC-ACCESS;
            forwarding-class expedited-forwarding scheduler EF-ACCESS;
        }
        ACCESS-H {
            forwarding-class expedited-forwarding scheduler EF-ACCESS;
        }
    }
    schedulers {
        BE-SCHED {
            transmit-rate percent 65;
            buffer-size percent 65;
            priority low;
            drop-profile-map loss-priority any protocol any drop-profile AGGRESSIVE;
        }
        EF-SCHED {
            buffer-size percent 20;
            priority low;
            drop-profile-map loss-priority any protocol any drop-profile RELAXED;
        }
        AF-SCHED {
            transmit-rate percent 10;
            buffer-size percent 10;
            priority low;
            drop-profile-map loss-priority any protocol any drop-profile RELAXED;
        }
        NC-SCHED {
            buffer-size percent 5;
            priority low;
            drop-profile-map loss-priority any protocol any drop-profile RELAXED;
        }
        NC-ACCESS {
            transmit-rate percent 1;
            buffer-size percent 1;
            priority low;
            drop-profile-map loss-priority any protocol any drop-profile RELAXED;
        }
        EF-ACCESS {
            transmit-rate percent 1;
            buffer-size percent 1;
            priority low;
            drop-profile-map loss-priority any protocol any drop-profile RELAXED;
        }
        AF-ACCESS {
            transmit-rate percent 20;
            buffer-size percent 20;
            priority low;
            drop-profile-map loss-priority any protocol any drop-profile RELAXED;
        }
        BE-ACCESS {
            transmit-rate percent 78;
            buffer-size percent 78;
            priority low;
            drop-profile-map loss-priority any protocol any drop-profile AGGRESSIVE;
        }
        DEFAULT-SCHED {
            transmit-rate percent 1;
            buffer-size percent 1;
            priority low;
        }
        MCAST-SCHED {
            transmit-rate percent 1;
            buffer-size {
                percent 1;
                buffer-partition {
                    multicast;
                }
            }
            priority low;
        }
    }

    But after commiting my config i`m getting error:

    COSD_TRANSMIT_RATE_EXCEEDS_GUARANTEED_RATE: Sum of the transmit-rate configured on all schedulers exceed the guaranteed rate of tcp for ge-0/0/17. So default scheduling will be active for the interface

    I`ve checked sum of transmit rates for Scheduler-maps, but it doesn`t exceed 100%, so it looks ok for me.

    show class-of-service scheduler-map ACCESS-L | match tran 
        Transmit rate: 78 percent, Rate Limit: none, Buffer size: 78 percent, Buffer Limit: none, Priority: low
        Transmit rate: 1 percent, Rate Limit: none, Buffer size: 1 percent, Buffer Limit: none, Priority: low
        Transmit rate: 1 percent, Rate Limit: none, Buffer size: 1 percent, Buffer Limit: none, Priority: low
        Transmit rate: 20 percent, Rate Limit: none, Buffer size: 20 percent, Buffer Limit: none, Priority: low

    Maybe i don`t get something, trying to configure CoS for EX4600 like i do it on MX series?



  • 2.  RE: EX4600 and CoS settings - Sum of the transmit-rate configured on all schedulers exceed the guaranteed rate
    Best Answer

    Posted 08-17-2020 04:16

    https://www.juniper.net/documentation/en_US/junos/topics/concept/cos-qfx-series-scheduling-behavior-configuration-considerations-understanding.html

     

    For ETS hierarchical port scheduling, configuring the minimum guaranteed bandwidth (transmit-rate) for a forwarding class does not work unless you also configure the minimum guaranteed bandwidth (guaranteed-rate) for the forwarding class set in the traffic control profile.

    Additionally, the sum of the transmit rates of the forwarding classes in a forwarding class set should not exceed the guaranteed rate for the forwarding class set. (You cannot guarantee a minimum bandwidth for the queues that is greater than the minimum bandwidth guaranteed for the entire set of queues.) If you configure transmit rates whose sum exceeds the guaranteed rate of the forwarding class set, the commit check fails and the system rejects the configuration.