Description

In an EVPN multihoming CE scenario, when a MAC address is learned by both PEs locally, the PE whose route is selected to be advertised to the RR will have the Layer 2 flag set to "advt_to_remote" and the other PE will have the "rcvd_from_remote" flag set.

Given this setting, when you remove the local MAC learning interface from the EVPN instance on the PE that has the "advt_to_remote" flag set and add the interface back within 300 seconds, you will see the "Base learning interface" value set to NULL" in the EVPN MAC table.

This behavior is demonstrated with the help of an example in this article to clarify that it is expected behavior and that the value is only an indication of a MAC move.

Symptoms

Lab Test

Devices mx204-01 and mx240-3d-02 are multihoming PEs to a CE device and they learned the MAC address dd:e1:8f:0b:bf:c0 from the CE locally via interface ae10.21.

However only device mx204-01 is chosen to send out type 2 EVPN routes to the RR device.

user@lab-mx204-01# run show evpn mac-table dd:e1:8f:0b:bf:c0 extensive   
MAC address: dd:e1:8f:0b:bf:c0
  Routing instance: SE-21
   Bridging domain: __SE-21__, VLAN : 21
   Learning interface: ae10.21     
   Base learning interface: ae10.21     <<< mac address is learned from local interface
   Layer 2 flags: in_hash,in_ifd,in_ifl,in_vlan,in_rtt,kernel,in_ifbd,advt_to_remote,evpn_ri   <<< This PE is advertising.
   Epoch: 22                           Sequence number: 7    
   Learning mask: 0x00000001     
user@lab-mx240-3d-02-re0# run show evpn mac-table dd:e1:8f:0b:bf:c0 extensive    
MAC address: dd:e1:8f:0b:bf:c0
  Routing instance: SE-21
   Bridging domain: __SE-21__, VLAN : 21
   Learning interface: ae10.21      
   Base learning interface: ae10.21      <<< mac address is learned from local interface
   Layer 2 flags: in_hash,in_ifd,in_ifl,in_vlan,in_rtt,kernel,in_ifbd,peer_control_mac,ctrl_dyn,rcvd_from_remote,evpn_ri <<< This PE is receiving.
   Epoch: 0                            Sequence number: 1     
   Learning mask: 0x00000000   

If the ae10.21 interface is removed from the EVPN instance of mx204-01 (which is currently advertising the type 2 route) and added back within 300 seconds, the "Base learning interface" value becomes "NULL":

user@lab-mx204-01# run show evpn mac-table dd:e1:8f:0b:bf:c0 extensive    
MAC address: dd:e1:8f:0b:bf:c0
  Routing instance: SE-21
   Bridging domain: __SE-21__, VLAN : 21
   Learning interface: ae10.21      
   Base learning interface: NULL         <<<<
   Layer 2 flags: in_hash,in_ifd,in_ifl,in_vlan,in_rtt,kernel,in_ifbd,advt_to_remote,evpn_ri
   Epoch: 23                           Sequence number: 5     
   Learning mask: 0x00000001 

From the RR device, you can see the type 2 route that is received from mx204-01 as shown below:

user@lab-mx480-3d-01# run show route table SE-21.evpn.0 
2:111.204.3.134:21::21::dd:e1:8f:0b:bf:c0::fe80::dee1:8f00:150b:bfc0/304 MAC/IP        
                   *[BGP/170] 00:01:54, localpref 100, from 111.204.3.134
                      AS path: I, validation-state: unverified
                    > to 111.204.14.135 via xe-1/0/0.0

Solution

When the ae10.21 interface is removed from the EVPN instance of mx204-01, the MAC address learning changes from the local interface ae10.21 to a remote interface (such as local.1048576).

user@lab-mx240-3d-02-re0# run show evpn mac-table dd:e1:8f:0b:bf:c0 extensive    
MAC address: dd:e1:8f:0b:bf:c0
  Routing instance: SE-21
   Bridging domain: __SE-21__, VLAN : 21
   Base learning interface: .local.1048575 <<<<<
   Layer 2 flags: in_hash,in_ifd,in_ifl,in_vlan,in_rtt,kernel,in_ifbd,control_mac,ctrl_dyn,rcvd_from_remote,evpn_ri
   Epoch: 0                            Sequence number: 1     
   Learning mask: 0x00000000     

When you add it back within 300 seconds, it changes to ae10.21 again. This triggers a "MAC move" following which "Base learning interface" is automatically changed to NULL.

user@lab-mx204-01# run show evpn mac-table dd:e1:8f:0b:bf:c0 extensive    
MAC address: cc:e1:7f:0b:bf:c0
  Routing instance: SE-21
   Bridging domain: __SE-21__, VLAN : 21
   Learning interface: ae10.21      <<< learning from ae10.21
   Base learning interface: NULL       <<<  
   Layer 2 flags: in_hash,in_ifd,in_ifl,in_vlan,in_rtt,kernel,in_ifbd,advt_to_remote,evpn_ri
   Epoch: 23                           Sequence number: 5     
   Learning mask: 0x00000001     

When "Base learning interface" value is NULL, it indicates that there has been a MAC move within 300 seconds. This is expected behavior in Junos OS and is intended to prevent loops. For more information, refer to Verifying the VPLS MAC Table for the Statistical Approach Algorithm .

Note that the NULL value will be reported only on the PE that has the "advt_to_remote" flag set, that is when it is advertising a type 2 route. On the other hand, you will not see it on the PE that has the "rcvd_from_remote" flag set when the same action is performed.

The "Base learning interface" value is set to "NULL" only for informational purposes to indicate a MAC move. It has no service impact.

To recover the interface to normal, make any change related to the EVPN instance parameters such as changing the DF value or even clearing the EVPN MAC table.

To avoid seeing this "NULL" value, wait for more than 300 seconds before adding the MAC local learning interface back.

Related Information