Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

header-navigation
keyboard_arrow_up
close
keyboard_arrow_left
IS-IS 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

Example: Weighted ECMP Traffic Distribution on One-Hop IS-IS Neighbors

date_range 24-Nov-23

This example shows how to configure weighted equal cost multipath (ECMP) routing for distributing traffic to IS-IS neighbors that are one hop away to ensure optimal load balancing. Weighted ECMP routing distributes traffic unequally over multiple paths for better load balancing. However, weighted ECMP routing is more efficient than equal distribution of traffic during per-packet load balancing.

Requirements

This example uses the following hardware and software components:

  • Two MX Series routers

  • Junos OS Release 15.1F4 or later

Before you configure weighted ECMP in an IS-IS network, make sure you :

  1. Configure IP addresses on the device interfaces.

  2. Configure IS-IS.

  3. Configure load balancing

  4. Configure a per-packet load balancing policy.

Overview

Beginning with Junos OS Release 15.1F4, you can configure the IS-IS protocol to get the logical interface bandwidth information associated with the gateways of equal-cost multipath (ECMP) next hop. During per-packet load balancing, traffic distribution is based on the available bandwidth to facilitate optimal bandwidth usage for incoming traffic on an ECMP path of one hop distance. The Packet Forwarding Engine does not distribute the traffic equally, but considers the balance values and distributes the traffic according to the bandwidth availability. However, this feature is not available for ECMP paths that are more than one hop away.

Topology

In Figure 1, three aggregated Ethernet bundles ae0, ae1, and ae2 with four links each, are configured between Router R0 and Router R1. The Packet Forwarding Engine distributes traffic unequally between the three Ethernet bundles when one of the links goes down, depending on the available bandwidth.

Figure 1: Weighted ECMP Traffic Distribution on One Hop IS-IS NeighborsWeighted ECMP Traffic Distribution on One Hop IS-IS Neighbors

Configuration

CLI Quick Configuration

To quickly configure this example, copy the following commands, paste them into a text file, remove any line breaks, change any details necessary to match your network configuration, copy and paste the commands into the CLI at the [edit] hierarchy level, and then enter commit from configuration mode.

Router R0

content_copy zoom_out_map
set interfaces ge-1/1/4 description "LinkID: R0R1-1"
set interfaces ge-0/0/0 description "LinkID: R0R1-2"
set interfaces ge-1/2/1 description "LinkID: R0R1-3"
set interfaces ge-1/2/2 description "LinkID: R0R1-4"
set interfaces ge-1/2/0 description "LinkID: R0R1-5"
set interfaces ge-1/2/3 description "LinkID: R0R1-6"
set interfaces ge-0/1/6 description "LinkID: R0R1-7"
set interfaces ge-1/1/6 description "LinkID: R0R1-8"
set interfaces ge-1/1/5 description "LinkID: R0R1-9"
set interfaces ge-1/3/3 description "LinkID: R0R1-10"
set interfaces ge-1/2/8 description "LinkID: R0R1-11"
set interfaces ge-0/1/8 description "LinkID: R0R1-12"
set interfaces ge-0/1/7 description "LinkID: R0R1-13"
set interfaces ge-0/0/1 description "LinkID: R0RT0"
set chassis maximum-ecmp 64
set chassis redundancy graceful-switchover
set chassis aggregated-devices ethernet device-count 64
set interfaces ge-0/0/1 unit 0 family inet address 21.1.1.1/24
set interfaces ge-0/0/1 unit 0 family iso
set interfaces ge-1/1/4 gigether-options 802.3ad ae0
set interfaces ge-0/0/0 gigether-options 802.3ad ae0
set interfaces ge-1/2/1 gigether-options 802.3ad ae0
set interfaces ge-1/2/2 gigether-options 802.3ad ae0
set interfaces ge-1/2/0 gigether-options 802.3ad ae1
set interfaces ge-1/2/3 gigether-options 802.3ad ae1
set interfaces ge-0/1/6 gigether-options 802.3ad ae1
set interfaces ge-1/1/6 gigether-options 802.3ad ae1
set interfaces ge-1/1/5 gigether-options 802.3ad ae2
set interfaces ge-1/3/3 gigether-options 802.3ad ae2
set interfaces ge-1/2/8 gigether-options 802.3ad ae2
set interfaces ge-0/1/8 gigether-options 802.3ad ae2
set interfaces ge-0/1/7 unit 0 family inet address 10.3.1.1/24
set interfaces ge-0/1/7 unit 0 family iso
set interfaces ae0 aggregated-ether-options minimum-links 1
set interfaces ae0 aggregated-ether-options lacp active
set interfaces ae0 unit 0 family inet address 10.0.1.1/24
set interfaces ae0 unit 0 family iso
set interfaces ae1 vlan-tagging
set interfaces ae1 aggregated-ether-options minimum-links 1
set interfaces ae1 aggregated-ether-options lacp active
set interfaces ae1 unit 0 family inet address 10.1.1.1/24
set interfaces ae1 unit 0 family iso
set interfaces ae1 unit 1 bandwidth 1g;
set interfaces ae1 unit 1 vlan-id 1;
set interfaces ae1 unit 1 family inet address 13.1.1.1/24
set interfaces ae1 unit 0 family iso
set interfaces ae1 unit 1 bandwidth 1g;
set interfaces ae1 unit 1 vlan-id 2;
set interfaces ae1 unit 1 family inet address 13.2.1.1/24
set interfaces ae1 unit 0 family iso
set interfaces ae1 unit 1 bandwidth 1g;
set interfaces ae1 unit 1 vlan-id 3;
set interfaces ae1 unit 1 family inet address 13.3.1.1/24
set interfaces ae1 unit 0 family iso
set interfaces ae1 unit 1 bandwidth 1g;
set interfaces ae1 unit 1 vlan-id 4;
set interfaces ae1 unit 1 family inet address 13.4.1.1/24
set interfaces ae1 unit 0 family iso
set interfaces ae1 unit 1 bandwidth 1g;
set interfaces ae1 unit 1 vlan-id 5;
set interfaces ae1 unit 1 family inet address 13.5.1.1/24
set interfaces ae1 unit 0 family iso
set interfaces ae1 unit 1 bandwidth 1g;
set interfaces ae1 unit 1 vlan-id 6;
set interfaces ae1 unit 1 family inet address 13.6.1.1/24
set interfaces ae1 unit 0 family iso
set interfaces ae1 unit 1 bandwidth 1g;
set interfaces ae1 unit 1 vlan-id 7;
set interfaces ae1 unit 1 family inet address 13.7.1.1/24
set interfaces ae1 unit 0 family iso
set interfaces ae1 unit 1 bandwidth 1g;
set interfaces ae1 unit 1 vlan-id 8;
set interfaces ae1 unit 1 family inet address 13.8.1.1/24
set interfaces ae1 unit 0 family iso
set interfaces ae1 unit 1 bandwidth 1g;
set interfaces ae1 unit 1 vlan-id 9;
set interfaces ae1 unit 1 family inet address 13.9.1.1/24
set interfaces ae1 unit 0 family iso
set interfaces ae1 unit 1 bandwidth 1g;
set interfaces ae1 unit 1 vlan-id 10;
set interfaces ae1 unit 1 family inet address 13.10.1.1/24
set interfaces ae1 unit 0 family iso
set interfaces ae2 aggregated-ether-options minimum-links 2
set interfaces ae2 aggregated-ether-options lacp active
set interfaces ae2 unit 0 family inet address 10.2.1.1/24
set interfaces ae2 unit 0 family iso
set interfaces lo0 unit 0 family iso address 49.0001.0102.5516.3127.00
set routing-options forwarding-table export pplb
set protocols isis interface ge-0/0/1.0
set protocols isis interface ge-0/1/7.0 level 1 metric 20
set protocols isis interface ge-0/1/7.0 level 2 metric 20
set protocols isis interface ae0.0 node-link-protection
set protocols isis interface ae1.0
set protocols isis interface ae2.0
set protocols isis interface lo0.0
set policy-options policy-statement pplb then load-balance per-packet
set protocols isis spf-options multipath weighted one-hop

Router R1

content_copy zoom_out_map
set interfaces ge-1/1/4 description "LinkID: R0R1-1"
set interfaces ge-0/0/0 description "LinkID: R0R1-2"
set interfaces ge-1/2/1 description "LinkID: R0R1-3"
set interfaces ge-1/2/2 description "LinkID: R0R1-4"
set interfaces ge-1/2/0 description "LinkID: R0R1-5"
set interfaces ge-1/2/3 description "LinkID: R0R1-6"
set interfaces ge-0/1/6 description "LinkID: R0R1-7"
set interfaces ge-1/1/6 description "LinkID: R0R1-8"
set interfaces ge-1/1/5 description "LinkID: R0R1-9"
set interfaces ge-1/3/3 description "LinkID: R0R1-10"
set interfaces ge-1/2/8 description "LinkID: R0R1-11"
set interfaces ge-0/1/8 description "LinkID: R0R1-12"
set interfaces ge-0/1/7 description "LinkID: R0R1-13"
set interfaces ge-0/1/0 description "LinkID: R1RT0"
set chassis aggregated-devices ethernet device-count 64
set interfaces ge-0/1/0 unit 0 family inet address 22.1.1.1/24
set interfaces ge-0/1/0 unit 0 family iso
set interfaces ge-1/1/4 gigether-options 802.3ad ae0
set interfaces ge-0/0/0 gigether-options 802.3ad ae0
set interfaces ge-1/2/1 gigether-options 802.3ad ae0
set interfaces ge-1/2/2 gigether-options 802.3ad ae0
set interfaces ge-1/2/0 gigether-options 802.3ad ae1
set interfaces ge-1/2/3 gigether-options 802.3ad ae1
set interfaces ge-0/1/6 gigether-options 802.3ad ae1
set interfaces ge-1/1/6 gigether-options 802.3ad ae1
set interfaces ge-1/1/5 gigether-options 802.3ad ae2
set interfaces ge-1/3/3 gigether-options 802.3ad ae2
set interfaces ge-1/2/8 gigether-options 802.3ad ae2
set interfaces ge-0/1/8 gigether-options 802.3ad ae2
set interfaces ge-0/1/7 unit 0 family inet address 10.3.1.2/24
set interfaces ge-0/1/7 unit 0 family iso
set interfaces ae0 aggregated-ether-options minimum-links 1
set interfaces ae0 aggregated-ether-options lacp active
set interfaces ae0 unit 0 family inet address 10.0.1.2/24
set interfaces ae0 unit 0 family iso
set interfaces ae1 aggregated-ether-options minimum-links 1
set interfaces ae1 aggregated-ether-options lacp active
set interfaces ae1 unit 0 family inet address 10.1.1.2/24
set interfaces ae1 unit 0 family iso
set interfaces ae2 aggregated-ether-options minimum-links 2
set interfaces ae2 aggregated-ether-options lacp active
set interfaces ae2 unit 0 family inet address 10.2.1.2/24
set interfaces ae2 unit 0 family iso
set interfaces lo0 unit 0 family iso address 49.0001.0102.5516.3130.00
set protocols isis export from-static
set protocols isis interface ge-0/1/0.0
set protocols isis interface ge-0/1/7.0
set protocols isis interface ae0.0
set protocols isis interface ae1.0
set protocols isis interface ae2.0
set protocols isis interface lo0.0
set policy-options policy-statement from-static from protocol static
set policy-options policy-statement from-static then accept

Configuring Router R0

Step-by-Step Procedure

The following example requires that you navigate various levels in the configuration hierarchy. For information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the CLI User Guide.

To configure Router R0:

Note:

Repeat this procedure for Router R1 after modifying the appropriate interface names, addresses, and other parameters.

  1. Specify the maximum number of weighted ECMP interfaces that you want to configure. Enable graceful switchover and specify the number of aggregated Ethernet interfaces to be created.

    content_copy zoom_out_map
    [edit chassis]
    user@R0# set maximum-ecmp 64
    user@R0# set redundancy graceful-switchover
    user@R0# set aggregated-devices ethernet device-count 64
    
  2. Configure the interfaces with multiple links to the same destination for load balancing traffic.

    content_copy zoom_out_map
    [edit interfaces]
    user@R0# set ge-1/1/4 description "LinkID: R0R1-1"
    user@R0# set ge-0/0/0 description "LinkID: R0R1-2"
    user@R0# set ge-1/2/1 description "LinkID: R0R1-3"
    user@R0# set ge-1/2/2 description "LinkID: R0R1-4"
    user@R0# set ge-1/2/0 description "LinkID: R0R1-5"
    user@R0# set ge-1/2/3 description "LinkID: R0R1-6"
    user@R0# set ge-0/1/6 description "LinkID: R0R1-7"
    user@R0# set ge-1/1/6 description "LinkID: R0R1-8"
    user@R0# set ge-1/1/5 description "LinkID: R0R1-9"
    user@R0# set ge-1/3/3 description "LinkID: R0R1-10"
    user@R0# set ge-1/2/8 description "LinkID: R0R1-11"
    user@R0# set ge-0/1/8 description "LinkID: R0R1-12"
    user@R0# set ge-0/1/7 description "LinkID: R0R1-13"
    user@R0# set ge-0/0/1 description "LinkID: R0RT0"
    
  3. Configure logical interfaces with appropriate bandwidth based on the underlying physical bandwidth.

    content_copy zoom_out_map
    user@R0# set ae1 unit 1 bandwidth 1g;
    user@R0# set ae1 unit 1 vlan-id 1;
    user@R0# set ae1 unit 1 family inet address 13.1.1.1/24
    user@R0# set ae1 unit 0 family iso
    user@R0# set ae1 unit 1 bandwidth 1g;
    user@R0# set ae1 unit 1 vlan-id 2;
    user@R0# set ae1 unit 1 family inet address 13.2.1.1/24
    user@R0# set ae1 unit 0 family iso
    user@R0# set ae1 unit 1 bandwidth 1g;
    user@R0# set ae1 unit 1 vlan-id 3;
    user@R0# set ae1 unit 1 family inet address 13.3.1.1/24
    user@R0# set ae1 unit 0 family iso
    user@R0# set ae1 unit 1 bandwidth 1g;
    user@R0# set ae1 unit 1 vlan-id 4;
    user@R0# set ae1 unit 1 family inet address 13.4.1.1/24
    user@R0# set ae1 unit 0 family iso
    user@R0# set ae1 unit 1 bandwidth 1g;
    user@R0# set ae1 unit 1 vlan-id 5;
    user@R0# set ae1 unit 1 family inet address 13.5.1.1/24
    user@R0# set ae1 unit 0 family iso
    user@R0# set ae1 unit 1 bandwidth 1g;
    user@R0# set ae1 unit 1 vlan-id 6;
    user@R0# set ae1 unit 1 family inet address 13.6.1.1/24
    user@R0# set ae1 unit 0 family iso
    user@R0# set ae1 unit 1 bandwidth 1g;
    user@R0# set ae1 unit 1 vlan-id 7;
    user@R0# set ae1 unit 1 family inet address 13.7.1.1/24
    user@R0# set ae1 unit 0 family iso
    user@R0# set ae1 unit 1 bandwidth 1g;
    user@R0# set ae1 unit 1 vlan-id 8;
    user@R0# set ae1 unit 1 family inet address 13.8.1.1/24
    user@R0# set ae1 unit 0 family iso
    user@R0# set ae1 unit 1 bandwidth 1g;
    user@R0# set ae1 unit 1 vlan-id 9;
    user@R0# set ae1 unit 1 family inet address 13.9.1.1/24
    user@R0# set ae1 unit 0 family iso
    user@R0# set ae1 unit 1 bandwidth 1g;
    user@R0# set ae1 unit 1 vlan-id 10;
    user@R0# set ae1 unit 1 family inet address 13.10.1.1/24
    user@R0# set ae1 unit 0 family iso
    
    Note:

    For logical interfaces, configure interface bandwidth to distribute traffic across equal-cost multipaths based on the underlying operational interface bandwidth. When you configure multiple logical interfaces on a single interface, configure appropriate logical bandwidth for each logical interface to see the desired traffic distribution over the logical interfaces.

  4. Configure IP addresses on the interfaces with either IPv4 or IPv6 addresses, as per your network requirements.

    content_copy zoom_out_map
    [edit interfaces]
    user@R0# set ge-0/0/1 unit 0 family inet address 21.1.1.1/24
    user@R0# set ge-0/0/1 unit 0 family iso
    user@R0# set ge-0/1/7 unit 0 family inet address 10.3.1.1/24
    user@R0# set ge-0/1/7 unit 0 family iso
    
  5. Configure the four member links of the ae0 aggregated Ethernet bundle.

    content_copy zoom_out_map
    [edit interfaces]
    user@R0# set ge-1/1/4 gigether-options 802.3ad ae0
    user@R0# set ge-0/0/0 gigether-options 802.3ad ae0
    user@R0# set ge-1/2/1 gigether-options 802.3ad ae0
    user@R0# set ge-1/2/2 gigether-options 802.3ad ae0
    
  6. Configure the four member links of the ae1 aggregated Ethernet bundle.

    content_copy zoom_out_map
    [edit interfaces]
    user@R0# set ge-1/2/0 gigether-options 802.3ad ae1
    user@R0# set ge-1/2/3 gigether-options 802.3ad ae1
    user@R0# set ge-0/1/6 gigether-options 802.3ad ae1
    user@R0# set ge-1/1/6 gigether-options 802.3ad ae1
    
  7. Configure the four member links of the ae2 aggregated Ethernet bundle.

    content_copy zoom_out_map
    [edit interfaces]
    user@R0# set ge-1/1/5 gigether-options 802.3ad ae2
    user@R0# set ge-1/3/3 gigether-options 802.3ad ae2
    user@R0# set ge-1/2/8 gigether-options 802.3ad ae2
    user@R0# set ge-0/1/8 gigether-options 802.3ad ae2
    
  8. Configure IP address and the Link Aggregation Control Protocol (LACP) for ae0 aggregated Ethernet interface.

    content_copy zoom_out_map
    [edit interfaces]
    user@R0# set ae0 aggregated-ether-options minimum-links 1
    user@R0# set ae0 aggregated-ether-options lacp active
    user@R0# set ae0 unit 0 family inet address 10.0.1.1/24
    user@R0# set ae0 unit 0 family iso
    
  9. Configure IP address and the Link Aggregation Control Protocol (LACP) for ae1 aggregated Ethernet interface.

    content_copy zoom_out_map
    [edit interfaces]
    user@R0# set ae1 aggregated-ether-options minimum-links 1
    user@R0# set ae1 aggregated-ether-options lacp active
    user@R0# set ae1 unit 0 family inet address 10.1.1.1/24
    user@R0# set ae1 unit 0 family iso
    
  10. Configure IP address and the Link Aggregation Control Protocol (LACP) for ae2 aggregated Ethernet interface.

    content_copy zoom_out_map
    [edit interfaces]
    user@R0# set ae2 aggregated-ether-options minimum-links 2
    user@R0# set ae2 aggregated-ether-options lacp active
    user@R0# set ae2 unit 0 family inet address 10.2.1.1/24
    user@R0# set ae2 unit 0 family iso
    
  11. Configure the loopback interface address and iso family address.

    content_copy zoom_out_map
    [edit interfaces]
    user@R0# set lo0 unit 0 family inet address 10.168.0.4/32
    user@R0# set lo0 unit 0 family iso address 49.0001.0102.5516.3127.00
    
  12. Configure IS-IS on all the interfaces and on the AE bundles.

    content_copy zoom_out_map
    [edit protocols]
    user@R0# set isis interface ge-0/0/1.0
    user@R0# set isis interface ge-0/1/7.0 level 1 metric 20
    user@R0# set isis interface ge-0/1/7.0 level 2 metric 20
    user@R0# set isis interface ae0.0 node-link-protection
    user@R0# set isis interface ae1.0
    user@R0# set isis interface ae2.0
    user@R0# set isis interface lo0.0
    
  13. Configure per-packet load balancing.

    content_copy zoom_out_map
    [edit policy-options]
    user@R0# set policy-statement pplb then load-balance per-packet
    
  14. Apply per-packet load balancing policy.

    content_copy zoom_out_map
    [edit routing-options]
    user@R0# set forwarding-table
    user@R0# set export pplb
    
  15. Enable weighted ECMP traffic distribution on directly connected IS-IS neighbors.

    content_copy zoom_out_map
    [edit protocols isis]
    user@R0# set spf-options multipath weighted one-hop
    

