Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

close
keyboard_arrow_left
Junos Fusion Provider Edge User Guide
Table of Contents Expand all
list Table of Contents
file_download PDF
{ "lLangCode": "en", "lName": "English", "lCountryCode": "us", "transcode": "en_US" }
English
keyboard_arrow_right

Configuring CoS on an MX Series Aggregation Device in Junos Fusion

date_range 17-Feb-21

Junos Fusion significantly expands the number of available network interfaces on an aggregation device by allowing the aggregation device to add interfaces through interconnections with satellite devices. The entire system—the interconnected aggregation device and satellite devices—is called Junos Fusion. Junos Fusion simplifies network administration by appearing in the network topology as a single device, and the single device is managed from a single IP address.

This topic describes how to configure CoS on the different types of ports in Junos Fusion.

This topic covers:

Configuring Behavior Aggregate Classifiers on Satellite Device Extended Ports

Normally, you apply a behavior aggregate (BA) classifier to a logical interface on an MX Series device at the [edit class-of-service interfaces interface-name unit logical-unit-number] hierarchy level. When traffic from a satellite device extended port reaches the aggregation device, the BA classifier configured for the logical interface level of the satellite device extended port is applied the same as it is for traffic from other non-extended ports to help determine the forwarding class of the traffic; policers and multifield classifiers can also factor in determining the forwarding class of the traffic. When the aggregation devices sends the traffic out to the satellite device, the forwarding class is carried in the 801.2BR header. The satellite device then uses the forwarding class to select the output queue at the egress extended port.

You can also apply a BA classifier at the physical interface level of an extended port. This classifier is used to determine the output queue at the uplink port of the satellite device.

Note:

IP precedence classifiers are not supported on extended ports at the physical interface level. DSCP classifiers are supported, however.

Note:

You cannot apply a physical interface-level classifier on an MX Series local port.

To add a behavior aggregate classifier to the physical interface level of a satellite device extended port in Junos Fusion:

  1. Define the classifier.
    content_copy zoom_out_map
    [edit class-of-service]
    user@mx-agg-device#set classifiers dscp dscp-1 forwarding-class best-effort-3 loss-priority low code-points 001010
    
  2. Apply the classifier to the physical extended port.
    content_copy zoom_out_map
    [edit class-of-service]
    user@mx-agg-device#set interfaces xe-100/0/33 classifiers dscp dscp-1
    
  3. Commit the changes and then confirm the configuration.
    content_copy zoom_out_map
    [edit class-of-service]
    user@mx-agg-device# show
    classifiers {
        dscp dscp-1 {
            forwarding-class best-effort-3 {
                loss-priority low code-points 001010;
            }
        }
    }
    interfaces {
        xe-100/0/33 {
            classifiers {
                dscp dscp-1;
            }
        }
    }

In the above configuration example, packets entering port xe-100/0/33 with a DSCP value of 001010 will be assigned a forwarding class of best-effort-3 to select the output queue at the uplink port as the packet travels from the satellite device to the aggregation device.

Configuring Rewrite Rules on Satellite Device Extended Ports

You apply rewrite rules to logical interfaces on satellite device extended ports.

To add a rewrite rule to a satellite device extended port in a Junos Fusion:

  1. Define the rewrite rule.
    content_copy zoom_out_map
    [edit class-of-service]
    user@mx-agg-device#set rewrite-rules ieee-802.1 rewrite1p forwarding-class best-effort loss-priority low code-point 010
    
  2. Apply the rewrite rule to a logical interface.
    content_copy zoom_out_map
    [edit class-of-service]
    user@mx-agg-device#set interfaces xe-108/0/47 unit 0 rewrite-rules ieee-802.1 rewrite1p
    
  3. Commit the changes and then confirm the configuration.
    content_copy zoom_out_map
    [edit class-of-service]
    user@mx-agg-device# show
    rewrite-rules {
        ieee-802.1 rewrite1p {
            forwarding-class best-effort {
                loss-priority low code-point 010;
            }
        }
    }
    interfaces {
        xe-108/0/47 {
            unit 0 {
                rewrite-rules {
                    ieee-802.1 rewrite-1p;
                }
            }
        }
    }

