📜 ⬆️ ⬇️

Container lsp

In the first part of the article I tried to describe the capabilities of some approaches to balancing traffic in the MPLS domain, the idea was to show the unique hardware requirements for the chip, which allow us to achieve success, in one way or another. The second part will be devoted to the story of Kireeti Kompella's relatively fresh draft [Multi-path Label Switched Paths Signaled Using RSVP-TE], and a description of how to use its Juniper implementation to solve some problems.

The task of efficient utilization of communication channels in the RSVP-TE network has much in common with the task of packing things in bags, suitcases or containers before release. Everyone who did this will say that things of approximately equal size fit much easier and more evenly. It’s good if the size of things is noticeably smaller than the size of the container, but when suddenly there is a need to fit a voluminous object into one of the bags already ready for departure, re-sorting is inevitable. In the RSVP-TE world, this is called a bin-packing problem. To understand what I'm talking about, look at Figure 1, the green and blue lines are the LSP1 set along the ACDE and LSP2 path along the BCE path at times T = 1 and T = 2, respectively. If at time T = 3 the LSP2 band would need to be expanded to a value of 8, the capacity of the CE channel would not allow this. In the world of things and suitcases, we would spend a little time re-sorting things to solve this problem. RSVP-TE allows, with certain reservations, to do the same, for it came up with setup and hold LSP priorities, a potentially wider LSP can be assigned a high priority so that narrow LSPs move, however this approach works just until the same priorities come up for the LSP and then everything repeats.

image

This happens for two reasons:
')

Returning to the problem of luggage, we could try to make out the suddenly discovered thing to such an extent that all its parts evenly fill the free space of several luggage. A similar idea was proposed by Kireeti Kompella for optimal utilization of communication channels in the RSVP-TE environment. Instead of signaling one thick path, the router, taking into account the current topology and channel utilization, cheats and signals several less stringent paths, they are called sub-LSPs in the draft. Figure 2 shows how this might look like with respect to the expansion of the LSP2 bandwidth to a value of 8, the router runs a pair of sub-LSPs with lanes of 4 and spreads the traffic along two possible paths.

image

So, in the draft, a new MLSP concept or container appears; this concept defines a configuration object and controls the set of sub-LSPs. In other words, the TE properties and requirements fixed in the container generate some set of physical LSPs satisfying
constraints and network capabilities. The exact algorithm for calculating the number of sub-LSPs and the bandwidth of the reserved sub-LSP is not described, this is all given to the free implementation of vendors, there are only two caveats to this effect:


The sub-LSPs belonging to a particular MLSP instance are signaled in such a way that transit routers can determine this membership, for this the Path message assumes the use of an ASSOCIATION RSVP with a unique value for each MLSP. Interestingly, before version 4 of the draft, it was supposed to use the Sender Template fields as an identifier. Identification of the sup-LSP membership is useful in that it allows a fairly simple tag saving mechanism, the downstream router does not need to reserve a unique label for each sub-LSP, it is enough to determine which MLSP belongs to the sub-LSP being installed and return the common label to the upstream router.

Depending on the capabilities of the switching chip of the transit router, the draft describes two options for organizing traffic at the data plane level. The first option, called Equi-bandwidth LSP, is to evenly distribute traffic flows across all sub-LSPs on each transit router. The behavior of traffic flows fully complies with per-hop ECMP balancing with the ability to use everything and not just IGP Best. The second possibility implies a weight distribution of traffic flows over the sub-LSP in accordance with the reserved band. It also stipulates the possibility of alternative (at the discretion of the vendor) options for organizing the data-plane.

image

This data-plane organization has an interesting property — in some topologies, fast convergence in case of accidents is a self-evident consequence even without using mechanisms like MPLS TE Protection, so if the BC channel in Figure 3 fails, router B does not install any repair paths , is able to restore traffic by itself by simply removing one next-hop from the table before the crash information is available to Router A.

Further analysis of the draft pick risks turning into a retelling, so let's move on to examples of use. At the moment, I know only one option, which with certain reservations can be called at least the ideological realization of the draft. The main complaint is that the label saving and sub-LSP identification mechanisms have not yet been implemented, however, a convenient tool for solving some TE problems has turned out. By the way, Juniper Container LSP is fully compatible with classic implementations of RSVP-TE from other manufacturers; this, in my opinion, is a serious plus of this form of implementation.

Attractive is the ability to use Full Mesh Container LSP between PE routers in combination with P devices without serious label stack hashing capabilities. Instead of balancing traffic on each transit router, the Container LSP uses a flexible sub-LSP calculation and signaling mechanism. The algorithm is able to autonomously adjust the number of sub-LSPs, their paths and the occupied bands to the capabilities and topology of the network. The configuration parameters of a container, or a sub-LSP set, their properties and limitations are transferred to the algorithm's input:


The aggregated band is periodically updated based on the band statistics of each sub-LSP and is the sum of these values. The remaining parameters of the container are set manually in accordance with the desired values. Autonomous operation is supported by a periodically repeating normalization event, at which time the algorithm makes one of the following decisions:


The current version of the normalization algorithm performs the calculation, which results in a set of sub-LSPs with equal bandwidth. For example, if the aggregated band is 10, as a result of the calculation, a sub-LSP may appear with the following parameters: 2 through 5, 5 through 2, or 3 through 3.3, if there are several options, the algorithm chooses the one that requires a smaller number of sub-LSPs. Between normalization events, the bandwidth of each sub-LSP can be changed individually using the auto-bandwidth mechanism. At the next iteration of the normalization, the algorithm will collect the current band readings and perform one of its possible actions, the actions of deleting or adding a sub-LSP are performed if the current band of any sub-LSP goes beyond the splitting / merging range. Adding or deleting a sub-LSP is accompanied by band recalculation with the following limitations:

N - sub-LSP, X - , minimum-member-lsps - sub-LSP, maximum-member-lsps - sub-LSP, splitting-bandwidth - , merging-bandwidth -

[X/splitting-bandwidth] ≤ N ≤ [X/merging-bandwidth]
minimum-member-lsps ≤ N ≤ maximum-member-lsps


The smallest N value satisfying these inequalities is used to calculate the new sub-LSP band by a simple formula

B = X / N

If the CSPF algorithm fails to find paths with the desired free band, for example due to fragmentation of the free band, N is increased by one, which reduces the individual sub-LSPs band, and the process of finding paths is repeated.

To demonstrate the behavior of the Container LSP, I put together a scheme like this. The bandwidth of each interface is reduced to 10Mbit / s.

image

We start with the configuration on router A, we need to explicitly enable the collection of LSP statistics (lines 1-3), specify the template from which the sub-LSPs will be created (lines 4-11) and write the properties of the LSP container towards router B (lines 12-22 )