Results

From configuration mode, confirm your configuration by entering the show chassis, show interfaces, show protocols, show policy-options, and show routing-options commands. If the output does not display the intended configuration, repeat the instructions in this example to correct the configuration.

content_copy zoom_out_map
[edit]
user@R0# show chassis
maximum-ecmp 64;
redundancy graceful-switchover;
aggregated-devices ethernet device-count 64;
content_copy zoom_out_map
[edit]
user@R0# show interfaces
ge-0/0/0 {
    description "LinkID: R0R1-2";
    gigether-options {
        802.3ad ae0;
    }
}
ge-0/0/1 {
    description "LinkID: R0RT0";
    unit 0 {
        family inet {
            address 21.1.1.1/24;
        }
        family iso;
    }
}
ge-0/1/6 {
    description "LinkID: R0R1-7";
    gigether-options {
        802.3ad ae1;
    }
}
ge-0/1/7 {
    description "LinkID: R0R1-13";
    unit 0 {
        family inet {
            address 10.3.1.1/24;
        }
        family iso;
    }
}
ge-0/1/8 {
    description "LinkID: R0R1-12";
    gigether-options {
        802.3ad ae2;
    }
}
ge-1/1/4 {
    description "LinkID: R0R1-1";
    gigether-options {
        802.3ad ae0;
    }
}
ge-1/1/5 {
    description "LinkID: R0R1-9";
    gigether-options {
        802.3ad ae2;
    }
}
ge-1/1/6 {
    description "LinkID: R0R1-8";
    gigether-options {
        802.3ad ae1;
    }
}
ge-1/2/0 {
    description "LinkID: R0R1-5";
    gigether-options {
        802.3ad ae1;
    }
}
ge-1/2/1 {
    description "LinkID: R0R1-3";
    gigether-options {
        802.3ad ae0;
    }
}
ge-1/2/2 {
    description "LinkID: R0R1-4";
    gigether-options {
        802.3ad ae0;
    }
}
ge-1/2/3 {
    description "LinkID: R0R1-6";
    gigether-options {
        802.3ad ae1;
    }
}
ge-1/2/8 {
    description "LinkID: R0R1-11";
    gigether-options {
        802.3ad ae2;
    }
}
ge-1/3/3 {
    description "LinkID: R0R1-10";
    gigether-options {
        802.3ad ae2;
    }
}
ae0 {
    aggregated-ether-options {
        minimum-links 1;
        lacp {
            active;
        }
    }
    unit 0 {
        family inet {
            address 10.0.1.1/24;
        }
        family iso;
    }
}
ae1 {
    vlan-tagging;
    aggregated-ether-options {
        minimum-links 3;
        lacp {
            active;
        }
    }
    unit 0 {
        family inet {
            address 10.1.1.1/24;
        }
        family iso;
    }
    unit 1 {
        bandwidth 1g;
        vlan-id 1;
        family inet {
            address 13.1.1.1/24;
        }
        family iso;
    }
    unit 2 {
        bandwidth 1g;
        vlan-id 2;
        family inet {
            address 13.2.1.1/24;
        }
        family iso;
    }
    unit 3 {
        bandwidth 1g;
        vlan-id 3;
        family inet {
            address 13.3.1.1/24;
        }
        family iso;
    }
    unit 4 {
        bandwidth 1g;
        vlan-id 4;
        family inet {
            address 13.4.1.1/24;
        }
        family iso;
    }
    unit 5 {
        bandwidth 1g;
        vlan-id 5;
        family inet {
            address 13.5.1.1/24;
        }
        family iso;
    }
    unit 6 {
        bandwidth 1g;
        vlan-id 6;
        family inet {
            address 13.6.1.1/24;
        }
        family iso;
    }
    unit 7 {
        bandwidth 1g;
        vlan-id 7;
        family inet {
            address 13.7.1.1/24;
        }
        family iso;
    }
    unit 8 {
        bandwidth 1g;
        vlan-id 8;
        family inet {
            address 13.8.1.1/24;
        }
        family iso;
    }
    unit 9 {
        bandwidth 1g;
        vlan-id 9;
        family inet {
            address 13.9.1.1/24;
        }
        family iso;
    }
    unit 10 {
        bandwidth 1g;
        vlan-id 10;
        family inet {
            address 13.10.1.1/24;
        }
        family iso;
    }
}
ae2 {
    aggregated-ether-options {
        minimum-links 2;
        lacp {
            active;
        }
    }
    unit 0 {
        family inet {
            address 10.2.1.1/24;
        }
        family iso;
    }
}
lo0 {
    unit 0 {
        family inet {
            address 192.168.0.4/32;
        }
        family iso {
            address 49.0001.0102.5516.3127.00;
        }
    }
}
content_copy zoom_out_map
[edit]
user@R0# show protocols
isis {
    spf-options {
        multi-path {
            weighted {
                one-hop;
            }
        }
    }
}
content_copy zoom_out_map
[edit]
user@R01# show policy-options
policy-statement pplb {
    then {
        load-balance per-packet;
    }
}
content_copy zoom_out_map
[edit]
user@R0# show routing-options
forwarding-table {
    export pplb;
}

