Reset Search
 

 

Article

Which new enhancement in NOS 6.0.x deals with mac-address flapping?

« Go Back

Information

 
TitleWhich new enhancement in NOS 6.0.x deals with mac-address flapping?
Question
NOS6.0.0 and 6.0.1

Repeated MAC-moves, aka MAC address flapping, often caused by loops; it overloads control-plane resources.

In NOS6.0.0 and 6.0.1, a new feature is introduced for enhancing thecapability to detect mac move events and take appropriate actions in limiting the negative effects on the system and system memory usage; resolving MAC moves usually solves these kinds of problems.
The following issues can result in repeated MAC-moves:
Network loops
Server-side flapping
Other hardware or software issues
Environment
Answer
Definition of MAC Move

The term repeated MAC-move, or MAC move can be referred to the following sequence:

A frame is received on an interface and its MAC address is recorded in the MAC address table; thena frame with the identical MAC is received on a different interface on the same switch or VCS.
Problems that the feature is addressing:
1. Eliminate or minimize control plane interrupts - following each MAC move, the control plane is interrupted to update the MAC address table with the most recent interface for which such a MACaddress was seen.
2. Avoid excessive demand on control plane resources - resolution of repeated MAC-moves is necessary to accomplish this
3. Prevent the mac-address-table inconsistencies that may lead to traffic flooding or black-holing. Repeated MAC-moves can also lead to MAC table inconsistency across nodes in the cluster. Since the MACs learned on each Rbridge are synchronized with the other Rbridges in the cluster
4. Eliminate and minimize thedanger that there is mac-address-table inconsistency even on a given RBridge - there may be inconsistencies among MAC addresses on the management module (MM), line cards (LCs), and the driver.

How is the feature being implemented: In 2 parts; Mac Move Detection enable and Consistency-check enable

Part 1 - Mac Move Detection
It helps to detect the mac move to accomplish the types of problem #1 and #2 above
The mac move detection function is OFF by default, but it can be configured to be Disable and make it Inactive. SeeCLI below:

SW0(config)# mac-address-table mac-move
Possible completions:
detect Enable MAC move detect
limit MAC move detect limit (default = 20)
SW0(config)# mac-address-table mac-move
Possible completions:
detect Enable MAC move detect
limit MAC move detect limit (default = 20)
SW0(config)# mac-address-table mac-move detect
Possible completions:
<cr>
SW0(config)# mac-address-table mac-move detect
Mac Move detect: Enable
Threshold: 20

SW0(config)# no mac-address-table mac-move detect
SW0(config)# show mac-address-table mac-move
Mac Move detect: Disable
Threshold: 0


Part 2 - Mac-address-table consistency-check
It helps to performed consistency-check on mac-address-table that may be out of synch as explained in the problem type #3 and #4 above
The mac-address-table consistency-check function is ON by default, but it can be configured to be Enable and active. SeeCLI below:

SW1#show mac-address-table consistency-check
Consistency Check : Enabled
<---- Enable by default
Consistency Check Interval: 300 seconds

To Suppress the consistency-check:

SW1# conf t
Entering configuration mode terminal
SW1(config)# mac
Possible completions:
mac MAC access list
mac-address-table MAC forwarding table information
mac-group MAC Group Configuration

SW1(config)# mac-address-table
Possible completions:
aging-time Aging Time
consistency-check MAC Consistency check
learning-mode Conversational Learning Mode
mac-move MAC move
static Static address

SW1(config)# mac-address-table consistency-check
Possible completions:
interval MAC Consistency check interval in seconds (default = 300)
suppress Suppress MAC Consistency check

SW1(config)# mac-address-table consistency-check suppress
Possible completions:
<cr>

SW1(config)# mac-address-table consistency-check suppress <---- To suppress consistency-check (please see other KB article 6089 for the reason of suppressing the consistency check

SW#show mac-address-table consistency-check
Consistency Check : Disabled
Consistency Check Interval: 300 seconds

SW1#show run | inc consistency-check
mac-address-table consistency-check suppress
<---- This shows up on the running configuration once suppressed

How is the mac move being tracked and detected:

1. Enable mac move detection on suspected Rbridges using the mac-address-table mac-move detect NOS command. Monitor for any mac movements using the show ip interface brief command:

Example output:

Sw0#show ip interface brief
Interface IP-Address Status Protocol
=======================================================================
Port-channel 1 unassigned up up
TenGigabitEthernet 0/1 unassigned up up
TenGigabitEthernet 0/2 unassigned admin-down down
Repeated MAC-move Detection<----- Interface being shut down after the configured "mac move limit" is reached
TenGigabitEthernet 0/3 unassigned admin-down down
TenGigabitEthernet 0/4 unassigned admin-down down

2. Example output from SupportSave:

MAC for which the MAC movement was seen. We can confirm from the L2SYS logs in SS that there were very frequent MAC movements for these MAC, 00:0c:29:2c:b4:e3, between PO1021 and PO1022 on Rbridge 4 & 5:

2015/08/10 18:41:36.215874 Pr:4348 Lv:08 L2SYS_RECV_ENS_DATA_DBG2_MAC_V l2sys_recv_ens_data: Mac 00:0c:29:2c:b4:e3 ivid 3049 if 0x280003fe
2015/08/10 18:41:36.215874 Pr:4348 Lv:08 L2SYS_RECV_ENS_DATA_DBG_CURR_P l2sys_recv_ens_data: count 4 len 204 cur_dat_ptr 273231556
2015/08/10 18:41:36.231150 Pr:4348 Lv:08 L2SYS_RECV_ENS_DATA_DBG2_2 gvid 3049 rbridge 4
2015/08/10 18:41:36.231150 Pr:4348 Lv:08 L2SYS_RECV_ENS_DATA_DBG2_MAC_V l2sys_recv_ens_data: Mac 00:0c:29:2c:b4:e3 ivid 3049 if 0x280003fe
2015/08/10 18:41:36.231150 Pr:4348 Lv:08 L2SYS_RECV_ENS_LOOP l2sys_recv_ens_data: count 3 cur_dat_ptr 273231568 type: 4 action 2
2015/08/10 18:41:36.313014 Pr:4348 Lv:08 L2SYS_RECV_ENS_DATA_DBG2_2 gvid 3049 rbridge 5
2015/08/10 18:41:36.313014 Pr:4348 Lv:08 L2SYS_RECV_ENS_DATA_DBG2_MAC_V l2sys_recv_ens_data: Mac 00:0c:29:2c:b4:e3 ivid 3049 if 0x280003fd
2015/08/10 18:41:36.313014 Pr:4348 Lv:08 L2SYS_RECV_ENS_LOOP l2sys_recv_ens_data: count 2 cur_dat_ptr 273231568 type: 4 action 2
2015/08/10 18:41:36.788922 Pr:4348 Lv:08 L2SYS_HIPC_RECV_ENS_MAC_UPDATE RECV: ENS Update with type:2 len 156
2015/08/10 18:41:36.788927 Pr:4348 Lv:08 L2SYS_RECV_ENS_DATA_DBG2_MAC_V l2sys_recv_ens_data: Mac 00:0c:29:2c:b4:e3 ivid 3049 if 0x280003fe
2015/08/10 18:41:36.788927 Pr:4348 Lv:08 L2SYS_RECV_ENS_DATA_DBG_CURR_P l2sys_recv_ens_data: count 3 len 156 cur_dat_ptr 273231556
2015/08/10 18:41:36.977055 Pr:4348 Lv:08 L2SYS_RECV_ENS_DATA_DBG2_2 gvid 3049 rbridge 5
2015/08/10 18:41:36.977055 Pr:4348 Lv:08 L2SYS_RECV_ENS_DATA_DBG2_MAC_V l2sys_recv_ens_data: Mac 00:0c:29:2c:b4:e3 ivid 3049 if 0x280003fe
2015/08/10 18:41:36.977055 Pr:4348 Lv:08 L2SYS_RECV_ENS_LOOP l2sys_recv_ens_data: count 4 cur_dat_ptr 273231568 type: 4 action 2
2015/08/10 18:41:37.195886 Pr:4348 Lv:08 L2SYS_RECV_ENS_DATA_DBG2_2 gvid 3049 rbridge 4
2015/08/10 18:41:37.195886 Pr:4348 Lv:08 L2SYS_RECV_ENS_DATA_DBG2_MAC_V l2sys_recv_ens_data: Mac 00:0c:29:2c:b4:e3 ivid 3049 if 0x280003fe
2015/08/10 18:41:37.195886 Pr:4348 Lv:08 L2SYS_RECV_ENS_DATA_DBG_CURR_P l2sys_recv_ens_data: count 3 len 156 cur_dat_ptr 273231556
2015/08/10 18:41:37.400657 Pr:4348 Lv:08 L2SYS_RECV_ENS_DATA_DBG2_2 gvid 3049 rbridge 4

There are other parameters that can be configured for Mac Move Detection and consistency-check interval; please consult the NOS6.0.x Network OSLayer 2 Configuration Guide.

Additional notes

Feedback

 

Was this article helpful?


   

Feedback

Please tell us how we can make this article more useful.

Characters Remaining: 255