cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
19440
Views
10
Helpful
10
Replies

"lacp rate fast" in Catalyst 3750?

david.tran
Level 4
Level 4

I am running the latest version of 12.2(55)SE6 on the catalyst and I am looking for this command "lacp rate fast" but it is not there:

lab-c3750#conf t

Enter configuration commands, one per line.  End with CNTL/Z.

lab-c3750(config)#interface g1/0/5

lab-c3750(config-if)#lacp ?

  port-priority  LACP priority on this interface

lab-c3750(config-if)#lacp

According to this link, it is supposed to work: https://supportforums.cisco.com/thread/2169447

Am I missing something?

10 Replies 10

Reza Sharifi
Hall of Fame
Hall of Fame

Hi,

This command is only supported on the 6500 series and not 3750 series.

http://www.cisco.com/en/US/docs/ios-xml/ios/interface/command/ir-l1.html#GUID-AA3360DE-6519-4A97-A73A-1301DF0A9FF7

HTH

Then what is the "default" lacp rate on the 3750 then?

Thanks,

I realize this thread is 3 years old, however I had this same issue, and hope this information will help somebody else.

The 3750 only supports slow LACP. The rate for this is every 30 seconds.

The 6500 series will support a "Fast" or 1 second LACP rate.

As of 15.2(4)E the Cisco 3750-X now supports lacp rate fast.

http://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst3750x_3560x/software/release/15-2_4_e/releasenotes/rn-1524e-3750x3560x.html

LACP Enhancements (LACP rate fast, min links, LACP over QinQ (L2PT LACP))

LACP - New enhancements like LACP rate fast, min links, LACP over QinQ (L2PT LACP) are added.

The lacp rate fast command is definitely supported in 15.2(4)E4, however during testing I still see it taking 10-15 seconds for the bundle to form.  This is with a Palo Alto firewall

LACP with Palo Alto Firewalls

In fact, "lacp rate" defines only the rate at which control packets are sent by the Link Aggregation Control Protocol (LACP) - that's all. The time needed for bundle to reach IN_SYNC state has almost no dependecny on "lacp rate". LACP_Timeout for example will be a function of "lacp rate"- this makes a significant difference for ND-ISSU on Nexus5K/6K platforms...

Dear all,

I have a question about the lacp rate fast or normal.

According to the following manual, it says that "how to specify the fast (1-second) ingress rate on interface Ethernet 0/1"

https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/cether/command/ce-xe-3se-3850-cr-book/ce-xe-3se-3850-cr-book_chapter_00.html#wp2006781800

 

So ingress means the counter part devices can send the LACP keepalive per second and 

I mean if the local device sets the lacp rate fast but this device can not send it per second right?  

 

here is the output so I would just like to modify my understanding.

 

Cat3850-12S(config)#int gi1/0/1
Cat3850-12S(config-if)#lacp rate ?
fast Request LACP packets to be ingressed at the 1 second rate for this
interface
normal Request LACP packets to be ingressed at the 30 second rate once the
link is established

 

Best Regards,

 

Masanobu Hiyoshi

 

Dear Masanobu,

I am not sure, that I understand your concern, however idea is the next:

https://www.kernel.org/doc/Documentation/networking/bonding.txt

  

lacp_rate

	Option specifying the rate in which we'll ask our link partner
	to transmit LACPDU packets in 802.3ad mode.  Possible values
	are:

	slow or 0
		Request partner to transmit LACPDUs every 30 seconds

	fast or 1
		Request partner to transmit LACPDUs every 1 second

	The default is slow.

That was an example for Linux Ethernet Bonding, however for IOS/NX-OS idea remains the same:

  • "lacp rate"command means - expect to receive LACP PDUs with this frequency from the partner on the other side of logical channel. Few timers in Actor's/Partner's LACP Finite State Machine depend on this configuration - they are current_while_timer and periodic_tx_timer. For example current_while_timer is used by Actor to detect whether received protocol information has expired, while periodic_tx_timer is used to generate periodic transmissions by Partner.
  • In other words by configuring "lacp rate" on the Actor, you will enforce the Partner to change the frequency of PDUs being sent respectively. What will happen, if the Partner does not change the frequency of PDUs being sent to the Actor - I think, it will break the bundle because of current_while_timer timeout on the Actor - PDU_TIMED_OUT

Few examples from the lab:

N7K# show lacp interface ethernet 7/12 | sec Neigh
Neighbor: 0x12b
  MAC Address= 8c-60-4f-2d-aa-7c
  System Identifier=0x8000,  Port Identifier=0x8000,0x12b
  Operational key=11
  LACP_Activity=passive
  LACP_Timeout=Long Timeout (30s)
  Synchronization=IN_SYNC
  Collecting=true
  Distributing=true
 

 N7K# show lacp internal info interface eth7/12 detail fsmlog | sec Timers
  Timers:
    current_while_timer arg [rid type IF-Rid: ifidx 0x1a30b000: ch_num 0: event_id LACP_EV_RECEIVE_PARTNER_PDU_TIMED_OUT(17): timer_id 5318: type PartnerTimedOut: active True: period_in_ms 90000]: hdl 0x1059a3e4
    partner_pdu_recv_timer arg [rid type IF-Rid: ifidx 0x1a30b000: ch_num 0: event_id BAD_EVENT(72): timer_id 5313: type PartnerPDURecvTimer: active True: period_in_ms 32000]: hdl 0x1059a43c
    periodic_tx_timer arg [rid type IF-Rid: ifidx 0x1a30b000: ch_num 0: event_id LACP_EV_PERIODIC_TRANSMIT_TIMER_EXPIRED(19): timer_id 4374: type PDUSendTime: active True: period_in_ms 30000]: hdl 0x1059a494
    current_while_timer arg [rid type IF-Rid: ifidx 0x1a30b000: ch_num 0: event_id LACP_EV_RECEIVE_PARTNER_PDU_TIMED_OUT(17): timer_id 5318: type PartnerTimedOut: active True: period_in_ms 90000]: hdl 0x1059a3e4
    churn_det_timer arg [rid type IF-Rid: ifidx 0x1a30b000: ch_num 0: event_id (0): timer_id 27: type ChurnDetectTime: active False: period_in_ms 60000]: hdl 0x1059a4ec
    partner_churn_det_timer arg [rid type IF-Rid: ifidx 0x1a30b000: ch_num 0: event_id (0): timer_id 22: type PartnerChurnDetectTime: active False: period_in_ms 60000]: hdl 0x1059a544
    txn_wait_timer arg [rid type IF-Rid: ifidx 0x1a30b000: ch_num 0: event_id LACP_EV_TXN_PERIOD_TIMED_OUT(20): timer_id 38: type TxnPeriodTimedOut: active False: period_in_ms 300000]: hdl 0x1059a59c
    in_sync_wait_timer arg [rid type IF-Rid: ifidx 0x1a30b000: ch_num 0: event_id LACP_EV_PARTNER_SYNC_TIMED_OUT(42): timer_id 28: type PartnerSyncTimeOut: active False: period_in_ms 25000]: hdl 0x1059a5f4
    partner_transmit_disable_wait_timer arg [rid type IF-Rid: ifidx 0x1a30b000: ch_num 0: event_id LACP_EV_PARTNER_TRANSMIT_DISABLE_TIMED_OUT(46): timer_id 0: type PartnerTransmitDisableTimeOut: active False: period_in_ms 30000]: hdl 0x1059a64c


 
N7K# conf t
Enter configuration commands, one per line.  End with CNTL/Z.
N7K(config)# int eth7/12
N7K(config-if)# lac rate ?
  fast    Specifies that LACP control packets should be transmitted at the fast rate by the peer, once every 1 second
  normal  Specifies that LACP control packets should be transmitted at the normal rate by the peer, every 30 seconds after the link is bundled


 
N7K(config-if)# lac rate fas
ERROR: Cannot set lacp rate. Port Ethernet7/12 is not admin down in port-channel
N7K(config-if)# sh
N7K(config-if)# lac rate fas
N7K(config-if)# no sh
N7K(config-if)# end
N7K#

N7K# show lacp interface ethernet 7/12 | sec Neigh
Neighbor: 0x12b
  MAC Address= 8c-60-4f-2d-aa-7c
  System Identifier=0x8000,  Port Identifier=0x8000,0x12b
  Operational key=11
  LACP_Activity=passive
  LACP_Timeout=Long Timeout (30s)
  Synchronization=IN_SYNC
  Collecting=true
  Distributing=true
N7K#