Verification

Confirm that the configuration is working properly.

Verifying Equal Distribution of Traffic Over Equal-Cost Multiple Paths

Purpose

To verify that traffic is equally distributed over the aggregated Ethernet bundles.

Action

From operational mode, enter the show route 198.0.0.1 extensive command.

content_copy zoom_out_map
user@R0> show route 198.0.0.1 extensive
inet.0: 10028 destinations, 10029 routes (10027 active, 0 holddown, 1 hidden)
 198.0.0.1/32 (1 entry, 1 announced)
 TSI:
 KRT in-kernel 198.0.0.1/32 -> {10.0.1.2, 10.1.1.2, 10.2.1.2, 10.3.1.2}
         *IS-IS  Preference: 18
                 Level: 2
                 Next hop type: Router, Next hop index: 1048574
                 Address: 0x9ec5e10
                 Next-hop reference count: 20005
                 Next hop: 10.0.1.2 via ae0.0 weight 0x1 balance 33%
                 Session Id: 0x1b2
                 Next hop: 10.1.1.2 via ae1.0 weight 0x1 balance 33%, selected
                 Session Id: 0x1b1
                 Next hop: 10.2.1.2 via ae2.0 weight 0x1 balance 33%
                 Session Id: 0x1b3
                 Next hop: 10.3.1.2 via ge-0/1/7.0 weight 0xf000
                 Session Id: 0x1b0
                 State: <Active Int>                  
								Age: 35     Metric: 20                  
								Validation State: unverified                  
								Task: IS-IS
                 Announcement bits (1): 0-KRT
                 AS path: I 
user@R0> show interfaces ae0.0 extensive
Logical interface ae0.0 (Index 335) (SNMP ifIndex 625) (Generation 825)
    Flags: Up SNMP-Traps 0x4004000 Encapsulation: ENET2
    Statistics        Packets        pps         Bytes          bps
    Bundle:
        Input :           702          4        207265         4320
        Output:        870567      33801      95801535     29746416
    Adaptive Statistics:
        Adaptive Adjusts:          0
        Adaptive Scans  :          0
        Adaptive Updates:          0
    Link:
      ge-0/0/0.0
        Input :           149          1         17924          992
        Output:        218927       8586      24081728      7556344
      ge-1/1/4.0
        Input :           134          1         16616          992
        Output:        201384       7781      22152240      6847320
      ge-1/2/1.0
        Input :           136          1         16864          992
        Output:        212760       8238      23443069      7250056
      ge-1/2/2.0
        Input :           283          1        155861         1344
        Output:        237496       9196      26124498      8092696


    Aggregate member links: 4

    LACP info:        Role     System             System      Port    Port  Port
                             priority          identifier  priority  number   key
      ge-0/0/0.0     Actor        127  3c:61:04:2f:c7:c0       127       1     1
      ge-0/0/0.0   Partner        127  3c:61:04:2d:9f:c0       127       1     1
      ge-1/1/4.0     Actor        127  3c:61:04:2f:c7:c0       127       4     1
      ge-1/1/4.0   Partner        127  3c:61:04:2d:9f:c0       127       4     1
      ge-1/2/1.0     Actor        127  3c:61:04:2f:c7:c0       127       8     1
      ge-1/2/1.0   Partner        127  3c:61:04:2d:9f:c0       127       8     1
      ge-1/2/2.0     Actor        127  3c:61:04:2f:c7:c0       127       9     1
      ge-1/2/2.0   Partner        127  3c:61:04:2d:9f:c0       127       9     1
    LACP Statistics:       LACP Rx     LACP Tx   Unknown Rx   Illegal Rx
      ge-0/0/0.0               130         125            0            0
      ge-1/1/4.0               127         121            0            0
      ge-1/2/1.0               127         123            0            0
      ge-1/2/2.0               128         123            0            0
    Marker Statistics:   Marker Rx     Resp Tx   Unknown Rx   Illegal Rx
      ge-0/0/0.0                 0           0            0            0
      ge-1/1/4.0                 0           0            0            0
      ge-1/2/1.0                 0           0            0            0
      ge-1/2/2.0                 0           0            0            0
    Protocol inet, MTU: 1500, Generation: 1699, Route table: 0
      Flags: Sendbcast-pkt-to-re
      Addresses, Flags: Is-Preferred Is-Primary
        Destination: 10.0.1/24, Local: 10.0.1.1, Broadcast: 10.0.1.255, Generation: 1501
    Protocol iso, MTU: 1497, Generation: 1700, Route table: 0
      Flags: Is-Primary
    Protocol multiservice, MTU: Unlimited, Generation: 1701, Route table: 0
      Flags: Is-Primary
      Policer: Input: __default_arp_policer__

user@R0> show interfaces ae1.0 extensive
Logical interface ae1.0 (Index 336) (SNMP ifIndex 666) (Generation 826)
    Flags: Up SNMP-Traps 0x4004000 Encapsulation: ENET2
    Statistics        Packets        pps         Bytes          bps
    Bundle:
        Input :           707          4        206275         3968
        Output:        849981      32979      93602009     29023264
    Adaptive Statistics:
        Adaptive Adjusts:          0
        Adaptive Scans  :          0
        Adaptive Updates:          0
    Link:
      ge-0/1/6.0
        Input :           148          1         17800          992
        Output:        198301       7819      21812806      6880984
      ge-1/1/6.0
        Input :           134          1         16616          992
        Output:        209149       8088      23006390      7117728
      ge-1/2/0.0
        Input :           136          1         16864          992
        Output:        215518       8291      23811445      7296528
      ge-1/2/3.0
        Input :           289          1        154995          992
        Output:        227013       8781      24971368      7728024


    Aggregate member links: 4

    LACP info:        Role     System             System      Port    Port  Port
                             priority          identifier  priority  number   key
      ge-0/1/6.0     Actor        127  3c:61:04:2f:c7:c0       127       2     2
      ge-0/1/6.0   Partner        127  3c:61:04:2d:9f:c0       127       2     2
      ge-1/1/6.0     Actor        127  3c:61:04:2f:c7:c0       127       6     2
      ge-1/1/6.0   Partner        127  3c:61:04:2d:9f:c0       127       6     2
      ge-1/2/0.0     Actor        127  3c:61:04:2f:c7:c0       127       7     2
      ge-1/2/0.0   Partner        127  3c:61:04:2d:9f:c0       127       7     2
      ge-1/2/3.0     Actor        127  3c:61:04:2f:c7:c0       127      10     2
      ge-1/2/3.0   Partner        127  3c:61:04:2d:9f:c0       127      10     2
    LACP Statistics:       LACP Rx     LACP Tx   Unknown Rx   Illegal Rx
      ge-0/1/6.0               129         123            0            0
      ge-1/1/6.0               127         121            0            0
      ge-1/2/0.0               127         123            0            0
      ge-1/2/3.0               128         123            0            0
    Marker Statistics:   Marker Rx     Resp Tx   Unknown Rx   Illegal Rx
      ge-0/1/6.0                 0           0            0            0
      ge-1/1/6.0                 0           0            0            0
      ge-1/2/0.0                 0           0            0            0
      ge-1/2/3.0                 0           0            0            0
    Protocol inet, MTU: 1500, Generation: 1702, Route table: 0
      Flags: Sendbcast-pkt-to-re
      Addresses, Flags: Is-Preferred Is-Primary
        Destination: 10.1.1/24, Local: 10.1.1.1, Broadcast: 10.1.1.255, Generation: 1503
    Protocol iso, MTU: 1497, Generation: 1703, Route table: 0
    Protocol multiservice, MTU: Unlimited, Generation: 1704, Route table: 0
      Policer: Input: __default_arp_policer__

user@R0> show interfaces ae2.0 extensive
Logical interface ae2.0 (Index 337) (SNMP ifIndex 961) (Generation 827)
     Flags: Up SNMP-Traps 0x4004000 Encapsulation: ENET2
     Statistics        Packets        pps         Bytes          bps
     Bundle:
         Input :           702          4        224128         3968
         Output:        855472      33229      94215862     29243664
     Adaptive Statistics:
         Adaptive Adjusts:          0
         Adaptive Scans  :          0
         Adaptive Updates:          0
     Link:
       ge-0/1/8.0
         Input :           137          1         16988          992
         Output:        213214       8377      23453540      7372232
       ge-1/1/5.0
         Input :           137          1         16988          992
         Output:        212174       8244      23339050      7255368
       ge-1/2/8.0
         Input :           135          1         16740          992
         Output:        210583       8144      23164099      7167296
       ge-1/3/3.0
         Input :           293          1        173412          992
         Output:        219501       8464      24259173      7448768


     Aggregate member links: 4

     LACP info:        Role     System             System      Port    Port  Port
                              priority          identifier  priority  number   key
       ge-0/1/8.0     Actor        127  3c:61:04:2f:c7:c0       127       3     3
       ge-0/1/8.0   Partner        127  3c:61:04:2d:9f:c0       127       3     3
       ge-1/1/5.0     Actor        127  3c:61:04:2f:c7:c0       127       5     3
       ge-1/1/5.0   Partner        127  3c:61:04:2d:9f:c0       127       5     3
       ge-1/2/8.0     Actor        127  3c:61:04:2f:c7:c0       127      11     3
       ge-1/2/8.0   Partner        127  3c:61:04:2d:9f:c0       127      11     3
       ge-1/3/3.0     Actor        127  3c:61:04:2f:c7:c0       127      12     3
       ge-1/3/3.0   Partner        127  3c:61:04:2d:9f:c0       127      12     3
     LACP Statistics:       LACP Rx     LACP Tx   Unknown Rx   Illegal Rx
       ge-0/1/8.0               127         123            0            0
       ge-1/1/5.0               130         123            0            0
       ge-1/2/8.0               129         124            0            0
       ge-1/3/3.0               129         124            0            0
     Marker Statistics:   Marker Rx     Resp Tx   Unknown Rx   Illegal Rx
       ge-0/1/8.0                 0           0            0            0
       ge-1/1/5.0                 0           0            0            0
       ge-1/2/8.0                 0           0            0            0
       ge-1/3/3.0                 0           0            0            0
     Protocol inet, MTU: 1500, Generation: 1705, Route table: 0
       Flags: Sendbcast-pkt-to-re
       Addresses, Flags: Is-Preferred Is-Primary
         Destination: 10.2.1/24, Local: 10.2.1.1, Broadcast: 10.2.1.255, Generation: 1505
     Protocol iso, MTU: 1497, Generation: 1706, Route table: 0
     Protocol multiservice, MTU: Unlimited, Generation: 1707, Route table: 0
       Policer: Input: __default_arp_policer__

Meaning

IS-IS distributes traffic equally when the three aggregated Ethernet bundles have the same bandwidth available.

Verifying Unequal Traffic Distribution Over Available Bandwidth

Purpose

To verify that IS-IS distributes traffic unevenly when one of the aggregated link is down during per-packet load balancing depending on the available bandwidth.

Action

Disable one of the links on the ae0 bundle so that the available bandwidth is 3g on ae0 and 4g on ae1and ae2. From operational mode, enter the show route 198.0.0.1 extensive command.

content_copy zoom_out_map
user@R0> show route 198.0.0.1 extensive
inet.0: 10028 destinations, 10029 routes (10027 active, 0 holddown, 1 hidden)
198.0.0.1/32 (1 entry, 1 announced)
TSI:
KRT in-kernel 198.0.0.1/32 -> {10.0.1.2, 10.1.1.2, 10.2.1.2, 10.3.1.2}
        *IS-IS  Preference: 18
                Level: 2
                Next hop type: Router, Next hop index: 1048575
                Address: 0x9ec55d0
                Next-hop reference count: 20005
                Next hop: 10.0.1.2 via ae0.0 weight 0x1 balance 27%
                Session Id: 0x1b2
                Next hop: 10.1.1.2 via ae1.0 weight 0x1 balance 36%, selected
                Session Id: 0x1b1
                Next hop: 10.2.1.2 via ae2.0 weight 0x1 balance 36%
                Session Id: 0x1b3
                Next hop: 10.3.1.2 via ge-0/1/7.0 weight 0xf000
                Session Id: 0x1b0
                State:<Active Int>
                Age: 22     Metric: 20
                Validation State: unverified
                Task: IS-IS
                Announcement bits (1): 0-KRT
                AS path: I 