[edit protocols mpls]
set protocols mpls statistics file mpls-lsp-stats set protocols mpls statistics interval 50 set protocols mpls statistics auto-bandwidth set protocols mpls label-switched-path lsp-template template set protocols mpls label-switched-path lsp-template retry-timer 3 set protocols mpls label-switched-path lsp-template optimize-timer 0 set protocols mpls label-switched-path lsp-template least-fill set protocols mpls label-switched-path lsp-template adaptive set protocols mpls label-switched-path lsp-template auto-bandwidth adjust-interval 300 set protocols mpls label-switched-path lsp-template auto-bandwidth minimum-bandwidth 1k set protocols mpls label-switched-path lsp-template auto-bandwidth maximum-bandwidth 10m set protocols mpls container-label-switched-path to-b-cnt label-switched-path-template lsp-template set protocols mpls container-label-switched-path to-b-cnt to 172.19.1.2 set protocols mpls container-label-switched-path to-b-cnt splitting-merging maximum-member-lsps 50 set protocols mpls container-label-switched-path to-b-cnt splitting-merging minimum-member-lsps 1 set protocols mpls container-label-switched-path to-b-cnt splitting-merging splitting-bandwidth 4m set protocols mpls container-label-switched-path to-b-cnt splitting-merging merging-bandwidth 2m set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalize-interval 650 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization failover-normalization set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-duration 5 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-limits 3 set protocols mpls container-label-switched-path to-b-cnt splitting-merging sampling use-percentile 95
[edit protocols mpls]
  1. [edit protocols mpls]
    set protocols mpls statistics file mpls-lsp-stats set protocols mpls statistics interval 50 set protocols mpls statistics auto-bandwidth set protocols mpls label-switched-path lsp-template template set protocols mpls label-switched-path lsp-template retry-timer 3 set protocols mpls label-switched-path lsp-template optimize-timer 0 set protocols mpls label-switched-path lsp-template least-fill set protocols mpls label-switched-path lsp-template adaptive set protocols mpls label-switched-path lsp-template auto-bandwidth adjust-interval 300 set protocols mpls label-switched-path lsp-template auto-bandwidth minimum-bandwidth 1k set protocols mpls label-switched-path lsp-template auto-bandwidth maximum-bandwidth 10m set protocols mpls container-label-switched-path to-b-cnt label-switched-path-template lsp-template set protocols mpls container-label-switched-path to-b-cnt to 172.19.1.2 set protocols mpls container-label-switched-path to-b-cnt splitting-merging maximum-member-lsps 50 set protocols mpls container-label-switched-path to-b-cnt splitting-merging minimum-member-lsps 1 set protocols mpls container-label-switched-path to-b-cnt splitting-merging splitting-bandwidth 4m set protocols mpls container-label-switched-path to-b-cnt splitting-merging merging-bandwidth 2m set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalize-interval 650 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization failover-normalization set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-duration 5 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-limits 3 set protocols mpls container-label-switched-path to-b-cnt splitting-merging sampling use-percentile 95
    [edit protocols mpls]
  2. [edit protocols mpls]
    set protocols mpls statistics file mpls-lsp-stats set protocols mpls statistics interval 50 set protocols mpls statistics auto-bandwidth set protocols mpls label-switched-path lsp-template template set protocols mpls label-switched-path lsp-template retry-timer 3 set protocols mpls label-switched-path lsp-template optimize-timer 0 set protocols mpls label-switched-path lsp-template least-fill set protocols mpls label-switched-path lsp-template adaptive set protocols mpls label-switched-path lsp-template auto-bandwidth adjust-interval 300 set protocols mpls label-switched-path lsp-template auto-bandwidth minimum-bandwidth 1k set protocols mpls label-switched-path lsp-template auto-bandwidth maximum-bandwidth 10m set protocols mpls container-label-switched-path to-b-cnt label-switched-path-template lsp-template set protocols mpls container-label-switched-path to-b-cnt to 172.19.1.2 set protocols mpls container-label-switched-path to-b-cnt splitting-merging maximum-member-lsps 50 set protocols mpls container-label-switched-path to-b-cnt splitting-merging minimum-member-lsps 1 set protocols mpls container-label-switched-path to-b-cnt splitting-merging splitting-bandwidth 4m set protocols mpls container-label-switched-path to-b-cnt splitting-merging merging-bandwidth 2m set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalize-interval 650 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization failover-normalization set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-duration 5 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-limits 3 set protocols mpls container-label-switched-path to-b-cnt splitting-merging sampling use-percentile 95
    [edit protocols mpls]
  3. [edit protocols mpls]
    set protocols mpls statistics file mpls-lsp-stats set protocols mpls statistics interval 50 set protocols mpls statistics auto-bandwidth set protocols mpls label-switched-path lsp-template template set protocols mpls label-switched-path lsp-template retry-timer 3 set protocols mpls label-switched-path lsp-template optimize-timer 0 set protocols mpls label-switched-path lsp-template least-fill set protocols mpls label-switched-path lsp-template adaptive set protocols mpls label-switched-path lsp-template auto-bandwidth adjust-interval 300 set protocols mpls label-switched-path lsp-template auto-bandwidth minimum-bandwidth 1k set protocols mpls label-switched-path lsp-template auto-bandwidth maximum-bandwidth 10m set protocols mpls container-label-switched-path to-b-cnt label-switched-path-template lsp-template set protocols mpls container-label-switched-path to-b-cnt to 172.19.1.2 set protocols mpls container-label-switched-path to-b-cnt splitting-merging maximum-member-lsps 50 set protocols mpls container-label-switched-path to-b-cnt splitting-merging minimum-member-lsps 1 set protocols mpls container-label-switched-path to-b-cnt splitting-merging splitting-bandwidth 4m set protocols mpls container-label-switched-path to-b-cnt splitting-merging merging-bandwidth 2m set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalize-interval 650 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization failover-normalization set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-duration 5 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-limits 3 set protocols mpls container-label-switched-path to-b-cnt splitting-merging sampling use-percentile 95
    [edit protocols mpls]
  4. [edit protocols mpls]
    set protocols mpls statistics file mpls-lsp-stats set protocols mpls statistics interval 50 set protocols mpls statistics auto-bandwidth set protocols mpls label-switched-path lsp-template template set protocols mpls label-switched-path lsp-template retry-timer 3 set protocols mpls label-switched-path lsp-template optimize-timer 0 set protocols mpls label-switched-path lsp-template least-fill set protocols mpls label-switched-path lsp-template adaptive set protocols mpls label-switched-path lsp-template auto-bandwidth adjust-interval 300 set protocols mpls label-switched-path lsp-template auto-bandwidth minimum-bandwidth 1k set protocols mpls label-switched-path lsp-template auto-bandwidth maximum-bandwidth 10m set protocols mpls container-label-switched-path to-b-cnt label-switched-path-template lsp-template set protocols mpls container-label-switched-path to-b-cnt to 172.19.1.2 set protocols mpls container-label-switched-path to-b-cnt splitting-merging maximum-member-lsps 50 set protocols mpls container-label-switched-path to-b-cnt splitting-merging minimum-member-lsps 1 set protocols mpls container-label-switched-path to-b-cnt splitting-merging splitting-bandwidth 4m set protocols mpls container-label-switched-path to-b-cnt splitting-merging merging-bandwidth 2m set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalize-interval 650 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization failover-normalization set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-duration 5 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-limits 3 set protocols mpls container-label-switched-path to-b-cnt splitting-merging sampling use-percentile 95
    [edit protocols mpls]
  5. [edit protocols mpls]
    set protocols mpls statistics file mpls-lsp-stats set protocols mpls statistics interval 50 set protocols mpls statistics auto-bandwidth set protocols mpls label-switched-path lsp-template template set protocols mpls label-switched-path lsp-template retry-timer 3 set protocols mpls label-switched-path lsp-template optimize-timer 0 set protocols mpls label-switched-path lsp-template least-fill set protocols mpls label-switched-path lsp-template adaptive set protocols mpls label-switched-path lsp-template auto-bandwidth adjust-interval 300 set protocols mpls label-switched-path lsp-template auto-bandwidth minimum-bandwidth 1k set protocols mpls label-switched-path lsp-template auto-bandwidth maximum-bandwidth 10m set protocols mpls container-label-switched-path to-b-cnt label-switched-path-template lsp-template set protocols mpls container-label-switched-path to-b-cnt to 172.19.1.2 set protocols mpls container-label-switched-path to-b-cnt splitting-merging maximum-member-lsps 50 set protocols mpls container-label-switched-path to-b-cnt splitting-merging minimum-member-lsps 1 set protocols mpls container-label-switched-path to-b-cnt splitting-merging splitting-bandwidth 4m set protocols mpls container-label-switched-path to-b-cnt splitting-merging merging-bandwidth 2m set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalize-interval 650 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization failover-normalization set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-duration 5 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-limits 3 set protocols mpls container-label-switched-path to-b-cnt splitting-merging sampling use-percentile 95
    [edit protocols mpls]
  6. [edit protocols mpls]
    set protocols mpls statistics file mpls-lsp-stats set protocols mpls statistics interval 50 set protocols mpls statistics auto-bandwidth set protocols mpls label-switched-path lsp-template template set protocols mpls label-switched-path lsp-template retry-timer 3 set protocols mpls label-switched-path lsp-template optimize-timer 0 set protocols mpls label-switched-path lsp-template least-fill set protocols mpls label-switched-path lsp-template adaptive set protocols mpls label-switched-path lsp-template auto-bandwidth adjust-interval 300 set protocols mpls label-switched-path lsp-template auto-bandwidth minimum-bandwidth 1k set protocols mpls label-switched-path lsp-template auto-bandwidth maximum-bandwidth 10m set protocols mpls container-label-switched-path to-b-cnt label-switched-path-template lsp-template set protocols mpls container-label-switched-path to-b-cnt to 172.19.1.2 set protocols mpls container-label-switched-path to-b-cnt splitting-merging maximum-member-lsps 50 set protocols mpls container-label-switched-path to-b-cnt splitting-merging minimum-member-lsps 1 set protocols mpls container-label-switched-path to-b-cnt splitting-merging splitting-bandwidth 4m set protocols mpls container-label-switched-path to-b-cnt splitting-merging merging-bandwidth 2m set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalize-interval 650 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization failover-normalization set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-duration 5 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-limits 3 set protocols mpls container-label-switched-path to-b-cnt splitting-merging sampling use-percentile 95
    [edit protocols mpls]
  7. [edit protocols mpls]
    set protocols mpls statistics file mpls-lsp-stats set protocols mpls statistics interval 50 set protocols mpls statistics auto-bandwidth set protocols mpls label-switched-path lsp-template template set protocols mpls label-switched-path lsp-template retry-timer 3 set protocols mpls label-switched-path lsp-template optimize-timer 0 set protocols mpls label-switched-path lsp-template least-fill set protocols mpls label-switched-path lsp-template adaptive set protocols mpls label-switched-path lsp-template auto-bandwidth adjust-interval 300 set protocols mpls label-switched-path lsp-template auto-bandwidth minimum-bandwidth 1k set protocols mpls label-switched-path lsp-template auto-bandwidth maximum-bandwidth 10m set protocols mpls container-label-switched-path to-b-cnt label-switched-path-template lsp-template set protocols mpls container-label-switched-path to-b-cnt to 172.19.1.2 set protocols mpls container-label-switched-path to-b-cnt splitting-merging maximum-member-lsps 50 set protocols mpls container-label-switched-path to-b-cnt splitting-merging minimum-member-lsps 1 set protocols mpls container-label-switched-path to-b-cnt splitting-merging splitting-bandwidth 4m set protocols mpls container-label-switched-path to-b-cnt splitting-merging merging-bandwidth 2m set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalize-interval 650 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization failover-normalization set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-duration 5 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-limits 3 set protocols mpls container-label-switched-path to-b-cnt splitting-merging sampling use-percentile 95
    [edit protocols mpls]
  8. [edit protocols mpls]
    set protocols mpls statistics file mpls-lsp-stats set protocols mpls statistics interval 50 set protocols mpls statistics auto-bandwidth set protocols mpls label-switched-path lsp-template template set protocols mpls label-switched-path lsp-template retry-timer 3 set protocols mpls label-switched-path lsp-template optimize-timer 0 set protocols mpls label-switched-path lsp-template least-fill set protocols mpls label-switched-path lsp-template adaptive set protocols mpls label-switched-path lsp-template auto-bandwidth adjust-interval 300 set protocols mpls label-switched-path lsp-template auto-bandwidth minimum-bandwidth 1k set protocols mpls label-switched-path lsp-template auto-bandwidth maximum-bandwidth 10m set protocols mpls container-label-switched-path to-b-cnt label-switched-path-template lsp-template set protocols mpls container-label-switched-path to-b-cnt to 172.19.1.2 set protocols mpls container-label-switched-path to-b-cnt splitting-merging maximum-member-lsps 50 set protocols mpls container-label-switched-path to-b-cnt splitting-merging minimum-member-lsps 1 set protocols mpls container-label-switched-path to-b-cnt splitting-merging splitting-bandwidth 4m set protocols mpls container-label-switched-path to-b-cnt splitting-merging merging-bandwidth 2m set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalize-interval 650 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization failover-normalization set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-duration 5 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-limits 3 set protocols mpls container-label-switched-path to-b-cnt splitting-merging sampling use-percentile 95
    [edit protocols mpls]
  9. [edit protocols mpls]
    set protocols mpls statistics file mpls-lsp-stats set protocols mpls statistics interval 50 set protocols mpls statistics auto-bandwidth set protocols mpls label-switched-path lsp-template template set protocols mpls label-switched-path lsp-template retry-timer 3 set protocols mpls label-switched-path lsp-template optimize-timer 0 set protocols mpls label-switched-path lsp-template least-fill set protocols mpls label-switched-path lsp-template adaptive set protocols mpls label-switched-path lsp-template auto-bandwidth adjust-interval 300 set protocols mpls label-switched-path lsp-template auto-bandwidth minimum-bandwidth 1k set protocols mpls label-switched-path lsp-template auto-bandwidth maximum-bandwidth 10m set protocols mpls container-label-switched-path to-b-cnt label-switched-path-template lsp-template set protocols mpls container-label-switched-path to-b-cnt to 172.19.1.2 set protocols mpls container-label-switched-path to-b-cnt splitting-merging maximum-member-lsps 50 set protocols mpls container-label-switched-path to-b-cnt splitting-merging minimum-member-lsps 1 set protocols mpls container-label-switched-path to-b-cnt splitting-merging splitting-bandwidth 4m set protocols mpls container-label-switched-path to-b-cnt splitting-merging merging-bandwidth 2m set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalize-interval 650 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization failover-normalization set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-duration 5 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-limits 3 set protocols mpls container-label-switched-path to-b-cnt splitting-merging sampling use-percentile 95
    [edit protocols mpls]
  10. [edit protocols mpls]
    set protocols mpls statistics file mpls-lsp-stats set protocols mpls statistics interval 50 set protocols mpls statistics auto-bandwidth set protocols mpls label-switched-path lsp-template template set protocols mpls label-switched-path lsp-template retry-timer 3 set protocols mpls label-switched-path lsp-template optimize-timer 0 set protocols mpls label-switched-path lsp-template least-fill set protocols mpls label-switched-path lsp-template adaptive set protocols mpls label-switched-path lsp-template auto-bandwidth adjust-interval 300 set protocols mpls label-switched-path lsp-template auto-bandwidth minimum-bandwidth 1k set protocols mpls label-switched-path lsp-template auto-bandwidth maximum-bandwidth 10m set protocols mpls container-label-switched-path to-b-cnt label-switched-path-template lsp-template set protocols mpls container-label-switched-path to-b-cnt to 172.19.1.2 set protocols mpls container-label-switched-path to-b-cnt splitting-merging maximum-member-lsps 50 set protocols mpls container-label-switched-path to-b-cnt splitting-merging minimum-member-lsps 1 set protocols mpls container-label-switched-path to-b-cnt splitting-merging splitting-bandwidth 4m set protocols mpls container-label-switched-path to-b-cnt splitting-merging merging-bandwidth 2m set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalize-interval 650 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization failover-normalization set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-duration 5 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-limits 3 set protocols mpls container-label-switched-path to-b-cnt splitting-merging sampling use-percentile 95
    [edit protocols mpls]
  11. [edit protocols mpls]
    set protocols mpls statistics file mpls-lsp-stats set protocols mpls statistics interval 50 set protocols mpls statistics auto-bandwidth set protocols mpls label-switched-path lsp-template template set protocols mpls label-switched-path lsp-template retry-timer 3 set protocols mpls label-switched-path lsp-template optimize-timer 0 set protocols mpls label-switched-path lsp-template least-fill set protocols mpls label-switched-path lsp-template adaptive set protocols mpls label-switched-path lsp-template auto-bandwidth adjust-interval 300 set protocols mpls label-switched-path lsp-template auto-bandwidth minimum-bandwidth 1k set protocols mpls label-switched-path lsp-template auto-bandwidth maximum-bandwidth 10m set protocols mpls container-label-switched-path to-b-cnt label-switched-path-template lsp-template set protocols mpls container-label-switched-path to-b-cnt to 172.19.1.2 set protocols mpls container-label-switched-path to-b-cnt splitting-merging maximum-member-lsps 50 set protocols mpls container-label-switched-path to-b-cnt splitting-merging minimum-member-lsps 1 set protocols mpls container-label-switched-path to-b-cnt splitting-merging splitting-bandwidth 4m set protocols mpls container-label-switched-path to-b-cnt splitting-merging merging-bandwidth 2m set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalize-interval 650 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization failover-normalization set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-duration 5 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-limits 3 set protocols mpls container-label-switched-path to-b-cnt splitting-merging sampling use-percentile 95
    [edit protocols mpls]
  12. [edit protocols mpls]
    set protocols mpls statistics file mpls-lsp-stats set protocols mpls statistics interval 50 set protocols mpls statistics auto-bandwidth set protocols mpls label-switched-path lsp-template template set protocols mpls label-switched-path lsp-template retry-timer 3 set protocols mpls label-switched-path lsp-template optimize-timer 0 set protocols mpls label-switched-path lsp-template least-fill set protocols mpls label-switched-path lsp-template adaptive set protocols mpls label-switched-path lsp-template auto-bandwidth adjust-interval 300 set protocols mpls label-switched-path lsp-template auto-bandwidth minimum-bandwidth 1k set protocols mpls label-switched-path lsp-template auto-bandwidth maximum-bandwidth 10m set protocols mpls container-label-switched-path to-b-cnt label-switched-path-template lsp-template set protocols mpls container-label-switched-path to-b-cnt to 172.19.1.2 set protocols mpls container-label-switched-path to-b-cnt splitting-merging maximum-member-lsps 50 set protocols mpls container-label-switched-path to-b-cnt splitting-merging minimum-member-lsps 1 set protocols mpls container-label-switched-path to-b-cnt splitting-merging splitting-bandwidth 4m set protocols mpls container-label-switched-path to-b-cnt splitting-merging merging-bandwidth 2m set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalize-interval 650 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization failover-normalization set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-duration 5 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-limits 3 set protocols mpls container-label-switched-path to-b-cnt splitting-merging sampling use-percentile 95
    [edit protocols mpls]
  13. [edit protocols mpls]
    set protocols mpls statistics file mpls-lsp-stats set protocols mpls statistics interval 50 set protocols mpls statistics auto-bandwidth set protocols mpls label-switched-path lsp-template template set protocols mpls label-switched-path lsp-template retry-timer 3 set protocols mpls label-switched-path lsp-template optimize-timer 0 set protocols mpls label-switched-path lsp-template least-fill set protocols mpls label-switched-path lsp-template adaptive set protocols mpls label-switched-path lsp-template auto-bandwidth adjust-interval 300 set protocols mpls label-switched-path lsp-template auto-bandwidth minimum-bandwidth 1k set protocols mpls label-switched-path lsp-template auto-bandwidth maximum-bandwidth 10m set protocols mpls container-label-switched-path to-b-cnt label-switched-path-template lsp-template set protocols mpls container-label-switched-path to-b-cnt to 172.19.1.2 set protocols mpls container-label-switched-path to-b-cnt splitting-merging maximum-member-lsps 50 set protocols mpls container-label-switched-path to-b-cnt splitting-merging minimum-member-lsps 1 set protocols mpls container-label-switched-path to-b-cnt splitting-merging splitting-bandwidth 4m set protocols mpls container-label-switched-path to-b-cnt splitting-merging merging-bandwidth 2m set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalize-interval 650 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization failover-normalization set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-duration 5 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-limits 3 set protocols mpls container-label-switched-path to-b-cnt splitting-merging sampling use-percentile 95
    [edit protocols mpls]
  14. [edit protocols mpls]
    set protocols mpls statistics file mpls-lsp-stats set protocols mpls statistics interval 50 set protocols mpls statistics auto-bandwidth set protocols mpls label-switched-path lsp-template template set protocols mpls label-switched-path lsp-template retry-timer 3 set protocols mpls label-switched-path lsp-template optimize-timer 0 set protocols mpls label-switched-path lsp-template least-fill set protocols mpls label-switched-path lsp-template adaptive set protocols mpls label-switched-path lsp-template auto-bandwidth adjust-interval 300 set protocols mpls label-switched-path lsp-template auto-bandwidth minimum-bandwidth 1k set protocols mpls label-switched-path lsp-template auto-bandwidth maximum-bandwidth 10m set protocols mpls container-label-switched-path to-b-cnt label-switched-path-template lsp-template set protocols mpls container-label-switched-path to-b-cnt to 172.19.1.2 set protocols mpls container-label-switched-path to-b-cnt splitting-merging maximum-member-lsps 50 set protocols mpls container-label-switched-path to-b-cnt splitting-merging minimum-member-lsps 1 set protocols mpls container-label-switched-path to-b-cnt splitting-merging splitting-bandwidth 4m set protocols mpls container-label-switched-path to-b-cnt splitting-merging merging-bandwidth 2m set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalize-interval 650 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization failover-normalization set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-duration 5 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-limits 3 set protocols mpls container-label-switched-path to-b-cnt splitting-merging sampling use-percentile 95
    [edit protocols mpls]
  15. [edit protocols mpls]
    set protocols mpls statistics file mpls-lsp-stats set protocols mpls statistics interval 50 set protocols mpls statistics auto-bandwidth set protocols mpls label-switched-path lsp-template template set protocols mpls label-switched-path lsp-template retry-timer 3 set protocols mpls label-switched-path lsp-template optimize-timer 0 set protocols mpls label-switched-path lsp-template least-fill set protocols mpls label-switched-path lsp-template adaptive set protocols mpls label-switched-path lsp-template auto-bandwidth adjust-interval 300 set protocols mpls label-switched-path lsp-template auto-bandwidth minimum-bandwidth 1k set protocols mpls label-switched-path lsp-template auto-bandwidth maximum-bandwidth 10m set protocols mpls container-label-switched-path to-b-cnt label-switched-path-template lsp-template set protocols mpls container-label-switched-path to-b-cnt to 172.19.1.2 set protocols mpls container-label-switched-path to-b-cnt splitting-merging maximum-member-lsps 50 set protocols mpls container-label-switched-path to-b-cnt splitting-merging minimum-member-lsps 1 set protocols mpls container-label-switched-path to-b-cnt splitting-merging splitting-bandwidth 4m set protocols mpls container-label-switched-path to-b-cnt splitting-merging merging-bandwidth 2m set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalize-interval 650 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization failover-normalization set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-duration 5 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-limits 3 set protocols mpls container-label-switched-path to-b-cnt splitting-merging sampling use-percentile 95
    [edit protocols mpls]
  16. [edit protocols mpls]
    set protocols mpls statistics file mpls-lsp-stats set protocols mpls statistics interval 50 set protocols mpls statistics auto-bandwidth set protocols mpls label-switched-path lsp-template template set protocols mpls label-switched-path lsp-template retry-timer 3 set protocols mpls label-switched-path lsp-template optimize-timer 0 set protocols mpls label-switched-path lsp-template least-fill set protocols mpls label-switched-path lsp-template adaptive set protocols mpls label-switched-path lsp-template auto-bandwidth adjust-interval 300 set protocols mpls label-switched-path lsp-template auto-bandwidth minimum-bandwidth 1k set protocols mpls label-switched-path lsp-template auto-bandwidth maximum-bandwidth 10m set protocols mpls container-label-switched-path to-b-cnt label-switched-path-template lsp-template set protocols mpls container-label-switched-path to-b-cnt to 172.19.1.2 set protocols mpls container-label-switched-path to-b-cnt splitting-merging maximum-member-lsps 50 set protocols mpls container-label-switched-path to-b-cnt splitting-merging minimum-member-lsps 1 set protocols mpls container-label-switched-path to-b-cnt splitting-merging splitting-bandwidth 4m set protocols mpls container-label-switched-path to-b-cnt splitting-merging merging-bandwidth 2m set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalize-interval 650 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization failover-normalization set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-duration 5 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-limits 3 set protocols mpls container-label-switched-path to-b-cnt splitting-merging sampling use-percentile 95
    [edit protocols mpls]
  17. [edit protocols mpls]
    set protocols mpls statistics file mpls-lsp-stats set protocols mpls statistics interval 50 set protocols mpls statistics auto-bandwidth set protocols mpls label-switched-path lsp-template template set protocols mpls label-switched-path lsp-template retry-timer 3 set protocols mpls label-switched-path lsp-template optimize-timer 0 set protocols mpls label-switched-path lsp-template least-fill set protocols mpls label-switched-path lsp-template adaptive set protocols mpls label-switched-path lsp-template auto-bandwidth adjust-interval 300 set protocols mpls label-switched-path lsp-template auto-bandwidth minimum-bandwidth 1k set protocols mpls label-switched-path lsp-template auto-bandwidth maximum-bandwidth 10m set protocols mpls container-label-switched-path to-b-cnt label-switched-path-template lsp-template set protocols mpls container-label-switched-path to-b-cnt to 172.19.1.2 set protocols mpls container-label-switched-path to-b-cnt splitting-merging maximum-member-lsps 50 set protocols mpls container-label-switched-path to-b-cnt splitting-merging minimum-member-lsps 1 set protocols mpls container-label-switched-path to-b-cnt splitting-merging splitting-bandwidth 4m set protocols mpls container-label-switched-path to-b-cnt splitting-merging merging-bandwidth 2m set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalize-interval 650 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization failover-normalization set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-duration 5 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-limits 3 set protocols mpls container-label-switched-path to-b-cnt splitting-merging sampling use-percentile 95
    [edit protocols mpls]
  18. [edit protocols mpls]
    set protocols mpls statistics file mpls-lsp-stats set protocols mpls statistics interval 50 set protocols mpls statistics auto-bandwidth set protocols mpls label-switched-path lsp-template template set protocols mpls label-switched-path lsp-template retry-timer 3 set protocols mpls label-switched-path lsp-template optimize-timer 0 set protocols mpls label-switched-path lsp-template least-fill set protocols mpls label-switched-path lsp-template adaptive set protocols mpls label-switched-path lsp-template auto-bandwidth adjust-interval 300 set protocols mpls label-switched-path lsp-template auto-bandwidth minimum-bandwidth 1k set protocols mpls label-switched-path lsp-template auto-bandwidth maximum-bandwidth 10m set protocols mpls container-label-switched-path to-b-cnt label-switched-path-template lsp-template set protocols mpls container-label-switched-path to-b-cnt to 172.19.1.2 set protocols mpls container-label-switched-path to-b-cnt splitting-merging maximum-member-lsps 50 set protocols mpls container-label-switched-path to-b-cnt splitting-merging minimum-member-lsps 1 set protocols mpls container-label-switched-path to-b-cnt splitting-merging splitting-bandwidth 4m set protocols mpls container-label-switched-path to-b-cnt splitting-merging merging-bandwidth 2m set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalize-interval 650 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization failover-normalization set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-duration 5 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-limits 3 set protocols mpls container-label-switched-path to-b-cnt splitting-merging sampling use-percentile 95
    [edit protocols mpls]
  19. [edit protocols mpls]
    set protocols mpls statistics file mpls-lsp-stats set protocols mpls statistics interval 50 set protocols mpls statistics auto-bandwidth set protocols mpls label-switched-path lsp-template template set protocols mpls label-switched-path lsp-template retry-timer 3 set protocols mpls label-switched-path lsp-template optimize-timer 0 set protocols mpls label-switched-path lsp-template least-fill set protocols mpls label-switched-path lsp-template adaptive set protocols mpls label-switched-path lsp-template auto-bandwidth adjust-interval 300 set protocols mpls label-switched-path lsp-template auto-bandwidth minimum-bandwidth 1k set protocols mpls label-switched-path lsp-template auto-bandwidth maximum-bandwidth 10m set protocols mpls container-label-switched-path to-b-cnt label-switched-path-template lsp-template set protocols mpls container-label-switched-path to-b-cnt to 172.19.1.2 set protocols mpls container-label-switched-path to-b-cnt splitting-merging maximum-member-lsps 50 set protocols mpls container-label-switched-path to-b-cnt splitting-merging minimum-member-lsps 1 set protocols mpls container-label-switched-path to-b-cnt splitting-merging splitting-bandwidth 4m set protocols mpls container-label-switched-path to-b-cnt splitting-merging merging-bandwidth 2m set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalize-interval 650 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization failover-normalization set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-duration 5 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-limits 3 set protocols mpls container-label-switched-path to-b-cnt splitting-merging sampling use-percentile 95
    [edit protocols mpls]
  20. [edit protocols mpls]
    set protocols mpls statistics file mpls-lsp-stats set protocols mpls statistics interval 50 set protocols mpls statistics auto-bandwidth set protocols mpls label-switched-path lsp-template template set protocols mpls label-switched-path lsp-template retry-timer 3 set protocols mpls label-switched-path lsp-template optimize-timer 0 set protocols mpls label-switched-path lsp-template least-fill set protocols mpls label-switched-path lsp-template adaptive set protocols mpls label-switched-path lsp-template auto-bandwidth adjust-interval 300 set protocols mpls label-switched-path lsp-template auto-bandwidth minimum-bandwidth 1k set protocols mpls label-switched-path lsp-template auto-bandwidth maximum-bandwidth 10m set protocols mpls container-label-switched-path to-b-cnt label-switched-path-template lsp-template set protocols mpls container-label-switched-path to-b-cnt to 172.19.1.2 set protocols mpls container-label-switched-path to-b-cnt splitting-merging maximum-member-lsps 50 set protocols mpls container-label-switched-path to-b-cnt splitting-merging minimum-member-lsps 1 set protocols mpls container-label-switched-path to-b-cnt splitting-merging splitting-bandwidth 4m set protocols mpls container-label-switched-path to-b-cnt splitting-merging merging-bandwidth 2m set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalize-interval 650 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization failover-normalization set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-duration 5 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-limits 3 set protocols mpls container-label-switched-path to-b-cnt splitting-merging sampling use-percentile 95
    [edit protocols mpls]
  21. [edit protocols mpls]
    set protocols mpls statistics file mpls-lsp-stats set protocols mpls statistics interval 50 set protocols mpls statistics auto-bandwidth set protocols mpls label-switched-path lsp-template template set protocols mpls label-switched-path lsp-template retry-timer 3 set protocols mpls label-switched-path lsp-template optimize-timer 0 set protocols mpls label-switched-path lsp-template least-fill set protocols mpls label-switched-path lsp-template adaptive set protocols mpls label-switched-path lsp-template auto-bandwidth adjust-interval 300 set protocols mpls label-switched-path lsp-template auto-bandwidth minimum-bandwidth 1k set protocols mpls label-switched-path lsp-template auto-bandwidth maximum-bandwidth 10m set protocols mpls container-label-switched-path to-b-cnt label-switched-path-template lsp-template set protocols mpls container-label-switched-path to-b-cnt to 172.19.1.2 set protocols mpls container-label-switched-path to-b-cnt splitting-merging maximum-member-lsps 50 set protocols mpls container-label-switched-path to-b-cnt splitting-merging minimum-member-lsps 1 set protocols mpls container-label-switched-path to-b-cnt splitting-merging splitting-bandwidth 4m set protocols mpls container-label-switched-path to-b-cnt splitting-merging merging-bandwidth 2m set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalize-interval 650 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization failover-normalization set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-duration 5 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-limits 3 set protocols mpls container-label-switched-path to-b-cnt splitting-merging sampling use-percentile 95
    [edit protocols mpls]
  22. [edit protocols mpls]
    set protocols mpls statistics file mpls-lsp-stats set protocols mpls statistics interval 50 set protocols mpls statistics auto-bandwidth set protocols mpls label-switched-path lsp-template template set protocols mpls label-switched-path lsp-template retry-timer 3 set protocols mpls label-switched-path lsp-template optimize-timer 0 set protocols mpls label-switched-path lsp-template least-fill set protocols mpls label-switched-path lsp-template adaptive set protocols mpls label-switched-path lsp-template auto-bandwidth adjust-interval 300 set protocols mpls label-switched-path lsp-template auto-bandwidth minimum-bandwidth 1k set protocols mpls label-switched-path lsp-template auto-bandwidth maximum-bandwidth 10m set protocols mpls container-label-switched-path to-b-cnt label-switched-path-template lsp-template set protocols mpls container-label-switched-path to-b-cnt to 172.19.1.2 set protocols mpls container-label-switched-path to-b-cnt splitting-merging maximum-member-lsps 50 set protocols mpls container-label-switched-path to-b-cnt splitting-merging minimum-member-lsps 1 set protocols mpls container-label-switched-path to-b-cnt splitting-merging splitting-bandwidth 4m set protocols mpls container-label-switched-path to-b-cnt splitting-merging merging-bandwidth 2m set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalize-interval 650 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization failover-normalization set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-duration 5 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-limits 3 set protocols mpls container-label-switched-path to-b-cnt splitting-merging sampling use-percentile 95
    [edit protocols mpls]
[edit protocols mpls]
set protocols mpls statistics file mpls-lsp-stats set protocols mpls statistics interval 50 set protocols mpls statistics auto-bandwidth set protocols mpls label-switched-path lsp-template template set protocols mpls label-switched-path lsp-template retry-timer 3 set protocols mpls label-switched-path lsp-template optimize-timer 0 set protocols mpls label-switched-path lsp-template least-fill set protocols mpls label-switched-path lsp-template adaptive set protocols mpls label-switched-path lsp-template auto-bandwidth adjust-interval 300 set protocols mpls label-switched-path lsp-template auto-bandwidth minimum-bandwidth 1k set protocols mpls label-switched-path lsp-template auto-bandwidth maximum-bandwidth 10m set protocols mpls container-label-switched-path to-b-cnt label-switched-path-template lsp-template set protocols mpls container-label-switched-path to-b-cnt to 172.19.1.2 set protocols mpls container-label-switched-path to-b-cnt splitting-merging maximum-member-lsps 50 set protocols mpls container-label-switched-path to-b-cnt splitting-merging minimum-member-lsps 1 set protocols mpls container-label-switched-path to-b-cnt splitting-merging splitting-bandwidth 4m set protocols mpls container-label-switched-path to-b-cnt splitting-merging merging-bandwidth 2m set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalize-interval 650 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization failover-normalization set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-duration 5 set protocols mpls container-label-switched-path to-b-cnt splitting-merging normalization normalization-retry-limits 3 set protocols mpls container-label-switched-path to-b-cnt splitting-merging sampling use-percentile 95
[edit protocols mpls]

After activation of the code, the container is initialized, and, since. Traffic statistics are not yet established. The minimum number of sub-LSPs with a band equal to the split band. After some time, the auto-bandwidth mechanism accumulated statistics (zero in this case) and adjusted the band.

 aandreev@a.lab# run show mpls container-lsp ingress extensive Ingress LSP: 1 sessions Container LSP name: to-b-cnt, State: Up, Member count: 1 Normalization Min LSPs: 1, Max LSPs: 50 Aggregate bandwidth: 1000bps, Sampled Aggregate bandwidth: 57.6003bps NormalizeTimer: 650 secs, NormalizeThreshold: 10% Max Signaling BW: 4Mbps, Min Signaling BW: 2Mbps, Splitting BW: 4Mbps, Merging BW: 2Mbps Mode: incremental-normalization, failover-normalization Sampling: Outlier cut-off 0, Percentile 95 of Aggregate Normalization in 639 second(s) 14 Apr 26 22:21:25.954 Avoid normalization: not needed as already running with max-members 13 Apr 26 22:21:25.954 Normalize: normalization with aggregate bandwidth 57 bps 12 Apr 26 22:21:25.954 Normalize: normalizaton with 57 bps 11 Apr 26 22:21:22.050 Avoid normalization: not needed as already running with max-members 10 Apr 26 22:21:22.050 Normalize: normalization with aggregate bandwidth 56 bps 9 Apr 26 22:21:22.049 Normalize: normalizaton with 56 bps 8 Apr 26 22:21:03.558 Clear history and statistics: on container (to-b-cnt) 7 Apr 26 22:20:29.353 Avoid normalization: not needed as already running with max-members 6 Apr 26 22:20:29.353 Normalize: normalization with aggregate bandwidth 56 bps 5 Apr 26 22:20:29.353 Normalize: normalizaton with 56 bps 4 Apr 26 22:17:43.539 Normalization complete: container (to-b-cnt) with 1 members 3 Apr 26 22:17:43.529 Normalize: container (to-b-cnt) into 1 members - each with bandwidth 2000000 bps 2 Apr 26 22:17:43.529 Normalize: container (to-b-cnt) create 1 LSPs, min bw 2000000bps, member count 0 1 Apr 26 22:17:43.529 Normalize: normalization with aggregate bandwidth 0 bps 172.19.1.2 From: 172.19.1.1, State: Up, ActiveRoute: 0, LSPname: to-b-cnt-1 ActivePath: (primary) LSPtype: Dynamic Configured, Penultimate hop popping LoadBalance: Least-fill Autobandwidth MinBW: 1000bps, MaxBW: 10Mbps AdjustTimer: 300 secs Max AvgBW util: 57.6003bps, Bandwidth Adjustment in 67 second(s). Overflow limit: 0, Overflow sample count: 0 Underflow limit: 0, Underflow sample count: 0, Underflow Max AvgBW: 0bps Encoding type: Packet, Switching type: Packet, GPID: IPv4 *Primary State: Up Priorities: 7 0 Bandwidth: 1000bps SmartOptimizeTimer: 180 Computed ERO (S [L] denotes strict [loose] hops): (CSPF metric: 1) 172.19.250.2 S Received RRO (ProtectionFlag 1=Available 2=InUse 4=B/W 8=Node 10=SoftPreempt 20=Node-ID): 172.19.250.2 17 Apr 26 22:21:23.060 Make-before-break: Switched to new instance 16 Apr 26 22:21:22.370 Self-ping ended successfully 15 Apr 26 22:21:22.057 Record Route: 172.19.250.2 14 Apr 26 22:21:22.057 Up 13 Apr 26 22:21:22.057 Manual Autobw adjustment succeeded: BW changes from 2000000 bps to 1000 bps 12 Apr 26 22:21:22.057 Self-ping started 11 Apr 26 22:21:22.057 Self-ping enqueued 10 Apr 26 22:21:22.050 Originate make-before-break call 9 Apr 26 22:21:22.050 CSPF: computation result accepted 172.19.250.2 8 Apr 26 22:17:44.002 Self-ping ended successfully 7 Apr 26 22:17:43.539 Selected as active path 6 Apr 26 22:17:43.538 Record Route: 172.19.250.2 5 Apr 26 22:17:43.538 Up 4 Apr 26 22:17:43.538 Self-ping started 3 Apr 26 22:17:43.538 Self-ping enqueued 2 Apr 26 22:17:43.530 Originate Call 1 Apr 26 22:17:43.530 CSPF: computation result accepted 172.19.250.2 Created: Wed Apr 26 22:17:44 2017 Retrytimer: 3 Total 1 displayed, Up 1, Down 0 [edit protocols mpls] aandreev@a.lab# 

In a live network, it is better to estimate the traffic order in advance, and prepare the necessary number of sub-LSPs with an approximate band. This can be done using the minimum-member-lsps and merging-bandwidth parameters (lines 15 and 17).

Now we will generate something about 7Mbps of traffic, and analyze what we got. I waited a while to parse the chronology after the normalization event.

 aandreev@a.lab# run show mpls container-lsp ingress extensive Ingress LSP: 1 sessions Container LSP name: to-b-cnt, State: Up, Member count: 2 Normalization Min LSPs: 1, Max LSPs: 50 Aggregate bandwidth: 7.10478Mbps, Sampled Aggregate bandwidth: 6.94114Mbps NormalizeTimer: 650 secs, NormalizeThreshold: 10% Max Signaling BW: 4Mbps, Min Signaling BW: 2Mbps, Splitting BW: 4Mbps, Merging BW: 2Mbps Mode: incremental-normalization, failover-normalization Sampling: Outlier cut-off 0, Percentile 95 of Aggregate Normalization in 497 second(s) 23 Apr 26 22:27:43.570 Clear history and statistics: on container (to-b-cnt) 22 Apr 26 22:26:07.615 Normalization complete: container (to-b-cnt) with 2 members 21 Apr 26 22:26:07.562 Normalize: container (to-b-cnt) into 2 members - each with bandwidth 3552392 bps 20 Apr 26 22:26:07.562 Normalize: normalization with aggregate bandwidth 7104784 bps 19 Apr 26 22:26:07.562 Normalize: normalizaton with 7104784 bps 18 Apr 26 22:25:59.138 Avoid normalization: not needed as already running with max-members 17 Apr 26 22:25:59.138 Normalize: normalization with aggregate bandwidth 57 bps 16 Apr 26 22:25:59.138 Normalize: normalizaton with 57 bps 15 Apr 26 22:22:43.557 Clear history and statistics: on container (to-b-cnt) 14 Apr 26 22:21:25.954 Avoid normalization: not needed as already running with max-members 13 Apr 26 22:21:25.954 Normalize: normalization with aggregate bandwidth 57 bps 12 Apr 26 22:21:25.954 Normalize: normalizaton with 57 bps 11 Apr 26 22:21:22.050 Avoid normalization: not needed as already running with max-members 10 Apr 26 22:21:22.050 Normalize: normalization with aggregate bandwidth 56 bps 9 Apr 26 22:21:22.049 Normalize: normalizaton with 56 bps 8 Apr 26 22:21:03.558 Clear history and statistics: on container (to-b-cnt) 7 Apr 26 22:20:29.353 Avoid normalization: not needed as already running with max-members 6 Apr 26 22:20:29.353 Normalize: normalization with aggregate bandwidth 56 bps 5 Apr 26 22:20:29.353 Normalize: normalizaton with 56 bps 4 Apr 26 22:17:43.539 Normalization complete: container (to-b-cnt) with 1 members 3 Apr 26 22:17:43.529 Normalize: container (to-b-cnt) into 1 members - each with bandwidth 2000000 bps 2 Apr 26 22:17:43.529 Normalize: container (to-b-cnt) create 1 LSPs, min bw 2000000bps, member count 0 1 Apr 26 22:17:43.529 Normalize: normalization with aggregate bandwidth 0 bps 172.19.1.2 From: 172.19.1.1, State: Up, ActiveRoute: 0, LSPname: to-b-cnt-1 ActivePath: (primary) LSPtype: Dynamic Configured, Penultimate hop popping LoadBalance: Least-fill Autobandwidth MinBW: 1000bps, MaxBW: 10Mbps AdjustTimer: 300 secs Max AvgBW util: 3.56199Mbps, Bandwidth Adjustment in 147 second(s). Overflow limit: 0, Overflow sample count: 1 Underflow limit: 0, Underflow sample count: 0, Underflow Max AvgBW: 0bps Encoding type: Packet, Switching type: Packet, GPID: IPv4 *Primary State: Up Priorities: 7 0 Bandwidth: 3.55239Mbps SmartOptimizeTimer: 180 Computed ERO (S [L] denotes strict [loose] hops): (CSPF metric: 1) 172.19.250.2 S Received RRO (ProtectionFlag 1=Available 2=InUse 4=B/W 8=Node 10=SoftPreempt 20=Node-ID): 172.19.250.2 39 Apr 26 22:28:01.331 Make-before-break: Cleaned up old instance: Hold dead expiry 38 Apr 26 22:27:00.512 Make-before-break: Switched to new instance 37 Apr 26 22:26:59.981 Self-ping ended successfully 36 Apr 26 22:26:59.509 Record Route: 172.19.250.2 35 Apr 26 22:26:59.509 Up 34 Apr 26 22:26:59.509 Self-ping started 33 Apr 26 22:26:59.509 Self-ping enqueued 32 Apr 26 22:26:59.503 Autobw adjustment succeeded due to normalization: BW changes from 7105130 bps to 3552392 bps 31 Apr 26 22:26:59.501 Originate make-before-break call 30 Apr 26 22:26:59.501 CSPF: computation result accepted 172.19.250.2 29 Apr 26 22:26:59.498 Make-before-break: Cleaned up old instance: Hold dead expiry 28 Apr 26 22:26:07.563 Pending old path instance deletion 27 Apr 26 22:26:00.148 Make-before-break: Switched to new instance 26 Apr 26 22:25:59.874 Self-ping ended successfully 25 Apr 26 22:25:59.146 Record Route: 172.19.250.2 24 Apr 26 22:25:59.146 Up 23 Apr 26 22:25:59.146 Manual Autobw adjustment succeeded: BW changes from 1000 bps to 7105130 bps 22 Apr 26 22:25:59.145 Self-ping started 21 Apr 26 22:25:59.145 Self-ping enqueued 20 Apr 26 22:25:59.139 Originate make-before-break call 19 Apr 26 22:25:59.139 CSPF: computation result accepted 172.19.250.2 18 Apr 26 22:22:24.539 Make-before-break: Cleaned up old instance: Hold dead expiry 17 Apr 26 22:21:23.060 Make-before-break: Switched to new instance 16 Apr 26 22:21:22.370 Self-ping ended successfully 15 Apr 26 22:21:22.057 Record Route: 172.19.250.2 14 Apr 26 22:21:22.057 Up 13 Apr 26 22:21:22.057 Manual Autobw adjustment succeeded: BW changes from 2000000 bps to 1000 bps 12 Apr 26 22:21:22.057 Self-ping started 11 Apr 26 22:21:22.057 Self-ping enqueued 10 Apr 26 22:21:22.050 Originate make-before-break call 9 Apr 26 22:21:22.050 CSPF: computation result accepted 172.19.250.2 8 Apr 26 22:17:44.002 Self-ping ended successfully 7 Apr 26 22:17:43.539 Selected as active path 6 Apr 26 22:17:43.538 Record Route: 172.19.250.2 5 Apr 26 22:17:43.538 Up 4 Apr 26 22:17:43.538 Self-ping started 3 Apr 26 22:17:43.538 Self-ping enqueued 2 Apr 26 22:17:43.530 Originate Call 1 Apr 26 22:17:43.530 CSPF: computation result accepted 172.19.250.2 Created: Wed Apr 26 22:17:43 2017 Retrytimer: 3 172.19.1.2 From: 172.19.1.1, State: Up, ActiveRoute: 0, LSPname: to-b-cnt-2 ActivePath: (primary) LSPtype: Dynamic Configured, Penultimate hop popping LoadBalance: Least-fill Autobandwidth MinBW: 1000bps, MaxBW: 10Mbps AdjustTimer: 300 secs Max AvgBW util: 3.5582Mbps, Bandwidth Adjustment in 147 second(s). Overflow limit: 0, Overflow sample count: 0 Underflow limit: 0, Underflow sample count: 1, Underflow Max AvgBW: 3.53934Mbps Encoding type: Packet, Switching type: Packet, GPID: IPv4 *Primary State: Up Priorities: 7 0 Bandwidth: 3.55239Mbps SmartOptimizeTimer: 180 Computed ERO (S [L] denotes strict [loose] hops): (CSPF metric: 2) 172.19.250.25 S 172.19.250.9 S Received RRO (ProtectionFlag 1=Available 2=InUse 4=B/W 8=Node 10=SoftPreempt 20=Node-ID): 172.19.250.25 172.19.250.9 8 Apr 26 22:26:07.888 Self-ping ended successfully 7 Apr 26 22:26:07.615 Selected as active path 6 Apr 26 22:26:07.613 Record Route: 172.19.250.25 172.19.250.9 5 Apr 26 22:26:07.613 Up 4 Apr 26 22:26:07.613 Self-ping started 3 Apr 26 22:26:07.613 Self-ping enqueued 2 Apr 26 22:26:07.564 Originate Call 1 Apr 26 22:26:07.564 CSPF: computation result accepted 172.19.250.25 172.19.250.9 Created: Wed Apr 26 22:26:07 2017 Retrytimer: 3 Total 2 displayed, Up 2, Down 0 [edit protocols mpls] aandreev@a.lab# 

Before the occurrence of the auto-bandwidth update and normalization events, only the statistics change. Note the Max AvgBW util and Sampled Aggregate bandwidth values, the first is the current sub-LSP band, the second is the actual container band.

After some time, the auto-bandwidth mechanism corrected the band of a single sub-LSP;

  23 Apr 26 22:25:59.146 Manual Autobw adjustment succeeded: BW changes from 1000 bps to 7105130 bps 

After some time, the moment of normalization arrived, and since the band actually occupied by the LSP is outside the merge / splitting range, the algorithm decided to add another sub-LSP.

  22 Apr 26 22:26:07.615 Normalization complete: container (to-b-cnt) with 2 members 21 Apr 26 22:26:07.562 Normalize: container (to-b-cnt) into 2 members - each with bandwidth 3552392 bps 

image

Now let's add about 2Mbps of traffic, judging by the testimony of the Sampled Aggregate bandwidth and
Max AvgBW util statistics crawled up.

 aandreev@a.lab# run show mpls container-lsp ingress extensive | match "Max AvgBW util|Bandwidth:" Aggregate bandwidth: 7.13661Mbps, Sampled Aggregate bandwidth: 9.07548Mbps Max AvgBW util: 4.79669Mbps, Bandwidth Adjustment in 5 second(s). Bandwidth: 3.57257Mbps Max AvgBW util: 4.80336Mbps, Bandwidth Adjustment in 5 second(s). Bandwidth: 3.56403Mbps [edit protocols mpls] aandreev@a.lab# 

After some time, auto-bandwidth adjusted the bandwidth of both sub-LSBs.

 aandreev@a.lab# run show mpls container-lsp ingress extensive | match "Max AvgBW util|Bandwidth:" Aggregate bandwidth: 9.60991Mbps, Sampled Aggregate bandwidth: 9.57293Mbps Max AvgBW util: 4.79669Mbps, Bandwidth Adjustment in 254 second(s). Bandwidth: 4.79669Mbps Max AvgBW util: 4.81322Mbps, Bandwidth Adjustment in 253 second(s). Bandwidth: 4.81322Mbps [edit protocols mpls] aandreev@a.lab# 

And the normalization algorithm added another sub-LSP.

 aandreev@a.lab# run show mpls container-lsp ingress extensive | match "Max AvgBW util|Bandwidth:" Aggregate bandwidth: 9.57292Mbps, Sampled Aggregate bandwidth: 9.57293Mbps Max AvgBW util: 4.79669Mbps, Bandwidth Adjustment in 110 second(s). Bandwidth: 3.19098Mbps Max AvgBW util: 4.81322Mbps, Bandwidth Adjustment in 210 second(s). Bandwidth: 3.19098Mbps Max AvgBW util: 0bps, Bandwidth Adjustment in 10 second(s). Bandwidth: 3.19098Mbps [edit protocols mpls] aandreev@a.lab# 

image

In the case when the entropy of packets transmitted in the LSP is high, you can activate the passive auto-bandwidth mode, in this case the band will be updated only during the normalization process, thereby saving some CPU time.

Source: https://habr.com/ru/post/327456/


All Articles