草庐IT

华为运营商级路由器配置示例 | EVdPdNd VPWS over SRv6 BE(CE双归双活)

COCOgsta 2023-04-05 原文

组网需求

如图1所示,CE2同时双归接入到PE2和PE3。要求CE1发往CE2的流量采用负载分担方式进行传输。

为了实现上述需求,可以基于ESI粒度设置冗余模式,即,配置CE2接入PE的冗余模式为多活跃模式。

图1 配置EVPN VPWS over SRv6 BE(CE双归双活)组网图

配置思路

  1. 使能PE各接口的IPv6转发能力,配置各接口的IPv6地址。
  2. 在各PE上使能IS-IS,配置Level级别,指定网络实体。
  3. 在PE设备上配置EVPN VPWS实例、EVPL实例。
  4. 在PE设备之间建立BGP EVPN对等体关系。
  5. 在PE设备上配置SRv6 BE。
  6. 在PE设备上配置将相应的EVPL实例绑定到接入侧子接口。
  7. 在PE上配置基于ESI粒度设置冗余模式。
  8. 配置CE接入PE。

操作步骤

1.使能各接口的IPv6转发能力,配置IPv6地址

<HUAWEI> system-view
[~HUAWEI] sysname PE1
[*HUAWEI] commit
[~PE1] interface gigabitethernet 1/0/0
[~PE1-GigabitEthernet1/0/0] ipv6 enable
[*PE1-GigabitEthernet1/0/0] ipv6 address 2001:DB8:10::1 64
[*PE1-GigabitEthernet1/0/0] quit
[*PE1] interface gigabitethernet 2/0/0
[*PE1-GigabitEthernet2/0/0] ipv6 enable
[*PE1-GigabitEthernet2/0/0] ipv6 address 2001:DB8:20::1 64
[*PE1-GigabitEthernet2/0/0] quit
[*PE1] interface LoopBack 1
[*PE1-LoopBack1] ip address 1.1.1.1 32
[*PE1-LoopBack1] ipv6 enable
[*PE1-LoopBack1] ipv6 address 2001:DB8:1::1 128
[*PE1-LoopBack1] quit
[*PE1] commit

由于需要为EVPN源地址准备IPv4地址,因此这里Loopback接口还需配置IPv4地址。这里以PE1为例,其他设备的配置过程相同,详情可参考配置文件。

2.配置IS-IS

# 配置PE1。

[~PE1] isis 1
[*PE1-isis-1] is-level level-1
[*PE1-isis-1] cost-style wide
[*PE1-isis-1] network-entity 10.0000.0000.0001.00
[*PE1-isis-1] ipv6 enable topology ipv6
[*PE1-isis-1] quit
[*PE1] interface gigabitethernet 1/0/0
[*PE1-GigabitEthernet1/0/0] isis ipv6 enable 1
[*PE1-GigabitEthernet1/0/0] quit
[*PE1] interface gigabitethernet 2/0/0
[*PE1-GigabitEthernet2/0/0] isis ipv6 enable 1
[*PE1-GigabitEthernet2/0/0] quit
[*PE1] interface loopback1
[*PE1-LoopBack1] isis ipv6 enable 1
[*PE1-LoopBack1] commit
[~PE1-LoopBack1] quit

# 配置PE2。

[~PE2] isis 1
[*PE2-isis-1] is-level level-1
[*PE2-isis-1] cost-style wide
[*PE2-isis-1] network-entity 10.0000.0000.0002.00
[*PE2-isis-1] ipv6 enable topology ipv6
[*PE2-isis-1] quit
[*PE2] interface gigabitethernet 1/0/0
[*PE2-GigabitEthernet1/0/0] isis ipv6 enable 1
[*PE2-GigabitEthernet1/0/0] quit
[*PE2] interface gigabitethernet 2/0/0
[*PE2-GigabitEthernet2/0/0] isis ipv6 enable 1
[*PE2-GigabitEthernet2/0/0] quit
[*PE2] interface loopback1
[*PE2-LoopBack1] isis ipv6 enable 1
[*PE2-LoopBack1] commit
[~PE2-LoopBack1] quit

# 配置PE3。

[~PE3] isis 1
[*PE3-isis-1] is-level level-1
[*PE3-isis-1] cost-style wide
[*PE3-isis-1] network-entity 10.0000.0000.0003.00
[*PE3-isis-1] ipv6 enable topology ipv6
[*PE3-isis-1] quit
[*PE3] interface gigabitethernet 1/0/0
[*PE3-GigabitEthernet1/0/0] isis ipv6 enable 1
[*PE3-GigabitEthernet1/0/0] quit
[*PE3] interface gigabitethernet 2/0/0
[*PE3-GigabitEthernet2/0/0] isis ipv6 enable 1
[*PE3-GigabitEthernet2/0/0] quit
[*PE3] interface loopback1
[*PE3-LoopBack1] isis ipv6 enable 1
[*PE3-LoopBack1] commit
[~PE3-LoopBack1] quit

配置完成后,可以执行display isis peerdisplay isis route命令检查IS-IS是否配置成功。以PE1为例:

[~PE1] display isis peer 
                          Peer information for ISIS(1)  

  System Id     Interface          Circuit Id        State HoldTime Type     PRI
--------------------------------------------------------------------------------
0000.0000.0003* GE2/0/0            0000.0000.0003.02  Up   8s       L1       64 
0000.0000.0002* GE1/0/0            0000.0000.0002.02  Up   6s       L1       64 

Total Peer(s): 2 

3.在PE设备上配置EVPN VPWS实例、EVPL实例

# 配置PE1。

[~PE1] evpn source-address 1.1.1.1
[*PE1] evpn vpn-instance evrf1 vpws
[*PE1-vpws-evpn-instance-evrf1] route-distinguisher 100:1
[*PE1-vpws-evpn-instance-evrf1] vpn-target 1:1
[*PE1-vpws-evpn-instance-evrf1] quit
[*PE1] evpl instance 1
[*PE1-evpl1] evpn binding vpn-instance evrf1
[*PE1-evpl1] local-service-id 100 remote-service-id 200
[*PE1-evpl1] quit
[*PE1] commit

# 配置PE2。

[~PE2] evpn source-address 2.2.2.2
[*PE2] evpn vpn-instance evrf1 vpws
[*PE2-vpws-evpn-instance-evrf1] route-distinguisher 200:1
[*PE2-vpws-evpn-instance-evrf1] vpn-target 1:1
[*PE2-vpws-evpn-instance-evrf1] quit
[*PE2] evpl instance 1
[*PE2-evpl1] evpn binding vpn-instance evrf1
[*PE2-evpl1] local-service-id 200 remote-service-id 100
[*PE2-evpl1] quit
[*PE2] commit

# 配置PE3。

[~PE3] evpn source-address 3.3.3.3
[*PE3] evpn vpn-instance evrf1 vpws
[*PE3-vpws-evpn-instance-evrf1] route-distinguisher 300:1
[*PE3-vpws-evpn-instance-evrf1] vpn-target 1:1
[*PE3-vpws-evpn-instance-evrf1] quit
[*PE3] evpl instance 1
[*PE3-evpl1] evpn binding vpn-instance evrf1
[*PE3-evpl1] local-service-id 200 remote-service-id 100
[*PE3-evpl1] quit
[*PE3] commit

4.在PE设备之间建立BGP EVPN对等体关系

# 配置PE1。

[~PE1] bgp 100
[*PE1-bgp] router-id 1.1.1.1
[*PE1-bgp] peer 2001:DB8:3::3 as-number 100
[*PE1-bgp] peer 2001:DB8:3::3 connect-interface loopback 1
[*PE1-bgp] peer 2001:DB8:2::2 as-number 100
[*PE1-bgp] peer 2001:DB8:2::2 connect-interface loopback 1
[*PE1-bgp] l2vpn-family evpn
[*PE1-bgp-af-evpn] peer 2001:DB8:3::3 enable
[*PE1-bgp-af-evpn] peer 2001:DB8:3::3 advertise encap-type srv6
[*PE1-bgp-af-evpn] peer 2001:DB8:2::2 enable
[*PE1-bgp-af-evpn] peer 2001:DB8:2::2 advertise encap-type srv6
[*PE1-bgp-af-evpn] quit
[*PE1-bgp] quit
[*PE1] commit

# 配置PE2。

[~PE2] bgp 100
[*PE2-bgp] router-id 2.2.2.2
[*PE2-bgp] peer 2001:DB8:1::1 as-number 100
[*PE2-bgp] peer 2001:DB8:1::1 connect-interface loopback 1
[*PE2-bgp] peer 2001:DB8:3::3 as-number 100
[*PE2-bgp] peer 2001:DB8:3::3 connect-interface loopback 1
[*PE2-bgp] l2vpn-family evpn
[*PE2-bgp-af-evpn] peer 2001:DB8:1::1 enable
[*PE2-bgp-af-evpn] peer 2001:DB8:1::1 advertise encap-type srv6
[*PE2-bgp-af-evpn] peer 2001:DB8:3::3 enable
[*PE2-bgp-af-evpn] peer 2001:DB8:3::3 advertise encap-type srv6
[*PE2-bgp-af-evpn] quit
[*PE2-bgp] quit
[*PE2] commit

# 配置PE3。

[~PE3] bgp 100
[*PE3-bgp] router-id 3.3.3.3
[*PE3-bgp] peer 2001:DB8:1::1 as-number 100
[*PE3-bgp] peer 2001:DB8:1::1 connect-interface loopback 1
[*PE3-bgp] peer 2001:DB8:2::2 as-number 100
[*PE3-bgp] peer 2001:DB8:2::2 connect-interface loopback 1
[*PE3-bgp] l2vpn-family evpn
[*PE3-bgp-af-evpn] peer 2001:DB8:1::1 enable
[*PE3-bgp-af-evpn] peer 2001:DB8:1::1 advertise encap-type srv6
[*PE3-bgp-af-evpn] peer 2001:DB8:2::2 enable
[*PE3-bgp-af-evpn] peer 2001:DB8:2::2 advertise encap-type srv6
[*PE3-bgp-af-evpn] quit
[*PE3-bgp] quit
[*PE3] commit

配置完成后,在PE设备上执行display bgp evpn peer命令,可以看到PE之间的BGP EVPN对等体关系已建立,并达到Established状态。

以PE1的显示为例:

[~PE1] display bgp evpn peer  

 BGP local router ID : 1.1.1.1                          
 Local AS number : 100                                  
 Total number of peers : 2                 Peers in established state : 2       

  Peer                             V          AS  MsgRcvd  MsgSent  OutQ  Up/Down       State  PrefRcv                              
  2001:DB8:2::2                    4         100      113      111     0 01:32:39 Established        2                              
  2001:DB8:3::3                    4         100      125      122     0 01:43:29 Established        2 

5.在PE设备之间建立SRv6 BE路径

# 配置PE1。

[~PE1] segment-routing ipv6
[*PE1-segment-routing-ipv6] encapsulation source-address 2001:DB8:1::1
[*PE1-segment-routing-ipv6] locator PE1 ipv6-prefix 2001:DB8:11:: 64 static 32
[*PE1-segment-routing-ipv6-locator] quit
[*PE1-segment-routing-ipv6] quit
[*PE1] isis 1
[*PE1-isis-1] segment-routing ipv6 locator PE1
[*PE1-isis-1] quit
[*PE1] evpl instance 1
[*PE1-evpl1] segment-routing ipv6 locator PE1
[*PE1-evpl1] quit
[*PE1] evpn vpn-instance evrf1 vpws
[*PE1-vpws-evpn-instance-evrf1] segment-routing ipv6 best-effort
[*PE1-vpws-evpn-instance-evrf1] quit
[*PE1] commit

# 配置PE2。

[~PE2] segment-routing ipv6
[*PE2-segment-routing-ipv6] encapsulation source-address 2001:DB8:2::2
[*PE2-segment-routing-ipv6] locator PE2 ipv6-prefix 2001:DB8:21:: 64 static 32
[*PE2-segment-routing-ipv6-locator] quit
[*PE2-segment-routing-ipv6] quit
[*PE2] isis 1
[*PE2-isis-1] segment-routing ipv6 locator PE2
[*PE2-isis-1] quit
[*PE2] evpl instance 1
[*PE2-evpl1] segment-routing ipv6 locator PE2
[*PE2-evpl1] quit
[*PE2] evpn vpn-instance evrf1 vpws
[*PE2-vpws-evpn-instance-evrf1] segment-routing ipv6 best-effort
[*PE2-vpws-evpn-instance-evrf1] quit
[*PE2] commit

# 配置PE3。

[~PE3] segment-routing ipv6
[*PE3-segment-routing-ipv6] encapsulation source-address 2001:DB8:3::3
[*PE3-segment-routing-ipv6] locator PE3 ipv6-prefix 2001:DB8:31:: 64 static 32
[*PE3-segment-routing-ipv6-locator] quit
[*PE3-segment-routing-ipv6] quit
[*PE3] isis 1
[*PE3-isis-1] segment-routing ipv6 locator PE3
[*PE3-isis-1] quit
[*PE3] evpl instance 1
[*PE3-evpl1] segment-routing ipv6 locator PE3
[*PE3-evpl1] quit
[*PE3] evpn vpn-instance evrf1 vpws
[*PE3-vpws-evpn-instance-evrf1] segment-routing ipv6 best-effort
[*PE3-vpws-evpn-instance-evrf1] quit
[*PE3] commit

在PE上通过命令display segment-routing ipv6 local-sid end-dx2 forwarding,查看SRv6 BE的Local SID表信息。以PE1为例:

[~PE1] display segment-routing ipv6 local-sid end-dx2 forwarding
                   My Local-SID End.DX2 Forwarding Table
                    -------------------------------------                       

SID        : 2001:DB8:11::1:0:20/128                      FuncType : End.DX2    
EVPL ID    : 1                                          
LocatorName: PE1                                          LocatorID: 1          

Total SID(s): 1  

6.在PE设备上配置将相应的EVPL实例绑定到接入侧子接口

# 配置PE1。

[~PE1] interface gigabitethernet 3/0/0.1 mode l2
[*PE1-GigabitEthernet3/0/0.1] encapsulation dot1q vid 10
[*PE1-GigabitEthernet3/0/0.1] evpl instance 1
[*PE1-GigabitEthernet3/0/0.1] quit
[*PE1] commit

# 配置PE2。

[~PE2] e-trunk 1
[*PE2-e-trunk-1] priority 10
[*PE2-e-trunk-1] peer-ipv6 2001:DB8:3::3 source-ipv6 2001:DB8:2::2
[*PE2-e-trunk-1] security-key cipher 00E0FC000000
[*PE2-e-trunk-1] quit
[*PE2] interface eth-trunk 10
[*PE2-Eth-Trunk10] e-trunk 1
[*PE2-Eth-Trunk10] quit
[*PE2] interface eth-trunk 10.1 mode l2
[*PE2-Eth-Trunk10.1] encapsulation dot1q vid 10
[*PE2-Eth-Trunk10.1] evpl instance 1
[*PE2-Eth-Trunk10.1] quit
[*PE2] interface gigabitethernet 3/0/0
[*PE2-GigabitEthernet3/0/0] eth-trunk 10
[*PE2-GigabitEthernet3/0/0] quit
[*PE2] commit

# 配置PE3。

[~PE3] e-trunk 1
[*PE3-e-trunk-1] priority 10
[*PE3-e-trunk-1] peer-ipv6 2001:DB8:2::2 source-ipv6 2001:DB8:3::3
[*PE3-e-trunk-1] security-key cipher 00E0FC000000
[*PE3-e-trunk-1] quit
[*PE3] interface eth-trunk 10
[*PE3-Eth-Trunk10] e-trunk 1
[*PE3-Eth-Trunk10] quit
[*PE3] interface eth-trunk 10.1 mode l2
[*PE3-Eth-Trunk10.1] encapsulation dot1q vid 10
[*PE3-Eth-Trunk10.1] evpl instance 1
[*PE3-Eth-Trunk10.1] quit
[*PE3] interface gigabitethernet 3/0/0
[*PE3-GigabitEthernet3/0/0] eth-trunk 10
[*PE3-GigabitEthernet3/0/0] quit
[*PE3] commit

7.在PE2和PE3上配置基于ESI粒度设置冗余模式

# 配置PE2。

[~PE2] evpn
[*PE2-evpn] esi 0001.0002.0003.0004.0005
[*PE2-evpn-esi-0001.0002.0003.0004.0005] evpn redundancy-mode all-active
[*PE2-evpn-esi-0001.0002.0003.0004.0005] quit
[*PE2-evpn] quit
[*PE2] interface Eth-Trunk 10
[*PE2-Eth-Trunk10] esi 0001.0002.0003.0004.0005
[*PE2-Eth-Trunk10] e-trunk mode force-master
[*PE2-Eth-Trunk10] quit
[*PE2] commit

# 配置PE3。

[~PE3] evpn
[*PE3-evpn] esi 0001.0002.0003.0004.0005
[*PE3-evpn-esi-0001.0002.0003.0004.0005] evpn redundancy-mode all-active
[*PE3-evpn-esi-0001.0002.0003.0004.0005] quit
[*PE3-evpn] quit
[*PE3] interface Eth-Trunk 10
[*PE3-Eth-Trunk10] esi 0001.0002.0003.0004.0005
[*PE3-Eth-Trunk10] e-trunk mode force-master
[*PE3-Eth-Trunk10] quit
[*PE3] commit

8.配置CE接入PE

# 配置CE1。

<CE1> system-view
[~CE1] vlan 10 
[*CE1-vlan10] quit           
[*CE1] interface gigabitethernet 1/0/0
[*CE1-GigabitEthernet1/0/0] portswitch
[*CE1-GigabitEthernet1/0/0] undo shutdown
[*CE1-GigabitEthernet1/0/0] port link-type access
[*CE1-GigabitEthernet1/0/0] port default vlan 10
[*CE1-GigabitEthernet1/0/0] commit
[~CE1-GigabitEthernet1/0/0] quit

# 配置CE2。

<CE2> system-view
[~CE2] vlan 10
[*CE2-vlan10] quit           
[*CE2] interface gigabitethernet 1/0/0
[*CE2-GigabitEthernet1/0/0] portswitch
[*CE2-GigabitEthernet1/0/0] undo shutdown
[*CE2-GigabitEthernet1/0/0] port link-type access
[*CE2-GigabitEthernet1/0/0] port default vlan 10
[*CE2-GigabitEthernet1/0/0] quit
[*CE2] interface gigabitethernet 2/0/0
[*CE2-GigabitEthernet2/0/0] portswitch
[*CE2-GigabitEthernet2/0/0] undo shutdown
[*CE2-GigabitEthernet2/0/0] port link-type access
[*CE2-GigabitEthernet2/0/0] port default vlan 10
[*CE2-GigabitEthernet2/0/0] commit
[~CE2-GigabitEthernet2/0/0] quit

配置完成之后,Eth-Trunk应该Up。在PE2和PE3上执行display eth-trunk命令查看Eth-Trunk的状态。

PE2上的显示:

[~PE2] display eth-trunk 10                              
Eth-Trunk10's state information is:                     
WorkingMode: NORMAL          Hash arithmetic: According to flow                 
Least Active-linknumber: 1   Max Bandwidth-affected-linknumber: 32              
Operate status: up           Number Of Up Ports In Trunk: 1                     
--------------------------------------------------------------------------------
PortName                      Status      Weight        
GigabitEthernet3/0/0          Up          1    

PE3上的显示:

[~PE3] display eth-trunk 10                              
Eth-Trunk10's state information is:                     
WorkingMode: NORMAL          Hash arithmetic: According to flow                 
Least Active-linknumber: 1   Max Bandwidth-affected-linknumber: 32              
Operate status: up           Number Of Up Ports In Trunk: 1                     
--------------------------------------------------------------------------------
PortName                      Status      Weight        
GigabitEthernet3/0/0       Up          1        

从显示信息可以看出,对于Eth-Trunk 10,PE2和PE3是双主状态。

9.检查配置结果

在PE上通过配置命令display bgp evpn all routing-table,可以看到远端发来的EVPN路由。以PE1为例:

[~PE1] display bgp evpn all routing-table

 Local AS number : 100                                  

 BGP Local router ID is 1.1.1.1                         
 Status codes: * - valid, > - best, d - damped, x - best external, a - add path,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 EVPN address family:                                   
 Number of A-D Routes: 5                                
 Route Distinguisher: 100:1                             
       Network(ESI/EthTagId)                                  NextHop           
 *>    0000.0000.0000.0000.0000:100                           127.0.0.1         
 Route Distinguisher: 200:1                             
       Network(ESI/EthTagId)                                  NextHop           
 *>i   0001.0002.0003.0004.0005:200                           2001:DB8:2::2     
 Route Distinguisher: 300:1                             
       Network(ESI/EthTagId)                                  NextHop           
 *>i   0001.0002.0003.0004.0005:200                           2001:DB8:3::3     
 Route Distinguisher: 2.2.2.2:0                         
       Network(ESI/EthTagId)                                  NextHop 
 *>i   0001.0002.0003.0004.0005:4294967295                    2001:DB8:2::2     
 Route Distinguisher: 3.3.3.3:0                         
       Network(ESI/EthTagId)                                  NextHop           
 *>i   0001.0002.0003.0004.0005:4294967295                    2001:DB8:3::3     


 EVPN-Instance evrf1:                                   
 Number of A-D Routes: 5                                
       Network(ESI/EthTagId)                                  NextHop           
 *>    0000.0000.0000.0000.0000:100                           127.0.0.1         
 *>i   0001.0002.0003.0004.0005:200                           2001:DB8:2::2     
 * i                                                          2001:DB8:3::3                                      
 *>i   0001.0002.0003.0004.0005:4294967295                    2001:DB8:2::2     
 * i                                                          2001:DB8:3::3  

在PE1上通过配置命令display bgp evpn all routing-table ad-route,可以看到远端发来的EVPN路由的详细信息。

[~PE1] display bgp evpn all routing-table ad-route 0001.0002.0003.0004.0005:200 

 BGP local router ID : 1.1.1.1                          
 Local AS number : 100                                  
 Total routes of Route Distinguisher(200:1): 1          
 BGP routing table entry information of 0001.0002.0003.0004.0005:200:           
 Label information (Received/Applied): 3/NULL           
 From: 2001:DB8:2::2 (2.2.2.2)                          
 Route Duration: 0d12h53m55s                            
 Relay IP Nexthop: FE80::3AC2:67FF:FE31:307             
 Relay IP Out-Interface:GigabitEthernet1/0/0                   
 Relay Tunnel Out-Interface:                            
 Original nexthop: 2001:DB8:2::2                        
 Qos information : 0x0                                  
 Ext-Community: RT <1 : 1>, SoO <2.2.2.2 : 0>, EVPN L2 Attributes <MTU:1500 C:0 P:1 B:0>           
 Prefix-sid: 2001:DB8:21::1:0:3E                        
 AS-path Nil, origin incomplete, localpref 100, pref-val 0, valid, internal, best, select, pre 255, IGP cost 10                     
 Route Type: 1 (Ethernet Auto-Discovery (A-D) route)    
 ESI: 0001.0002.0003.0004.0005, Ethernet Tag ID: 200    
 Not advertised to any peer yet                         

 Total routes of Route Distinguisher(300:1): 1          
 BGP routing table entry information of 0001.0002.0003.0004.0005:200: 
 Label information (Received/Applied): 3/NULL           
 From: 2001:DB8:3::3 (3.3.3.3)                          
 Route Duration: 0d10h15m49s                            
 Relay IP Nexthop: FE80::3AC2:67FF:FE41:305             
 Relay IP Out-Interface:GigabitEthernet2/0/0                   
 Relay Tunnel Out-Interface:                            
 Original nexthop: 2001:DB8:3::3                        
 Qos information : 0x0                                  
 Ext-Community: RT <1 : 1>, SoO <3.3.3.3 : 0>, EVPN L2 Attributes <MTU:1500 C:0 P:1 B:0>           
 Prefix-sid: 2001:DB8:31::1:0:3E                        
 AS-path Nil, origin incomplete, localpref 100, pref-val 0, valid, internal, best, select, pre 255, IGP cost 10                     
 Route Type: 1 (Ethernet Auto-Discovery (A-D) route)    
 ESI: 0001.0002.0003.0004.0005, Ethernet Tag ID: 200    
 Not advertised to any peer yet                         



 EVPN-Instance evrf1:                                   
 Number of A-D Routes: 2                                
 BGP routing table entry information of 0001.0002.0003.0004.0005:200:           
 Route Distinguisher: 200:1                             
 Remote-Cross route     
 Label information (Received/Applied): 3/NULL           
 From: 2001:DB8:2::2 (2.2.2.2)                          
 Route Duration: 0d12h54m24s                            
 Relay IP Nexthop: FE80::3AC2:67FF:FE31:307             
 Relay IP Out-Interface:GigabitEthernet1/0/0                   
 Relay Tunnel Out-Interface:                            
 Original nexthop: 2001:DB8:2::2                        
 Qos information : 0x0                                  
 Ext-Community: RT <1 : 1>, SoO <2.2.2.2 : 0>, EVPN L2 Attributes <MTU:1500 C:0 P:1 B:0>           
 Prefix-sid: 2001:DB8:21::1:0:3E                        
 AS-path Nil, origin incomplete, localpref 100, pref-val 0, valid, internal, best, select, pre 255, IGP cost 10                     
 Route Type: 1 (Ethernet Auto-Discovery (A-D) route)    
 ESI: 0001.0002.0003.0004.0005, Ethernet Tag ID: 200    
 Not advertised to any peer yet                         

 BGP routing table entry information of 0001.0002.0003.0004.0005:200:           
 Route Distinguisher: 300:1                             
 Remote-Cross route                                     
 Label information (Received/Applied): 3/NULL           
 From: 2001:DB8:3::3 (3.3.3.3)                          
 Route Duration: 0d10h16m19s                            
 Relay IP Nexthop: FE80::3AC2:67FF:FE41:305 
 Relay IP Out-Interface:GigabitEthernet2/0/0                   
 Relay Tunnel Out-Interface:                            
 Original nexthop: 2001:DB8:3::3                        
 Qos information : 0x0                                  
 Ext-Community: RT <1 : 1>, SoO <3.3.3.3 : 0>, EVPN L2 Attributes <MTU:1500 C:0 P:1 B:0>           
 Prefix-sid: 2001:DB8:31::1:0:3E                        
 AS-path Nil, origin incomplete, localpref 100, pref-val 0, valid, internal, select, pre 255, IGP cost 10, not preferred for router ID  
 Route Type: 1 (Ethernet Auto-Discovery (A-D) route)    
 ESI: 0001.0002.0003.0004.0005, Ethernet Tag ID: 200    
 Not advertised to any peer yet

从以上信息可以看出,对于EVPN实例evrf1,存在两条优选路由
0001.0002.0003.0004.0005:200,下一跳分别指向PE2和PE3,说明双归双活已经形成。

有关华为运营商级路由器配置示例 | EVdPdNd VPWS over SRv6 BE(CE双归双活)的更多相关文章

  1. ruby - session 未创建 : Chrome version must be between - 2

    当使用ruby​​selenium驱动程序驱动chrome时,我得到/home/travis/.rvm/gems/ruby-2.6.2/gems/selenium-webdriver-3.141.5926/lib/selenium/webdriver/remote/response.rb:72:in`assert_ok':sessionnot创建:Chrome版本必须在70和73之间(Selenium::WebDriver::Error::SessionNotCreatedError)如何解决这个问题?降级chrome不是我想做的事。 最佳答案

  2. ruby-on-rails - 为什么 ruby​​-debug 说 'Saved frames may be incomplete' - 2

    我有时会在触发断点时收到此消息。看起来堆栈帧没有得到保存,所以我无法通过调用堆栈返回-真的很痛苦。看下面的例子-->#0BatchProcess.add_failure_record(row_id#Fixnum,test#Struct::Test,message#String,...)atlineserver/processes/batch.rb:309Warning:savedframesmaybeincomplete;comparewithcaller(0).(rdb:1)ppcaller["./server/processes/batch.rb:309:in`run_tests'

  3. ruby - Chef : Can a variable set within one ruby_block be used later in a recipe? - 2

    假设我有一个变量directory_list,我在名为get_directory_list的ruby​​_block中定义和设置了它。我可以稍后在我的Recipe中使用directory_list吗,或者编译/收敛过程会阻止这种情况吗?例子:ruby_block"get_file_list"doblockdotransferred_files=Dir['/some/dir/*']endendtransferred_files.eachdo|file|file"#{file}"dogroup"woohoo"user"woohoo"endend 最佳答案

  4. ruby-on-rails - 修改 Rails : How do advanced users find out what needs to be changed? - 2

    我已经使用Rails几个月了,我很乐意编写一个项目并根据我的需要操作Rails等。最近我一直在尝试更高级一些,所以我尝试修改/添加到现有的Rails代码库:添加新的表单辅助方法、添加responds_to:pdf方法等...然后我遇到了很多问题。困难在于学习我需要修改哪些代码;该代码所在的位置,以及如何确保我不会错过其他文件中的相关代码。我猜人们有办法学会这样做,但目前我主要只是猜测和希望。我想我的问题是,Rails人员如何了解他们需要修改的代码在哪里编辑以及编辑代码的方法?看起来这只是您需要先熟悉的东西,但我猜必须有一种简单的方法来理解在哪里(和什么)编辑。任何想法表示赞赏.....

  5. ruby - `-' : nil can't be coerced into Fixnum (TypeError) - 2

    在我的程序中,我收到一条错误消息,显示./ruby_camping.rb:91:in`-':nilcan'tbecoercedintoFixnum(TypeError)。我想做的是为我刚刚入住的客人结账。这是结账部分的代码块:defself.check_outputs"Welcometocheckout!"puts$camping.current_guestsputs"Herearethecurrentguests,whodoyouwanttocheckout?!"puts"Stateplotnumber"plot=gets.chomp.to_iguest=$camping.curre

  6. ruby-on-rails - 回形针 gem - "Image has contents that are not what they are reported to be"错误 - 2

    该网站的功能是发布博客文章。它在Windows7上本地运行。我试过Paperclipgem(版本4.2.4和4.3)并且服务器在cmd中进入无限循环(在4.2.4上没有发生但仍然出现错误)。我做了bundleinstall并且它确实安装了。gem文件:gem"paperclip","~>4.3"这是模型:classPost":style/rails1.jpg"validates_attachment_content_type:image,:content_type=>/\Aimage\/.*\Z/end这是我在尝试提交图像(png或jpg)时遇到的错误:Imagehascontents

  7. ruby-on-rails - Rails 3.1 与 PostgreSQL : GROUP BY must be used in an aggregate function - 2

    我正在尝试加载按user_id分组并按created_at排序的最新10个艺术。这适用于SqlLite和MySQL,但在我的新PostgreSQL数据库上出错。Art.all(:order=>"created_atdesc",:limit=>10,:group=>"user_id")ActiveRecord错误:ArtLoad(18.4ms)SELECT"arts".*FROM"arts"GROUPBYuser_idORDERBYcreated_atdescLIMIT10ActiveRecord::StatementInvalid:PGError:ERROR:column"arts.i

  8. ruby-on-rails - Form_for "First argument in form cannot contain nil or be empty"错误 - 2

    我不明白为什么会收到此错误,也不知道它的确切含义。Firstargumentinformcannotcontainnilorbeempty(Line3)添加新帖子//ErrorhereController:classPostsController"Yourpostwassaved"elserender"new"endenddefeditenddefupdateenddefdestroyendend 最佳答案 假设您从PostsController渲染它并使用传统的View名称,您的new方法应该创建一个新的Post并分配给它:def

  9. ruby-on-rails - Rails 5 cipher.key "key must be 32 bytes"错误 - 2

    全新的Rails应用程序。Rails版本5.0.0.1,Ruby版本2.4.0preview2。创建应用程序“demo”,运行一个简单的脚手架生成产品,并在尝试查看脚手架的概览页面时出现错误(基本索引文件仍然可以正常加载欢迎使用Rails屏幕):ProductsController中的参数错误#indexkey必须是32字节:cipher=new_ciphercipher.encryptcipher.key=@secret#RelyonOpenSSLfortheinitializationvectoriv=cipher.random_iv问题行显然是cipher.key=@secret

  10. ruby-on-rails - RSpec中的 "be_true"和 "be true"有什么区别 - 2

    任何人都可以用简单的例子向我解释Ruby中be_true和betrue之间的区别吗?我还看到be_true和be_false更改为be_truthy和be_falsey我有一个示例,其中'be_true'有效,但是当我尝试使用'be_true'或'be_truthy'规范时失败.我正在使用RSpec版本3.1.7 最佳答案 根据thisthreadbe_true和be_false现在称为be_truthy和be_falsy。be_truth和be_truthy或者be_false和be_falsy之间的基本区别是be_falsy/b

随机推荐