user@R0> show interfaces ae0.0 extensive
Logical interface ae0.0 (Index 335) (SNMP ifIndex 625) (Generation 825)
 Flags: Up SNMP-Traps 0x4004000 Encapsulation: ENET2
 Statistics        Packets        pps         Bytes          bps
 Bundle:
     Input :           793          3        218290         2976
     Output:       1617811      27223     178003101     23957320
 Adaptive Statistics:
     Adaptive Adjusts:          0
     Adaptive Scans  :          0
     Adaptive Updates:          0
 Link:
   ge-0/0/0.0
     Input :           182          1         21794          992
     Output:        461045       9423      50717650      8292776
   ge-1/1/4.0 <-- down
     Input :           139          0         17236            0
     Output:        241334          0      26546740            0
   ge-1/2/1.0
     Input :           162          1         20088          992
     Output:        444340       8979      48918653      7901976
   ge-1/2/2.0
     Input :           310          1        159172          992
     Output:        471092       8821      51820058      7762568


 Aggregate member links: 4

 LACP info:        Role     System             System      Port    Port  Port
                          priority          identifier  priority  number   key
   ge-0/0/0.0     Actor        127  3c:61:04:2f:c7:c0       127       1     1
   ge-0/0/0.0   Partner        127  3c:61:04:2d:9f:c0       127       1     1
   ge-1/1/4.0     Actor        127  3c:61:04:2f:c7:c0       127       4     1
   ge-1/1/4.0   Partner          1  00:00:00:00:00:00         1       4     1
   ge-1/2/1.0     Actor        127  3c:61:04:2f:c7:c0       127       8     1
   ge-1/2/1.0   Partner        127  3c:61:04:2d:9f:c0       127       8     1
   ge-1/2/2.0     Actor        127  3c:61:04:2f:c7:c0       127       9     1
   ge-1/2/2.0   Partner        127  3c:61:04:2d:9f:c0       127       9     1
 LACP Statistics:       LACP Rx     LACP Tx   Unknown Rx   Illegal Rx
   ge-0/0/0.0               161         156            0            0
   ge-1/1/4.0               151         145            0            0
   ge-1/2/1.0               158         154            0            0
   ge-1/2/2.0               159         154            0            0
 Marker Statistics:   Marker Rx     Resp Tx   Unknown Rx   Illegal Rx
   ge-0/0/0.0                 0           0            0            0
   ge-1/1/4.0                 0           0            0            0
   ge-1/2/1.0                 0           0            0            0
   ge-1/2/2.0                 0           0            0            0
 Protocol inet, MTU: 1500, Generation: 1699, Route table: 0
   Flags: Sendbcast-pkt-to-re
   Addresses, Flags: Is-Preferred Is-Primary
     Destination: 10.0.1/24, Local: 10.0.1.1, Broadcast: 10.0.1.255, Generation: 1501
 Protocol iso, MTU: 1497, Generation: 1700, Route table: 0
   Flags: Is-Primary
 Protocol multiservice, MTU: Unlimited, Generation: 1701, Route table: 0
   Flags: Is-Primary
   Policer: Input: __default_arp_policer__


user@R0> show interfaces ae1.0 extensive
Logical interface ae1.0 (Index 336) (SNMP ifIndex 666) (Generation 826)
    Flags: Up SNMP-Traps 0x4004000 Encapsulation: ENET2
    Statistics        Packets        pps         Bytes          bps
    Bundle:
        Input :           817          5        219555         4672
        Output:       1756031      35775     193270683     31483104
    Adaptive Statistics:
        Adaptive Adjusts:          0
        Adaptive Scans  :          0
        Adaptive Updates:          0
    Link:
      ge-0/1/6.0
        Input :           174          1         21024          992
        Output:        411469       8414      45261286      7404544
      ge-1/1/6.0
        Input :           159          1         19716          992
        Output:        433700       8893      47707000      7826296
      ge-1/2/0.0
        Input :           161          1         19964          992
        Output:        447338       9190      49314819      8087408
      ge-1/2/3.0
        Input :           323          2        158851         1696
        Output:        463524       9278      50987578      8164856


    Aggregate member links: 4

    LACP info:        Role     System             System      Port    Port  Port
                             priority          identifier  priority  number   key
      ge-0/1/6.0     Actor        127  3c:61:04:2f:c7:c0       127       2     2
      ge-0/1/6.0   Partner        127  3c:61:04:2d:9f:c0       127       2     2
      ge-1/1/6.0     Actor        127  3c:61:04:2f:c7:c0       127       6     2
      ge-1/1/6.0   Partner        127  3c:61:04:2d:9f:c0       127       6     2
      ge-1/2/0.0     Actor        127  3c:61:04:2f:c7:c0       127       7     2
      ge-1/2/0.0   Partner        127  3c:61:04:2d:9f:c0       127       7     2
      ge-1/2/3.0     Actor        127  3c:61:04:2f:c7:c0       127      10     2
      ge-1/2/3.0   Partner        127  3c:61:04:2d:9f:c0       127      10     2
    LACP Statistics:       LACP Rx     LACP Tx   Unknown Rx   Illegal Rx
      ge-0/1/6.0               159         153            0            0
      ge-1/1/6.0               157         151            0            0
      ge-1/2/0.0               157         153            0            0
      ge-1/2/3.0               158         153            0            0
    Marker Statistics:   Marker Rx     Resp Tx   Unknown Rx   Illegal Rx
      ge-0/1/6.0                 0           0            0            0
      ge-1/1/6.0                 0           0            0            0
      ge-1/2/0.0                 0           0            0            0
      ge-1/2/3.0                 0           0            0            0
    Protocol inet, MTU: 1500, Generation: 1702, Route table: 0
      Flags: Sendbcast-pkt-to-re
      Addresses, Flags: Is-Preferred Is-Primary
        Destination: 10.1.1/24, Local: 10.1.1.1, Broadcast: 10.1.1.255, Generation: 1503
    Protocol iso, MTU: 1497, Generation: 1703, Route table: 0
    Protocol multiservice, MTU: Unlimited, Generation: 1704, Route table: 0
      Policer: Input: __default_arp_policer__

