Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Asignación de comandos QoS de OpenConfig a la configuración de Junos

Nota:

Consulte Versión del modelo de datos de OpenConfig para conocer las versiones del modelo de datos compatibles y las versiones correspondientes de Junos OS o Junos Evolved OS.

Configuración de clases de reenvío

Consulte la Tabla 1 para ver las asignaciones de configuración de las siguientes rutas de OpenConfig:

  • /qos/forwarding-groups/forwarding-group/name
  • /qos/forwarding-groups/forwarding-group/config/name
  • /qos/forwarding-groups/forwarding-group/config/fabric-priority
  • /qos/forwarding-groups/forwarding-group/config/output-queue
Tabla 1: Configuración de clases de reenvío

Configuración de OpenConfig

Configuración de Junos

openconfig-qos:qos {
       forwarding-groups {
              forwarding-group {
                    name af1;
                    config {
                          name <>;
                          fabric-priority 0;
                          output-queue <>;
                    }
              }
              forwarding-group {
                    name nc;
                    config {
                          name <>;
                          fabric-priority 1;
                          output-queue <>;
                    }
              }
       }
}
class-of-service {
    forwarding-classes {
        class <name> queue-num <num> priority low;
        class <name> queue-num <num> priority high;
   }
}

Un valor OpenConfig fabric-priority de 0 indica prioridad baja. Cualquier valor distinto de cero indica prioridad alta. El fabric-priority valor no se admite en la plataforma PTX.

Configuración del clasificador de BA

Consulte para ver las asignaciones de configuración de las siguientes rutas de OpenConfig:

  • /qos/classifiers/classifier/name
  • /qos/classifiers/classifier/terms/term/id
  • /qos/classifiers/classifier/terms/term/conditions/ipv4/config/dscp
  • /qos/classifiers/classifier/terms/term/actions/config/target-group
Nota:

Para seguir más fácilmente los ejemplos de OpenConfig a continuación, las variables se utilizan en el árbol de configuración de OpenConfig anterior.

Tabla 2: Configuración del clasificador de BA

Configuración de OpenConfig

Configuración de Junos

openconfig-qos:qos {
    classifiers {
        classifier {
            name DSCP;
            terms {
                term {
                    id 0;
                    conditions {
                        ipv4 {
                            config {
                                dscp 000000;
                            }
                        }
                    }
                    actions {
                        config {
                            target-group best-effort;
                        }
                    }
                }
            }
        }
    }
}
class-of-service {
    classifiers {
        dscp DSCP {
            forwarding-class best-effort {
                loss-priority low code-points 000000;
            }
        }
    }
}

Junos OS espera un loss-priority valor. La configuración de OpenConfig no proporciona esto. De forma predeterminada, el loss-priority valor es low.

El valor OpenConfig code-point se proporciona utilizando formato de bits como octetos y valores decimales como decimales. Para evitar confusiones, proporcione code-point valores en formato decimal. Por ejemplo:

set openconfig-qos:qos classifiers classifier DSCP terms term 0 conditions ipv4 config dscp 3

El valor term id de OpenConfig es el mismo que el queue-num valor que representa el grupo de reenvío. Por ejemplo, si el mejor esfuerzo se adjunta a la cola 0, el term id valor es 0.

Al transmitir el valor de telemetría state , el valor de Junos queue-num al que está asignado el valor de OpenConfig target-group se exportará como el term id valor. Por ejemplo:

set openconfig-qos:qos classifiers classifier DSCP terms term 0 actions config target-group best-effort

Configuración del clasificador MPLS

Consulte la Tabla 3 para ver las asignaciones de configuración de las siguientes rutas de OpenConfig:

  • /qos/classifiers/classifier/terms/term/conditions/mpls
  • /qos/classifiers/classifier/terms/term/conditions/mpls/config
  • /qos/classifiers/classifier/terms/term/conditions/mpls/config/traffic-class
  • /qos/classifiers/classifier/terms/term/actions/config/target-group
Tabla 3: Configuración del clasificador MPLS

Configuración de OpenConfig

Configuración de Junos

openconfig-qos:qos {
    classifiers {
        classifier <> {
            config {
                name <>;
                type <>;
            }
            terms {
                term {
                    id <>;
                    conditions {
                        mpls {
                            config {
                                traffic-class <>;
                            }
                        }
                    }
                    actions {
                        config {
                            target-group <>;
                            }
                        }
                    }
                 }
                term {
                    id <>;
                    conditions {
                        mpls {
                            config {
                                traffic-class <>;
                            }
                        }
                    }
                    actions {
                        config {
                            target-group <>;
                            }
                        }
                    }
                 }
             }
         }
    }
}
class-of-service {
    classifiers {
        exp <> {
            forwarding-class <> {
                loss-priority low code-points <>;
            }
            forwarding-class <> {
                loss-priority low code-points <>;
            }
        }
    }
}