In Junos OS, rewrite rules only look at the forwarding class and packet loss priority of the packet (as assigned by a behavior aggregate or multifield classifier at ingress), not at the incoming CoS value, to determine the CoS value to write to the packet header at egress. The above configuration means that, for any packet exiting the xe-108/0/47.0 interface that has a forwarding class of best-effort and a packet loss priority of low, the ieee-802.1 CoS value will be rewritten to 010.

Configuring CoS Hierarchical Port Scheduling with Enhanced Transmission Selection on Satellite Device Ports

You can configure enhanced transmision selection (ETS) for both extended ports and uplink ports on satellite devices. The configuration is done on the aggregation device. To configure ETS for a satellite device port in Junos Fusion:

  1. Define the traffic control profiles.
    content_copy zoom_out_map
    [edit class-of-service]
    user@mx-agg-device#set traffic-control-profiles be-tcp-1 scheduler-map be-map-1
    user@mx-agg-device#set traffic-control-profiles be-tcp-1 shaping-rate percent 80
    user@mx-agg-device#set traffic-control-profiles be-tcp-1 guaranteed-rate 4g
    user@mx-agg-device#set traffic-control-profiles be-tcp-3 scheduler-map be-map-3
    user@mx-agg-device#set traffic-control-profiles be-tcp-3 shaping-rate percent 80
    user@mx-agg-device#set traffic-control-profiles be-tcp-3 guaranteed-rate 6g
    
  2. Define the forwarding class sets.
    content_copy zoom_out_map
    [edit class-of-service]
    user@mx-agg-device#set forwarding-class-sets FC-1 class best-effort-1
    user@mx-agg-device#set forwarding-class-sets FC-1 class best-effort-2
    user@mx-agg-device#set forwarding-class-sets FC-3 class best-effort-3
    
  3. Apply the forwarding class sets to a satellite device port.
    content_copy zoom_out_map
    [edit class-of-service]
    user@mx-agg-device#set interfaces xe-100/0/26 forwarding-class-set FC-1 output-traffic-control-profile be-tcp-1
    user@mx-agg-device#set interfaces xe-100/0/26 forwarding-class-set FC-3 output-traffic-control-profile be-tcp-3
    
  4. Commit the changes and then confirm the configuration.
    content_copy zoom_out_map
    [edit class-of-service]
    user@mx-agg-device# show
    traffic-control-profiles {
        be-tcp-1 {
            scheduler-map be-map-1;
            shaping-rate percent 80;
            guaranteed-rate 4g;
        }
        be-tcp-3 {
            scheduler-map be-map-3;
            shaping-rate percent 80;
            guaranteed-rate 6g;
        }
    }
    forwarding-class-sets {
        FC-1 {
            class best-effort-1;            
            class best-effort-2;
        }
        FC-3 {
            class best-effort-3;
        }
    }
    interfaces {
        xe-100/0/26 {
            forwarding-class-set {
                FC-1 {
                    output-traffic-control-profile be-tcp-1;
            }
                FC-3 {
                    output-traffic-control-profile be-tcp-3;
            }
        }
    }
  5. Run show interfaces queue egress interface name to show the statistics of transmitted and dropped packets for each queue on the satellite device port.
    content_copy zoom_out_map
    user@mx-agg-device> show interfaces queue egress xe-100/0/26:0    
    Physical interface: xe-100/0/26:0 (Extended Port, Enabled, Physical link is Up
      Interface index: 3040, SNMP ifIndex: 1085
    Forwarding classes: 16 supported, 4 in use
    Egress queues: 8 supported, 4 in use
    Queue: 0, Forwarding classes: best-effort-1
      Queued:
        Packets              :                     0                     0 pps
        Bytes                :                     0                     0 bps
      Transmitted:
        Packets              :               7182746                 24998 pps
        Bytes                :            4195267965             116853536 bps
        Tail-dropped packets :                     0                     0 pps
        RL-dropped packets   :                     0                     0 pps
        RL-dropped bytes     :                     0                     0 bps
        RED-dropped packets  :                     0                     0 pps
        RED-dropped bytes    :                     0                     0 bps
    Queue: 1, Forwarding classes: best-effort-2
      Queued:
        Packets              :                     0                     0 pps
        Bytes                :                     0                     0 bps
      Transmitted:
        Packets              :                     0                     0 pps
        Bytes                :                     0                     0 bps
        Tail-dropped packets :                     0                     0 pps
        RL-dropped packets   :                     0                     0 pps
        RL-dropped bytes     :                     0                     0 bps
        RED-dropped packets  :                     0                     0 pps
        RED-dropped bytes    :                     0                     0 bps
    Queue: 2, Forwarding classes: best-effort-3
      Queued:
        Packets              :                     0                     0 pps
        Bytes                :                     0                     0 bps
      Transmitted:
        Packets              :                     0                     0 pps
        Bytes                :                     0                     0 bps
        Tail-dropped packets :                     0                     0 pps
        RL-dropped packets   :                     0                     0 pps
        RL-dropped bytes     :                     0                     0 bps
        RED-dropped packets  :                     0                     0 pps
        RED-dropped bytes    :                     0                     0 bps
    Queue: 3, Forwarding classes: network-control
      Queued:
        Packets              :                     0                     0 pps
        Bytes                :                     0                     0 bps
      Transmitted:
        Packets              :                 14505                     1 pps
        Bytes                :              11746583                  1448 bps
        Tail-dropped packets :                     0                     0 pps
        RL-dropped packets   :                     0                     0 pps
        RL-dropped bytes     :                     0                     0 bps
        RED-dropped packets  :                     0                     0 pps
        RED-dropped bytes    :                     0                     0 bps
    Note:

    Queued statistics for each queue are not available for satellite device ports and will always show 0.

Changing the Default Scheduling Policy on an Aggregated Device Cascade Port

When a cascade port is created, two logical interfaces are automatically created:

  • One in-band management logical interface (assigned unit 32769) for traffic that only flows between the aggregation device and the satellite devices, such as keepalives, for provisioning information, and for software updates.

  • One for data logical interface (assigned unit 32770) for regular traffic that flows into and out of Junos Fusion.

Let’s say, for example, that interface xe-0/0/1 is configured as a cascade port. The command show interfaces xe-0/0/1 terse produces output similar to the following:

content_copy zoom_out_map
user@mx-agg-device# run show interfaces xe-0/0/1 terse 
Interface               Admin Link Proto    Local                 Remote
xe-0/0/1                up    up
xe-0/0/1.32769          up    up   inet     10.0.0.5/30     
xe-0/0/1.32770          up    up   bridge  

The control logical interface (unit 32769) is automatically assigned an internal traffic control profile (__cp_control_tc_prof) that guarantees 50 Mbps of bandwidth for the logical interface, a 10 percent shaping rate, and the default scheduling policy. The default scheduling policy is applied to the data logical interface. For example:

content_copy zoom_out_map
user@mx-agg-device# run show class-of-service interface xe-0/0/1    
Physical interface: xe-0/0/1, Index: 144
Maximum usable queues: 8, Queues in use: 4
  Scheduler map: <default>, Index: 2
  Congestion-notification: Disabled

  Logical interface: xe-0/0/1.32769, Index: 344
Object                  Name                   Type                    Index
Traffic-control-profile __cp_control_tc_prof   Output                  17227
Classifier              ipprec-compatibility   ip                         13

  Logical interface: xe-0/0/1.32770, Index: 343
Object                  Name                   Type                    Index
Scheduler-map           <default>              Output                      2

and:

content_copy zoom_out_map
user@mx-agg-device# run show class-of-service scheduler-hierarchy interface xe-0/0/1 
Interface/                    Shaping Guarnteed  Guaranteed/   Queue   Excess
Resource name                    rate      rate       Excess  weight   weight
                                kbits     kbits     priority          high/low 
  xe-0/0/1.32770             10000000         0                          1    1
    BE                       10000000         0     Low  Low     118
    NC                       10000000         0     Low  Low       6
  xe-0/0/1.32769              1000000     50000                         62   62
    BE                        1000000     47500     Low  Low     118
    NC                        1000000      2500     Low  Low       6

You can create custom forwarding classes and schedulers for the data logical interface by applying a customer scheduler map to that logical interface. For example, to apply a customer scheduler policy to the data logical interface:

  1. Create customer schedulers.
    content_copy zoom_out_map
    [edit class-of-service]
    user@mx-agg-device#set schedulers AF_SCH_CORE transmit-rate percent 40
    user@mx-agg-device#set schedulers AF_SCH_CORE buffer-size percent 40
    user@mx-agg-device#set schedulers AF_SCH_CORE priority medium-high
    user@mx-agg-device#set schedulers BE_SCH_CORE transmit-rate percent 10
    user@mx-agg-device#set schedulers BE_SCH_CORE buffer-size percent 10
    user@mx-agg-device#set schedulers BE_SCH_CORE priority low
    user@mx-agg-device#set schedulers EF_SCH_CORE transmit-rate percent 40
    user@mx-agg-device#set schedulers EF_SCH_CORE buffer-size percent 40
    user@mx-agg-device#set schedulers EF_SCH_CORE priority medium-low
    user@mx-agg-device#set schedulers NC_SCH_CORE transmit-rate percent 10
    user@mx-agg-device#set schedulers NC_SCH_CORE buffer-size percent 10
    user@mx-agg-device#set schedulers NC_SCH_CORE priority high
    
  2. Create a scheduler map.
    content_copy zoom_out_map
    [edit class-of-service]
    user@mx-agg-device#set scheduler-maps CORE_SCHED_MAP forwarding-class BE scheduler BE_SCH_CORE
    user@mx-agg-device#set scheduler-maps CORE_SCHED_MAP forwarding-class EF scheduler EF_SCH_CORE
    user@mx-agg-device#set scheduler-maps CORE_SCHED_MAP forwarding-class AF scheduler AF_SCH_CORE
    user@mx-agg-device#set scheduler-maps CORE_SCHED_MAP forwarding-class NC scheduler NC_SCH_CORE
    
  3. Apply the scheduler map to the data logical interface.
    content_copy zoom_out_map
    [edit class-of-service]
    user@mx-agg-device#set interfaces xe-0/0/1 unit 32770 scheduler-map CORE_SCHED_MAP
    
  4. Commit the changes and then confirm the configuration.
    content_copy zoom_out_map
    [edit class-of-service]
    user@mx-agg-device# show
    interfaces {
        xe-0/0/1 {                          
            unit 32770 {
                scheduler-map CORE_SCHED_MAP;
            }
        }
    }
    scheduler-maps {
        CORE_SCHED_MAP {
            forwarding-class BE scheduler BE_SCH_CORE;
            forwarding-class EF scheduler EF_SCH_CORE;
            forwarding-class AF scheduler AF_SCH_CORE;
            forwarding-class NC scheduler NC_SCH_CORE;
        }
    }
    schedulers {
        BE_SCH_CORE {
            transmit-rate percent 10;
            buffer-size percent 10;
            priority low;
        }
        EF_SCH_CORE {
            transmit-rate percent 40;
            buffer-size percent 40;
            priority medium-low;
        }                                   
        AF_SCH_CORE {
            transmit-rate percent 40;
            buffer-size percent 40;
            priority medium-high;
        }
        NC_SCH_CORE {
            transmit-rate percent 10;
            buffer-size percent 10;
            priority high;
        }
    }
  5. Verify your changes.
    content_copy zoom_out_map
    user@mx-agg-device# run show class-of-service interface xe-0/0/1 
    Physical interface: xe-0/0/1, Index: 144
    Maximum usable queues: 8, Queues in use: 4
      Scheduler map: <default>, Index: 2
      Congestion-notification: Disabled
    
      Logical interface: xe-0/0/1.32769, Index: 344
    Object                  Name                   Type                    Index
    Traffic-control-profile __cp_control_tc_prof   Output                  17227
    Classifier              ipprec-compatibility   ip                         13
    
      Logical interface: xe-0/0/1.32770, Index: 343
    Object                  Name                   Type                    Index
    Scheduler-map           CORE_SCHED_MAP         Output                  23433

    and:

    content_copy zoom_out_map
    user@mx-agg-device# run show class-of-service scheduler-hierarchy interface xe-0/0/1 
    Interface/                    Shaping Guarnteed  Guaranteed/   Queue   Excess
    Resource name                    rate      rate       Excess  weight   weight
                                    kbits     kbits     priority          high/low 
      xe-0/0/1.32770             10000000         0                          1    1
        BE                       10000000         0     Low  Low      12
        EF                       10000000         0  Medium  Low      50
        AF                       10000000         0  Medium  Low      50
        NC                       10000000         0    High High      12
      xe-0/0/1.32769              1000000     50000                         62   62
        BE                        1000000     47500     Low  Low     118
        NC                        1000000      2500     Low  Low       6
external-footer-nav