user@R0> show interfaces ae2.0 extensive
Logical interface ae2.0 (Index 337) (SNMP ifIndex 961) (Generation 827)
    Flags: Up SNMP-Traps 0x4004000 Encapsulation: ENET2
    Statistics        Packets        pps         Bytes          bps
    Bundle:
        Input :           813          4        237569         3968
        Output:       1786258      37008     196605473     32568272
    Adaptive Statistics:
        Adaptive Adjusts:          0
        Adaptive Scans  :          0
        Adaptive Updates:          0
    Link:
      ge-0/1/8.0
        Input :           163          1         20212          992
        Output:        446715       9282      49138650      8168408
      ge-1/1/5.0
        Input :           162          1         20088          992
        Output:        443846       9209      48822970      8104224
      ge-1/2/8.0
        Input :           161          1         19964          992
        Output:        443943       9341      48833699      8220624
      ge-1/3/3.0
        Input :           327          1        177305          992
        Output:        451754       9176      49810154      8075016


    Aggregate member links: 4

    LACP info:        Role     System             System      Port    Port  Port
                             priority          identifier  priority  number   key
      ge-0/1/8.0     Actor        127  3c:61:04:2f:c7:c0       127       3     3
      ge-0/1/8.0   Partner        127  3c:61:04:2d:9f:c0       127       3     3
      ge-1/1/5.0     Actor        127  3c:61:04:2f:c7:c0       127       5     3
      ge-1/1/5.0   Partner        127  3c:61:04:2d:9f:c0       127       5     3
      ge-1/2/8.0     Actor        127  3c:61:04:2f:c7:c0       127      11     3
      ge-1/2/8.0   Partner        127  3c:61:04:2d:9f:c0       127      11     3
      ge-1/3/3.0     Actor        127  3c:61:04:2f:c7:c0       127      12     3
      ge-1/3/3.0   Partner        127  3c:61:04:2d:9f:c0       127      12     3
    LACP Statistics:       LACP Rx     LACP Tx   Unknown Rx   Illegal Rx
      ge-0/1/8.0               157         153            0            0
      ge-1/1/5.0               160         153            0            0
      ge-1/2/8.0               159         154            0            0
      ge-1/3/3.0               159         154            0            0
    Marker Statistics:   Marker Rx     Resp Tx   Unknown Rx   Illegal Rx
      ge-0/1/8.0                 0           0            0            0
      ge-1/1/5.0                 0           0            0            0
      ge-1/2/8.0                 0           0            0            0
      ge-1/3/3.0                 0           0            0            0
    Protocol inet, MTU: 1500, Generation: 1705, Route table: 0
      Flags: Sendbcast-pkt-to-re
      Addresses, Flags: Is-Preferred Is-Primary
        Destination: 10.2.1/24, Local: 10.2.1.1, Broadcast: 10.2.1.255, Generation: 1505
    Protocol iso, MTU: 1497, Generation: 1706, Route table: 0
    Protocol multiservice, MTU: Unlimited, Generation: 1707, Route table: 0
      Policer: Input: __default_arp_policer__

Meaning

IS-IS infers that the ae0 bundle has only 3g of bandwidth available. Therefore, modifies per-packet load balancing according to the available bandwidth. As per the output, only 27 percent of the bandwidth is available on ae0 because one of the aggregated Ethernet links is down. Thus IS-IS distributes traffic unequally depending on the available bandwidth.

Verifying Unequal Traffic Distribution onLogical Interfaces

Purpose

To verify that IS-IS distributes traffic unevenly on logical interfaces based on the configured logical bandwidth.

Action

content_copy zoom_out_map
user@R0> show interfaces ae1.1
Logical interface ae1.1 (Index 605) (SNMP ifIndex 1910)
    Flags: Up SNMP-Traps 0x4000 VLAN-Tag [ 0x8100.1 ]  Encapsulation: ENET2
    Bandwidth: 2000mbps
    Statistics        Packets        pps         Bytes          bps
    Bundle:
        Input :           807          0        200537          360
        Output:           277          0         55529            0
    Adaptive Statistics:
        Adaptive Adjusts:          0
        Adaptive Scans  :          0
        Adaptive Updates:          0
    Protocol inet, MTU: 1500
    Max nh cache: 75000, New hold nh limit: 75000, Curr nh cnt: 1, Curr new hold cnt: 0, NH drop cnt: 0
      Flags: Sendbcast-pkt-to-re
      Addresses, Flags: Is-Preferred Is-Primary
        Destination: 13.1.1/24, Local: 13.1.1.2, Broadcast: 13.1.1.255
    Protocol iso, MTU: 1497
    Protocol multiservice, MTU: Unlimited


user@R0> show interfaces ae1.2
Logical interface ae1.2 (Index 606) (SNMP ifIndex 1911)
    Flags: Up SNMP-Traps 0x4000 VLAN-Tag [ 0x8100.2 ]  Encapsulation: ENET2
    Bandwidth: 1000mbps
    Statistics        Packets        pps         Bytes          bps
    Bundle:
        Input :           836          0        208643          720
        Output:           305          0         61006            0
    Adaptive Statistics:
        Adaptive Adjusts:          0
        Adaptive Scans  :          0
        Adaptive Updates:          0
    Protocol inet, MTU: 1500
    Max nh cache: 75000, New hold nh limit: 75000, Curr nh cnt: 1, Curr new hold cnt: 0, NH drop cnt: 0
      Flags: Sendbcast-pkt-to-re
      Addresses, Flags: Is-Preferred Is-Primary
        Destination: 13.2.1/24, Local: 13.2.1.2, Broadcast: 13.2.1.255
    Protocol iso, MTU: 1497
    Protocol multiservice, MTU: Unlimited

Change History Table

Feature support is determined by the platform and release you are using. Use Feature Explorer to determine if a feature is supported on your platform.

Release
Description
15.1F4
Beginning with Junos OS Release 15.1F4, you can configure the IS-IS protocol to get the logical interface bandwidth information associated with the gateways of equal-cost multipath (ECMP) next hop.
footer-navigation