N7K# show lacp internal info interface eth7/12 detail fsmlog | sec Timers
  Timers:
    current_while_timer arg [rid type IF-Rid: ifidx 0x1a30b000: ch_num 0: event_id LACP_EV_RECEIVE_PARTNER_PDU_TIMED_OUT(17): timer_id 5328: type PartnerTimedOut: active True: period_in_ms 3000]: hdl 0x1059a3e4
    partner_pdu_recv_timer arg [rid type IF-Rid: ifidx 0x1a30b000: ch_num 0: event_id BAD_EVENT(72): timer_id 5322: type PartnerPDURecvTimer: active False: period_in_ms 32000]: hdl 0x1059a43c
    periodic_tx_timer arg [rid type IF-Rid: ifidx 0x1a30b000: ch_num 0: event_id LACP_EV_PERIODIC_TRANSMIT_TIMER_EXPIRED(19): timer_id 4384: type PDUSendTime: active True: period_in_ms 1000]: hdl 0x1059a494
    current_while_timer arg [rid type IF-Rid: ifidx 0x1a30b000: ch_num 0: event_id LACP_EV_RECEIVE_PARTNER_PDU_TIMED_OUT(17): timer_id 5328: type PartnerTimedOut: active True: period_in_ms 3000]: hdl 0x1059a3e4
    churn_det_timer arg [rid type IF-Rid: ifidx 0x1a30b000: ch_num 0: event_id (0): timer_id 32: type ChurnDetectTime: active False: period_in_ms 60000]: hdl 0x1059a4ec
    partner_churn_det_timer arg [rid type IF-Rid: ifidx 0x1a30b000: ch_num 0: event_id (0): timer_id 27: type PartnerChurnDetectTime: active False: period_in_ms 60000]: hdl 0x1059a544
    txn_wait_timer arg [rid type IF-Rid: ifidx 0x1a30b000: ch_num 0: event_id LACP_EV_TXN_PERIOD_TIMED_OUT(20): timer_id 42: type TxnPeriodTimedOut: active False: period_in_ms 300000]: hdl 0x1059a59c
    in_sync_wait_timer arg [rid type IF-Rid: ifidx 0x1a30b000: ch_num 0: event_id LACP_EV_PARTNER_SYNC_TIMED_OUT(42): timer_id 33: type PartnerSyncTimeOut: active True: period_in_ms 25000]: hdl 0x1059a5f4
    partner_transmit_disable_wait_timer arg [rid type IF-Rid: ifidx 0x1a30b000: ch_num 0: event_id LACP_EV_PARTNER_TRANSMIT_DISABLE_TIMED_OUT(46): timer_id 0: type PartnerTransmitDisableTimeOut: active False: period_in_ms 30000]: hdl 0x1059a64c

	
N7K# show lacp internal pdu interface ethernet 7/12 | grep Recv
(1) Recv LACP PDU: len:58 at 836809 usecs after Sun Dec 24 17:00:30 2017
(3) Recv LACP PDU: len:58 at 826902 usecs after Sun Dec 24 17:00:29 2017
(4) Recv LACP PDU: len:58 at 826901 usecs after Sun Dec 24 17:00:28 2017
(5) Recv LACP PDU: len:58 at 826899 usecs after Sun Dec 24 17:00:27 2017
(6) Recv LACP PDU: len:58 at 816911 usecs after Sun Dec 24 17:00:26 2017
(7) Recv LACP PDU: len:58 at 816976 usecs after Sun Dec 24 17:00:25 2017
(8) Recv LACP PDU: len:58 at 816986 usecs after Sun Dec 24 17:00:24 2017
(9) Recv LACP PDU: len:58 at 817043 usecs after Sun Dec 24 17:00:23 2017
(10) Recv LACP PDU: len:58 at 816912 usecs after Sun Dec 24 17:00:22 2017
(11) Recv LACP PDU: len:58 at 816968 usecs after Sun Dec 24 17:00:21 2017
(12) Recv LACP PDU: len:58 at 816934 usecs after Sun Dec 24 17:00:20 2017


	
	
LACP info from the Partner (N56xx):
========================================

BGL14.1.K.18-N5K-C56128P-1# show lacp interface eth1/43 | grep LACP_Time
  LACP_Timeout=Long Timeout (30s)
  LACP_Timeout=Long Timeout (30s)
  
BGL14.1.K.18-N5K-C56128P-1# show lacp interface eth1/43 | grep LACP_Time
  LACP_Timeout=Long Timeout (30s)
  LACP_Timeout=short Timeout (1s)

 

Hello Alexchev,
Thank you very much, your information is very helpful.
In my understanding, normally the lacp rate fast command expects to receive
the LACP PDU from partner.

However if I am finding out the related information through IEEE802.1AD Standards Comittee. I think the following is very closer but I can not find the exact LACP rate standard information.

[IEEE802.1ad - Provider Bridges]
http://www.ieee802.org/1/pages/802.1ad.html

802.1 January 2011 Meeting
http://www.ieee802.org/1/files/public/docs2009/admin-eastlake-jan11-kauai-proposal-1109.pdf

Best Regards,

Masanobu Hiyoshi






If you really want to dig into details of IEEE, in that case look, please, into Std 802.3ad-2000, because 802.1ad describes Provider Bridges and QinQ...

 

Take a look into the next sections of Std 802.3ad-2000:

  • 43.4.1 LACP design elements
  • 43.4.10 Timers
  • 43.4.12 Receive machine <== the most important
Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: