cancel
Showing results for 
Search instead for 
Did you mean: 
cancel

LACP/Bundle Communication

4521
Views
5
Helpful
3
Comments

IOS-XR LACP / Bundle Communication

Please see attached PPT:

Agenda:

  • Bundle Processes
  • Bundle Process/LACP communication RP<->LC
  • LACP
  • LACP Function
  • Bundle Modes
  • Troubleshooting commands
  • This slide deck is to address the Concern: LACP/Bundle communication between the LC and RP

What is Bundle:

  • A group of one or more interfaces aggregated together so they can be treated as a single interface by higher layer protocols.
  • Interfaces all directly connected to the same partner device.
  • Also known as a LAG, a Channel Group, a Link Aggregation, a Link Bundle, an Aggregator.
  • Control Protocol: LACP.

Bundle Processes:

Following are the Bundle process running :

RP:
Bundle MA (BMM) - Bundle Distribution (bundlemgr_distrib)
Bundle Local (BML) - Bundle Local (bundlemgr_local)
Bundle Adjacency - (bundlemgr_adj)
Bundle Checker (BMC) - Process (bundlemgr_checker)

LC:
Bundle Local (BML) - Bundle Local (bundlemgr_local)
Bundle EA (BME) - Bundle Mgr EA (bundlemgr_ea)
Bundle Adjacency - (bundlemgr_adj)
Bundle Checker (BMC) - Process (bundlemgr_checker)
Bundle External Adjacency Manager (BMA)

Bundle / LACP communications:

Bundle MA (BMM):

  • Processes the configuration; Creates the bundle in IM (Interface Manager)
  • Replicates a bundle to its members (via IM)
  • Publishes the BMI attribute
  • Informing the BML process of per-link information, including LACP state via GSP (Group Services Protocol)
  • Runs various LACP state machines for bundles and bundle members

Bundle Mgr Local - Member Configuration

  • Bundle Local (BML) runs on all cards where there is bundle-related configuration on local interfaces and processes the configuration
  • BML notifies the bundle MA(BMM) of the configuration (via GSP) including LACP information.
  • Bundle MA (BMM) replicates the bundle to the member (via IM)
  • Bundle EA (BME) calls the platform to:
  • Create the bundle (if it is not already created) and Add the new bundle member
  • Bundle MA (BMM) instructs the member interface owner to program the interface (via owner channel)
  • Runs the LACP state machines relating to LACPDU transmission.
  • Send and Receive LACPDUs and responding to incoming Marker PDUs

LACP (LinkAggregationControlProtocol):

  • The LACP protocol is managed by the Bundle Infrastructure
  • Bundles can (but do not have to) run the LACP protocol
  • The LACP protocol is an exchange of packets over the bundle member links.
  • LACP is used to determine which links of a bundle can carry traffic
  • LACP functionality is split between RP and LC

LACP Functions:

LACP ensures :
    1. The links in the bundle all terminate on the same partner device
    2. The links are all configured to be in the same bundle on the partner device
    3. The partner device is likely to be ready to receive traffic on the links
Information is exchanged between devices in LACPDUs (LACP packets) on each link
LACPDUs exchanged periodically as a heartbeat mechanism


LAG-ID:

A Link Aggregation Group consists of either
   One or more links such that
     1. All links terminate in the same pair of systems
      2. All ports belong to the same key group on each system
Membership of a LAG is determined by the LAGID
The LAGID for a link is constructed from the following parameters from the two     systems it connects
    The system identifier
    The (operational) key assigned to the port
     The port identifier, if the link is identified as an Individual link
Ports with the same LAGID can be attached to an aggregator (bundle) with a matching key

Bundle Modes:

  • The Bundle “mode” defines if LACP is sent/received; listen-only or disabled. 
  • “Active”
  • Bundle Member will always send out periodic LACPDUs to its partner, and will start negotiations when it receives a response. 
  • “Passive”
  • LACPDUs are only sent if an active LACP partner is believed to be present; i.e. if a LACP packet has been received and is marked to indicate that the partner is "active", and the partner has not timed out. This means that if a link is configured to be "passive" at both ends, the link will not go active
  • “On”
  • Does not run LACP on the local link. (Note: these links will be used in forwarding traffic only if all the links in the bundle (local and peer node) are configured to be mode “on”)

Troubleshooting Commands:

Bundle and Bundle Members:
show run interface <Bundle>
show interface <Bundle>
show bundle brief
show bundle status detail
show run interface <Bundle Member>


NP Level Info:
show controllers np ports location <Member LC>
show controllers np counters <np#> location <Member LC> [check for BUNDLE_PROTO_PUNT (LACP related)]
show drops np <NP#> location <member LC>


LACP Info:
show lacp counters <Bundle/Member>
show lacp packet-capture <>
show lacp system-id
show lacp <Bundle/Members>
show bundle <Bundle#>
show lacp counters unaccounted <Member LC>


Internal:

show gsp stats clien process 130 location <Member LC>
show gsp groups location <Member LC>
show process location <Member LC> | i bund
[Lists the Bundle process on the LC]
show process location 0/rp0/CPU0 | i bund
[Lists the Bundle process on the RP]

Show-tech:
Show tech bundle
Show tech gsp
Show tech sysdb

Debug:

debug lacp packets <Bundle Member> decode
[Checking the LACP exchange between 2 nodes:]
debug bundle infrastructure local all location <member LC>
[LACP communication between LC and RP Bundle process]

Comments
AARON WEINTRAUB
Beginner

Hi Aditya

Thank you very much for this document.  Can you go into some more detail about operational errors?  For example, can you go through the possible outputs from show bundle status that might pop up as an error and a way to resolve them?  We got a "ERROR: Bundle is in the process of being replicated to this location" and had no idea what to do with it beside open a TAC case,

Aditya Kurulkar
Cisco Employee

Hello AARON WEINTRAUB

Sure, will do; by the way regarding the Error you got; the most common scenario is when an unsupported configlet is attempted to be configured on the bundle ; where the bundle tries to push this config to its members. If that is not the case then it needs to be investigated further. 

Sun Flower
Beginner

 

Must all interfaces in the bundle same speed to configure LACP? Is it possible to configure LACP for 3 links which have different speed?