Junos OS espera un loss-priority valor. La configuración de OpenConfig no proporciona esto. De forma predeterminada, el loss-priority valor es low.

El valor OpenConfig code-point se proporciona utilizando formato de bits como octetos y valores decimales como decimales. Para evitar confusiones, proporcione code-point valores en formato decimal.

El valor term id de OpenConfig es el mismo que el queue-num valor que representa el grupo de reenvío. Por ejemplo, si el mejor esfuerzo se adjunta a la cola 0, el term id valor es 0.

Al transmitir el valor de telemetría state , el valor de Junos queue-num al que está asignado el valor de OpenConfig target-group se exportará como el term id valor.

Configuración de reglas de reescritura

Consulte la Tabla 4 para ver las asignaciones de configuración de las siguientes rutas de OpenConfig:

  • /qos/classifiers/classifier/terms/term/actions/remark
  • /qos/classifiers/classifier/terms/term/actions/remark/config
  • /qos/classifiers/classifier/terms/term/actions/remark/config/set-dscp
  • /qos/classifiers/classifier/terms/term/actions/remark/config/set-dot1p
  • /qos/classifiers/classifier/terms/term/actions/remark/config/set-mpls-tc
Tabla 4: Configuración de reglas de reescritura

Configuración de OpenConfig

Configuración de Junos

openconfig-qos:qos {
    classifiers {
        classifier <> {
            config {
                name <>;
                type IPV4;
            }
            terms {
                term 0 {
                    actions {
                        config {
                            target-group <>;
                        }
                        remark {
                            config {
                                set-dscp 5;
                            }
                        }
                    }
                }
                term 1 {
                    actions {
                        config {
                            target-group <>;
                        }
                        remark {
                            config {
                                set-dscp 6;
                            }
                        }
                    }
                }
            }
        }
    }
}
class-of-service {
    rewrite-rules {
        dscp <> {
            forwarding-class <> {
                loss-priority low code-point 000101 term-id 0;
            }
            forwarding-class <> {
                loss-priority low code-point 000110 term-id 1;
            }
        }
    }
}
openconfig-qos:qos {
    classifiers {
        classifier <> {
            config {
                name <>;
                type IPV6;
            }
            terms {
                term 0 {
                    actions {
                        config {
                            target-group <>;
                        }
                        remark {
                            config {
                                set-dscp 7;
                            }
                        }
                    }
                }
                term 1 {
                    actions {
                        config {
                            target-group <>;
                        }
                        remark {
                            config {
                                set-dscp 8;
                            }
                        }
                    }
                }
            }
        }
    }
}
class-of-service {
    rewrite-rules {
        dscp-ipv6 <> {
            forwarding-class <> {
                loss-priority low code-point 000111 term-id 0;
            }
            forwarding-class <> {
                loss-priority low code-point 001000 term-id 1;
            }
        }
    }
}
openconfig-qos:qos {
    classifiers {
        classifier <> {
            config {
                name <>;
                type MPLS;
            }
            terms {
                term 0 {
                    actions {
                        config {
                            target-group <>;
                        }
                        remark {
                            config {
                                set-mpls-tc 5;
                            }
                        }
                    }
                }
                term 1 {
                    actions {
                        config {
                            target-group <>;
                        }
                        remark {
                            config {
                                set-mpls-tc 6;
                            }
                        }
                    }
                }
            }
        }
    }
}
class-of-service {
    rewrite-rules {
        exp <> {
            forwarding-class <> {
                loss-priority low code-point 101 term-id 0;
            }
            forwarding-class <> {
                loss-priority low code-point 110 term-id 1;
            }
        }
    }
}

A continuación se muestran los grupos de reenvío usados para la configuración de reglas de reescritura:

openconfig-qos:qos {
    forwarding-groups {
        forwarding-group <> {
            config {
                name <>;
                output-queue 0;
            }
        }
        forwarding-group <> {
              config {
                  name <>;
                  output-queue 1;
             }
        }
    }
}
class-of-service {
    forwarding-classes {
        class <> queue-num 0;
        class <> queue-num 1;
    }
}

Configuración del enlace del clasificador

Consulte la Tabla 5 para ver las asignaciones de configuración de las siguientes rutas de OpenConfig:

  • /qos/interfaces/interface/interface-id
  • /qos/interfaces/interface/interface-ref/config/interface
  • /qos/interfaces/interface/interface-ref/config/subinterface
  • /qos/interfaces/interface/input/classifiers/classifier/type
  • /qos/interfaces/interface/input/classifiers/classifier/config/name
  • /qos/interfaces/interface/input/classifiers/classifier/config/type
Nota:

Para seguir más fácilmente los ejemplos de OpenConfig a continuación, las variables se utilizan en el árbol de configuración de OpenConfig.

Tabla 5: Configuración del enlace del clasificador

Configuración de OpenConfig

Configuración de Junos

openconfig-qos:qos {
    interfaces {
        interface {
            interface-id et-0/0/1.0;
                input {
                    classifiers {
                        classifier {
                            type <>;  
                            config {
                                name <>;
                                type <>;
                            }
                        }
                    }
                }
            }
        }
        interface {  
               interface-id ae0;  
            interface-ref { 
                config { 
                    subinterface <>; 
                } 
            } 
                 input {  
                        classifiers {  
                                classifier {  
                                    type <>;    
                                        config {  
                                            name <>;  
                                                type <>;
                                    }  
                              }
                        } 
            }
        }
    }
}
class-of-service {
    et-0/0/1 {
        unit 0 {
            classifiers {
                dscp <>;
             }
        }
    }
    ae0 { 
        unit <> { 
            classifiers { 
                exp <>;  
            } 
        } 
    }  
}

El enlace del clasificador se puede formar a partir de la tabla de interfaces asignando el clasificador y la interfaz.

Esta configuración también admite comodines (*). Por ejemplo:

set openconfig-qos:qos interfaces interface et-*/*/*.0 interface-ref config interface et-*/*/*

set openconfig-qos:qos interfaces interface et-*/*/*.0 interface-ref config subinterface 0

set openconfig-qos:qos interfaces interface et-*/*/*.0 input classifiers classifier IPV4 config name DSCP

Configuración del programador

Consulte la Tabla 6 para ver las asignaciones de configuración de las siguientes rutas de OpenConfig:

  • /qos/scheduler-policies/scheduler-policy/name
  • /qos/scheduler-policies/scheduler-policy/schedulers/scheduler/sequence
  • /qos/scheduler-policies/scheduler-policy/schedulers/scheduler/config/priority
  • /qos/scheduler-policies/scheduler-policy/schedulers/scheduler/output/config/output-fwd-group
  • /qos/scheduler-policies/scheduler-policy/schedulers/scheduler/two-rate-three-color/config/bc
  • /qos/scheduler-policies/scheduler-policy/schedulers/scheduler/two-rate-three-color/config/cir
  • /qos/scheduler-policies/scheduler-policy/schedulers/scheduler/two-rate-three-color/config/cir-pct
  • /qos/scheduler-policies/scheduler-policy/schedulers/scheduler/two-rate-three-color/config/pir
  • /qos/scheduler-policies/scheduler-policy/schedulers/scheduler/two-rate-three-color/config/pir-pct
Nota:

Para seguir más fácilmente los ejemplos de OpenConfig a continuación, las variables se utilizan en los árboles de configuración de OpenConfig a continuación.

Tabla 6: Configuración del programador

Configuración de OpenConfig

Configuración de Junos

openconfig-qos:qos { 
    scheduler-policies { 
        scheduler-policy { 
             name smap; 
             schedulers {
                 scheduler { 
                     sequence:4 
                     two-rate-three-color { 
                       config {
                          cir-pct:10
                       } 
                     } 
                 } 
                 scheduler { 
                     sequence:1 
                     two-rate-three-color { 
                      config {
                         cir-pct:1 
                      }
                     } 
                 }
                 scheduler { 
                     sequence:5  
                     two-rate-three-color { 
                       config {
                         cir-pct:1 
                       }
                     } 
                 }
                 scheduler { 
                     sequence:2 
                     priority: STRICT
                     two-rate-three-color { 
                      config {
                         cir-pct:1 
                       }
                     } 
                 }
                 scheduler { 
                     sequence:0 
                     two-rate-three-color { 
                       config {
                          cir-pct:1 
                      }
                     } 
                 }
                 scheduler { 
                     sequence:3 
                     two-rate-three-color { 
                       config {
                        cir-pct:1 
                      }
                     }
                 } 
           } 
       } 
    } 
} 
class-of-service {
 scheduler-maps { 
    smap { 
        forwarding-class af1 scheduler sched_af1; 
        forwarding-class af2 scheduler sched_af2; 
        forwarding-class af3 scheduler sched_af3; 
        forwarding-class af4 scheduler sched_af4; 
        forwarding-class be1 scheduler sched_be1; 
        forwarding-class nc1 scheduler sched_nc1; 
    } 
 } 
 schedulers { 
    sched_af1 { 
        transmit-rate percent 10; 
        buffer-size shared; 
        priority low; 
    } 
    sched_af2 { 
        transmit-rate percent 1; 
        buffer-size shared; 
        priority low; 
    } 
    sched_af3 { 
        transmit-rate percent 1; 
        buffer-size shared; 
        priority low; 
    } 
    sched_af4 { 
    transmit-rate percent 1; 
        buffer-size shared; 
        priority strict-high; 
    } 
    sched_be1 { 
        transmit-rate percent 1; 
        buffer-size shared; 
        priority low; 
    } 
    sched_nc1 { 
   transmit-rate percent 1; 
        buffer-size shared; 
        priority low; 
    } 
 } 
}

Los parámetros de OpenConfig que no se admiten con el scheduler comando incluyen buffer-size, excess-rates, y excess priorities. Solo STRICT-HIGH se admite la prioridad. Si configura una prioridad, se trata como STRICT-HIGH. De lo contrario, la prioridad es LOW de forma predeterminada.

Los campos de OpenConfig que son campos no compatibles bajo scheduler comando son cir-pct-remaining, pir-pct-remainingbe , (tamaño de ráfaga excesivo) y bc (tamaño de ráfaga confirmado). Estos campos no son compatibles con la plataforma PTX, pero sí con la plataforma MX.

No hay ningún parámetro para configurar un nombre de programador en OpenConfig. En su lugar, el nombre se deduce combinando el nombre Junos scheduler-map y forwarding group. Por ejemplo, los siguientes parámetros crean el nombre sched_smap_assured-forwardingdel programador.

<schedulers> {
       <name> “sched” _ “_” _$smap_name _ "_" _ $out_fwd_group;
   }
Nota:

El nombre del programador puede tener 64 caracteres. Dado que la asignación del programador y los nombres de las clases de reenvío se concatenan en las configuraciones de OpenConfig, se debe tener cuidado al proporcionarlos.

El número de OpenConfig sequence debe ser el mismo que el queuenum valor que representa el grupo de reenvío. Por ejemplo, si assured-forwarding está adjunto a la cola 2, entonces sequence el número debe ser 2. Durante la exportación del estado, el queuenum al que se adjunta se target-group exporta como número sequence .

set openconfig-qos:qos scheduler-policies scheduler-policy smap schedulers scheduler 2 output config output-fwd-group assured-forwarding

Configuración del mapa del programador

Consulte la Tabla 7 para ver las asignaciones de configuración de las siguientes rutas de OpenConfig:

  • /qos/interfaces/interface/interface-id
  • /qos/interfaces/interface/output/scheduler-policy/config/name
Nota:

Para seguir más fácilmente los ejemplos de OpenConfig a continuación, las variables se utilizan en los árboles de configuración de OpenConfig a continuación.

Tabla 7: Configuración del mapa del programador

Configuración de OpenConfig

Configuración de Junos

openconfig-qos:qos {
       interfaces {
              interface {
                    interface-id et-0/0/1;
                    output {
                          scheduler-policy {
                                  config {
                                         name <>;
                                  }
                          }
                    }
              }
       }
}
class-of-service {
  interfaces {
        et-0/0/1 {
          scheduler-map <>;
        }
  }
}

Los mapas del programador solo se pueden enlazar a interfaces físicas (IFD).

También se admiten comodines. Por ejemplo:

set openconfig-qos:qos interfaces interface et-*/*/* interface-ref config interface et-*/*/*

set openconfig-qos:qos interfaces interface et-*/*/* output scheduler-policy config name smap

Configuración del perfil de caída

Consulte la tabla 8 para ver las asignaciones de configuración de las siguientes rutas de OpenConfig:

  • /qos/queue-management-profiles/queue-management-profile/config/name
  • /qos/queue-management-profiles/queue-management-profile/wred/uniform/config/min-threshold
  • /qos/queue-management-profiles/queue-management-profile/wred/uniform/config/max-threshold
  • /qos/queue-management-profiles/queue-management-profile/wred/uniform/config/max-drop-probability-percent
  • /qos/queue-management-profiles/queue-management-profile/wred/uniform/config/enable-ecn
Tabla 8: Configuración del perfil de caída

Configuración de OpenConfig

Configuración de Junos

qos {
   queue-management-profiles {
       queue-management-profile <> {
           wred {
               uniform {
                   config {
                       min-threshold;
                       max-threshold;
                       enable-ecn <true | false>;
                       max-drop-probability-percent <>;
                   }
               }
           }
       }
   }
}
class-of-service {
   drop-profiles {
       <profile-name> {
           fill-level <> drop-probability <>;
       }
   schedulers {
      <scheduler-name> {
         explicit-congestion-notification;
      }
   }
}

En OpenConfig, los niveles de umbral mínimo y máximo se configuran en bytes. En Junos, se configura cada umbral como un porcentaje del nivel de llenado de cola. Puede repetir la fill-level instrucción, combinada con la drop-probability instrucción, para configurar los umbrales mínimo y máximo.