Huawei CloudEngine Switches IP Routing Guide
Huawei CloudEngine Switches IP Routing Guide
Switches
V200R002C50
Issue 06
Date 2018-11-26
and other Huawei trademarks are trademarks of Huawei Technologies Co., Ltd.
All other trademarks and trade names mentioned in this document are the property of their respective
holders.
Notice
The purchased products, services and features are stipulated by the contract made between Huawei and the
customer. All or part of the products, services and features described in this document may not be within the
purchase scope or the usage scope. Unless otherwise specified in the contract, all statements, information,
and recommendations in this document are provided "AS IS" without warranties, guarantees or
representations of any kind, either express or implied.
The information in this document is subject to change without notice. Every effort has been made in the
preparation of this document to ensure accuracy of the contents, but all statements, information, and
recommendations in this document do not constitute a warranty of any kind, express or implied.
Website: [Link]
Intended Audience
This document is intended for network engineers responsible for CE series switches
configuration and management. You should be familiar with basic Ethernet knowledge and
have extensive experience in network deployment and management.
Symbol Conventions
The symbols that may be found in this document are defined as follows.
Symbol Description
Command Conventions
The command conventions that may be found in this document are defined as follows.
Convention Description
Convention Description
Security Conventions
l Password setting
– When configuring a password, the cipher text is recommended. To ensure device
security, change the password periodically.
– When you configure a password in plain text that starts and ends with %^%#......%^
%# (the password can be decrypted by the device), the password is displayed in the
same manner as the configured one in the configuration file. Do not use this setting.
After the system master key is set using the set master-key command, do not start
and end the key with %@%# because the string starting and ending with %@%#
is considered as a valid cipher-text key.
– When you configure a password in cipher text, different features cannot use the
same cipher-text password. For example, the cipher-text password set for the AAA
feature cannot be used for other features.
– After the system software is downgraded and the switch restarts with the
configuration of the higher version, AAA, VTY, serial interface login, and SNMP
user passwords become invalid. As a result, users fail to log in to the switch using
the passwords and the switch is disconnected from the network management
system.
To address this problem, take the following measures:
i. If no password is configured for the console port, log in to the device through
the console port, and reconfigure AAA and password for users such as VTY
and SNMP users. For security purposes, the console port password is
recommended.
ii. If a password is configured for login through the console port, the password
becomes invalid after the downgrade and you cannot log in to the switch
through the console port. Perform the following steps:
1) Connect to the console port.
2) Power recycle the device. During the startup, enter Ctrl+B according to
the prompt to enter the BIOS menu. The default password is
Admin@[Link].
3) Select [Link] console password to delete and change the console port
password.
4) Restart the device, log in to the device through the console port, and
reconfigure the password for AAA, VTY, or SNMP user.
l Encryption algorithm
Currently, the device uses the following encryption algorithms: DES, 3DES, AES, DSA,
RSA, DH, ECDH, HMAC, SHA1, SHA2, PBKDF2, scrypt, and MD5. The encryption
algorithm depends on the applicable scenario. Use the recommended encryption
algorithm; otherwise, security defense requirements may be not met.
– For the symmetrical encryption algorithm, use AES with the key of 256 bits or
more.
– When you need to use an asymmetric cryptography, RSA (2048-bit or longer key)
is recommended. In addition, use different key pairs for encryption and signature.
– For the digital signature, RSA (2048-bit or longer key) or DSA (2048-bit or longer
key) is recommended.
– For key negotiation, DH (2048-bit or longer key) or ECDH (256-bit or longer key)
is recommended.
– For the hash algorithm, use SHA with the key of 256 bits or more.
– For the HMAC algorithm, use HMAC-SHA2.
– DES, 3DES, RSA and AES are reversible encryption algorithm. If protocols are
used for interconnection, the locally stored password must be reversible.
– SHA1, SHA2, and MD5 are irreversible encryption algorithm. When configuring a
password for local administrator, it is recommended that you use the SHA2
irreversible encryption algorithm.
– To prevent brute force cracking of the user password, the iteration algorithm is
added to the password on the basis of salts. The iteration algorithm uses PBKDF2
or scrypt key export algorithm.
– The ECB mode has a poor capability of defending against plaintext playback
attacks, so ECB is not recommended for password encryption.
– In SSH2.0, the symmetric cryptography using the CBC mode may undergo the
plaintext-recovery attack to cause a data leak. Therefore, the CBC mode is not
recommended for SSH2.0.
l Personal data
Some personal data (such as MAC or IP addresses of terminals) may be obtained or used
during operation or fault location of your purchased products, services, features, so you
have an obligation to make privacy policies and take measures according to the
applicable law of the country to protect personal data.
l The terms mirrored port, port mirroring, traffic mirroring, and mirroring in this manual
are mentioned only to describe the product's function of communication error or failure
detection, and do not involve collection or processing of any personal information or
communication data of users.
Declaration
l This manual is only a reference for you to configure your devices. The contents in the
manual, such as command line syntax, and command outputs, are based on the device
conditions in the lab. The manual provides instructions for general scenarios, but do not
cover all usage scenarios of all product models. The contents in the manual may be
different from your actual device situations due to the differences in software versions,
models, and configuration files. The manual will not list every possible difference. You
should configure your devices according to actual situations.
l The specifications provided in this manual are tested in lab environment (for example,
the tested device has been configured with a certain type of cards or only one protocol is
run on the device). Results may differ from the listed specifications when you attempt to
obtain the maximum values with multiple functions enabled on the device.
l In this document, public IP addresses may be used in feature introduction and
configuration examples and are for reference only unless otherwise specified.
Contents
4 RIPng Configuration.................................................................................................................162
4.1 Overview of RIPng..................................................................................................................................................... 162
4.2 Understanding RIPng................................................................................................................................................. 163
4.2.1 Comparison Between RIPng and RIP..................................................................................................................... 163
4.3 Summary of RIPng Configuration Tasks....................................................................................................................163
4.4 Licensing Requirements and Limitations for RIPng.................................................................................................. 165
4.5 Default Settings for RIPng......................................................................................................................................... 167
4.6 Configuring Basic RIPng Functions...........................................................................................................................167
4.6.1 Enabling RIPng........................................................................................................................................................167
4.6.2 Enabling RIPng on Interfaces..................................................................................................................................168
4.6.3 Verifying the Basic RIPng Function Configuration................................................................................................ 169
4.7 Preventing Routing Loops.......................................................................................................................................... 169
4.7.1 Configuring Split Horizon....................................................................................................................................... 169
4.7.2 Configuring Poison Reverse.................................................................................................................................... 170
4.7.3 Verifying the RIPng Routing Loop Prevention Configuration................................................................................ 171
4.8 Controlling RIPng Routing.........................................................................................................................................171
4.8.1 Configuring RIPng Preference................................................................................................................................ 171
4.8.2 Configuring Additional Metrics of an Interface...................................................................................................... 172
4.8.3 Setting the Maximum Number of Equal-Cost Routes.............................................................................................173
4.8.4 Verifying the RIPng Routing Control Configuration.............................................................................................. 173
4.9 Controlling RIPng Route Advertisement................................................................................................................... 174
4.9.1 Configuring RIPng Route Summarization.............................................................................................................. 174
4.9.2 Advertising a Default Route.................................................................................................................................... 175
4.9.3 Configuring a RIPng Process to Import External Routes........................................................................................176
5 OSPF Configuration..................................................................................................................184
5.1 Overview of OSPF......................................................................................................................................................185
5.2 Understanding OSPF.................................................................................................................................................. 185
5.2.1 OSPF Fundamentals................................................................................................................................................ 185
5.2.2 BFD for OSPF......................................................................................................................................................... 197
5.2.3 OSPF Smart-discover.............................................................................................................................................. 198
5.2.4 OSPF VPN...............................................................................................................................................................199
5.2.5 OSPF NSSA............................................................................................................................................................ 205
5.2.6 OSPF Fast Convergence.......................................................................................................................................... 207
5.2.7 OSPF Neighbor Relationship Flapping Suppression...............................................................................................207
5.2.8 Priority-based OSPF Convergence.......................................................................................................................... 213
5.2.9 OSPF-BGP Association...........................................................................................................................................213
5.2.10 OSPF GR............................................................................................................................................................... 214
5.2.11 OSPF-LDP Association......................................................................................................................................... 218
5.2.12 OSPF Database Overflow......................................................................................................................................219
5.2.13 OSPF Mesh-Group................................................................................................................................................ 220
5.3 Application Scenarios for OSPF.................................................................................................................................222
5.3.1 OSPF GR................................................................................................................................................................. 222
5.4 Summary of OSPF Configuration Tasks.................................................................................................................... 224
5.5 Licensing Requirements and Limitations for OSPF...................................................................................................228
5.6 Default Settings for OSPF.......................................................................................................................................... 229
5.7 Configuring Basic OSPF Functions........................................................................................................................... 230
5.7.1 Creating an OSPF Process....................................................................................................................................... 230
5.7.2 Creating an OSPF Area........................................................................................................................................... 231
5.7.3 Enabling OSPF........................................................................................................................................................ 231
5.7.4 (Optional) Creating OSPF Virtual Links................................................................................................................. 233
5.7.5 Verifying the Basic OSPF Function Configuration................................................................................................. 234
5.8 Setting Session Parameters for OSPF Neighbor or Adjacency Relationships........................................................... 234
5.8.1 Setting the OSPF Packet Retransmission Limit...................................................................................................... 234
5.8.2 Configuring an Interface to Fill in DD Packets with the Actual MTU................................................................... 235
5.8.3 Verifying the OSPF Session Parameter Settings..................................................................................................... 236
5.9 Configuring OSPF Attributes in Different Types of Networks.................................................................................. 236
5.9.1 Configuring Network Types of OSPF Interfaces.....................................................................................................237
5.9.2 (Optional) Setting the DR Priority for an OSPF Interface of the Broadcast or NBMA Network Type..................238
8.9.5 Verifying the IPv6 IS-IS Route Exchange Control Configuration.......................................................................... 592
8.10 Configuring IPv6 IS-IS Route Summarization.........................................................................................................592
8.11 Controlling IPv6 IS-IS Route Convergence............................................................................................................. 593
8.11.1 Configuring Attributes for Hello Packets.............................................................................................................. 593
8.11.2 Configuring Attributes for LSPs............................................................................................................................595
8.11.3 Configuring Attributes for CSNPs.........................................................................................................................600
8.11.4 Setting the SPF Calculation Interval......................................................................................................................601
8.11.5 Configuring Convergence Priorities for IS-IS Routes........................................................................................... 602
8.11.6 Verifying the IPv6 IS-IS Route Convergence Control Configuration................................................................... 603
8.12 Configuring LSP Fragment Extension..................................................................................................................... 603
8.13 Configuring a Mesh Group on an NBMA Network................................................................................................. 604
8.14 Configuring the Overload Bit for an IS-IS Device...................................................................................................605
8.15 Configuring Dynamic IPv6 BFD for IS-IS...............................................................................................................606
8.15.1 Configuring BFD Globally.................................................................................................................................... 607
8.15.2 Configuring IPv6 BFD for IS-IS Processes...........................................................................................................607
8.15.3 (Optional) Preventing an Interface from Dynamically Establishing an IPv6 BFD Session..................................608
8.15.4 (Optional) Configuring IPv6 BFD for a Specified Interface................................................................................. 609
8.15.5 Verifying the IPv6 BFD for IS-IS Configuration.................................................................................................. 609
8.16 Configuring IPv6 IS-IS Auto FRR........................................................................................................................... 610
8.17 Maintaining IS-IS..................................................................................................................................................... 611
8.17.1 Resetting IS-IS.......................................................................................................................................................611
8.17.2 Improving the Maintainability of IS-IS................................................................................................................. 612
8.18 Configuration Examples for IPv6 IS-IS................................................................................................................... 613
8.18.1 Example for Configuring Dynamic IPv6 BFD for IS-IS.......................................................................................613
8.18.2 Example for Configuring Basic IPv6 IS-IS Functions.......................................................................................... 619
9 BGP Configuration....................................................................................................................625
9.1 Overview of BGP....................................................................................................................................................... 626
9.2 Understanding BGP.................................................................................................................................................... 626
9.2.1 Basic Concepts of BGP........................................................................................................................................... 627
9.2.2 BGP Fundamentals.................................................................................................................................................. 628
9.2.3 Interaction Between BGP and an IGP..................................................................................................................... 631
9.2.4 BGP Security........................................................................................................................................................... 631
9.2.5 BGP Route Selection Rules and Load Balancing....................................................................................................632
9.2.6 Route Reflector........................................................................................................................................................636
9.2.7 BGP Confederation..................................................................................................................................................640
9.2.8 Route Summarization.............................................................................................................................................. 641
9.2.9 Route Dampening.................................................................................................................................................... 641
9.2.10 BMP.......................................................................................................................................................................643
9.2.11 BFD for BGP......................................................................................................................................................... 644
9.2.12 BGP Auto FRR...................................................................................................................................................... 645
9.2.13 BGP GR and NSR................................................................................................................................................. 646
9.2.14 BGP ORF...............................................................................................................................................................648
1 IP Unicast Routing
This chapter describes IP unicast routing and how it is a basic element of data communication
networks.
NOTE
The CE6810LI does not support IPv4 or IPv6 Layer 3 forwarding. After the IPv4 or IPv6 function is
enabled on an interface of the CE6810LI, the configured IPv4 or IPv6 address can only be used to
manage the switch.
According to whether the destination directly connects to a router, routes are classified into
one of the following types:
l Direct route
The router directly connects to the network where the destination is located.
l Indirect route
The router indirectly connects to the network where the destination is located.
According to the destination address type, routes are classified into one of the following
types:
l Unicast route
The destination address is a unicast address.
l Multicast route
The destination address is a multicast address.
A next-hop IP address of a BGP route is often the IP address of an indirectly connected peer's
loopback interface, and therefore the BGP route needs to be iterated. The system searches the
IP routing table for a direct route (an IGP route in most cases) that is destined for the next-hop
IP address of the BGP route and then adds the next-hop IP address and outbound interface of
the IGP route to the IP routing table. This generates a FIB entry.
A next-hop IP address of a BGP VPN route is often the IP address of an indirectly connected
PE's loopback interface, and the BGP route needs to be iterated to a tunnel. The system
searches the tunnel list for a tunnel that is destined for this loopback IP address and then adds
the tunnel information to the routing table. This generates a FIB entry.
role, but for a common purpose: forming a functioning network. The following describes a
router's role in a network, and the purpose and nature of routes.
A router selects routes and forwards packets. Upon receiving a packet, a router selects a
proper path, which may have one or multiple hops, to send the packet to the next router
according to the destination address in the packet. The last router is responsible for sending
the packet to the destination host.
A route is a path along which packets are sent from the source to the destination. When
multiple routes are available to send packets from a router to the destination, the router can
select the optimal route from an IP routing table. Optimal route selection depends on routing
protocol preferences and metrics of routes. When multiple routes have the same routing
protocol preference and metric, load balancing can be implemented among these routes to
relieve network pressure. When multiple routes have different routing protocol preferences
and metrics, route backup can be implemented among these routes to improve network
reliability.
Static routes are easy to configure, have low system requirements, and apply to simple, stable,
and small networks. The disadvantage of static routes is that they require subsequent
maintenance as they cannot automatically adapt to network topology changes.
Dynamic routing protocols have routing algorithms. Therefore dynamic routes can
automatically adapt to network topology changes and apply to networks on which Layer 3
devices are deployed. The disadvantages of dynamic routes are that they are complex to
configure, have higher system requirements than static ones, and consume network and
system resources.
According to the application range, dynamic routing protocols are classified into the
following types:
According to the type of algorithm they use, dynamic routing protocols are classified into the
following types:
Routing Table
Each router maintains a local core routing table (namely, an IP routing table), and each
routing protocol maintains its own routing table.
l Local core routing table
A router uses the local core routing table to store preferred routes. The router then sends
the preferred routes to the FIB table to guide packet forwarding. The router selects routes
according to the priorities of protocols and costs stored in the routing table.
NOTE
A router that supports Layer 3 Virtual Private Network (L3VPN) maintains a local core routing
table for each VPN instance.
l Protocol routing table
A protocol routing table stores routing information discovered by the protocol.
A routing protocol can import and advertise routes that are discovered by other routing
protocols. For example, if a router running the Open Shortest Path First (OSPF) protocol
needs to use OSPF to advertise direct routes, static routes, or Intermediate System-
Intermediate System (IS-IS) routes, the router must import the routes into the OSPF
routing table.
A routing table contains the following key data for each IP packet:
l Destination: identifies the destination IP address or destination network address of an IP
packet.
l Mask: supplements the destination address to specially identify the address of the
network segment where the destination host or router resides.
The network segment address of a destination host or router is obtained through the
"AND" operation on the destination address and network mask. For example, if the
destination address is [Link] and the mask is [Link], the address of the network
segment where the host or router resides is [Link].
The network mask is composed of several consecutive 1s. These 1s can be expressed in
either the dotted decimal notation or the number of consecutive 1s in the mask. For
example, the network mask can be expressed either as [Link] or 24.
l Proto: indicates the protocol through which routes are learned.
l Pre: indicates the routing protocol preference of a route. There may multiple routes to the
same destination, which have different next hops and outbound interfaces. These routes
may be discovered by different routing protocols or manually configured. A router
selects the route with the highest preference (the smallest value) as the optimal route. For
the routing protocol preference, see 1.2.5 Routing Protocol Preference.
l Cost: indicates the route cost. When multiple routes to the same destination have the
same preference, the route with the lowest cost is selected as the optimal route.
NOTE
The Preference value is used to compare the preferences of different routing protocols, while the
Cost value is used to compare the preferences of different routes of the same routing protocol.
l NextHop: indicates the IP address of the next device that an IP packet passes through.
l Interface: indicates the outbound interface through which an IP packet is forwarded.
In Figure 1-1, the routing table of RouterA shows that it connects to three networks, so it has
three IP addresses and three outbound interfaces.
[Link]/16
[Link]/16
Automatic Restoration After the Number of Routes Exceeds the Upper Limit
A local core routing table stores routes of different routing protocols. If the number of routes
in the local core routing table reaches the upper limit, no more route can be added to the table.
The local core routing table has the following route limitations:
l System route limit: specifies the maximum number of routes supported by the system.
l System route prefix limit: specifies the range of prefixes for all the routes supported by
the system.
l Multicast IGP route limit: specifies the maximum number of multicast IGP routes.
l Multi-topology route limit: specifies the maximum number of multi-topology routes.
l Private network route limit: specifies the maximum number of private network routes
supported by the system.
l VPN route limit: specifies the maximum number of VPN routes supported by the
system.
l VPN route prefix limit: specifies the range of prefixes for all the VPN routes supported
by the system.
If a protocol fails to add routes to the local core routing table due to a specific route limitation,
the system records the failure with the protocol name and routing table ID.
After routes of protocols are deleted from the local core routing table, and the number of
routes falls below the upper limit, the system prompts all the protocols that failed to add
routes to the local core routing table to re-add the routes to the local core routing table. This
process restores most of the routes in the local core routing table. The size of released table
space determines whether all routes in the local core routing table can be restored.
Each entry in the FIB table contains the physical or logical interface through which a packet is
sent to a network segment or host to reach the next router. An entry can also indicate whether
the packet can be sent to a destination host in a directly connected network.
The router performs the "AND" operation on the destination address in the packet and the
network mask of each entry in the FIB table. The router then compares the result of the
"AND" operation with the entries in the FIB table to find a match and chooses the optimal
route to forward packets according to the longest match rule.
For example, assume that a router has the following routing table:
Routing Tables:
Destination/Mask Proto Pre Cost Flags NextHop Interface
[Link]/0 Static 60 0 D [Link] GigabitEthernet1/0/0
[Link]/16 Static 60 3 D [Link] GigabitEthernet1/0/0
[Link]/16 Static 60 50 D [Link] GigabitEthernet3/0/0
[Link]/24 Static 60 4 D [Link] GigabitEthernet2/0/0
[Link]/16 Direct 0 0 D [Link] GigabitEthernet4/0/0
After receiving a packet carrying the destination address [Link], the router searches the
following FIB table:
FIB Table:
Total number of Routes : 5
Destination/Mask Nexthop Flag TimeStamp Interface
TunnelID
[Link]/0 [Link] SU t[37] GigabitEthernet1/0/0
0x0
[Link]/16 [Link] DU t[37] GigabitEthernet1/0/0
0x0
[Link]/16 [Link] DU t[9992] GigabitEthernet3/0/0
0x0
[Link]/24 [Link] DU t[9992] GigabitEthernet2/0/0
0x0
[Link]/16 [Link] U t[9992] GigabitEthernet4/0/0
0x0
The router performs the "AND" operation on the destination address [Link] and the masks
0, 16, and 24 to obtain the network segment addresses: [Link]/0, [Link]/16, and [Link]/24.
The three addresses match three entries in the FIB table. The router chooses the entry
[Link]/24 according to the longest match rule, and forwards the packet through
GigabitEthernet2/0/0.
Routers define external preference and internal preference. In Table 1-1, the value 0 indicates
direct routes and the value 255 indicates routes learned from unreliable sources. A smaller
value indicates a higher preference. External preference is manually configured for each
routing protocol. Table 1-1 lists the default external preferences of routing protocols.
Direct 0
OSPF 10
IS-IS 15
Static 60
RIP 100
IBGP 255
EBGP 255
NOTE
Except the CE6810LI, other CE series switches allow users to manually configure the preference of
direct routes. In addition, the preference of each static route varies.
Internal preferences of routing protocols cannot be manually configured. Table 1-2 lists the
internal preferences of routing protocols.
Direct 0
OSPF 10
IS-IS Level-1 15
IS-IS Level-2 18
Static 60
RIP 100
IBGP 200
EBGP 20
During route selection, a router first compares the external preferences of routes. When the
same external preference is set for different routing protocols, the router selects the optimal
route based on the internal preference. For example, assume that there are two routes to
[Link]/24: a static route and an OSPF route. Both routes have the same external preference:
5. In this case, the router determines the optimal route based on the internal preference listed
in Table 1-2. An OSPF route has an internal preference of 10, and a static route has an
internal preference of 60. This indicates that the OSPF route has a higher preference than the
static route, so the router selects the OSPF route as the optimal route.
Load Balancing
Routers support the multi-route mode, which allows you to configure multiple routes with the
same destination and preference. If the destinations and costs of multiple routes discovered by
the same routing protocol are the same, load balancing can be performed among the routes.
During load balancing, a router forwards packets based on the packets' 5-tuple (source IP
address, destination IP address, source port, destination port, and transport protocol). When
the 5-tuple information is the same, the router always chooses the next-hop address that is the
same as the last one to send packets. When the 5-tuple information is different, the router
forwards packets over idle paths.
RouterB
GE1/0/0
[Link]/24
P1~P6 [Link]/24
RouterA [Link]/24
[Link]/24
P1~P6 RouterD
GE2/0/0
RouterC
In the example shown in Figure 1-2, RouterA forwards the first packet P1 to [Link]/24
through GE1/0/0 and needs to forward subsequent packets to [Link]/24 and [Link]/24
respectively. The forwarding process is as follows:
l If RouterA finds that 5-tuple information of P2 destined for [Link]/24 is the same as
that of P1 destined for [Link]/24, it forwards P2 and subsequent packets destined for
[Link]/24 through GE1/0/0.
l If RouterA finds that 5-tuple information of P1 destined for [Link]/24 is different from
that of P1 destined for [Link]/24, it forwards P1 and subsequent packets destined for
[Link]/24 through GE2/0/0.
NOTE
When ECMP resources are insufficient on CE6880EI switches, only a single next hop in the new ECMP
load balancing forwarding group is used for packet forwarding. To check the specific forwarding path,
run the display ip fib command.
Route Backup
Route backup can improve network reliability. You can configure multiple routes to the same
destination as required. The route with the highest preference functions as the primary route,
and other routes with lower preferences function as backup routes.
A router generally uses the primary route to forward data. When the primary link fails, the
primary route becomes inactive. The router selects a backup route with the highest preference
to forward data. In this manner, data is switched from the primary route to a backup route.
When the primary link recovers, the router selects the primary route to forward data again
because the primary route has the highest preference. Data is then switched back from the
backup route to the primary route.
9
1 2
10 5
6
11 7
8
12 3 4
7
10
1 2
8 4
11
5
12 6
9
ECMP load balancing consistency function provides a method to solve the preceding
problem. In Figure 1-4, this function enables hash calculation to be performed only for traffic
on the faulty link, without affecting traffic on other normal links. This function maintains
service sessions on normal links.
Figure 1-4 Traffic forwarding based on hash calculation of ECMP load balancing consistency
Traffic fowarding path
before a link fault occurs
9
1 2
10 5
6
11 7
8
12 3 4
9 5
1 2
10 8 4
6
7
12 11
1.2.9 IP FRR
Definition
When a router detects a fault at the physical or data link layer, IP fast reroute (FRR) enables
the router to report the fault to the upper-layer routing system, and to immediately use a
backup link to forward packets. IP FRR is a method that implements fast route backup.
Purpose
On traditional IP networks, when a fault occurs at the lower layer of the forwarding link, the
physical interface on the router becomes Down. After the router detects the fault, it informs
the upper-layer routing system to recalculate routes and then update routing information.
Usually, it takes the routing system several seconds to re-select an available route.
Second-level convergence is intolerable to services that are sensitive to delay and packet loss
because it may lead to service interruption. For example, Voice over Internet Protocol (VoIP)
services are only tolerant of millisecond-level interruption.
IP FRR resolves this by ensuring that the forwarding system rapidly detects a link fault and
then uses a backup route to restore services as soon as possible.
1. If the primary link is available, you can configure an IP FRR policy to provide the
forwarding information of the backup route to the forwarding engine.
2. If the forwarding engine detects a link fault, the engine uses the backup link to forward
traffic before the routes on the control plane converge.
IP forwarding
Link A
PE1
CE1 Link B
IP forwarding
PE2
Definition
Route convergence is the action of recalculating routes to replace existing routes in the case of
network topology changes. The integration of multiple network services urgently requires
differentiated services. Routes for key services, such as Voice over IP (VoIP), video
conferences, and multicast services, need to be converged rapidly, while routes for common
services can be converged relatively slowly. In this case, the system needs to converge routes
based on their convergence priorities to improve network reliability.
Priority-based convergence is a mechanism that allows the system to converge routes based
on the convergence priority. You can set different convergence priorities for routes: critical,
high, medium, and low (in descending order of priority). The system then converges routes
according to the assigned scheduling weight to guide service forwarding.
Principles
Routing protocols first compute and deliver routes of high convergence priority to the system.
You can reconfigure the scheduling weight values as required. Table 1-3 lists the default
convergence priorities of public routes.
Direct high
Static medium
RIP low
BGP low
NOTE
For private routes, only the convergence priorities of 32-bit OSPF and IS-IS host routes are identified as
medium, and the convergence priorities of the other routes are identified as low.
IS-IS
[Link]/24
OSPF
OSPF
[Link]/32
In a routing table, a default route is the route to network [Link] (with the mask [Link]). You
can run the display ip routing-table command to check whether a default route is configured.
Generally, administrators can manually configure default static routes. Default routes can also
be generated through dynamic routing protocols such as OSPF and IS-IS.
Each routing protocol can import routes discovered by other routing protocols, direct routes,
and static routes.
Each AS supports multiple IGPs. All the networks in an AS are assigned the same AS number
and managed by the same administration group. Two types of AS numbers are available: a 2-
byte AS number (with a number range from 1 to 65535) and a 4-byte AS number (with a
number range from 1 to 4294967295). Available AS numbers can become exhausted thereby
2-byte AS numbers need to be extended to 4-byte AS numbers. A 4-byte AS number is shown
in the X.Y format, where X ranges from 1 to 65535 and Y ranges from 0 to 65535.
Based on the network where they are used, AS numbers are classified into two types. Table
1-4 lists the two types of AS numbers and their ranges.
Context
You can view routing table information to learn about the network topology and locate routing
faults. The following describes the commands used to display and maintain routing table
information.
The display commands can be used in all views. The reset commands are used in the user
view.
Procedure
l Run the display ip routing-table command to check brief information about the active
routes in the IPv4 routing table.
l Run the display ip routing-table verbose command to check detailed information about
the IPv4 routing table.
l Run the display ip routing-table ip-address [ mask | mask-length ] [ longer-match ]
[ verbose ] command to check detailed information about the routes with the specified
destination address in the IPv4 routing table.
l Run the display ip routing-table ip-address1 { mask1 | mask-length1 } ip-address2
{ mask2 | mask-length2 } [ verbose ] command to check detailed information about the
routes within the specified destination address range in the IPv4 routing table.
l Run the display ip routing-table ip-prefix ip-prefix-name [ verbose ] command to
check detailed information about the routes that match the specified IP prefix list in the
IPv4 routing table.
l Run the display ip routing-table protocol protocol [ inactive | verbose ] command to
check detailed information about the routes discovered by the specified routing protocol
in the IPv4 routing table.
l Run the display ip routing-table statistics command to check route statistics in the IPv4
routing table.
l Run the display ipv6 routing-table command to check brief information about the
active routes in the IPv6 routing table.
l Run the display ipv6 routing-table verbose command to check detailed information
about the IPv6 routing table.
l Run the display ipv6 routing-table protocol protocol [ inactive | verbose ] command to
check detailed information about the routes discovered by the specified routing protocol
in the IPv6 routing table.
l Run the display ipv6 routing-table statistics command to check route statistics in the
IPv6 routing table.
l Run the reset ip routing-table statistics protocol { all | protocol } command to clear
route statistics in the IPv4 routing table.
l Run the reset ipv6 routing-table statistics protocol { all | protocol } command to clear
route statistics in the IPv6 routing table.
----End
Context
The number of route prefixes that can be added to a routing table is limited. If the value
exceeds the limit, new prefixes cannot be added to the routing table, which may interrupt
services. To address this problem, configure an alarm threshold for the number of route
prefixes.
If the device imports a large number of routes, system performance may be affected when
services are being processed because the routes consume a lot of system resources. To
improve system reliability, configure a limit on the number of public route prefixes. When the
number of public route prefixes exceeds the limit, an alarm is generated, prompting you to
check whether unnecessary public route prefixes exist.
Procedure
l Configure two thresholds (one alarm threshold and one clear alarm threshold) for the
number of route prefixes on a device.
a. Run system-view
The system view is displayed.
b. Run either of the following commands as required:
n Run ip prefix-limit system threshold-alarm upper-limit upper-limit-value
lower-limit lower-limit-value
Two thresholds (one alarm threshold and one clear alarm threshold) for the
number of IPv4 route prefixes are configured on the device.
By default, the alarm threshold for IPv4 route prefixes is 80%, and the clear
alarm threshold for IPv4 route prefixes is 70%.
n Run ipv6 prefix-limit system threshold-alarm upper-limit upper-limit-value
lower-limit lower-limit-value
Two thresholds (one alarm threshold and one clear alarm threshold) for the
number of IPv6 route prefixes are configured on the device.
By default, the alarm threshold for IPv6 route prefixes is 80%, and the clear
alarm threshold for IPv6 route prefixes is 70%.
NOTE
By default, the maximum number of IPv4 public route prefixes is not limited.
n Run ipv6 prefix-limit number { alert-percent [ route-unchanged ] | simply-
alert }
A limit on the number of IPv6 public route prefixes is configured.
By default, the maximum number of IPv6 public route prefixes is not limited.
alert-percent indicates the percentage of the maximum number of public route
prefixes that are supported. If you specify alert-percent in the command, an alarm is
generated when the number of public route prefixes exceeds the value calculated by
the following formula:
(number x alert-percent)/100
New public route prefixes can still be added to the routing table until the number of
public route prefixes reaches the value of number. Subsequent route prefixes are
then discarded.
If you specify simply-alert in the command, new public route prefixes can still be
added to the routing table and only an alarm is generated after the number of public
route prefixes exceeds the value of number. However, when the total number of
private and public route prefixes reaches the limit on the number of unicast route
prefixes specified in the PAF file, subsequent public route prefixes are discarded.
If you decrease the value of alert-percent after the number of public route prefixes
exceeds the value of number, whether the routing table remains unchanged is
determined by route-unchanged.
n If you specify route-unchanged in the command, the routing table remains
unchanged.
n If you do not specify route-unchanged in the command, the system deletes all
the routes from the routing table and re-adds routes.
NOTE
After the number of public route prefixes exceeds the limit, note the following rules:
l If you run the ip prefix-limit command to increase the value of number or run the
undo ip prefix-limit command to delete the limit, the device relearns IPv4 public
route prefixes.
l If you run the ipv6 prefix-limit command to increase the value of number or run the
undo ipv6 prefix-limit command to delete the limit, the device relearns IPv6 public
route prefixes.
l Direct and static routes can still be added to the IP routing table.
c. Run commit
The configuration is committed.
----End
Applicable Environment
If a link failure occurs after FRR is enabled, the fault detection module reports the failure to
the upper-layer routing system. The FRR module immediately uses a backup link to forward
packets, minimizing the impact of the link failure on services. IPv4 FRR applies to the
services that are very sensitive to delay and packet loss on IPv4 networks.
IPv4 FRR implements route backup among routes of different routing protocols and may
cause routing loops. Therefore, exercise caution when using IPv4 FRR.
Pre-configuration Tasks
Before configuring IPv4 FRR, complete the following task:
l Configuring link layer protocol parameters and assigning IPv4 addresses to interfaces to
ensure that the link layer protocol of the interfaces is Up
l Configuring IPv4 routes destined for the same destination address but discovered by
different routing protocols
Procedure
Step 1 Run system-view
NOTE
When FRR is configured in both the system view and the routing protocol view, FRR configured in the
routing protocol view is used for route backup.
----End
Run the display ip routing-table verbose command to check detailed information about the
backup outbound interfaces and backup next hops of routes in the routing table.
Applicable Environment
After IPv6 FRR is configured, if a link fault is detected at a lower layer (physical layer or link
layer), the fault is reported to the upper-layer routing system. Meanwhile, packets are
forwarded using a backup link to minimize the impact of the link fault on services. IPv6 FRR
is applicable to services that are very sensitive to the delay and packet loss on an IPv6
network.
IPv6 FRR enables routes generated by different routing protocols to back up each other,
which may cause a loop. Therefore, exercise caution when configuring IPv6 FRR.
CE6810LI does not support IPv6 FRR.
Pre-configuration Tasks
Before configuring IPv6 FRR, complete the following tasks:
l Configuring link layer protocol parameters and assigning IPv6 addresses to interfaces to
ensure that the link layer protocol on the interfaces is Up
l Configuring IPv6 routes destined for the same destination address but discovered by
different routing protocols
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ipv6 frr
IPv6 FRR is enabled.
By default, IPv6 FRR is disabled.
NOTE
When IPv6 FRR is configured in both the system view and the routing protocol view, the IPv6 FRR
configuration in the routing protocol view takes effect.
----End
Context
Equal-Cost Multi-Path routing (ECMP) implements load balancing and link backup. ECMP
applies to the network where multiple links to the same destination are available. In the
traditional routing technology, packets are forwarded to the destination through one link only;
the other links are in backup or inactive state; switching between these links requires a certain
period when dynamic routes are used. Different from the traditional routing technology,
ECMP can use multiple links to increase transmission bandwidth and transmit data on a faulty
link without any delay or packet loss. ECMP is classified into per-flow load balancing and
per-packet load balancing. Per-flow load balancing can ensure the packet sequence and ensure
that the same data flow is forwarded using the same route and different data flows are
forwarded using different routes. Per-packet load balancing can improve ECMP bandwidth
efficiency to ensure even load balancing among equal-cost routes, but cannot prevent packet
mis-sequencing. To ensure packet sequencing, confirm that the device or terminal that
receives traffic supports packet reassembly in case of packet mis-sequencing.
Per-packet load balancing takes precedence over per-flow load balancing. When both of them
are configured, per-packet load balancing takes effect.
In per-packet load balancing, devices support the following load balancing modes:
l random mode: A route is randomly selected among multiple equal-cost routes to forward
packets. When the IP address and MAC address of known unicast packets remain
unchanged, configure random per-packet load balancing.
l round-robin mode: Each equal-cost route, in turn, is used to forward packets. When
known unicast packets have the similar length, configure round-robin per-packet load
balancing.
The CE6870EI and CE6880EI support only round-robin per-packet load balancing.
The CE8850EI, and CE8860EI support random per-packet load balancing and round-robin
per-packet load balancing. Other switches except those above do not support per-packet load
balancing.
In per-flow load balancing, devices support different load balancing modes for different
packets, as listed in Table 1-5, Table 1-6 and Table 1-7.
Table 1-5 Load balancing modes for different packets (only on the CE6870EI)
Packets (on the Inbound Default Load Balancing Configurable Load
Interface) Mode Balancing Mode
Table 1-6 Load balancing modes for different packets (only on the CE6880EI)
Packets (on the Inbound Default Load Balancing Configurable Load
Interface) Mode Balancing Mode
Table 1-7 Load balancing modes for different packets(models excluding the CE6870EI and
CE6880EI)
Packets (on the Inbound Default Load Balancing Configurable Load
Interface) Mode Balancing Mode
Procedure
l Configure ECMP load balancing (only on the CE6870EI).
a. Run system-view
The system view is displayed.
b. Run load-balance profile profile-name
An enhanced load balancing profile is created, and the load balancing profile view
is displayed.
IPv6 packet load balancing modes, l4-src-port and l4-dst-port are controlled by the l4-src-
port and l4-dst-port fields of IPv4 packets. That is, when the load balancing modes of IPv4
packets include l4-src-port or l4-dst-port, the l4-src-port or l4-dst-port field also
participates in load balancing of IPv6 packets.
n Run mpls [ 2nd-label | 3rd-label | top-label ] *
The load balancing mode of MPLS packets is set in the load balancing profile.
By default, load balancing of MPLS packets is based on the two outer labels
(top-label and 2nd-label) of each packet.
d. Run ecmp { src-interface | seed seed-data } *
The ECMP load balancing mode is set in the enhanced load balancing profile.
By default, the ECMP load balancing mode is seed.
e. Run ecmp universal-id universal-id
The hash algorithm offset of ECMP load balancing is set in the enhanced load
balancing profile.
By default, the hash algorithm offset of ECMP is 1.
f. Run ecmp hash-mode hashmode-id
The hash algorithm mode used in ECMP load balancing is configured.
By default, the hash algorithm mode used in ECMP load balancing is 2. Set the
hash algorithm mode to 3/4/5 for per-packet load balancing.
g. Run ecmp local-preference enable
Local traffic preferential forwarding is enabled.
By default, local traffic preferential forwarding is disabled.
h. Run commit
The configuration is committed.
l Configure the ECMP load balancing mode (on the CE6880EI).
a. Run system-view
The system view is displayed.
b. Run load-balance ecmp
The ECMP view is displayed.
c. Perform the following operations according to network packet types.
n Run ip { src-ip | dst-ip | vlan | l4-src-port | l4-dst-port | protocol | src-
interface | dscp } *
A load balancing mode is configured for IP packets in ECMP.
A load balancing mode is configured for GRE packets and 6over4 packets in
ECMP.
d. Run hashmode hashmode-id
The hash algorithm mode used in ECMP load balancing is configured.
By default, the hash algorithm mode used in ECMP load balancing is 0. Set the
hash algorithm mode to 1 for per-packet load balancing.
e. Run commit
The configuration is committed.
l Configure ECMP load balancing (on the CE8860EI and the CE8850EI).
Based on per-flow
a. Run system-view
The system view is displayed.
b. Run load-balance ecmp
The ECMP view is displayed.
c. You can configure different load balancing modes for different packets. Perform the
following operations according to network packet types.
n Run ipv4 { src-ip | dst-ip | vlan | l4-src-port | l4-dst-port | protocol | src-
interface } *
The load balancing mode is specified for IPv4 and TRILL packets.
n Run ipv6 { src-ipv6 | dst-ipv6 | vlan | l4-src-port | l4-dst-port | protocol |
src-interface } *
The load balancing mode is specified for IPv6 packets.
n Run mpls { src-ip | dst-ip | src-ipv6 | dst-ipv6 | in-label | out-label }
The load balancing mode is specified for MPLS packets.
NOTE
If src-ipv6 and dst-ipv6 are specified for ECMP load balancing of IPv6 packets, the switch
uses only the low 32 bits of the source and destination IPv6 addresses as the hash fields.
d. Run hashmode hashmode-id
The hash algorithm mode used in ECMP load balancing is configured.
By default, the hash algorithm mode used in ECMP load balancing is 4.
e. Run local-preference enable
Local traffic preferential forwarding is enabled.
By default, local traffic preferential forwarding is disabled.
f. Run commit
The configuration is committed.
Based on per-packet
a. Run system-view
The system view is displayed.
NOTE
If both per-packet load balancing and per-flow load balancing are configured in ECMP, per-
packet load balancing takes effect.
d. Run commit
The configuration is committed.
l Configure ECMP load balancing (models excluding the CE6870EI, CE6880EI,
CE8850EI, and CE8860EI).
a. Run system-view
The system view is displayed.
b. Run load-balance ecmp
The ECMP view is displayed.
c. You can configure different load balancing modes for different packets. Perform the
following operations according to network packet types.
n Run ipv4 { src-ip | dst-ip | vlan | l4-src-port | l4-dst-port | protocol | src-
interface } *
The load balancing mode is specified for IPv4 and TRILL packets.
n Run ipv6 { src-ipv6 | dst-ipv6 | vlan | l4-src-port | l4-dst-port | protocol |
src-interface } *
The load balancing mode is specified for IPv6 packets.
n Run mpls { src-ip | dst-ip | src-ipv6 | dst-ipv6 | in-label | out-label }
The load balancing mode is specified for MPLS packets.
Only the CE7855EI, CE7850EI, CE6860EI, CE6855HI, CE6856HI,
CE6851HI, CE6850HI, and CE6850U-HI support ECMP load balancing for
MPLS packets.
NOTE
If src-ipv6 and dst-ipv6 are specified for ECMP load balancing of IPv6 packets, the switch
uses only the low 32 bits of the source and destination IPv6 addresses as the hash fields.
d. Run hashmode hashmode-id
The hash algorithm mode used in ECMP load balancing is configured.
By default, the hash algorithm mode used in ECMP load balancing is 4.
e. Run local-preference enable
Local traffic preferential forwarding is enabled.
By default, local traffic preferential forwarding is disabled.
f. Run commit
The configuration is committed.
----End
PPP
Version Type Code Session_ID Length PPPoE
Packet
IP
PPP PPP
Packet Padding
NOTE
The CE6880EI can identify PPPoE packets and load balance the PPPoE packets without configuring
ECMP load balancing.
Procedure
l (On a CE6870EI switch) Configure a load balancing mode for PPPoE packets.
a. Run system-view
The system view is displayed.
b. Run load-balance ecmp pppoe { session-id | l4-src-port { ppp-address-
compression | ppp-protocol-compression | both | none } }
A load balancing mode is configured for PPPoE packets.
By default, PPPoE packets are load balanced based on src-mac, dst-mac, and vlan.
You can also specify session-id and l4-src-port to configure a load balancing mode
for PPPoE packets based on the session ID and transport-layer source interface of
the packets.
c. Run commit
By default, PPPoE packets are load balanced based on src-mac and dst-mac.
You can also specify session-id and l4-src-port to configure a load balancing mode
for PPPoE packets based on the session ID and transport-layer source interface of
the packets.
NOTE
----End
Context
Equal-Cost Multi-Path routing (ECMP) implements load balancing and link backup. ECMP
applies to the network where multiple links to the same destination are available. In the
traditional routing technology, packets are forwarded to the destination through one link only;
the other links are in backup or inactive state; switching between these links requires a certain
period when dynamic routes are used. Different from the traditional routing technology,
ECMP can use multiple links to increase transmission bandwidth and transmit data on a faulty
link without any delay or packet loss.
When one link of equal-cost multiple paths fails, all traffic needs to be load balanced again
based on hash calculation. ECMP load balancing consistency, however, ensures that hash
calculation is performed only for traffic on this faulty link, without affecting traffic on other
normal links. This function ensures normal operation of services, in which sessions need to be
maintained, on normal links.
NOTE
The CE6810LI, CE5855EI, CE5850EI, and CE5810EI do not support this function.
Procedure
Step 1 Run system-view
NOTE
When configuring this function, pay attention to the following points:
l To use this function, ensure that different destination addresses are reachable through the same or
completely different equal-cost multiple paths.
l After enabling this function, do not change the configured load balancing hash algorithm, hash
algorithm offset, and load balancing mode. Otherwise, this function may be unable to take effect.
l This function may be unable to take effect when outbound ports of equal-cost links are intermittently
disconnected.
l The ECMP load balancing consistency function only takes effect only for common IPv4 traffic, but
not for traffic transmitted over tunnels.
l The ECMP load balancing consistency function is unable to take effect for IPv6 traffic.
----End
Applicable Environment
IP packets are forwarded through a specified physical interface, but cannot be forwarded
through a VLANIF interface or a VBDIF interface. If packets reach a VLANIF interface or a
VBDIF interface, the device obtains information about the Layer 3 interfaces using IPv4 ARP
and generates relevant routing entries. The routes recorded by the routing entries are called
IPv4 ARP Vlink direct routes.
Before IPv4 ARP Vlink direct routes are advertised, a route-policy can be configured to filter
the advertised routes and only routes that match the route-policy can be advertised. In this
manner, data traffic can be precisely controlled.
NOTE
CE6810LI does not support the advertisement of IPv4 ARP Vlink direct routes.
Pre-configuration Tasks
Before advertising IPv4 ARP Vlink direct routes on the public network, complete the
following task:
Procedure
Step 1 Run system-view
NOTE
l In the scenarios that ARP Vlink direct routes have to be advertised to only certain VLAN or BD
users, you can run the arp direct-route enable command, with the parameter route-policy route-
policy-name specified. This configuration ensures that only filtered ARP Vlink direct routes are
advertised, the scale of the routing table is controlled, and the security of other sites in the VLAN or
BD is guaranteed.
l In other scenarios, ARP Vlink direct routes can be advertised as long as the arp direct-route enable
command is run.
After advertising IPv4 ARP Vlink direct routes is enabled, IPv4 ARP Vlink direct routes can
be advertised only if they are imported to a dynamic routing protocol. Perform the following
steps on the switch based on the type of the dynamic routing protocol:
l If RIP is used, run the import-route direct [ cost cost | route-policy route-policy-name ]
* command to import IPv4 ARP Vlink direct routes to RIP.
l If OSPF is used, run the import-route direct [ cost cost | route-policy route-policy-
name | tag tag | type type ] * command to import IPv4 ARP Vlink direct routes to OSPF.
l If IS-IS is used, run the import-route direct [ cost-type { external | internal } | cost
cost | tag tag | route-policy route-policy-name | [ level-1 | level-2 | level-1-2 ] ] *
command to import IPv4 ARP Vlink direct routes to IS-IS.
l If BGP is used, run the import-route direct [ med med | route-policy route-policy-
name ] * command to import IPv4 ARP Vlink direct routes to BGP.
After advertising IPv4 ARP Vlink direct routes is enabled, IPv4 ARP Vlink direct routes can
be advertised only if they are imported to a dynamic routing protocol.
----End
DSW2
DSW1 VM traffic
diverging device
Campus 1 Campus 2
Pre-configuration Tasks
Before configuring a priority for direct subnet routes on an interface, configure link-layer
protocol parameters and IP addresses for interfaces and ensure that the link layer protocol of
each interface is Up.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run interface interface-type interface-name
The interface view is displayed.
Step 3 Run direct-route ip preference preference-value
A priority is configured for direct subnet routes on the interface.
By default, the priority is 0.
Step 4 Run commit
The configuration is committed.
----End
Networking Requirements
As shown in Figure 1-9, OSPF is configured on SwitchT, SwitchA, and SwitchC, and IS-IS is
configured on SwitchT, SwitchB, and SwitchC. The default priority of OSPF routes is higher
than that of IS-IS routes. Therefore, the backup outbound interface and backup next hop can
be configured on SwitchT to ensure that Link B functions as a backup of Link A. Traffic must
be rapidly switched from link A to link B when a fault occurs on link A.
Figure 1-9 Networking diagram of configuring IPv4 FRR on the public network
10GE1/0/1 10GE1/0/2
VLANIF20 VLANIF40
[Link]/24 [Link]/24
10GE1/0/2 10GE1/0/2
VLANIF20
SwitchA VLANIF40
[Link]/24 Link A [Link]/24
Configuration Roadmap
The configuration roadmap is as follows:
1. Configure basic OSPF functions on SwitchT, SwitchA and SwitchC.
2. Configure basic IS-IS functions on SwitchT, SwitchB and SwitchC.
3. Check routing information on SwitchT.
4. Enable public network IPv4 FRR on SwitchT, and check the backup outbound interface
and backup next hop.
Procedure
Step 1 Create VLANs and add interfaces to the VLANs.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchT
[*HUAWEI] commit
[~SwitchT] vlan batch 10 20 30
[*SwitchT] interface 10ge 1/0/1
[*SwitchT-10GE1/0/1] port link-type trunk
[*SwitchT-10GE1/0/1] port trunk allow-pass vlan 10
[*SwitchT-10GE1/0/1] quit
[*SwitchT] interface 10ge 1/0/2
[*SwitchT-10GE1/0/2] port link-type trunk
[*SwitchT-10GE1/0/2] port trunk allow-pass vlan 20
[*SwitchT-10GE1/0/2] quit
[*SwitchT] interface 10ge 1/0/3
[*SwitchT-10GE1/0/3] port link-type trunk
[*SwitchT-10GE1/0/3] port trunk allow-pass vlan 30
[*SwitchT-10GE1/0/3] quit
[*SwitchT] commit
The configurations of SwitchA, SwitchB, and SwitchC are similar to the configuration of
SwitchT, and are not mentioned here.
Step 2 Assign IPv4 addresses to VLANIF interfaces.
[~SwitchT] interface vlanif 10
[*SwitchT-Vlanif10] ip address [Link] 24
[*SwitchT-Vlanif10] quit
[*SwitchT] interface vlanif 20
[*SwitchT-Vlanif20] ip address [Link] 24
[*SwitchT-Vlanif20] quit
[*SwitchT] interface vlanif 30
[*SwitchT-Vlanif30] ip address [Link] 24
[*SwitchT-Vlanif30] quit
[*SwitchT] commit
The configurations of SwitchA, SwitchB, and SwitchC are similar to the configuration of
SwitchT, and are not mentioned here.
Step 3 Configure OSPF on SwitchT, SwitchA, and SwitchC.
# Configure SwitchT.
[~SwitchT] ospf
[*SwitchT-ospf-1] area 0
[*SwitchT-ospf-1-area-[Link]] network [Link] [Link]
[*SwitchT-ospf-1-area-[Link]] network [Link] [Link]
[*SwitchT-ospf-1-area-[Link]] commit
[~SwitchT-ospf-1-area-[Link]] quit
[~SwitchT-ospf-1] quit
# Configure SwitchA.
[~SwitchA] ospf
[*SwitchA-ospf-1] area 0
[*SwitchA-ospf-1-area-[Link]] network [Link] [Link]
[*SwitchA-ospf-1-area-[Link]] network [Link] [Link]
[*SwitchA-ospf-1-area-[Link]] commit
[~SwitchA-ospf-1-area-[Link]] quit
[~SwitchA-ospf-1] quit
# Configure SwitchC.
[~SwitchC] ospf
[*SwitchC-ospf-1] area 0
[*SwitchC-ospf-1-area-[Link]] network [Link] [Link]
[*SwitchC-ospf-1-area-[Link]] network [Link] [Link]
[*SwitchC-ospf-1-area-[Link]] commit
[~SwitchC-ospf-1-area-[Link]] quit
[~SwitchC-ospf-1] quit
# Configure SwitchB.
[~SwitchB] isis
[*SwitchB-isis-1] network-entity 10.0000.0000.0002.00
[*SwitchB-isis-1] quit
[*SwitchB] interface vlanif 30
[*SwitchB-Vlanif30] isis enable 1
[*SwitchB-Vlanif30] quit
[*SwitchB] interface vlanif 50
[*SwitchB-Vlanif50] isis enable 1
[*SwitchB-Vlanif50] commit
[~SwitchB-Vlanif50] quit
# Configure SwitchC.
[~SwitchC] isis
[*SwitchC-isis-1] network-entity 10.0000.0000.0003.00
[*SwitchC-isis-1] quit
[*SwitchC] interface vlanif 50
[*SwitchC-Vlanif50] isis enable 1
[*SwitchC-Vlanif50] quit
[*SwitchC] interface vlanif 60
[*SwitchC-Vlanif60] isis enable 1
[*SwitchC-Vlanif60] commit
[~SwitchC-Vlanif60] quit
Destination: [Link]/24
Protocol: OSPF Process ID: 1
Preference: 10 Cost: 3
NextHop: [Link] Neighbour: [Link]
State: Active Adv Age: 00h10m25s
Tag: 0 Priority: medium
Label: NULL QoSInfo: 0x0
IndirectID: 0xEF0000A2 Instance:
RelayNextHop: [Link] Interface: Vlanif20
TunnelID: 0x0 Flags: D
Destination: [Link]/24
Protocol: ISIS-L1 Process ID: 1
Preference: 15 Cost: 30
NextHop: [Link] Neighbour: [Link]
State: Inactive Adv Age: 00h09m05s
Tag: 0 Priority: medium
Label: NULL QoSInfo: 0x0
IndirectID: 0xEF000117
RelayNextHop: [Link] Interface: Vlanif30
TunnelID: 0x0 Flags:
The routing table contains two routes to [Link]/24. The default priority of OSPF routes is
higher than that of IS-IS routes. Therefore, the route with next hop [Link] is the optimal
route.
Step 6 Enable IPv4 FRR on the public network.
# Enable IPv4 FRR on the public network on SwitchT.
<SwitchT> system-view
[~SwitchT] ip frr
[*SwitchT] commit
# Check information about the backup outbound interface and backup next hop on SwitchT.
[SwitchT] display ip routing-table [Link] verbose
Route Flags: R - relay, D - download to fib, T - to vpn-instance, B - black hole
route
------------------------------------------------------------------------------
Routing Table : _public_
Summary Count : 2
Destination: [Link]/24
Protocol: OSPF Process ID: 1
Preference: 10 Cost: 3
NextHop: [Link] Neighbour: [Link]
State: Active Adv Age: 00h11m39s
Tag: 0 Priority: medium
Label: NULL QoSInfo: 0x0
IndirectID: 0xEF0000A2 Instance:
RelayNextHop: [Link] Interface: Vlanif20
TunnelID: 0x0 Flags: D
BkNextHop: [Link] BkInterface: Vlanif30
BkLabel: NULL SecTunnelID: 0x0
BkPETunnelID: 0x0 BkPESecTunnelID: 0x0
BkIndirectID: 0xEF000117
Destination: [Link]/24
Protocol: ISIS-L1 Process ID: 1
Preference: 15 Cost: 30
NextHop: [Link] Neighbour: [Link]
State: Inactive Adv Age: 00h10m19s
Tag: 0 Priority: medium
Label: NULL QoSInfo: 0x0
IndirectID: 0xEF000117
RelayNextHop: [Link] Interface: Vlanif30
TunnelID: 0x0 Flags:
The routing table contains the backup outbound interface and backup next hop of the route to
[Link]/24. The IS-IS route becomes the backup route.
----End
Configuration Files
l Configuration file of SwitchT
#
sysname SwitchT
#
vlan batch 10 20 30
#
ip frr
#
isis 1
network-entity 10.0000.0000.0001.00
#
interface Vlanif10
ip address [Link] [Link]
isis enable 1
#
interface Vlanif20
ip address [Link] [Link]
#
interface Vlanif30
ip address [Link] [Link]
isis enable 1
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
interface 10GE1/0/3
port link-type trunk
port trunk allow-pass vlan 30
#
ospf 1
area [Link]
network [Link] [Link]
network [Link] [Link]
#
return
l Configuration file of SwitchA
#
sysname SwitchA
#
vlan batch 20 40
#
interface Vlanif20
ip address [Link] [Link]
#
interface Vlanif40
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 20
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 40
#
ospf 1
area [Link]
network [Link] [Link]
network [Link] [Link]
#
return
l Configuration file of SwitchB
#
sysname SwitchB
#
vlan batch 30 50
#
isis 1
network-entity 10.0000.0000.0002.00
#
interface Vlanif30
ip address [Link] [Link]
isis enable 1
#
interface Vlanif50
ip address [Link] [Link]
isis enable 1
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 30
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 50
#
return
l Configuration file of SwitchC
#
sysname SwitchC
#
vlan batch 40 50 60
#
isis 1
network-entity 10.0000.0000.0003.00
#
interface Vlanif40
ip address [Link] [Link]
#
interface Vlanif50
ip address [Link] [Link]
isis enable 1
#
interface Vlanif60
ip address [Link] [Link]
isis enable 1
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 60
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 40
#
interface 10GE1/0/3
port link-type trunk
port trunk allow-pass vlan 50
#
ospf 1
area [Link]
network [Link] [Link]
network [Link] [Link]
#
return
This chapter provides an overview of the functions, purposes and use cases of static routes,
and explains how they can be configured.
2.1 Overview of Static Routes
2.2 Understanding Static Routes
2.3 Application Scenarios for Static Routes
2.4 Summary of Static Route Configuration Tasks
2.5 Licensing Requirements and Limitations for Static Routes
2.6 Default Settings for Static Routes
2.7 Configuring IPv4 Static Routes
2.8 Configuring IPv6 Static Routes
2.9 Configuration Examples for Static Routes
Definition
A static route is a route that, in most cases, manually configured by the network administrator
to allow network traffic to reach a target destination.
Purpose
Static routes are used in different ways on different types of networks.
l On simple networks, static routes can be used alone without the need for dynamic routes
to ensure network connectivity.
l On complex networks, static routes can be used alongside dynamic routes to improve
network performance and ensure that bandwidth is available for important applications.
l Static routes associated with VPN instances are used to manage VPN routes.
same destination implements load balancing among these routes. Conversely, specifying
different preference values for static routes with the same destination implements route
backup among the routes. For details, see 2.3.1 Load Balancing and Route Backup.
l If the BFD session bound to a static route detects a link fault, BFD reports the fault to the
system. The system then sets the route to inactive, and this route is no longer available in
the IP routing table.
l If the BFD session bound to a static route detects that the faulty link has been re-
established, BFD reports a message to the system. The system then sets the route to
active, and this route becomes available in the IP routing table again.
For more details about BFD, see "BFD Configuration - Principles" in Configuration Guide -
Reliability.
An effective method is required to detect faults in links related to static routes. BFD for static
routes is applicable only to the scenario where both communicating devices support BFD. If
either of the two communicating devices supports NQA, NQA for static routes can be used to
detect link faults.
NQA for static routes refers to the association between a static route and an NQA test
instance. The system can use the NQA test instance to check the link status and determines an
optimal route in time according to the NQA test result to prevent communication interruption
and ensure service quality. NQA for static routes functions as follows:
l If the NQA test instance detects a link fault, the system sets the static route to inactive.
The route becomes unavailable and is deleted from the IP routing table.
l If the NQA test instance finds that the link recovers, the system sets the static route to
active. The route becomes available and is added to the IP routing table.
For details about NQA, see "NQA Configuration - Principles" in the Configuration Guide -
Network Management and Monitoring.
NOTE
When a static route is associated with an NQA test instance, only ICMP test instances are used to test
whether there are reachable routes between the source and destination.
Each static route can be associated with only one NQA test instance.
Application Scenario
On the network shown in Figure 2-1, each access switch provides access services for 10
users, and a total of 100 users are connected to the network. Because dynamic routing
protocols are unavailable for communication between RouterB and users, static routes
destined for users are configured on RouterB. For network stability, RouterC, functioning as
the backup for RouterB, is configured with static routes to the same destination. RouterA,
RouterB, and RouterC run a dynamic routing protocol to learn routes from each other.
RouterB and RouterC import static routes using a dynamic routing protocol and have different
costs for these static routes. After the configuration is complete, RouterA can use the dynamic
routing protocol to learn routes destined for users from RouterB and RouterC. RouterA uses
the link related to the static route with a lower cost as the active link and the other link as the
standby link.
NQA for static routes is configured on RouterB. NQA tests are performed to check the active
link of RouterB → SwitchA → SwitchC (SwitchD). If the active link fails, the corresponding
static route is deleted from the routing table, and traffic diverts to the standby link of RouterC
→ SwitchB → SwitchC (SwitchD). If both links work properly, traffic travels along the active
link.
Figure 2-1 Networking diagram for applying NQA for static routes
IP Network
RouterA
RouterB RouterC
SwitchA SwitchB
......
SwitchC SwitchD
...... ......
A device enabled with this feature always stores static routes in its IP routing table, regardless
of whether the static routes are reachable. If a path is unreachable, the corresponding static
route may become a blackhole route.
Application Scenarios
In Figure 2-2, BR1, BR2, and BR3 belong to ISP1, ISP2, and ISP3 respectively. There are
two reachable links (Link A and Link B) between BR1 and BR2. ISP1, however, requires that
service traffic be forwarded to ISP2 over Link A without traveling through ISP3.
Figure 2-2 Networking diagram for applying permanent advertisement of static routes
ISP2
BR2
[Link]/24
LinkA
BR1
ISP1 BR3
LinkB
ISP3
The External Border Gateway Protocol (EBGP) peer relationship is established between BR1
and BR2. For service monitoring, a static route destined for the BGP peer (BR2) at
[Link]/24 is configured on BR1, and permanent advertisement of static routes is enabled.
The interface that connects BR1 to BR2 is specified as the outbound interface of the static
route. Then, the network monitoring system periodically pings [Link] to determine the
status of Link A.
If Link A works properly, ping packets are forwarded over Link A. If Link A becomes faulty,
although service traffic can reach BR2 over Link B, the static route is still preferred because
permanent advertisement of static routes is enabled. Therefore, ping packets are still
forwarded over Link A, but packet forwarding fails. This scenario is also applicable to BGP
packets. That is, a link fault causes the BGP peer relationship to be interrupted. The network
monitoring system detects service faults as returned in the ping result and prompts
maintenance engineers to rectify the faults before services are affected.
RouterB
Preference=60
Preference=60
RouterA RouterC
RouterD
In Figure 2-3, there are two static routes with the same preference from RouterA to RouterC.
The two routes are stored in the routing table and used to forward data.
Route Backup
If different preferences are specified for multiple routes to the same destination, route backup
is implemented.
RouterB
Preference=60
Preference=100
RouterA RouterC
RouterD
In Figure 2-4, there are two static routes with different preferences from RouterA to RouterC.
Static route B with the next hop RouterB has a higher preference, and its link therefore
functions as the active link. Static route D with the next hop RouterD has a lower preference,
and its link therefore functions as the standby link.
l In normal situations, static route B is activated, and the active link forwards data. Static
route D is not shown in the routing table.
l If a fault occurs on the active link, static route B is deleted from the routing table. Static
route D, functioning as the backup route, is activated, and the standby link forwards data.
l When the active link restores, static route B is activated again, and the active link
forwards data. Static route D is deleted from the routing table and functions as the
backup route. Static route D is also called a floating static route.
2 4
RouterB
1 5
RouterA RouterC
In Figure 2-5, if no static default route is configured, you need to configure static routes
destined for networks 3, 4, and 5 on RouterA, configure static routes destined for networks 1
and 5 on RouterB, and configure static routes destined for networks 1, 2, and 3 on RouterC. In
this way, RouterA, RouterB, and RouterC can communicate with each other.
The next hop of the packets sent by RouterA to networks 3, 4, and 5 is RouterB. Therefore, a
default route configured on RouterA can replace the three static routes destined for networks
3, 4, and 5 in the preceding example. Similarly, just one default route from RouterC to
RouterB can replace the three static routes destined for networks 1, 2, and 3 in the preceding
example.
Configuring static routes Static routes are manually l 2.7 Configuring IPv4
configured by the Static Routes
administrator to ensure l 2.8 Configuring IPv6
normal operation of simple Static Routes
networks and bandwidth for
important network
applications.
dynamic routing
protocols cannot be
configured and
therefore IGP
convergence cannot
be implemented.
NQA for static routes
only requires one end of
the interconnected
devices to support NQA
and can be used even if
there are Layer 2
devices. In this case, the
preceding issues are
resolved. When a link is
faulty, an NQA test
instance can immediately
detect the link change
and delete the static route
associated with the NQA
test instance from the IP
routing table, affecting
traffic forwarding.
Licensing Requirements
Static routing is a basic feature of the CE8800, CE7800, CE6800, and CE5800 series switches
and is not under license control.
Version Requirements
CE8868EI V200R005C10
CE8861EI V200R005C10
CE8860EI V100R006C00
CE8850-32CQ-EI V200R002C50
CE8850-64CQ-EI V200R005C00
CE7850EI V100R003C00
CE7855EI V200R001C00
CE6810EI V100R003C00
CE6850EI V100R001C00
CE6850-48S6Q-HI V100R005C00
CE6850-48T6Q-HI/CE6850U-HI/ V100R005C10
CE6851HI
CE6855HI V200R001C00
CE6856HI V200R002C50
CE6857EI V200R005C10
CE6860EI V200R002C50
CE6865EI V200R005C00
CE6870-24S6CQ-EI/ V200R001C00
CE6870-48S6CQ-EI
CE6870-48T6CQ-EI V200R002C50
CE6875EI V200R003C00
CE6880EI V200R002C50
CE5880EI V200R005C10
CE5810EI V100R002C00
CE5850EI V100R001C00
CE5850HI V100R003C00
CE5855EI V100R005C10
Feature Limitations
During an upgrade from V200R001C00SPC100 to a later version, if a static route's next hop
is iterated to a remote VPN cross route and the next hop is a VXLAN tunnel, the static route
is inactive in the source version but will become active in the target version. This
modification will cause inconsistent traffic transmission paths before and after the upgrade.
To prevent this issue, check whether a static route's next hop is iterated to a remote VPN cross
route and the next hop is a VXLAN tunnel. If so, delete this static route.
The CE6810LI does not support IPv4 or IPv6 Layer 3 forwarding. After the IPv4 or IPv6
function is enabled on an interface of the CE6810LI, the configured IPv4 or IPv6 address can
only be used to manage the switch.
In versions earlier than V200R002C50, the CE5855EI does not support IPv6. However,
interfaces on the CE5855EI provide the IPv6 capability when the switch functions as a leaf
switch in a super virtual fabric (SVF) system and the SVF forwarding mode is set to
centralized or hybrid. In V200R002C50 and later versions, the CE5855EI supports IPv6.
Pre-configuration Tasks
Before configuring IPv4 static routes, complete the following task:
l Configure link layer parameters and IP addresses for interfaces to ensure network-layer
communication between neighbor nodes.
Configuration Procedure
You can perform the following configuration tasks (excluding the task of Verifying the IPv4
Static Route Configuration) in any sequence as required.
Context
When creating a static route, you can specify both the outbound interface and next hop.
Alternatively, you can specify only the outbound interface or next hop based on the outbound
interface type.
l Specify the outbound interface for a P2P interface.
l Specify the next hop for a non broadcast multiple access (NBMA) interface.
l Specify the next hop for a broadcast interface (for example, an Ethernet interface).
If you specify the same preference for static routes to the same destination, load balancing
among these routes is implemented. If you specify different preferences for static routes, route
backup among the routes is implemented.
If the destination IP address and mask are set to all 0s, an IPv4 static default route is
configured. By default, no IPv4 static default route is configured.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Configure IPv4 static routes.
l Run ip route-static ip-address { mask | mask-length } { nexthop-address | vpn-instance
vpn-instance-name nexthop-address } [ recursive-lookup host-route [ arp-vlink-
only ] ] [ preference preference | tag tag ] * [ bfd enable | track { bfd-session cfg-name
| nqa admin-name test-name } | inherit-cost | permanent ] [ description text ]
An IPv4 static route is configured on the public network.
l Run ip route-static ip-address { mask | mask-length } interface-type interface-number
[ nexthop-address ] [ preference preference | tag tag ] * [ bfd enable | track { bfd-
session cfg-name | nqa admin-name test-name } | permanent ] [ description text ]
An IPv4 static route is configured on the public network.
l Run ip route-static vpn-instance vpn-source-name destination-address { mask | mask-
length } interface-type interface-number [ nexthop-address ] [ preference preference |
tag tag ] * [ bfd enable | track { bfd-session cfg-name | nqa admin-name test-name } |
permanent ] [ description text ]
An IPv4 static route is configured in a VPN instance.
----End
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ip route-static default-preference preference
The default preference of static routes is set.
By default, the preference of static routes is 60.
NOTE
After the default preference is reconfigured, the new default preference is valid only for new IPv4 static
routes.
----End
it to the FIB table after static route selection based on iteration depth is configured. The other
static routes then become inactive. A smaller iteration depth indicates a more stable route.
Procedure
Step 1 Run system-view
----End
Context
Configuring a device to iterate static routes to ARP Vlink routes prevents traffic loss caused
by a black-hole route in a scenario where a Layer 2 VPN accesses a Layer 3 VPN.
Procedure
Step 1 Run system-view
NOTE
To configure a device to iterate static routes to ARP Vlink routes, both the ip route-static with
recursive-lookup host-route [ arp-vlink-only ] specified and ip route recursive-lookup arp vlink-
direct-route protocol static commands must be run.
----End
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ip route-static selection-rule compare-inherit-cost
The device is enabled to compare the costs of inherited routes during static route selection.
Step 3 Run commit
The configuration is committed.
----End
Pre-configuration Tasks
Before configuring dynamic BFD for IPv4 static routes, complete the following task:
l Configure link layer parameters and IP addresses for interfaces to ensure that the link
layer protocol on the interfaces is Up.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run bfd
BFD is enabled globally.
Step 3 Run quit
Return to the system view.
Step 4 (Optional) Run ip route-static default-bfd [ min-rx-interval min-rx-interval ] [ min-tx-
interval min-tx-interval ] [ detect-multiplier multiplier ]
Global BFD parameters are configured for static routes.
By default, the values of min-rx-interval, min-tx-interval, and detect-multiplier are 1000
ms, 1000 ms, and 3 respectively.
NOTE
NOTE
When the type and number of the outbound interface of a static route are specified, and the VPN
instance name is specified, a static route searches the routing table of the VPN instance for an outbound
interface according to nexthop-address. Run the ip route-static vpn-instance vpn-source-name
destination-address { mask | mask-length } interface-type interface-number [ nexthop-address ]
[ preference preference | tag tag ] * bfd enable [ description text ] command to bind a dynamic BFD
session to static routes.
----End
Pre-configuration Tasks
Before configuring static BFD for IPv4 static routes, complete the following tasks:
l Configure link layer parameters and IP addresses for interfaces to ensure network-layer
communication between neighbor nodes.
l Configure BFD sessions.
For details, see "BFD Configuration" in the CloudEngine 8800, 7800, 6800, and 5800
Series Switches - Configuration Guide - Reliability.
Procedure
Step 1 Run system-view
The system view is displayed.
Before binding a static route to a BFD session, ensure that the BFD session and the static route reside on
the same link.
----End
Pre-configuration Tasks
Before configuring FRR for IPv4 static routes, complete the following task:
l Configure link layer parameters and IP addresses for interfaces to ensure that the link
layer protocol on the interfaces is Up.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ip route-static frr [ vpn-instance vpn-instance-name ]
FRR is enabled for public network IPv4 static routes.
NOTE
FRR is implemented only on the static routes that are manually configured. That is, FRR cannot be
implemented on iterated next hops.
To implement route backup by configuring FRR for static routes, specify different preferences for these
static routes.
To enable FRR for an Ethernet interface's static route and other static routes, configure the outbound
interface and next hop.
----End
Pre-configuration Tasks
Before associating IPv4 static routes with NQA, complete the following task:
l Configure link layer parameters for interfaces to ensure that the link layer protocol on the
interfaces is Up.
Procedure
Step 1 Configure an ICMP NQA test instance.
1. Run system-view
The system view is displayed.
2. Run nqa test-instance admin-name test-name
An NQA test instance is created, and the view of the test instance is displayed.
3. Run test-type icmp
The test type is set to ICMP.
NOTE
When a static route is associated with an NQA test instance, only ICMP test instances are used to
test whether there are reachable routes between the source and destination.
4. Run destination-address ipv4 ip-address
The destination address is set.
In an NQA test instance, you can specify an NQA server by running the destination-
address command to configure a destination address for the NQA test instance.
5. (Optional) Run frequency interval
NOTE
The destination address of an NQA test instance cannot be the destination address of an associated
static route.
If the static route associated with an NQA test instance is associated with another NQA test
instance, the static route is disassociated from the first NQA test instance.
2. Run commit
The configuration is committed.
----End
Procedure
l Run the display static-route routing-table command to check information about static
routes.
l Run the display ip routing-table command to check brief information about the IPv4
routing table.
l Run the display ip routing-table verbose command to check detailed information about
the IPv4 routing table.
----End
Pre-configuration Tasks
Before configuring IPv6 static routes, complete the following task:
l Configure link layer parameters and IPv6 addresses for interfaces to ensure network-
layer communication between neighbor nodes.
Configuration Procedure
You can perform the following configuration tasks (excluding the task of Verifying the IPv6
Static Route Configuration) in any sequence as required.
Context
When creating IPv6 static routes, you can specify both the outbound interface and next hop.
Alternatively, you can specify only the outbound interface or next hop based on the outbound
interface type.
l Specify the outbound interface for a P2P interface.
l Specify the next hop for an NBMA interface.
l Specify the outbound interface for a broadcast interface. If the next hop address is also
specified, it does not need to be a link-local address.
If you specify the same preference for IPv6 static routes to the same destination, load
balancing among these routes is implemented. If you specify different preferences for the
IPv6 static routes, route backup among the routes is implemented.
If the destination IP address and mask are set to all 0s, an IPv6 static default route is
configured. By default, no IPv6 static default route is configured.
NOTE
Before configuring IPv6 routes with prefixes longer than 64 bits on a switch, run the assign forward
ipv6 longer-mask resource command to specify the number of IPv6 addresses and routes with prefixes
longer than 64 bits supported by the switch.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Configure IPv6 static routes.
l Run ipv6 route-static dest-ipv6-address prefix-length { interface-type interface-number
[ nexthop-ipv6-address ] | vpn-instance vpn-instance-name nexthop-ipv6-address |
nexthop-ipv6-address } [ preference preference | tag tag ] * [ bfd enable | track { bfd-
session cfg-name | nqa admin-name test-name } ] [ description text ]
An IPv6 static route is configured on the public network.
l Run ipv6 route-static dest-ipv6-address prefix-length [ vpn-instance vpn-instance-
name ] nexthop-ipv6-address [ preference preference | tag tag ] * inherit-cost
[ description text ]
An IPv6 static route is configured on the public network.
l Run ipv6 route-static vpn-instance vpn-source-name dest-ipv6-address prefix-length
{ interface-type interface-number [ nexthop-ipv6-address ] | vpn-instance vpn-
destination-name nexthop-ipv6-address | nexthop-ipv6-address [ public ] } [ preference
preference | tag tag ] * [ bfd enable | track { bfd-session cfg-name | nqa admin-name
test-name } ] [ description text ]
An IPv6 static route is configured in a VPN instance.
l Run ipv6 route-static vpn-instance vpn-source-name dest-ipv6-address prefix-length
{ vpn-instance vpn-destination-name dest-ipv6-address | dest-ipv6-address [ public ] }
[ preference preference | tag tag ] * inherit-cost [ description text ]
An IPv6 static route is configured in a VPN instance.
Step 3 Run commit
The configuration is committed.
----End
Context
The default preference of IPv6 static routes affects route selection. When an IPv6 static route
is configured, the default preference is used if no preference is specified for the static route.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ipv6 route-static default-preference preference
The default preference of IPv6 static routes is set.
By default, the preference of static routes is 60.
After the default preference is reconfigured, the new default preference is valid only for new
IPv6 static routes.
Step 3 Run commit
The configuration is committed.
----End
Applicable Environment
Preferred IPv6 static routes are delivered to the forwarding table for packet forwarding. An
IPv6 static route, however, is incapable of detecting whether the link to the next hop is
working properly. Binding the IPv6 static route to a BFD session can address this problem,
because a BFD session is capable of detecting link changes and informing the routing
management module of the changes. If a BFD session detects that a link is interrupted, the
routing management module immediately withdraws the IPv6 static route that is bound to the
BFD session from the forwarding table and recalculates another active route. In this manner,
fast route convergence is implemented.
Pre-configuration Tasks
Before configuring dynamic BFD for IPv6 static routes, complete the following task:
l Configuring link layer protocol parameters and IPv6 addresses for interfaces to ensure
that the link layer protocol on the interfaces is Up
Procedure
Step 1 Run system-view
The system view is displayed.
NOTE
NOTE
When the type and number of the outbound interface of a static route are specified, and the VPN
instance name is specified, a static route searches the routing table of the VPN instance for an outbound
interface according to nexthop-address. Run the ipv6 route-static vpn-instance vpn-source-name dest-
ipv6-address prefix-length { interface-type interface-number [ nexthop-ipv6-address ] | vpn-instance
vpn-destination-name nexthop-ipv6-address | nexthop-ipv6-address [ public ] } [ preference preference |
tag tag ]* bfd enable [ description text ] command to bind a dynamic BFD session to static routes.
----End
Usage Scenario
To use BFD sessions to provide link detection for IPv6 static routes, you can bind IPv6 static
routes to BFD sessions. One IPv6 static route can be bound to one BFD session.
Optimal IPv6 static routes are delivered to the forwarding table for packet forwarding.
However, IPv6 static routes cannot detect the status of the link to the next hop. You can bind
IPv6 static routes to BFD sessions. A BFD session can quickly detect changes over a link and
inform the routing management system of the changes. The routing management system
immediately deletes the static route that is bound to the BFD session from the forwarding
table and recalculates another active route. In this manner, fast route convergence is
implemented.
Pre-configuration Tasks
Before configuring static BFD for IPv6 static routes, complete the following tasks:
l Configure link layer protocol parameters and IP addresses for interfaces and ensure that
the link layer protocol on the interfaces is Up.
l Configure a BFD Session. For details, see "BFD Configuration" in the CloudEngine
8800, 7800, 6800, and 5800 Series Switches Configuration Guide-Reliability
Procedure
Step 1 Run system-view
----End
Information about a BFD session can be viewed only after parameters of the BFD session are
set and the BFD session is established.
l Run the display bfd session { all | discriminator discr-value } [ verbose ] command to
check information about BFD sessions.
l Run the display current-configuration | include bfd command to check configurations
of BFD for IPv6 static routes.
Pre-configuration Tasks
Before configuring FRR for IPv6 static routes, complete the following task:
l Configure link layer parameters and IPv6 addresses for interfaces to ensure that the link
layer protocol on the interfaces is Up.
Procedure
Step 1 Run system-view
NOTE
To implement route backup by configuring FRR for ipv6 static routes, specify different preferences for
these static routes.
----End
Pre-configuration Tasks
Before associating IPv6 static routes with NQA, complete the following task:
l Configure link layer parameters and IPv6 addresses for interfaces to ensure that the link
layer protocol on the interfaces is Up.
Procedure
Step 1 Configure an ICMP NQA test instance.
1. Run system-view
An NQA test instance is created, and the view of the test instance is displayed.
3. Run test-type icmp
In an NQA test instance, you can specify an NQA server by running the destination-
address command to configure a destination address for the NQA test instance.
5. (Optional) Run frequency interval
The number of probes to be sent each time is set for the NQA test instance.
By sending probes multiple times in an NQA test instance, you can accurately estimate
network quality based on the collected statistics.
7. (Optional) Run interval seconds interval
The default probe failure percentage is 100%. That is, the test is considered failed only
when all probes fail. You can set a probe failure percentage based on network quality.
NOTE
The start command can configure an NQA test instance to be started immediately, at a
specified time, or after a specified delay. You can perform one of the following
operations as required:
– Run start now [ end { at [ yyyy/mm/dd ] hh:mm:ss | delay { seconds second |
hh:mm:ss } | lifetime { seconds second | hh:mm:ss } } ]
The NQA test instance is started immediately.
– Run start at [ yyyy/mm/dd ] hh:mm:ss [ end { at [ yyyy/mm/dd ] hh:mm:ss | delay
{ seconds second | hh:mm:ss } | lifetime { seconds second | hh:mm:ss } } ]
The NQA test instance is started at a specified time.
– Run start delay { seconds second | hh:mm:ss } [ end { at [ yyyy/mm/dd ] hh:mm:ss
| delay { seconds second | hh:mm:ss } | lifetime { seconds second | hh:mm:ss } } ]
The NQA test instance is started after a specified delay.
– Run start daily hh:mm:ss to hh:mm:ss [ begin { yyyy-mm-dd | yyyy/mm/dd } ]
[ end { yyyy-mm-dd | yyyy/mm/dd } ]
The NQA test instance is started every day.
11. Run commit
NOTE
The destination address of an NQA test instance cannot be the destination address of an associated
IPv6 static route.
If the IPv6 static route associated with an NQA test instance is associated with another NQA test
instance, the IPv6 static route is disassociated from the first NQA test instance.
2. Run commit
----End
Configuration Roadmap
The configuration roadmap is as follows:
1. Create VLANs, add interfaces to the VLANs, and assign IPv4 addresses to VLANIF
interfaces so that directly-connected interfaces can communicate with each other.
2. Configure the IPv4 default gateway on each server, and configure IPv4 static routes and
default routes on each Switch so that servers on different network segments can
communicate with each other.
Procedure
Step 1 Create VLANs and add interfaces to the VLANs.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchA
[*HUAWEI] commit
[~SwitchA] vlan 10
[*SwitchA-vlan10] quit
[*SwitchA] vlan 30
[*SwitchA-vlan30] quit
[*SwitchA] interface 10ge 1/0/1
[*SwitchA-10GE1/0/1] port link-type trunk
[*SwitchA-10GE1/0/1] port trunk allow-pass vlan 10
[*SwitchA-10GE1/0/1] quit
[*SwitchA] interface 10ge 1/0/2
[*SwitchA-10GE1/0/2] port default vlan 30
[*SwitchA-10GE1/0/2] quit
[*SwitchA] commit
The configurations of SwitchB and SwitchC are similar to that of SwitchA, and are not
mentioned here.
Step 2 Assign IPv4 addresses to the VLANIF interfaces.
[~SwitchA] interface vlanif 10
[*SwitchA-Vlanif10] ip address [Link] 30
[*SwitchA-Vlanif10] quit
[*SwitchA] interface vlanif 30
The configurations of SwitchB and SwitchC are similar to that of SwitchA, and are not
mentioned here.
Set the Server1 default gateway to [Link], the Server2 default gateway to [Link], and the
Server3 default gateway to [Link].
----End
Configuration Files
l Configuration file of SwitchA
#
sysname SwitchA
#
vlan batch 10 30
#
interface Vlanif10
ip address [Link] [Link]
#
interface Vlanif30
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port default vlan 30
#
ip route-static [Link] [Link] [Link]
#
return
Networking Requirements
On an IPv6 network, hosts on different network segments are connected through several
Switches. Every two hosts on different network segments can communicate with each other
without using dynamic routing protocols.
Configuration Roadmap
The configuration roadmap is as follows:
1. Create VLANs, add interfaces to the VLANs, and assign IPv6 addresses to VLANIF
interfaces so that devices can communicate with each other.
2. Configure the IPv6 default gateway on each host, and configure IPv6 static routes and
default static routes on each Switch so that hosts on different network segments can
communicate with each other without using dynamic routing protocols.
Procedure
Step 1 Add interfaces to VLANs.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchA
[*SwitchA] vlan batch 10 20
[*SwitchA] interface 10ge 1/0/2
[*SwitchA-10GE1/0/2] port link-type trunk
[*SwitchA-10GE1/0/2] port trunk allow-pass vlan 10
[*SwitchA-10GE1/0/2] commit
[~SwitchA-10GE1/0/2] quit
[~SwitchA] interface 10ge 1/0/1
[~SwitchA-10GE1/0/1] port link-type trunk
[*SwitchA-10GE1/0/1] port trunk allow-pass vlan 20
[*SwitchA-10GE1/0/1] commit
[~SwitchA-10GE1/0/1] quit
The configurations of SwitchB and SwitchC are similar to that of SwitchA. The detailed
configurations are not mentioned here.
Step 2 Assign IP addresses to the VLANIF interfaces.
[~SwitchA] interface vlanif 10
[*SwitchA-Vlanif10] ipv6 enable
[*SwitchA-Vlanif10] ipv6 address fc00:0:0:2001::1/64
[*SwitchA-Vlanif10] commit
[~SwitchA-Vlanif10] quit
[~SwitchA] interface vlanif 20
[*SwitchA-Vlanif20] ipv6 enable
[*SwitchA-Vlanif20] ipv6 address fc00:0:0:2004::1/64
[*SwitchA-Vlanif20] commit
[~SwitchA-Vlanif20] quit
The configurations of SwitchB and SwitchC are similar to that of SwitchA. The detailed
configurations are not mentioned here.
Step 3 Configure the host addresses and gateways.
Configure an IPv6 address for each host according to the networking diagram. Configure the
default gateway of PC1 to FC00:0:0:2001::1, that of PC2 to FC00:0:0:2002::1, and that of
Host3 to FC00:0:0:2003::1.
Step 4 Configure static IPv6 routes.
Destinations : 6 Routes :
6
Destination : :: PrefixLength :
0
NextHop : FC00:0:0:2004::2 Preference :
60
Cost : 0 Protocol :
Static
RelayNextHop : :: TunnelID :
0x0
Interface : Vlanif20 Flags :
D
----End
Configuration Files
l Configuration file of SwitchA
#
sysname SwitchA
#
vlan batch 10 20
#
interface Vlanif10
ipv6 enable
ipv6 address FC00:0:0:2001::1/64
#
interface Vlanif20
ipv6 enable
ipv6 address FC00:0:0:2004::1/64
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 20
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 10
#
ipv6 route-static :: 0 vlanif20 FC00:0:0:2004::2
#
return
Figure 2-8 Networking diagram for configuring dynamic BFD for IPv4 static routes
10GE1/0/2 10GE1/0/1 10GE1/0/1 10GE1/0/2
VLANIF20 VLANIF10 VLANIF10 VLANIF30
[Link]/24 [Link]/24 [Link]/24 [Link]/24
SwitchA SwitchB
Configuration Roadmap
The configuration roadmap is as follows:
1. Configure dynamic BFD for IPv4 static routes to implement millisecond-level link fault
detection between SwitchA and SwitchB. This configuration can improve convergence
speed of static routes.
Procedure
Step 1 Add interfaces to VLANs.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchA
[*HUAWEI] commit
[~SwitchA] vlan 10
[*SwitchA-vlan10] quit
[*SwitchA] interface 10ge 1/0/1
[*SwitchA-10GE1/0/1] port link-type trunk
[*SwitchA-10GE1/0/1] port trunk allow-pass vlan 10
[*SwitchA-10GE1/0/1] quit
[*SwitchA] vlan 20
[*SwitchA-vlan20] quit
[*SwitchA] interface 10ge 1/0/2
[*SwitchA-10GE1/0/2] port link-type trunk
[*SwitchA-10GE1/0/2] port trunk allow-pass vlan 20
[*SwitchA-10GE1/0/2] quit
[*SwitchA] commit
The configuration of SwitchB is similar to that of SwitchA, and is not mentioned here.
Step 2 Assign IP addresses to the VLANIF interfaces.
[~SwitchA] interface vlanif 10
[*SwitchA-Vlanif10] ip address [Link] 24
[*SwitchA-Vlanif10] quit
[*SwitchA] interface vlanif 20
[*SwitchA-Vlanif20] ip address [Link] 24
[*SwitchA-Vlanif20] quit
[*SwitchA] commit
The configuration of SwitchB is similar to that of SwitchA, and is not mentioned here.
Step 3 Configure static routes.
# Configure a static route to [Link]/24 on SwitchA.
[~SwitchA] ip route-static [Link] 24 [Link]
[*SwitchA] commit
----End
Configuration Files
l Configuration file of SwitchA
#
sysname SwitchA
#
vlan batch 10 20
#
bfd
#
interface Vlanif10
ip address [Link] [Link]
#
interface Vlanif20
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
ip route-static bfd [Link] local-address [Link]
ip route-static [Link] [Link] [Link] bfd enable
#
return
Figure 2-9 Networking diagram for configuring dynamic BFD for IPv6 static routes
10GE1/0/2 10GE1/0/1 10GE1/0/2
FC00:0:0:2007::1/64 FC00:0:0:2200::1/64 FC00:0:0:2008::1/64
Configuration Roadmap
To meet the preceding requirement, configure dynamic BFD for IPv6 static routes. The
configuration roadmap is as follows:
1. Configure dynamic BFD for IPv6 static routes so that link faults between SwitchA and
SwitchB can be detected within milliseconds to speed up route convergence.
Procedure
Step 1 Configure IPv6 addresses for interfaces. The configuration details are not provided here.
----End
Configuration Files
l Configuration file of SwitchA
#
sysname SwitchA
#
bfd
#
interface 10GE1/0/1
undo portswitch
ipv6 enable
ipv6 address FC00:0:0:2200::1/64
#
interface 10GE1/0/2
undo portswitch
ipv6 enable
ipv6 address FC00:0:0:2007::1/64
#
ipv6 route-static bfd FC00:0:0:2200::2 local-address FC00:0:0:2200::1
ipv6 route-static FC00:0:0:2008:: 64 FC00:0:0:2200::2 bfd enable
#
return
#
return
2.9.5 Example for Configuring Static BFD for IPv4 Static Routes
Networking Requirements
As shown in Figure 2-10, you can configure the default static route on SwitchA so that
SwitchA can connect to the external network. Millisecond-level link fault detection must be
implemented between SwitchA and SwitchB to improve convergence speed.
Figure 2-10 Networking diagram for configuring static BFD for static routes
10GE1/0/1 10GE1/0/1 10GE1/0/2
VLANIF10 VLANIF10 VLANIF20
[Link]/24 [Link]/24 [Link]/24
SwitchA SwitchB
Configuration Roadmap
The configuration roadmap is as follows:
1. Configure a BFD session between SwitchA and SwitchB.
2. Configure a default route from SwitchA to another device and bind a BFD session to the
default route. This configuration can implement millisecond-level link fault detection
and improve convergence speed of static routes.
Procedure
Step 1 Create VLANs, add interfaces to the VLANs, and assign IP addresses to the VLANIF
interfaces. (Details are not mentioned here.)
Step 2 Configure device names. (Details are not mentioned here.)
[*SwitchB-bfd-session-bb] commit
[~SwitchB-bfd-session-bb] quit
Step 4 Configure a default static route and bind a BFD session to the default static route.
# Configure a default static route to the external network on SwitchA and bind the default
static route to the BFD session named aa.
[~SwitchA] ip route-static [Link] 0 [Link] track bfd-session aa
[*SwitchA] commit
# Check the IP routing table on SwitchA, and you can find that the static route exists in the
routing table.
[~SwitchA] display ip routing-table
Proto: Protocol Pre: Preference
Route Flags: R -
relay, D - download to fib, T - to vpn-instance, B - black hole route
------------------------------------------------------------------------------
Routing Table: _Public_
Destinations : 3 Routes : 3
Destination/Mask Proto Pre Cost Flags NextHop Interface
[Link]/0 Static 60 0 RD [Link] Vlanif10
[Link]/24 Direct 0 0 D [Link] Vlanif10
[Link]/32 Direct 0 0 D [Link] Vlanif10
# Check the routing table on SwitchA, and you can find that the default static route [Link]/0
does not exist. This is because when the default static route is bound to a BFD session, BFD
rapidly notifies that the bound static route is unavailable after BFD detects a link fault.
[~SwitchA] display ip routing-table
Proto: Protocol Pre: Preference
Route Flags: R -
relay, D - download to fib, T - to vpn-instance, B - black hole route
------------------------------------------------------------------------------
----End
Configuration Files
l Configuration file of SwitchA
#
sysname SwitchA
#
vlan batch 10
#
bfd
#
interface Vlanif10
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
ip route-static [Link] [Link] [Link] track bfd-session aa
#
bfd aa bind peer-ip [Link]
discriminator local 10
discriminator remote 20
#
return
l Configuration file of SwitchB
#
sysname SwitchB
#
vlan batch 10 20
#
bfd
#
interface Vlanif10
ip address [Link] [Link]
#
interface Vlanif20
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
bfd bb bind peer-ip [Link]
discriminator local 20
discriminator remote 10
#
return
2.9.6 Example for Configuring Static BFD for IPv6 Static Routes
Networking Requirements
As shown in Figure 2-11, SwitchA and SwitchB connect to each other and have static routes
configured between them. Customers require that a link fault between SwitchA and SwitchB
be detected within milliseconds and SwitchA and SwitchB dynamically update their routing
tables.
Figure 2-11 Networking diagram for configuring static BFD for IPv6 static routes
10GE1/0/1 10GE1/0/2
FC00:0:0:2001::1/64 FC00:0:0:2002::1/64
10GE1/0/1
SwitchA FC00:0:0:2001::2/64 SwitchB
Configuration Roadmap
To meet the preceding requirement, configure static BFD for IPv6 static routes. The
configuration roadmap is as follows:
Procedure
Step 1 Configure IPv6 addresses for interfaces. The configuration details are not provided here.
Step 3 Configure a default static route and bind the route to the BFD session.
# On SwitchA, configure a default static route to SwitchB and bind the route to the BFD
session named aa.
[~SwitchA] ipv6 route-static 0::0 0 fc00:0:0:2001::2 track bfd-session aa
[*SwitchA] commit
[~SwitchA] quit
D: Dynamic
session
IP: IP
session
IF: Single-hop
session
PEER: Multi-hop
session
LDP: LDP
session
TE: Traffic
Engineering
VXLAN: VXLAN
session
VSI: VSI PW
session
(w): State in
WTR
(*): State is
invalid
--------------------------------------------------------------------------------
10 20
FC00:0:0:2004::2
Up S/IP-PEER
-
--------------------------------------------------------------------------------
# Check the IPv6 routing table on SwitchA. You can view that the default static route exists in
the routing table.
<SwitchA> display ipv6 routing-table
Route
Flags: R - relay, D - download to fib, B - black hole
route
----------------------------------------------------------------------------
Routing Table : _public_
Destinations : 5 Routes : 5
Destination : :: PrefixLength : 0
NextHop : FC00:0:0:2001::2 Preference : 60
Cost : 0 Protocol : Static
RelayNextHop : :: TunnelID : 0x0
Interface : 10GE1/0/1 Flags : RD
# Check the routing table on SwitchA. You can view that the default static route 0::0/0 does
not exist. This is because the default static route is bound to the BFD session. After BFD
detects a link fault, BFD rapidly notifies SwitchA that the static route is unavailable.
<SwitchA> display ipv6 routing-table
Route
Flags: R - relay, D - download to fib, B - black hole
route
----------------------------------------------------------------------------
Routing Table : _public_
Destinations : 1 Routes : 1
----End
Configuration Files
l Configuration file of SwitchA
#
sysname SwitchA
#
bfd
#
interface 10GE1/0/1
undo portswitch
ipv6 enable
ipv6 address FC00:0:0:2001::1/64
#
bfd aa bind peer-ipv6 FC00:0:0:2001::2
discriminator local 10
discriminator remote 20
#
ipv6 route-static :: 0 FC00:0:0:2001::2 track bfd-session aa
#
return
2.9.7 Example for Configuring FRR for IPv4 Static Routes on the
Public Network
Networking Requirements
As shown in Figure 2-12, two static routes with next hops being SwitchA and SwitchB
respectively are configured on SwitchT. Link B functions as the backup of link A. If link A is
faulty, traffic can be switched to link B in a timely manner.
Figure 2-12 Networking diagram for configuring FRR for IPv4 static routes on the public
network
10GE1/0/1 10GE1/0/2
VLANIF20 VLANIF40
[Link]/24 [Link]/24
10GE1/0/2 10GE1/0/2
VLANIF20
SwitchA VLANIF40
[Link]/24 Link A [Link]/24
Configuration Roadmap
The configuration roadmap is as follows:
1. Configure two static routes with next hops being SwitchA and SwitchB respectively on
SwitchT so that the devices can communicate with each other.
2. Set a higher preference for link A on SwitchT to ensure that link A functions as the
primary link and link B functions as the backup of link A.
3. Enable FRR for static routes on SwitchT so that traffic can be quickly switched to link B
if link A is faulty.
Procedure
Step 1 Create VLANs, add interfaces to the VLANs, and assign IP addresses to the VLANIF
interfaces. (Details are not mentioned here.)
Step 2 Configure device names. (Details are not mentioned here.)
# Check the IP routing table on SwitchT. You can view that the two static routes are in load
balancing mode.
[~SwitchT] display ip routing-table
Proto: Protocol Pre: Preference
Route Flags: R -
relay, D - download to fib, T - to vpn-instance, B - black hole route
------------------------------------------------------------------------------
Routing Table : _public_
Destinations : 11 Routes : 12
# Check the IP routing table on SwitchT, and you can view that preferences of the static
routes are changed.
[~SwitchT] display ip routing-table
Proto: Protocol Pre: Preference
Route Flags: R -
relay, D - download to fib, T - to vpn-instance, B - black hole route
------------------------------------------------------------------------------
Routing Table : _public_
Destinations : 10 Routes : 10
# Check information about the backup outbound interface and backup next hop on SwitchT.
[~SwitchT] display ip routing-table [Link] verbose
Route Flags: R -
relay, D - download to fib, T - to vpn-instance, B - black hole route
------------------------------------------------------------------------------
Routing Table : _public_
Summary Count : 1
Destination: [Link]/24
Protocol: Static Process ID: 0
Preference: 40 Cost: 0
NextHop: [Link] Neighbour: [Link]
State: Active Adv Age: 00h00m03s
Tag: 0 Priority: medium
Label: NULL QoSInfo: 0x0
IndirectID: 0x31000032
RelayNextHop: [Link] Interface: Vlanif20
TunnelID: 0x0 Flags: D
BkNextHop: [Link] BkInterface: Vlanif30
BkLabel: NULL SecTunnelID: 0x0
BkPETunnelID: 0x0 BkPESecTunnelID: 0x0
BkIndirectID: 0x32000033
Destination: [Link]/24
Protocol: Static Process ID: 0
Preference: 60 Cost: 0
NextHop: [Link] Neighbour: [Link]
State: Active Adv Age: 00h00m07s
Tag: 0 Priority: medium
Label: NULL QoSInfo: 0x0
IndirectID: 0x32000033
RelayNextHop: [Link] Interface: Vlanif30
TunnelID: 0x0 Flags: D
----End
Configuration Files
l Configuration file of SwitchA
#
sysname SwitchA
#
vlan batch 20 40
#
interface Vlanif20
ip address [Link] [Link]
#
interface Vlanif40
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
sysname SwitchT
#
vlan batch 10 20 30
#
interface Vlanif10
ip address [Link] [Link]
#
interface Vlanif20
ip address [Link] [Link]
#
interface Vlanif30
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
interface 10GE1/0/3
port link-type trunk
port trunk allow-pass vlan 30
#
ip route-static frr
ip route-static [Link] [Link] vlanif 20 [Link] preference 40
ip route-static [Link] [Link] vlanif 30 [Link]
#
return
Figure 2-13 Networking diagram for configuring NQA for static IPv4 routes
IP Network
10GE1/0/1 10GE1/0/2
VLANIF30 VLANIF40
[Link]/24 [Link]/24
SwitchA
10GE1/0/1 GE1/0/2
VLANIF30 VLANIF40
[Link]/24 [Link]/24
/3
SwitchB E 1/0 0 SwitchC
G 6
10GE1/0/2 10 10 ANIF .1/24 10GE1/0/1
GE VL 16.6
VLANIF10 V VLANIF20
17 LAN 1/0/3 2.
[Link]/24 2.1 IF 17 1 VLA [Link]/24
6.5 50 72 NI
VLANIF10 .1/ .16 F5 VLANIF20
24 60 .5. 0
[Link]/24 IF /24 2/2 [Link]/24
A N .2 4
VL 16.6
VLANIF70 2. VLANIF80
17
[Link]/24 SwitchD SwitchE [Link]/24
...... ......
Configuration Roadmap
The configuration roadmap is as follows:
1. Configure IP addresses and OSPF on each switch, and configure the cost of each link so
that SwitchB functions as the master switch and SwitchC functions as the backup switch.
2. Create an ICMP NQA test instance to monitor the link between SwitchB and SwitchD,
and configure static routes destined for clients on SwitchB SwitchC. Associate the static
route with the NQA test instance to implement fast link fault detection and service
switchover.
NOTE
When a static route is associated with an NQA test instance, only ICMP test instances are used to test
whether there are reachable routes between the source and destination.
Procedure
Step 1 Create VLANs and add interfaces to the VLANs.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchA
[*HUAWEI] commit
[~SwitchA] vlan 30
[*SwitchA-vlan30] quit
[*SwitchA] vlan 40
[*SwitchA-vlan40] quit
[*SwitchA] interface 10ge 1/0/1
The configurations of SwitchB and SwitchC are similar to that of SwitchA, and are not
mentioned here.
Step 2 Assign IPv4 addresses to the VLANIF interfaces.
[~SwitchA] interface vlanif 30
[*SwitchA-Vlanif30] ip address [Link] 24
[*SwitchA-Vlanif30] quit
[*SwitchA] interface vlanif 40
[*SwitchA-Vlanif40] ip address [Link] 24
[*SwitchA-Vlanif40] quit
[*SwitchA] commit
The configurations of SwitchB and SwitchC are similar to that of SwitchA, and are not
mentioned here.
Step 3 Create an NQA test instance on SwitchB to test the link between SwitchB and SwitchD.
[~SwitchB] nqa test-instance user test
[*SwitchB-nqa-user-test] test-type icmp
[*SwitchB-nqa-user-test] destination-address ipv4 [Link]
[*SwitchB-nqa-user-test] frequency 10
[*SwitchB-nqa-user-test] probe-count 2
[*SwitchB-nqa-user-test] interval seconds 5
[*SwitchB-nqa-user-test] timeout 4
[*SwitchB-nqa-user-test] start now
[*SwitchB-nqa-user-test] commit
[~SwitchB-nqa-user-test] quit
Step 5 Configure a dynamic routing protocol on SwitchA, SwitchB, and SwitchC. OSPF is used in
this example.
# Configure OSPF on SwitchA.
[~SwitchA] ospf 1
[*SwitchA-ospf-1] area [Link]
[*SwitchA-ospf-1-area-[Link]] network [Link] [Link]
[*SwitchA-ospf-1-area-[Link]] network [Link] [Link]
[*SwitchA-ospf-1-area-[Link]] quit
[*SwitchA-ospf-1] quit
[*SwitchA] commit
[*SwitchB-ospf-1] quit
[*SwitchB] commit
# Configure OSPF on SwitchC to import a static route, and set the cost of the static route to
20.
[~SwitchC] ospf 1
[*SwitchC-ospf-1] import-route static cost 20
[*SwitchC-ospf-1] commit
[~SwitchC-ospf-1] quit
The command output shows "Lost packet ratio 0 %", indicating that the link is running
properly.
# Check the routing table on SwitchB.
[~SwitchB] display ip routing-table
The command output shows that the static route exists in the routing table.
# Check the routing table on SwitchA.
[~SwitchA] display ip routing-table
Proto: Protocol Pre: Preference
Route Flags: R -
relay, D - download to fib, T - to vpn-instance, B - black hole route
------------------------------------------------------------------------------
Routing Table : _public_
Destinations : 11 Routes : 11
The command output shows that a route to [Link]/24 exists in the routing table. The
route's next hop address is [Link] and cost is 10. Traffic is preferentially transmitted along
the link SwitchB->SwitchD.
# Shut down 10GE1/0/2 on SwitchB to simulate a link fault.
[~SwitchB] interface 10ge 1/0/2
[~SwitchB-10GE1/0/2] shutdown
[*SwitchB-10GE1/0/2] commit
[~SwitchB] quit
The command output shows "Completion:failed" and "Lost packet ratio: 100 %," indicating
that the link is faulty.
The command output shows that the static route has been deleted.
On SwitchB, the NQA test instance is associated with a static route. When NQA detects a link
fault, it immediately notifies SwitchB that the static route bound to the link is unreachable.
SwitchA cannot learn the route to [Link]/24 from SwitchB, but it can learn the route to
[Link]/24 from SwitchC. Therefore, you can view that the route to [Link]/24 has a
next hop [Link] and cost 20. Service traffic is then switched to the link SwitchC-
>SwitchD.
----End
Configuration Files
l Configuration file of SwitchA
#
sysname SwitchA
#
vlan batch 30 40
#
interface Vlanif30
ip address [Link] [Link]
#
interface Vlanif40
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type
trunk
port trunk allow-pass vlan 30
#
interface 10GE1/0/2
port link-type
trunk
port trunk allow-pass vlan 40
#
ospf 1
area [Link]
network [Link] [Link]
network [Link] [Link]
#
return
ospf 1
import-route static cost 10
area [Link]
network [Link] [Link]
#
ip route-static [Link] [Link] Vlanif 10 [Link] track nqa user
test
#
nqa test-instance user test
test-type icmp
destination-address ipv4 [Link]
interval seconds 5
timeout 4
probe-count 2
frequency 10
start now
#
return
3 RIP Configuration
Routing Information Protocol (RIP) is widely used on small-sized networks to discover routes
and generate routing information.
Definition
Routing Information Protocol (RIP) is a simple Interior Gateway Protocol (IGP). RIP is a
Distance-Vector protocol that uses hop count to measure the distance between the local device
and the destination. RIP exchanges routing information using UDP packets on UDP port 520.
Two versions are available for RIP: RIP-1 and RIP-2. RIP-2 is an extension to RIP-1.
Purpose
RIP is easy to implement, and is easier to configure and manage than OSPF and IS-IS.
Therefore, RIP is applicable to small-sized networks, such as campus networks and simple
LANs. It is not suitable for complex environments or large-sized networks.
Request
Reponse
l When receiving the Request packet, RouterB encapsulates its own RIP routing table into
the Response packet and broadcasts the Response packet to the network segment
connected to the interface receiving the Request packet.
l RouterA generates a routing table based on the Response packet sent from RouterB.
Triggered Update
When routing information changes, a device immediately sends an Update packet to its
neighbors, without waiting for Update timer expiration. This function avoids loops.
The network to
[Link] fails The network to
[Link] fails
[Link]
E0 [Link]
RouterB
S0 S0 S1
RouterA
RouterC [Link]
E0 S0
The network to
[Link] fails
[Link]
As shown in Figure 3-2, RouterC first learns that network [Link] is unreachable.
l If RouterC does not support triggered update when detecting a link fault, it has to wait
until the Update timer expires. If RouterC receives an Update packet from RouterB
before its Update timer expires, RouterC learns a wrong route to network [Link]. In
this case, the next hops of the routes from RouterB or RouterC to network [Link] are
RouterC and RouterB respectively. A routing loop is generated.
l If RouterC supports triggered update when detecting a link fault, RouterC immediately
sends an Update packet to RouterB so that a routing loop is prevented.
0 7 15 31
Header Command Version Must be zero
Address Family Identifier Must be zero
IP Address
Route
Entries Must be zero
Must be zero
Metric
Split Horizon
Split horizon ensures that a route learned by RIP on an interface is not sent to neighbors from
the interface. This feature reduces bandwidth consumption and avoids routing loops.
Split horizon provides two models for different networks: interface-based split horizon and
neighbor-based split horizon. Broadcast, P2P, and P2MP networks use interface-based split
horizon, as shown in Figure 3-5.
[Link]/8
RouterA RouterB
RouterA sends routing information destined for [Link]/8 to RouterB. If split horizon is not
configured, RouterB sends the route learned from RouterA back to RouterA. RouterA can
learn two routes destined for [Link]/8: a direct route with hop count 0 and a route with the
next hop RouterB and hop count 2.
However, only the direct route in the RIP routing table on RouterA is active. When the route
from RouterA to network [Link] is unreachable, RouterB does not receive the unreachable
message immediately and still notifies RouterA that network [Link]/8 is reachable.
Therefore, RouterA receives incorrect routing information that network [Link]/8 is
reachable through RouterB, and RouterB considers that network [Link]/8 is reachable
through RouterA. A routing loop is thus generated. With the split horizon feature, RouterB
does not send the route destined for [Link]/8 back to RouterA. Routing loops are avoided.
[Link]/8 [Link]/8
RouterA RouterB
RouterC
As shown in Figure 3-6, after split horizon is configured on an NBMA network, RouterA
sends route [Link]/16 learned from RouterB to RouterC, but does not send it to RouterB.
Poison Reverse
Poison reverse ensures that RIP sets the cost of the route learned from an interface of a
neighbor to 16 (unreachable) and then sends the route from the same interface back to the
neighbor. This feature deletes useless routes from the routing table and avoids routing loops.
[Link]/8
RouterA RouterB
As shown in Figure 3-7, after receiving a route from RouterA, RouterB sends an unreachable
message (with the route Cost being 16) to RouterA. RouterA then does not learn the route
from RouterB. A routing loop is avoided.
Disabled The RIP age timer expires. By default, the Second-level (> 180
timeout interval is 180 seconds. seconds)
Principle
BFD is classified into static BFD and dynamic BFD:
l Static BFD
In static BFD, BFD session parameters (including local and remote discriminators) are
set manually using commands, and BFD session setup requests are manually delivered.
l Dynamic BFD
In dynamic BFD, BFD session setup is triggered by routing protocols. The local
discriminator is dynamically allocated and remote discriminator is obtained from the
peer. A routing protocol notifies BFD of the neighbor parameters (including destination
and source addresses), and then BFD sets up a session based on the received parameters.
When a link fault occurs, the protocol associated with BFD quickly detects that the BFD
session is Down, and switches traffic to the backup link. This feature minimizes data
loss.
A device can implement static BFD even if the peer device does not support BFD. Dynamic
BFD is more flexible than static BFD.
Application
After RIP is associated with BFD, BFD reports link faults to RIP within several milliseconds.
The RIP router then deletes the faulty links from the local routing table and starts the backup
link. This feature increases route convergence speed.
0
=1
co
st
st
co
=1
RouterC
NOTE
NSR is enabled on the device by default and does not need to be configured.
Configuring basic RIP Basic RIP functions include 3.6 Configuring Basic RIP
functions enabling RIP, specifying the Functions
network segment where RIP
runs, and specifying the RIP
version. The basic RIP
functions must be
configured before you use
the RIP features.
Controlling RIP routing To use RIP more flexibly on 3.9 Controlling RIP
the existing network and Routing
meet various user
requirements, you can
configure different
parameters to control RIP
routing.
Configuring BFD for RIP In general, RIP maintains 3.13 Configuring BFD for
neighbor relationships by RIP
periodically sending and
receiving Update packets. If
a device does not receive the
Update packet from a
neighbor in the aging time,
it considers the neighbor
Down. The default value of
the aging timer is 180
seconds, so RIP can detect a
link fault only after the fault
lasts for 180 seconds. If
high-speed data services are
deployed on the network, a
large amount of data will be
lost during this period.
BFD provides the
millisecond-level fault
detection mechanism. It can
detect faults on the protected
links or nodes immediately,
and report the faults to RIP.
BFD improves the RIP
process's response to
network topology changes,
which implements fast
convergence of RIP routes.
Configuring the Network By binding RIP to the MIB, 3.14 Configuring the
Management Function for you can view RIP Network Management
RIP information and configure Function for RIP
RIP through the NMS.
Licensing Requirements
RIP is a basic feature of the CE8800, CE7800, CE6800, and CE5800 series switches and is
not under license control.
Version Requirements
CE8868EI V200R005C10
CE8861EI V200R005C10
CE8860EI V100R006C00
CE8850-32CQ-EI V200R002C50
CE8850-64CQ-EI V200R005C00
CE7850EI V100R003C00
CE7855EI V200R001C00
CE6810EI V100R003C00
CE6850EI V100R001C00
CE6850-48S6Q-HI V100R005C00
CE6850-48T6Q-HI/CE6850U-HI/ V100R005C10
CE6851HI
CE6855HI V200R001C00
CE6856HI V200R002C50
CE6857EI V200R005C10
CE6860EI V200R002C50
CE6865EI V200R005C00
CE6870-24S6CQ-EI/ V200R001C00
CE6870-48S6CQ-EI
CE6870-48T6CQ-EI V200R002C50
CE6875EI V200R003C00
CE6880EI V200R002C50
CE5880EI V200R005C10
CE5810EI V100R002C00
CE5850EI V100R001C00
CE5850HI V100R003C00
CE5855EI V100R005C10
Feature Limitations
The CE6810LI does not support IPv4 Layer 3 forwarding. After the IPv4 function is enabled
on an interface of the CE6810LI, the configured IPv4 address can only be used to manage the
switch.
Pre-configuration Tasks
Before configuring basic RIP functions, complete the following task:
Configuration Procedure
Enabling RIP is the prerequisite for setting RIP neighbors and RIP version on an NBMA
network.
Context
Enabling RIP is the prerequisite for all RIP-related configurations. If you run the RIP
commands in the interface view before enabling RIP, the configurations take effect only after
RIP is enabled.
Procedure
Step 1 Run system-view
Procedure
l Enable RIP to send and receive routes on the specified network segment.
a. Run the system-view command to enter the system view.
b. Run the rip [ process-id ] command to enter the RIP view.
c. (Optional) Run the undo verify-source command to disable source check for RIP
packets.
If the IP addresses on two ends of a P2P link belong to different network segments,
the devices on the two ends cannot set up neighbor relationship unless source check
is disabled.
d. Run the network network-address command to enable RIP on the specified
network segment.
NOTE
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch
batch interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in
the system view to switch these interfaces to Layer 3 mode in batches.
d. Run the rip enable process-id command to enable RIP on all network segments
connected to the interface.
e. Run commit
----End
Context
Generally, RIP uses a broadcast or multicast address to send packets. If the link running RIP
does not support broadcast or multicast packets, specify the RIP neighbors on the two ends of
the link so that packets can be sent between the two ends in unicast mode.
Procedure
Step 1 Run system-view
----End
Context
RIP versions include RIP-1 and RIP-2. The two versions have different functions. The RIP
version must be set on the device running RIP. You only need to set the global RIP version
unless you want to specify a different RIP version on an interface.
Procedure
l Configure the global RIP version.
a. Run the system-view command to enter the system view.
b. Run the rip [ process-id ] command to enter the RIP view.
c. Run the version { 1 | 2 } command to set the global RIP version.
NOTE
By default, an interface sends only RIP-1 packets and receives both RIP-1 and RIP-2
packets.
d. Run commit
The configuration is committed.
l Configure the RIP version for an interface.
a. Run the system-view command to enter the system view.
b. Run the interface interface-type interface-number command to enter the interface
view.
c. On an Ethernet interface, run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
The mode switching function takes effect when the interface only has attribute
configurations (for example, shutdown and description configurations).
Alternatively, if configuration information supported by both Layer 2 and Layer 3
interfaces exists (for example, mode lacp and lacp system-id configurations), no
configuration that is not supported after the working mode of the interface is
switched can exist. If unsupported configurations exist on the interface, delete the
configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch
batch interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in
the system view to switch these interfaces to Layer 3 mode in batches.
d. Run the rip version { 1 | 2 [ broadcast | multicast ] } command specify the RIP
version on the specified interface.
NOTE
l By default, an interface sends only RIP-1 packets and receives both RIP-1 and RIP-2
packets.
l If no RIP version number is configured in the interface view, the global RIP version is
used. The RIP version set on an interface takes precedence over the global RIP version.
e. Run commit
The configuration is committed.
----End
Procedure
l Run the display rip [ process-id | vpn-instance vpn-instance-name ] command to view
the running status and configurations of RIP.
l Run the display rip process-id route command to view all RIP routes learned from other
devices.
l Run the display default-parameter rip command to view default RIP configuration.
l Run the display rip process-id statistics interface { all | interface-type interface-
number [ verbose | neighbor neighbor-ip-address ] } command to view statistics on the
RIP interface.
----End
Pre-configuration Tasks
Before configuring RIP-2, complete the following task:
Configuration Procedure
You can perform the following configuration tasks (excluding the task of Verifying the RIP-2
Configuration) in any sequence as required.
Context
A large RIP network must maintain large RIP routing tables, which occupy a lot of memory
on devices. Transmitting and processing the routing information requires many network
resources. Route summarization can reduce the routing table size and minimize impact of
route flapping on network.
NOTE
By default, if split horizon or poison reverse has been configured, classful route summarization is
invalid. When summarized routes are sent to the natural network border, split horizon or poison reverse
must be disabled.
Procedure
l Configure automatic route summarization of RIP-2.
a. Run the system-view command to enter the system view.
The summary command is used in the RIP view to enable classful network-based route
summarization of RIP-2.
f. Run commit
The mode switching function takes effect when the interface only has attribute
configurations (for example, shutdown and description configurations).
Alternatively, if configuration information supported by both Layer 2 and Layer 3
interfaces exists (for example, mode lacp and lacp system-id configurations), no
configuration that is not supported after the working mode of the interface is
switched can exist. If unsupported configurations exist on the interface, delete the
configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch
batch interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in
the system view to switch these interfaces to Layer 3 mode in batches.
d. Run the rip summary-address ip-address mask [ avoid-feedback ] command to
configure RIP-2 to advertise the local summarization IP address.
NOTE
----End
Context
On the RIP network requiring high security, configure RIP-2 packet authentication.
RIP-2 can perform simple authentication or MD5 authentication on protocol packets. Simple
authentication uses the authentication key in plain text, so its security is lower than that of
MD5.
If plain is selected during the configuration of the RIP-2 packet authentication mode, the
password is saved in the configuration file in plain text. This brings security risks. It is
recommended that you select cipher to save the password in cipher text.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run interface interface-type interface-number
The interface view is displayed.
Step 3 On an Ethernet interface, run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
Simple and MD5 authentication has potential risks. HMAC-SHA256 cipher text
authentication is recommended.
If the MD5 authentication is used, you must set the packet format for MD5
authentication. If the usual keyword is specified, the MD5 cipher text authentication
packets use the universal format (private standard). If the nonstandard keyword is
specified, the MD5 cipher text authentication packets use the non-standard format (IETF
standard).
----End
Procedure
l Run the display rip [ process-id | vpn-instance vpn-instance-name ] command to view
the running status and configurations of RIP.
l Run the display rip process-id database [ verbose ] command to view all the active
routes in the RIP database.
l Run the display rip process-id route command to view all RIP routes learned from other
devices.
l Run the display rip process-id interface [ interface-type interface-number ] [ verbose ]
command to view information about the RIP interface.
----End
Pre-configuration Tasks
Before configuring split horizon and poison reverse, complete the following task:
Configuration Procedure
You can perform the following configuration tasks (excluding the task of Verifying the RIP
Routing Loop Prevention Configuration) in any sequence as required.
Context
Split horizon can prevent routing loops.
Procedure
Step 1 Run system-view
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
NOTE
----End
Context
Poison reverse can prevent routing loops.
Procedure
Step 1 Run system-view
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
NOTE
If both split horizon and poison reverse are configured, only poison reverse takes effect.
----End
Procedure
l Run the display rip process-id interface [ interface-type interface-number ] [ verbose ]
command to view information about the RIP interface.
----End
Pre-configuration Tasks
Before configuring RIP route attributes, complete the following task:
Configuration Procedure
You can perform the following configuration tasks (excluding the task of Verifying the RIP
Routing Control Configuration) in any sequence as required.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run rip [ process-id ]
The RIP view is displayed.
----End
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run interface interface-type interface-number
The interface view is displayed.
Step 3 On an Ethernet interface, run undo portswitch
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
l The rip metricin command is used to add an additional metric to an incoming route. After this route
is added to the routing table, its metric in the routing table changes. Running this command affects
route selection on the local device and other devices on the network.
l The rip metricout command is used to add an additional metric to an outgoing route. When this
route is advertised, an additional metric is added to this route, but the metric of the route in the
routing table does not change. Running this command does not affect route selection on the local
device but affects route selection on other devices in the network.
----End
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run rip [ process-id ]
The RIP view is displayed.
Step 3 Run maximum load-balancing number
The maximum number of equal-cost routes is set. The default value is 32(64 on the
CE6870EI).
----End
Procedure
l Run the display rip [ process-id | vpn-instance vpn-instance-name ] command to view
the running status and configurations of RIP.
l Run the display rip process-id database [ verbose ] command to view all the active
routes in the RIP database.
l Run the display rip process-id route command to view all RIP routes learned from other
devices.
----End
Pre-configuration Tasks
Before controlling RIP route advertisement, complete the following task:
Configuration Procedure
You can perform the following configuration tasks (excluding the task of Verifying the RIP
Route Advertisement Control Configuration) in any sequence as required.
Context
In a routing table, a default route is the route to the network segment [Link] (with the mask
being [Link]). If the destination address of a packet does not match any entry in the routing
table, the packet is sent along the default route.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run rip [ process-id ]
The RIP view is displayed.
Step 3 Run default-route originate [ cost cost | tag tag | { match default | route-policy route-
policy-name [ advertise-tag ] } [ avoid-learning ] ]*
----End
Procedure
l Configuration in a RIP process view
a. Run system-view
The system view is displayed.
b. Run rip [ process-id ]
The RIP view is displayed.
c. Run one of the following commands depending on the site requirements:
To disable all interfaces from sending Update packets, run silent-interface all
To disable an interface from sending Update packets, run silent-interface interface-
type interface-number
You can set an interface to silent so that it only receives Update packets to update
its routing table. The silent-interface command takes precedence over the undo rip
output command in the interface view.
By default, an interface can receive and send Update packets.
NOTE
If you want a small number of interfaces to send RIP packets in either broadcast or multicast
mode, you can run the silent-interface all command first to prevent all interfaces from
sending RIP packets in either broadcast or multicast mode and then run the silent-interface
disable interface-type interface-number command to restore the capability to send RIP
packets in either broadcast or multicast mode for the small number of interfaces.
d. Run commit
The configuration is committed.
l Configuration in the interface view
a. Run system-view
The system view is displayed.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch
batch interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in
the system view to switch these interfaces to Layer 3 mode in batches.
d. Run undo rip output
The interface is disabled from sending RIP Update packets.
By running this command, you can specify whether to send RIP Update packets on
an interface. The silent-interface command takes precedence over the undo rip
output command. By default, an interface is allowed to send RIP Update packets.
e. Run commit
The configuration is committed.
----End
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run rip [ process-id ]
The RIP view is displayed.
Step 3 (Optional) Run default-cost cost
The default metric for imported routes is set.
If the metric of imported routes is not specified in step 4, the default metric is used.
Step 4 Run import-route bgp [ permit-ibgp ] [ cost { cost | transparent } | route-policy route-
policy-name ] *
Or run import-route { { static | direct } | { { rip | ospf | isis } [ process-id ] } } [ cost cost |
route-policy route-policy-name ] *
NOTE
When RIP imports IBGP routes, routing loops may occur. Configure this function with caution.
The routing information advertised by RIP may contain the routing information imported
from other protocols. You can use the protocol parameter to filter the routing information
imported from a specified routing protocol. If the protocol parameter is not used, all the routes
advertised by RIP are filtered, including the imported routes and the local routes (direct
routes).
NOTE
RIP-2 defines a 16-bit tag, while other routing protocols define 32-bit tags. If the routes of other
protocols are imported to RIP and the tag is used in the routing policy, the tag value cannot exceed
65535. If the tag value exceeds 65535, the routing policy becomes invalid or the matching result is
incorrect.
----End
Procedure
l Run the display rip [ process-id | vpn-instance vpn-instance-name ] command to view
the running status and configurations of RIP.
l Run the display rip process-id database [ verbose ] command to view all the active
routes in the RIP database.
l Run the display rip process-id route command to view all RIP routes learned from other
devices.
----End
Pre-configuration Tasks
Before controlling receiving of RIP routing information, complete the following task:
Configuration Procedure
You can perform the following configuration tasks (excluding the task of Verifying the RIP
Route Receiving Control Configuration) in any sequence as required.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run interface interface-type interface-number
The interface view is displayed.
Step 3 On an Ethernet interface, run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
----End
Procedure
Step 1 Run system-view
By default, host routes can be added to the routing table on the switch.
NOTE
----End
Context
The filtering policy can be configured on the inbound interface by configuring the ACL and
IP prefix list to filter received routes. Only the routes not filtered out by the filtering policy
are added to the local routing table.
Procedure
Step 1 Run system-view
Step 3 Depending on type of desired filtering, run one of following commands to configure RIP to
filter the received routes:
l Run filter-policy { acl-number | acl-name acl-name } import [ interface-type interface-
number ]
The learned routing information is filtered based on an ACL.
l Run filter-policy gateway ip-prefix-name import
The routing information advertised by neighbors is filtered based on the IP prefix list.
l Run filter-policy ip-prefix ip-prefix-name [ gateway ip-prefix-name ] import
[ interface-type interface-number ]
The routes learned by the specified interface are filtered based on the IP prefix list and
neighbors.
----End
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run rip [ process-id ]
A RIP process is created and the RIP view is displayed.
Step 3 Run undo zero-metric-check
Interfaces are allowed to accept the RIP packets with metric 0.
Step 4 Run commit
The configuration is committed.
----End
Pre-configuration Tasks
Before improving RIP network performance, complete the following task:
l Configuring Basic RIP Functions
Configuration Procedure
You can perform the following configuration tasks (excluding the task of Verifying the RIP
Network Performance Optimization Configuration) in any sequence as required.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run rip [ process-id ]
The RIP view is displayed.
Step 3 Run timers rip update age suppress garbage-collect
RIP timers are configured.
NOTE
By default, the Update timer is 30s; the Age timer is 180s; the Suppress timer is 0s; the
Garbage-collect timer is four times the Update timer, namely, 120s.
In practice, the Garbage-collect timer is not fixed. If the Update timer is set to 30s, the
Garbage-collect timer may range from 90s to 120s.
Before permanently deleting an unreachable route from the routing table, RIP advertises this
route (with the metric being set to 16) by periodically sending Update packets four times.
Subsequently, all the neighbors know that this route is unreachable. Because a route may not
always become unreachable at the beginning of an Update period, the Garbage-collect timer is
actually three or four times the Update timer.
Step 4 Run commit
The configuration is committed.
----End
Context
To limit memory resources occupied by RIP Update packets, set the interval for sending RIP
Update packets and the maximum number of Update packets to be sent at a time to
appropriate values.
Procedure
Step 1 Run system-view
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
Step 4 Run rip pkt-transmit { interval interval | number pkt-count | bandwidth bandwidth-value }
*
The interval for sending RIP Update packets and the maximum number of Update packets to
be sent at a time are set.
----End
Context
By default, a RIP packet contains 25 routes. Increasing the maximum length of RIP packets
can add more routes to the packets. Large RIP packets improve bandwidth use efficiency.
Before using the rip max-packet-length command to increase packet length, ensure that the
peer interface accepts the RIP packets longer than 512 bytes.
After the packet length is increased, Huawei devices may fail to communicate with non-
Huawei devices. Therefore, use this command with caution.
Procedure
Step 1 Run system-view
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
----End
Context
Checking RIP Update packet validity improves network security. Validity check includes zero
field check for RIP-1 packets and source address check for RIP Update packets.
l In a RIP-1 packet, the values of some fields must be zero. These fields are zero fields.
After zero field check is enabled, the device checks the zero fields in the RIP-1 packets
and discards the packets in which the zero field values are not 0.
l This command verifies the source IP address of the received RIP packet. Specifically, the
command checks whether the IP address of the interface that sends the packet is in the
same network segment as the IP address of the interface that receives the packet. If the
addresses are not in the same network segment, the RIP packet will not be processed.
Procedure
l Configure the zero field check for RIPv1 packets.
a. Run system-view
----End
Context
You can speed up network convergence by changing the values of triggered update timers.
Procedure
Step 1 Run system-view
----End
Context
You can set the maximum number of RIP routes to make full use of network resources and
improve network performance.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run rip [ process-id ]
The RIP process is created and the RIP view is displayed.
Step 3 Run maximum-routes max-number [ threshold threshold-value ]
The maximum number of routes is set.
Step 4 Run commit
The configuration is committed.
----End
Procedure
l Run the display rip [ process-id | vpn-instance vpn-instance-name ] command to view
the running status and configurations of RIP.
l Run the display rip process-id database [ verbose ] command to view all the active
routes in the RIP database.
l Run the display rip process-id interface [ interface-type interface-number ] [ verbose ]
command to view information about the RIP interface.
l Run the display rip process-id neighbor [ neighbor-address neighbor-address ]
[ verbose ] command to view the RIP neighbor configuration.
l Run the display rip process-id route command to view all RIP routes learned from other
devices.
----End
Pre-configuration Tasks
Before configuring BFD for RIP, complete the following task:
Configuration Procedure
You can perform the following configuration tasks in any sequence as required.
Applicable Environment
Generally, RIP uses timers to receive and send Update messages to maintain neighbor
relationships. If a RIP device does not receive an Update message from a neighbor after the
Age timer expires, the RIP device will announce that this neighbor goes Down. The default
value of the Age timer is 180s. If a link fault occurs, RIP can detect this fault after 180s. If
high-rate data services are deployed on a network, a great deal of data will be lost during the
aging time.
BFD provides millisecond-level fault detection. It can rapidly detect faults in protected links
or nodes and report them to RIP. This speeds up RIP processes' response to network topology
changes and achieves rapid RIP route convergence.
Either of the following methods can be used to configure BFD for RIP:
l Enable BFD in a RIP process: This method is recommended when BFD for RIP needs to
be enabled on most RIP interfaces.
l Enable BFD on RIP interfaces: This method is recommended when BFD for RIP needs
to be enabled on a small number of RIP interfaces.
Procedure
l Enable BFD in a RIP process.
a. Run system-view
The mode switching function takes effect when the interface only has attribute
configurations (for example, shutdown and description configurations).
Alternatively, if configuration information supported by both Layer 2 and Layer 3
interfaces exists (for example, mode lacp and lacp system-id configurations), no
configuration that is not supported after the working mode of the interface is
switched can exist. If unsupported configurations exist on the interface, delete the
configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch
batch interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in
the system view to switch these interfaces to Layer 3 mode in batches.
f. Run rip bfd enable
The values of BFD parameters used to establish the BFD session are set.
h. Run commit
----End
Context
BFD provides link failure detection featuring light load and high speed. Static BFD for RIP is
a mode to implement the BFD function.
Establishing BFD sessions between RIP neighbors can rapidly detect faults on links and speed
up response of RIP to network topology changes.
Procedure
Step 1 Enable BFD globally.
1. Run system-view
3. Run quit
If a peer IP address and a local interface are specified, BFD detects only a single-hop
link, that is, a route with the interface specified in the bfd command as the outbound
interface and with the peer IP address specified in the peer-ip command as the next-hop
address.
2. Set discriminators.
– Run discriminator local discr-value
The local discriminator is set.
– Run discriminator remote discr-value
The remote discriminator is set.
The local discriminator must be the remote discriminator of the device on the other end;
otherwise, a BFD session cannot be established. The local and remote discriminators
cannot be modified after being configured.
NOTE
local discr-value set on the local device is the same as that of remote discr-value set on the remote
[Link] discr-value set on the local device is the same as that of local discr-value set on the
remote device.
3. Run quit
The mode switching function takes effect when the interface only has attribute
configurations (for example, shutdown and description configurations). Alternatively, if
configuration information supported by both Layer 2 and Layer 3 interfaces exists (for
example, mode lacp and lacp system-id configurations), no configuration that is not
supported after the working mode of the interface is switched can exist. If unsupported
configurations exist on the interface, delete the configurations first and then run the undo
portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system
view to switch these interfaces to Layer 3 mode in batches.
----End
Pre-configuration Tasks
Before configuring the network management function for RIP, complete the following task:
l Configuring Basic RIP Functions
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run rip mib-binding process-id
RIP is bound to the MIB.
This command is used to bind a RIP process ID to MIBs and specify the ID of the RIP
process that accepts Simple Network Management Protocol (SNMP) requests.
Step 3 Run commit
The configuration is committed.
----End
Context
The RIP neighbor relationship is deleted after you reset RIP connections with the reset rip
command. Exercise caution when running this command.
To reset RIP connections, run the following reset commands in the user view.
Procedure
l Run the reset rip { process-id | all } configuration command to reset the system
parameters of a RIP process. When a RIP process restarts, all the parameters of the
process retain the default values.
----End
Context
RIP information cannot be restored after it is cleared. Exercise caution when running the
commands.
To clear RIP statistics, run the following reset commands in the user view.
Procedure
l Run the reset rip { process-id | all } imported-routes command to clear the routes
imported from other routing protocols, including dynamic routes and direct routes, and
import the routes to RIP again.
l Run the reset rip { process-id | all } statistics command to clear the counters of a RIP
process. This command is used to recount statistics during debugging.
----End
10GE1/0/2
VLANIF20
[Link]/24 10GE1/0/2
10GE1/0/1 VLANIF20 10GE1/0/3
VLANIF10 [Link]/24 VLANIF20
[Link]/24 [Link]/24
10GE1/0/1 10GE1/0/3
VLANIF10 VLANIF30
SwitchA SwitchD
[Link]/24 SwitchB10.1.1.1/24
Configuration Roadmap
The network size is small, so RIP-2 is recommended. The configuration roadmap is as
follows:
1. Configure a VLAN and an IP address for each interface to ensure network reachability.
2. Enable RIP on each switch to implement network connections between processes.
3. Configure RIP-2 on each switch to improve RIP performance.
Procedure
Step 1 Name the [Link] configuration procedure is not provided here.
Step 2 Configure a VLAN and an IP address for each interface. The configuration procedure is not
provided here.
Step 3 Specify the network segment where RIP needs to be enabled.
# Configure SwitchA.
[~SwitchA] rip
[*SwitchA-rip-1] network [Link]
[*SwitchA-rip-1] commit
[~SwitchA-rip-1] quit
# Configure SwitchB.
[~SwitchB] rip
[*SwitchB-rip-1] network [Link]
[*SwitchB-rip-1] network [Link]
[*SwitchB-rip-1] network [Link]
[*SwitchB-rip-1] commit
[~SwitchB-rip-1] quit
# Configure SwitchC.
[~SwitchC] rip
[*SwitchC-rip-1] network [Link]
[*SwitchC-rip-1] commit
[~SwitchC-rip-1] quit
# Configure SwitchD.
[~SwitchD] rip
[*SwitchD-rip-1] network [Link]
[*SwitchD-rip-1] commit
[~SwitchD-rip-1] quit
From the routing table, you can find that the routes advertised by RIP-1 use natural masks.
Step 4 Specify the RIP version.
# Configure RIP-2 on SwitchA.
[~SwitchA] rip
[*SwitchA-rip-1] version 2
[*SwitchA-rip-1] commit
[~SwitchA-rip-1] quit
[Link]/24 [Link] 1 0 RA 32
The RIP routing table shows that the routes advertised by RIP-2 contain accurate subnet
masks.
----End
Configuration Files
l # Configuration file of SwitchA
#
sysname SwitchA
#
vlan batch 10
#
interface Vlanif 10
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
rip 1
version 2
network [Link]
#
return
#
interface Vlanif 20
ip address [Link] [Link]
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
rip 1
version 2
network [Link]
#
return
10GE1/0/1 10GE1/0/2
VLANIF50 VLANIF30
[Link]/24 [Link]/24
10GE1/0/2 10GE1/0/1
VLANIF10 SwitchB VLANIF20
[Link]/24 [Link]/24 SwitchC
10GE1/0/2 10GE1/0/1
SwitchA VLANIF10 VLANIF20 10GE1/0/3
[Link]/24 [Link]/24 VLANIF40
RIP 100 [Link]/24
RIP 200
Configuration Roadmap
The configuration roadmap is as follows:
Procedure
Step 1 Name the device. The configuration procedure is not provided here.
Step 2 Configure a VLAN and an IP address for each interface. The configuration procedure is not
provided here.
The routing table of SwitchA does not contain the routes imported from other processes.
# Display the routing table of SwitchA after the routes are imported.
[~SwitchA] display ip routing-table
Proto: Protocol Pre: Preference
Route Flags: R -
relay, D - download to fib, T - to vpn-instance, B - black hole route
------------------------------------------------------------------------------
Routing Table: _public_
Destinations : 13 Routes : 13
The RIP routing table of SwitchA contains routes [Link]/24, [Link]/24, and
[Link]/24, which are learned by RIP200 on SwitchB.
Step 5 Configure RIP to filter imported routes.
# Configure an ACL on SwitchB and add a rule to the ACL. The rule denies the packets sent
from [Link]/24.
[~SwitchB] acl 2000
[*SwitchB-acl4-basic-2000] rule deny source [Link] [Link]
[*SwitchB-acl4-basic-2000] rule permit
[*SwitchB-acl4-basic-2000] quit
------------------------------------------------------------------------------
Routing Table: _public_
Destinations : 12 Routes : 12
The RIP routing table of SwitchA does not contain the route originating from [Link]/24.
----End
Configuration Files
l # Configuration file of SwitchA
#
sysname SwitchA
#
vlan batch 10 50
#
interface Vlanif10
ip address [Link] [Link]
#
interface Vlanif50
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 50
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 10
#
rip 100
network [Link]
network [Link]
#
return
10GE1/0/1 10GE1/0/1SwitchB10GE1/0/3
SwitchA VLANIF10 VLANIF10 VLANIF40
SwitchD
[Link]/24 [Link]/24 [Link]/24
10GE1/0/1
10GE1/0/2 10GE1/0/2 VLANIF40
VLANIF20 VLANIF30 [Link]/24
[Link]/24 [Link]/24
10GE1/0/2 10GE1/0/1
VLANIF20 VLANIF30
[Link]/24 SwitchC192.168.4.2/24
Configuration Roadmap
The configuration roadmap is as follows:
1. Configure a VLAN and an IP address for each interface to ensure network reachability.
2. Enable RIP on each switch to implement network connections between processes.
3. Configure BFD for RIP on interfaces at both ends of the link between Switch A and
Switch B. BFD can rapidly detect the link status and help RIP speed up route
convergence to implement fast link switching.
Procedure
Step 1 Configure a VLAN for each interface.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchA
[*HUAWEI] commit
[~SwitchA] vlan batch 10 20
[*SwitchA] interface 10GE 1/0/1
[*SwitchA-10GE1/0/1] port link-type trunk
[*SwitchA-10GE1/0/1] port trunk allow-pass vlan 10
[*SwitchA-10GE1/0/1] quit
[*SwitchA] interface 10GE 1/0/2
[*SwitchA-10GE1/0/2] port link-type trunk
[*SwitchA-10GE1/0/2] port trunk allow-pass vlan 20
[*SwitchA-10GE1/0/2] quit
[*SwitchA] commit
The configurations of Switch B, Switch C and Switch D are similar to the configuration of
Switch A, and are not mentioned here.
The configurations of Switch B, Switch C and Switch D are similar to the configuration of
Switch A, and are not mentioned here.
# Configure Switch B.
<SwitchB> system-view
[~SwitchB] rip 1
[*SwitchB-rip-1] version 2
[*SwitchB-rip-1] network [Link]
[*SwitchB-rip-1] network [Link]
[*SwitchB-rip-1] network [Link]
[*SwitchB-rip-1] quit
[*SwitchB] commit
# Configure Switch C.
<SwitchC> system-view
[~SwitchC] rip 1
[*SwitchC-rip-1] version 2
[*SwitchC-rip-1] network [Link]
[*SwitchC-rip-1] network [Link]
[*SwitchC-rip-1] quit
[*SwitchC] commit
# Configure Switch D.
<SwitchD> system-view
[~SwitchD] rip 1
[*SwitchD-rip-1] version 2
[*SwitchD-rip-1] network [Link]
[*SwitchD-rip-1] quit
[*SwitchD] commit
# After completing the preceding operations, run the display rip neighbor command. The
command output shows that Switch A, Switch B, and Switch C have established neighbor
relationships with each other. In the following example, the display on Switch A is used.
[~SwitchA] display rip 1 neighbor
---------------------------------------------------------------------
IP Address Interface Type Last-Heard Routes
---------------------------------------------------------------------
[Link] Vlanif10 RIP 0:0:14 2
[Link] Vlanif20 RIP 0:0:19 1
# Run the display ip routing-table command. The command output shows that the switches
have imported routes from each other. In the following example, the display on Switch A is
used.
[~SwitchA] display ip routing-table
Proto: Protocol Pre: Preference
Route Flags: R -
relay, D - download to fib, T - to vpn-instance, B - black hole route
------------------------------------------------------------------------------
Routing Table: _public_
Destinations : 12 Routes : 13
The preceding command output shows that the next-hop address and outbound interface of the
route to destination [Link]/16 are [Link] and VLANIF10 respectively, and traffic is
transmitted over the active link Switch A->Switch B.
Step 4 Configure BFD in RIP processes.
# Configure BFD on all interfaces of Switch A.
[~SwitchA] bfd
[*SwitchA-bfd] quit
[*SwitchA] rip 1
[*SwitchA-rip-1] bfd all-interfaces enable
[*SwitchA-rip-1] bfd all-interfaces min-rx-interval 100 min-tx-interval 100
detect-multiplier 10
[*SwitchA-rip-1] quit
[*SwitchA] commit
The configuration of Switch B is similar to that of Switch A, and is not provided here.
# After completing the preceding operations, run the display rip bfd session command on
Switch A. The command output shows that Switch A and Switch B have established a BFD
session and the BFDState field value is displayed as Up. In the following example, the
display on Switch A is used.
[~SwitchA] display rip 1 bfd session all
Interface :Vlanif10
LocalIp :[Link] RemoteIp :[Link] BFDState :Up
Interface :Vlanif20
LocalIp :[Link] RemoteIp :[Link] BFDState :Down
NOTE
The link fault is simulated to verify the configuration. In actual situations, the operation is not required.
[~SwitchB] interface 10GE 1/0/1
[~SwitchB-10GE1/0/1] shutdown
[*SwitchB-10GE1/0/1] commit
The preceding command output shows that the standby link Switch A->Switch C->Switch B
is used after the active link fails, and the next-hop address and outbound interface of the route
to destination [Link]/16 are [Link] and VLANIF20 respectively.
----End
Configuration Files
l Configuration file of Switch A
#
sysname SwitchA
#
vlan batch 10 20
#
bfd
#
interface Vlanif10
ip address [Link] [Link]
#
interface Vlanif20
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
rip 1
version 2
network [Link]
network [Link]
bfd all-interfaces enable
bfd all-interfaces min-tx-interval 100 min-rx-interval 100 detect-multiplier
10
#
return
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 30
#
interface 10GE1/0/3
port link-type trunk
port trunk allow-pass vlan 40
#
rip 1
version 2
network [Link]
network [Link]
network [Link]
bfd all-interfaces enable
bfd all-interfaces min-tx-interval 100 min-rx-interval 100 detect-multiplier
10
#
return
Fault Description
A device cannot receive RIP Update packets from neighbors when the link runs properly.
Procedure
Step 1 Run the display current-configuration configuration rip command to check RIP
configurations.
l Check whether RIP has been enabled on the interface. Only the RIP-enabled interface
can receive RIP packets.
l Check whether the version number in the RIP packet sent by the peer interface matches
the version number in the RIP packet received by the local interface. If not, the two
interfaces cannot establish the RIP neighbor relationship.
Step 2 Run the display current-configuration interface interface-type interface-number command
to view the interface configuration.
l Check whether the undo rip input command has been executed on the interface. If the
command has been executed, the interface does not receive RIP packets.
l Check whether the authentication modes on the two ends of the link are the same. If the
authentication modes are different, the interface cannot receive RIP packets from the
peer.
----End
Fault Description
A device cannot send RIP Update packets to neighbors when the link runs properly.
Procedure
Step 1 Run the display current-configuration configuration rip command to check RIP
configurations.
l Check whether RIP has been enabled on the interface. Only the RIP-enabled interface
can send RIP packets.
l Check whether the silent-interface command has been executed on the interface. If the
command has been executed, the interface does not send RIP packets.
Step 2 Run the display current-configuration interface interface-type interface-number command
to view the interface configuration.
l Check whether the undo rip output command has been executed on the interface. If the
command has been executed, the interface does not send RIP packets.
l Check whether the authentication modes on the two ends of the link are the same. If the
authentication modes are different, the interface cannot send RIP packets to the peer.
l Check whether split horizon has been enabled on the interface. If split horizon has been
enabled, the interface cannot send the route learned by itself to neighbors.
NOTE
Split horizon is enabled on all interfaces by default, but the display current-configuration
command output does not show the split horizon option. If the command output for an interface
connected to an NBMA network does not contain the split horizon option, split horizon is disabled
on the interface.
----End
Procedure
Step 1 Run the display rip command to check the configuration of RIP timers.
The RIP timers on the entire network must be consistent; otherwise, route flapping occurs.
The relationships between the timer values are update < age, suppress < garbage-collect.
Step 2 Run the timers rip update age suppress garbage-collect command to set the RIP timers.
----End
4 RIPng Configuration
RIPng is widely used on small-sized networks to discover routes and generate routing
information.
NOTE
RIPng does not have the security authentication mechanism. For security purposes, configure OSPFv3,
BGP4+, or IPv6 IS-IS.
NOTE
RIPng is a basic feature of the CE8800, CE7800, CE6800, and CE5800 series switches and is not under
license control.
Controlling RIPng routing To use RIPng more flexibly 4.8 Controlling RIPng
on the existing network and Routing
meet various user
requirements, you can
configure different
parameters to control RIPng
routing.
Licensing Requirements
RIPng is a basic feature of CE8800, CE7800, CE6800, and CE5800 series switches and is not
under license control.
Version Requirements
CE8868EI V200R005C10
CE8861EI V200R005C10
CE8860EI V100R006C00
CE8850-32CQ-EI V200R002C50
CE8850-64CQ-EI V200R005C00
CE7850EI V100R003C00
CE7855EI V200R001C00
CE6810EI V100R003C00
CE6850EI V100R001C00
CE6850-48S6Q-HI V100R005C00
CE6850-48T6Q-HI/CE6850U-HI/ V100R005C10
CE6851HI
CE6855HI V200R001C00
CE6856HI V200R002C50
CE6857EI V200R005C10
CE6860EI V200R002C50
CE6865EI V200R005C00
CE6870-24S6CQ-EI/ V200R001C00
CE6870-48S6CQ-EI
CE6870-48T6CQ-EI V200R002C50
CE6875EI V200R003C00
CE6880EI V200R002C50
CE5880EI V200R005C10
CE5810EI V100R002C00
CE5850EI V100R001C00
CE5850HI V100R003C00
CE5855EI V200R002C50
Feature Limitations
In versions earlier than V200R002C50, the CE5855EI does not support IPv6. However,
interfaces on a CE5855EI provide the IPv6 capability when the switch functions as a leaf
switch in a super virtual fabric (SVF) system and the SVF forwarding mode is set to
centralized or hybrid. In V200R002C50 and later versions, the CE5855EI supports IPv6.
Pre-configuration Tasks
Before configuring basic RIPng functions, complete the following tasks:
l Enabling IPv6 on the switch
l Configuring IPv6 addresses for interfaces to ensure that neighboring nodes are reachable
at the network layer
Configuration Procedure
Creating RIPng processes is the prerequisite for enabling RIPng on interfaces.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ripng [ process-id ] [ vpn-instance vpn-instance-name ]
RIPng is enabled and the RIPng view is displayed.
If a VPN instance is specified, the RIPng process belongs to this VPN instance. If no VPN
instance is specified, the RIPng process belongs to a public network instance.
----End
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run interface interface-type interface-number
The interface view is displayed.
Step 3 On an Ethernet interface, run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
NOTE
----End
Procedure
l Run the display ripng [ process-id | vpn-instance vpn-instance-name ] command to
check the configuration of the RIPng process.
l Run the display ripng process-id route [ destination-address destination-address
[ mask-length ] ] [ interface interface-type interface-number ] [ neighbor-address
neighbor-address ] command to check all the RIPng routes that are learned from other
switches.
l Run the display default-parameter ripng command to check the default RIPng
configuration.
l Run the display ripng process-id statistics interface { all | interface-type interface-
number [ neighbor neighbor-ipv6-address | verbose ] } command to check statistics
about RIPng interfaces.
----End
Pre-configuration Tasks
Before configuring split horizon and poison reverse, complete the following task:
l 4.6 Configuring Basic RIPng Functions
Configuration Procedure
You can perform the following configuration tasks (excluding the task of Verifying the RIPng
Routing Loop Prevention Configuration) in any sequence as required.
Context
Split horizon can prevent routing loops.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run interface interface-type interface-number
The interface view is displayed.
Step 3 On an Ethernet interface, run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
NOTE
----End
Context
Poison reverse can prevent routing loops.
Procedure
Step 1 Run system-view
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
NOTE
If both split horizon and poison reverse are configured, only poison reverse takes effect.
----End
Pre-configuration Tasks
Before configuring RIPng route attributes, complete the following task:
l 4.6 Configuring Basic RIPng Functions
Configuration Procedure
You can perform the following configuration tasks (excluding the task of Verifying the RIPng
Routing Control Configuration) in any sequence as required.
Procedure
Step 1 Run system-view
The system view is displayed.
----End
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run interface interface-type interface-number
The interface view is displayed.
Step 3 On an Ethernet interface, run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
l The ripng metricin command is used to add an additional metric to an incoming route. After this
route is added to the routing table, its metric in the routing table changes. Running this command
affects route selection on the local device and other devices on the network.
l The ripng metricout command is used to add an additional metric to an outgoing route. When this
route is advertised, an additional metric is added to this route, but the metric of the route in the
routing table does not change. Running this command does not affect route selection on the local
device but other devices on the network.
----End
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ripng [ process-id ] [ vpn-instance vpn-instance-name ]
RIPng is enabled and the RIPng view is displayed.
Step 3 Run maximum load-balancing number
The maximum number of equal-cost routes is set. The default value is 32(64 on the
CE6870EI).
Step 4 Run commit
The configuration is committed.
----End
Pre-configuration Tasks
Before controlling RIPng route advertisement, complete the following task:
l 4.6 Configuring Basic RIPng Functions
Configuration Procedure
You can perform the following configuration tasks (excluding the task of Verifying the RIPng
Route Advertisement Control Configuration) in any sequence as required.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run interface interface-type interface-number
The interface view is displayed.
Step 3 On an Ethernet interface, run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
----End
Context
In an IPv6 routing table, a default route is a route to network ::/0. If the destination address of
a packet does not match any entry in the routing table, the packet is sent through a default
route.
There are two methods to advertise RIPng default routes. You can configure a device to
advertise RIPng default routes according to networking requirements.
Procedure
Step 1 Run system-view
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
Step 4 Run ripng default-route { only | originate } [ cost cost | tag tag ]*
l only: configures the device to advertise only IPv6 default routes (::/0), suppressing the
advertisement of other routes. If the local device is located on the network edge and the
details of the local network need to be hidden, you can set this parameter to enable the
devices on other networks to access the local network only through the local device.
l originate: configures the device to advertise IPv6 default routes (::/0) without affecting
the advertisement of other routes. If the local device is located on the network edge and
some details of the local network need to be hidden, you can set this parameter to enable
the devices on other networks to use the default route when connecting to certain devices
on the local network.
The device advertises generated RIPng default routes using Update packets through a
specified interface regardless of whether these routes exist in the local IPv6 routing table.
Step 5 Run commit
The configuration is committed.
----End
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ripng [ process-id ] [ vpn-instance vpn-instance-name ]
The RIPng view is displayed.
Step 3 (Optional) Run default-cost cost
The default cost of external routes to be imported is set.
By default, the default cost of RIPng routes is 0.
If no cost is set for external routes to be imported, the default cost is used.
NOTE
When a RIPng process imports IBGP routes, routing loops may occur. Therefore, exercise caution
before you configure this function.
Step 4 Run import-route { direct | static | { isis | ospfv3 | ripng } [ process-id ] | bgp [ permit-
ibgp ] } [ cost cost | route-policy route-policy-name ] *
External routes are imported.
Step 5 Run commit
The configuration is committed.
----End
Pre-configuration Tasks
Before improving RIPng network performance, complete the following task:
l 4.6 Configuring Basic RIPng Functions
Configuration Procedure
You can perform the following configuration tasks (excluding the task of Verifying the RIPng
Network Performance Optimization Configuration) in any sequence as required.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ripng [ process-id ] [ vpn-instance vpn-instance-name ]
The RIPng process is enabled and the RIPng view is displayed.
Step 3 Run timers ripng update age suppress garbage-collect
RIPng timers are configured.
NOTE
By default, the Update timer is 30s; the Age timer is 180s; the Suppress timer is 0s; the
Garbage-collect timer is four times the Update timer, namely, 120s.
In practice, the Garbage-collect timer is not fixed. If the Update timer is set to 30s, the
Garbage-collect timer may range from 90s to 120s.
Before permanently deleting an unreachable route from the routing table, RIPng advertises
this route (with the metric being set to 16) by periodically sending Update packets four times.
Subsequently, all the neighbors know that this route is unreachable. Because a route may not
always become unreachable at the beginning of an Update period, the Garbage-collect timer is
actually three or four times the Update timer.
----End
Context
In a RIPng packet, some fields must be zero. These fields are called zero fields. When
receiving a packet, a RIPng process checks the zero fields of the packet. If the value of a zero
field in the packet is not 0, the RIPng process discards the packet.
Enabling zero field check on RIPng Update packets can improve network security.
Procedure
Step 1 Run system-view
----End
Procedure
l Run the display ripng [ process-id | vpn-instance vpn-instance-name ] command to
check the configuration of the RIPng process.
l Run the display ripng process-id database [ verbose ] [ destination-address
destination-address [ mask-length ] ] [ interface interface-type interface-number
[ neighbor neighbor-address ] ] command to check all activated routes in the RIPng
database.
l Run the display ripng process-id interface [ interface-type interface-number ]
[ verbose ] command to check information about the RIPng interface.
l Run the display ripng process-id neighbor [ neighbor-address neighbor-address ]
[ verbose ] command to check information about RIPng neighbors.
l Run the display ripng process-id route [ destination-address destination-address
[ mask-length ] ] [ interface interface-type interface-number ] [ neighbor-address
neighbor-address ] command to check all the RIPng routes that are learned from other
switches.
----End
RIPng information cannot be restored after it is cleared. Exercise caution when running the
commands.
Procedure
l Run the reset ripng process-id statistics interface { all | interface-type interface-
number [ neighbor neighbor-ipv6-address ] } command in the user view to clear
statistics about the counter that is maintained by a specified RIPng process.
----End
10GE1/0/2
VLANIF200
FC00:0:0:2::2/64
10GE1/0/2
VLANIF200
10GE1/0/1 10GE1/0/3
FC00:0:0:2::1/64
VLANIF100 VLANIF300
FC00:0:0:1::1/64 FC00:0:0:3::2/64
10GE1/0/1 10GE1/0/3
Switch A VLANIF100 VLANIF300 Switch D
FC00:0:0:1::2/64 FC00:0:0:3::1/64
Switch B
Configuration Notes
When configuring basic RIPng functions, note the following:
l RIPng takes effect only after IPv6 is enabled on interfaces.
l Enable RIPng on switches and configure RIPng basic functions.
Procedure
Step 1 Configure IPv6 addresses for interfaces. The configuration details are not described here.
# Configure Switch B.
[~SwitchB] ripng 1
[*SwitchB-ripng-1] quit
[*SwitchB] interface vlanif 100
[*SwitchB-Vlanif100] ipv6 enable
[*SwitchB-Vlanif100] ripng 1 enable
[*SwitchB-Vlanif100] quit
[*SwitchB] interface vlanif 200
[*SwitchB-Vlanif200] ipv6 enable
[*SwitchB-Vlanif200] ripng 1 enable
[*SwitchB-Vlanif200] quit
[*SwitchB] interface vlanif 300
[*SwitchB-Vlanif300] ipv6 enable
[*SwitchB-Vlanif300] ripng 1 enable
[*SwitchB-Vlanif300] quit
[*SwitchB] commit
# Configure Switch C.
[~SwitchC] ripng 1
[*SwitchC-ripng-1] quit
[*SwitchC] interface vlanif 200
[*SwitchC-Vlanif200] ipv6 enable
[*SwitchC-Vlanif200] ripng 1 enable
[*SwitchC-Vlanif200] quit
[*SwitchC] commit
# Configure Switch D.
[~SwitchD] ripng 1
[*SwitchD-ripng-1] quit
[*SwitchD] interface vlanif 300
[*SwitchD-Vlanif300] ipv6 enable
[*SwitchD-Vlanif300] ripng 1 enable
[*SwitchD-Vlanif300] quit
[*SwitchD] commit
The command output shows that Switch A has established the neighbor relationship with
Switch B on the network.
# View RIPng routing information of Switch A.
[~SwitchA] display ripng 1 route
Route Flags: A - Aging, S - Suppressed, G - Garbage-collect
----------------------------------------------------------------------------
Peer FE80::225:9EFF:FE01:21C on Vlanif100
Dest
FC00:0:0:2::/64,
via FE80::225:9EFF:FE01:21C, cost 1, tag 0, A, 4 Sec
Dest
FC00:0:0:3::/64,
via FE80::225:9EFF:FE01:21C, cost 1, tag 0, A, 4 Sec
The command output shows that Switch A has learned routing information on the network.
----End
Configuration Files
l Configuration file of Switch A
#
sysname SwitchA
#
vlan batch 100
#
interface Vlanif 100
ipv6 enable
ipv6 address FC00:0:0:1::1/64
ripng 1 enable
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 100
#
ripng 1
#
return
l Configuration file of Switch B
#
sysname SwitchB
#
vlan batch 100 200 300
#
interface Vlanif 100
ipv6 enable
ipv6 address FC00:0:0:1::2/64
ripng 1 enable
#
interface Vlanif 200
ipv6 enable
ipv6 address FC00:0:0:2::1/64
ripng 1 enable
#
interface Vlanif 300
ipv6 enable
ipv6 address FC00:0:0:3::1/64
ripng 1 enable
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 100
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 200
#
interface 10GE1/0/3
port link-type trunk
port trunk allow-pass vlan 300
#
ripng 1
#
return
l Configuration file of Switch C
#
sysname SwitchC
#
vlan batch 200
#
interface Vlanif 200
ipv6 enable
ipv6 address FC00:0:0:2::2/64
ripng 1 enable
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 200
#
ripng 1
#
return
l Configuration file of Switch D
#
sysname SwitchD
#
vlan batch 300
#
interface Vlanif 300
ipv6 enable
ipv6 address FC00:0:0:3::2/64
ripng 1 enable
#
interface 10GE1/0/3
port link-type trunk
port trunk allow-pass vlan 300
#
ripng 1
#
return
5 OSPF Configuration
You can build an OSPF network to discover and calculate routes in an autonomous system
(AS). OSPF applies to large networks composed of several hundreds of devices.
Definition
The Open Shortest Path First (OSPF) protocol, developed by the Internet Engineering Task
Force (IETF), is a link-state Interior Gateway Protocol (IGP).
At present, OSPF Version 2, defined in RFC 2328, is intended for IPv4; OSPF Version 3,
defined in RFC 2740, is intended for IPv6. Unless otherwise stated, OSPF stated in this
document refers to OSPF Version 2.
Purpose
Before the emergence of OSPF, the Routing Information Protocol (RIP) is widely used on
networks as an IGP.
RIP is a routing protocol based on the distance vector algorithm. Due to its problems of slow
convergence, routing loops, and poor scalability, RIP is gradually replaced by OSPF.
As a link-state protocol, OSPF can solve many problems encountered by RIP. Additionally,
OSPF features the following advantages:
l Receives and sends packets in multicast mode to reduce load on routers that do not run
OSPF.
l Supports Classless Inter-domain Routing (CIDR).
l Supports load balancing among equal-cost routes.
l Supports packet encryption.
With the preceding advantages, OSPF is widely accepted and used as an IGP.
l Encapsulates OSPF packets into IP packets and sends the packets in unicast or multicast
mode.
Packet Types
Database Description (DD) packet DD packets contain brief information about the local
link-state database (LSDB) and thereby synchronize
LSDBs on two devices.
Link State Request (LSR) packet LSR packets are sent to request the required LSAs
from neighbors.
LSR packets are sent only after DD packets are
exchanged successfully.
Link State Update (LSU) packet LSU packets are sent to transfer LSAs required by
neighbors.
LSA Types
Router-LSA (Type 1) Describes the link status and link cost of a router. It is
generated by every router and advertised in the area where
the router resides.
Network-LSA (Type 2) Describes the link status of all routers on the local network
segment. Network-LSAs are generated by a designated
router (DR) and advertised in the area where the DR resides.
Router Types
Figure 5-1 lists common router types used in OSPF.
Area1 Area4
Area0
Area Border Router (ABR) An ABR belongs to two or more areas, one of which must
be the backbone area.
An ABR is used to connect the backbone area and non-
backbone areas. It can be physically or logically connected
to the backbone area.
ASBR (AS Boundary An ASBR exchanges routing information with other ASs.
Router) An ASBR does not necessarily reside on the border of an
AS. It can be an internal router or an ABR. An OSPF
device importing external routing information will become
an ASBR.
Route Types
Inter-area and intra-area routes in an AS describe the internal network structure of the AS. AS
external routes describe the routes to destinations outside an AS. OSPF classifies the imported
AS external routes into Type 1 and Type 2.
Table 5-4 lists route types in descending order of priority.
Type 2 external route Type 2 external routes have low reliability, and therefore
OSPF considers that the cost of the route from an ASBR
to the destination of a Type 2 external route is much
greater than that of any internal route to the ASBR.
Cost of a Type 2 external route = Cost of the route from
the ASBR to the destination of the Type 2 external route
Area Types
Common area By default, an OSPF area is a common area. Common areas include
standard areas and backbone areas.
l A standard area is the most common area and transmits intra-
area routes, inter-area routes, and external routes.
l A backbone area connects all the other OSPF areas. It is usually
identified by Area 0.
Stub area A stub area does not advertise AS external routes, but only intra-
area and inter-area routes.
Compared with a non-stub area, routers in a stub area maintain
fewer routing entries and transmit less routing information.
To ensure the reachability of AS external routes, the ABR in a stub
area advertises Type 3 LSAs carrying default routes within the
entire stub area. All AS external routes must be advertised by the
ABR.
Totally stub area A totally stub area does not advertise AS external routes or inter-
area routes, but only intra-area routes.
Compared with a non-stub area, routers in a totally stub area
maintain fewer routing entries and transmit less routing
information.
To ensure the reachability of AS external routes and inter-area
routes, the ABR in a totally stub area advertises Type 3 LSAs
carrying default routes within the entire totally stub area. All AS
external and inter-area routes must be advertised by the ABR.
Totally NSSA A totally NSSA can import AS external routes. An ASBR uses
Type 7 LSAs to advertise the imported AS external routes to the
entire NSSA. These Type 7 LSAs are translated into Type 5 LSAs
on an ABR, and are then flooded in the entire OSPF AS.
A totally NSSA has the characteristics of the totally stub areas in
the same AS.
An ABR in a totally NSSA advertises Type 3 and Type 7 LSAs
carrying default routes to the entire totally NSSA. All inter-area
routes must be advertised by the ABR.
Network Types
Table 5-6 lists four OSPF network types that are classified based on link layer protocols.
Non-Broadcast Multi- If a network uses frame relay (FR) or X.25 as the link layer
Access (NBMA) protocol, OSPF defaults it to an NBMA network.
On an NBMA network, protocol packets such as Hello packets,
DD packets, LSR packets, LSU packets, and LSAck packets are
sent in unicast mode.
Point-to-point (P2P) If a network uses PPP, HDLC, or LAPB as the link layer
protocol, OSPF defaults it to a P2P network.
On a P2P network, protocol packets, such as Hello packets, DD
packets, LSR packets, LSU packets, and LSAck packets, are sent
in multicast mode using the multicast address [Link].
Stub Area
Stub areas are specific areas where ABRs do not flood the received AS external routes. In
stub areas, routers maintain fewer routing entries and transmit less routing information.
Configuring a stub area is optional. Not every area can be configured as a stub area. A stub
area is usually a non-backbone area with only one ABR and is located on the AS border.
To ensure the reachability of the routes to destinations outside an AS, the ABR in a stub area
generates a default route and advertises the route to non-ABRs in the same stub area.
NSSA
NSSAs are a special type of OSPF areas. There are many similarities between an NSSA and a
stub area. Both of them do not advertise external routes received from other OSPF areas. The
difference between them is that a stub area cannot import AS external routes, whereas an
NSSA can import AS external routes and advertise them to the entire AS.
After an area is configured as an NSSA, an ABR in the NSSA generates a default route and
advertises the route to other routers in the NSSA. This ensures the reachability of routes to
destinations outside an AS.
OSPF has eight state machines: Down, Attempt, Init, 2-way, Exstart, Exchange, Loading, and
Full.
l Down: It is in the initial stage of setting up sessions between neighbors. The state
machine is Down when a router fails to receive Hello packets from its neighbor before
the dead interval expires.
l Attempt: It occurs only on an NBMA network. The state machine is Attempt when a
neighbor does not reply with Hello packets after the dead interval has expired. The local
router, however, keeps sending Hello packets to the neighbor at every poll interval.
l Init: The state machine is Init when a router receives Hello packets.
l 2-way: The state machine is 2-way when the Hello packets received by a router contain
its own router ID. The state machine will remain in the 2-way state if no neighbor
relationship is established, and will become Exstart if a neighbor relationship is
established.
l Exstart: The state machine is Exstart when the two neighbors start to negotiate the
master/slave status and determine the sequence numbers of DD packets.
l Exchange: The state machine is Exchange when a router starts to exchange DD packets
with its neighbor after the master/slave status negotiation is completed.
l Loading: The state machine is Loading after a router has finished exchanging DD
packets with its neighbor.
l Full: The state machine is Full when the LSA retransmission list is empty.
l Area-based authentication
l Interface-based authentication
When both area-based and interface-based authentication methods are configured, interface-
based authentication takes effect.
Table 5-7 Rules for advertising OSPF default routes in different areas
Area Type Function
Stub area A stub area does not allow AS external routes (Type 5 LSAs) to be
transmitted within the area.
All routers within the stub area must learn AS external routes from
the ABR. The ABR automatically generates a Summary LSA (Type
3 LSA) describing a default route and advertises it to the entire stub
area. Then all routes to destinations outside an AS can be learned
from the ABR.
Totally stub area A totally stub area does not allow AS external routes (Type 5
LSAs) or inter-area routes (Type 3 LSAs) to be transmitted within
the area.
All routers within the totally stub area must learn AS external
routes and other areas' routes from the ABR. The ABR
automatically generates a Summary LSA (Type 3 LSA) describing
a default route and advertises it to the entire totally stub area. Then,
all routes to destinations outside an AS and to destinations in other
areas can be learned from the ABR.
Totally NSSA A totally NSSA does not allow AS external routes (Type 5 LSAs)
or inter-area routes (Type 3 LSAs) to be transmitted within the area.
All routers within the totally NSSA must learn AS external routes
from the ABR. The ABR automatically generates a Summary LSA
describing a default route and advertises it to the entire totally
NSSA. Then all external routes received from other areas and inter-
area routes can be advertised within the totally NSSA.
Table 5-8 Differences between filtering for inter-area LSA learning and filtering for
route learning
Filtering for Inter- Filtering for Route Learning
area LSA Learning
Directly filters the Filters the routes that are calculated based on LSAs, but does
LSAs entering the not filter LSAs. This means that all incoming LSAs are
local area. learned, but only routes matching filtering conditions are
added to the local routing table.
OSPF Multi-Process
OSPF supports multi-process. Multiple OSPF processes can run on the same router, and they
are independent from each other. Route exchanges between different OSPF processes are
similar to route exchanges between different routing protocols.
NOTE
Each device in an OSPF AS must be configured with the same maximum number of external routes.
When the number of external routes in an LSDB reaches the maximum number, the device
enters the overflow state and starts the overflow timer at the same time. The device
automatically exits the overflow state after the overflow timer expires. Table 5-9 describes the
operations performed by the device when it enters or exits the overflow state.
Table 5-9 Operations performed by a device when it enters or exits the overflow state
Phase OSPF Processing Procedure
Staying at the overflow state Deletes self-generated non-default external routes and
stops advertising non-default external routes.
Discards newly received non-default external routes and
does not reply with Link State Acknowledgment (LSAck)
packets.
Checks whether the number of external routes is still
greater than the configured maximum number when the
overflow timer expires, and performs the following
operation accordingly:
l Restarts the timer if the number of external routes is
still greater than the configured maximum number.
l Exits the overflow state if the number of external routes
is less than the configured maximum number.
Definition
Bidirectional Forwarding Detection (BFD) is a mechanism to detect communication faults
between forwarding engines.
To be specific, BFD detects connectivity of a data protocol on a path between two systems.
The path can be a physical link, a logical link, or a tunnel.
In BFD for OSPF, a BFD session is associated with OSPF. The BFD session can quickly
detect a link fault and then notify OSPF of the fault. This speeds up OSPF's response to the
change of the network topology.
Purpose
A link fault or a topology change may cause devices to re-calculate routes. Therefore, the
convergence of routing protocols must be as quick as possible to improve the network
performance.
Link faults are unavoidable. Therefore, a feasible solution is required to detect faults fast and
notify routing protocols of the faults immediately. With BFD being associated with OSPF,
once a fault occurs on a link between neighbors, BFD can speed up the OSPF convergence.
Table 5-10 Comparison before and after BFD for OSPF is enabled
Implementation
GE1/0/0 GE2/0/0
[Link]/24 [Link]/24
Area0
RouterC
Definition
Generally, routers periodically send Hello packets through OSPF interfaces. That is, a Router
sends Hello packets at the Hello interval controlled by a Dead timer. Because Hello packets
are sent at a fixed interval, the establishment of OSPF neighbor relationships is slowed down.
Implementation
In the following scenarios, an interface enabled with Smart-discover can send Hello packets
to neighbors without waiting for the expiration of the Hello timer:
Definition
As an extension of OSPF, OSPF VPN multi-instance enables Provider Edges (PEs) and
Customer Edges (CEs) in VPNs to run OSPF for interworking and use OSPF to learn and
advertise routes.
Purpose
As a widely used IGP, in most cases, OSPF runs in VPNs. If OSPF runs between PEs and
CEs, PEs can advertise VPN routes to CEs using OSPF, CEs do not need to support other
routing protocols for interworking with PEs, simplifying the management and configuration
of CEs.
Running OSPF between PEs and CEs has the following benefits:
l OSPF is used within a site to learn routes. Running OSPF between PEs and CEs can
reduce the protocol types that CEs must support, lowering the requirements on CEs.
l Similarly, running OSPF both in a site and between PEs and frees network administrators
from getting familiarity with multiple protocols, simplifying the workload of them.
l When a network using OSPF but not VPN on the backbone network begins to use BGP/
MPLS VPN, running OSPF between PEs and CEs facilitates the transition.
As shown in Figure 5-3, CE1, CE3, and CE4 belong to VPN 1, and the numbers following
OSPF refer to the IDs of OSPF multi-instance processes running on PEs.
Area0 Area0
MPLS VPN
OSPF 100 VPN1
OSPF 100 VPN1 Backbone
CE2 CE4
Area1 Area2
Site2 VPN1 Site4
VPN2
1. PE1 imports OSPF routes of CE1 into BGP and generates BGP VPNv4 routes.
2. PE1 advertises BGP VPNv4 routes to PE2 using MP-BGP.
3. PE2 imports BGP VPNv4 routes into OSPF, and then advertises these routes to CE3 and
CE4.
The process of advertising routes of CE4 or CE3 to CE1 is similar to the preceding process.
In the extended application of OSPF VPN, the MPLS VPN backbone network serves as Area
0. OSPF requires that backbone areas (Area 0) be contiguous. Therefore, Area 0 in all VPN
sites must be connected to the MPLS VPN backbone network. If a VPN site has OSPF Area
0, the PEs that CEs access must be connected to the backbone area of this VPN site through
the MPLS VPN backbone network. If no physical link is available to directly connect PEs to
Area 0 in the VPN site, a virtual link can be used to implement logical connection between
them, as shown in Figure 5-4.
VPN
PE1 backbone PE2
Area0 Area0
Area1
Virtual link
A non-backbone area (Area 1) is configured between PE1 and CE1, and a backbone area
(Area 0) is configured in Site 1. As a result, the backbone area in Site 1 is isolated from the
VPN backbone area. Therefore, a virtual link is configured between PE1 and CE1 to ensure
that backbone areas are contiguous.
OSPF Domain ID
If inter-area routes are advertised between local and remote OSPF areas, these areas are
considered to be in the same OSPF domain.
Before a PE advertises the BGP routes learned from remote PEs to CEs, the PE checks the
domain IDs carried in the BGP routes to determine the type of OSPF routes (Type 3, Type 5,
or Type 7) to be advertised.
l If local domain IDs are the same as or compatible with the remote domain IDs carried in
the BGP routes, the PE advertises Type 3 routes.
l Otherwise, the PE advertises Type 5 or Type 7 routes.
Both the local and remote domain IDs are Yes Inter-area route
NULL.
The remote domain ID is different from the No If the local area is not an
local primary domain ID and all local NSSA, external routes are
secondary domain IDs. generated.
If the local area is an NSSA,
NSSA routes are generated.
PE1
VPN
backbone
CE1
PE2
As shown in Figure 5-5, on PE1, OSPF imports a BGP route whose destination address is
[Link]/32, and then generates a Type 5 or Type 7 LSA and advertises it to CE1. Then, CE1
learns an OSPF route with the destination address and next hop being [Link]/32 and PE1
respectively. CE1 advertises the route to PE2. In this manner, PE2 learns an OSPF route with
the destination address and next hop being [Link]/32 and CE1 respectively.
Similarly, CE1 also learns an OSPF route with the destination address and next hop being
[Link]/32 and PE2 respectively. PE1 learns an OSPF route with the destination address and
next hop being [Link]/32 and CE1 respectively.
As a result, CE1 has two equal-cost routes with next hops being PE1 and PE2 respectively,
and the next hops of the routes from PE1 and PE2 to [Link]/32 are CE1. A routing loop
occurs.
In addition, the preference of an OSPF route is higher than that of a BGP route. Therefore, on
PE1 and PE2, BGP routes to [Link]/32 are replaced by OSPF routes. That is, the OSPF
routes with the destination address and next hop being [Link]/32 and CE1 respectively are
active in the routing tables of PE1 and PE2.
The BGP routes then become inactive, and therefore the LSAs generated when OSPF imports
the routes are deleted. As a result, the active OSPF routes are withdrawn, and the BGP route
becomes active again. The above process occurs repeatedly, leading to route flapping.
OSPF VPN provides a solution to this problem, as shown in Table 5-13.
VPN route tag The VPN route tag is carried in Type When a PE detects that the
5 or Type 7 LSAs generated by PEs VPN route tag in the
according to received BGP private incoming LSA is the same
routes. as that in the local LSA, the
The VPN route tag is valid only on PE ignores this LSA. This
the PEs that receive BGP routes and prevents routing loops.
generate OSPF LSAs. It is not
transmitted in BGP extended
community attributes.
Default route A default route is a route with an all-0 PEs do not calculate default
destination address and an all-0 routes.
subnet mask. Default routes are used to
forward traffic from CEs or
from sites where CEs reside
to the VPN backbone
network.
Exercise caution when disabling routing loop prevention as it increases the likelihood of
routing loops.
During BGP or OSPF route exchanges, routing loop prevention prevents OSPF routing loops
in VPN sites.
In the inter-AS VPN Option A scenario, if OSPF is running between ASBRs to transmit VPN
routes, the routing loop prevention mechanism disables the remote ASBR from learning the
OSPF routes sent by the local ASBR.
Figure 5-6 illustrates an inter-AS VPN in Option A mode. OSPF runs between PE1 and CE1.
Assume that CE1 sends VPN routes to CE2.
VPN1
CE1 VPN1
BGP/MPLS CE3
BGP/MPLS
backbone backbone
PE1 AS: 100 AS: 200
PE3
ASBR1 ASBR2
MP-IBGP MP-IBGP
OSPF
PE2
PE4
CE4
CE2
VPN2 VPN2
1. PE1 learns routes to CE1 through the OSPF process within a VPN instance, imports
these routes into MP-BGP, and then sends the MP-BGP routes to ASBR1.
2. After receiving the MP-BGP routes, ASBR1 imports them into the OSPF process in a
VPN instance and generates Type 3, Type 5, or Type 7 LSAs with the DN-bit set to 1.
3. When learning these LSAs using OSPF, ASBR2 checks the DN-bit in the LSAs. When
detecting that the DN-bit in the LSAs is 1, ASBR2 ignores these LSAs.
Due to the routing loop prevention mechanism, ASBR2 cannot learn the OSPF routes sent
from ASBR1, causing CE1 to be unable to communicate with CE3.
The following methods are provided to resolve this problem:
l Method 1: Disable devices from setting the DN-bit to 1 when importing BGP routes into
OSPF. For example, ASBR1 is disabled from setting the DN-bit to 1 when importing
BGP routes into OSPF. When ASBR2 receives these routes and detects that the DN-bit
in the LSAs carrying these routes is 0, ASBR2 uses these LSAs to calculate routes.
l Method 2: Disable devices from checking the DN-bit in received LSAs. For example,
ASBR2 is disabled from checking the DN-bit in received LSAs. ASBR1 sets the DN-bit
to 1 in LSAs when importing MP-BGP routes into OSPF. ASBR2, however, does not
check the DN-bit when receiving these LSAs and uses these LSAs to calculate routes.
The two methods can be used more flexibly based on specific types of LSAs. For Type 3
LSAs, you can configure a sender to determine whether to set the DN bit to 1 or configure a
receiver to determine whether to check the DN bit in the Type 3 LSAs based on the router ID
of the device that generates the LSAs.
In an inter-AS VPN Option A scenario, as shown in Figure 5-7, four ASBRs are fully meshed
and run OSPF. ASBR2 may receive Type 3, Type 5, or Type 7 LSAs generated on ASBR4. If
ASBR2 is disabled from checking the DN-bit in the LSAs, ASBR2 will accept the Type 3
LSAs, and routing loops will occur, as described in Figure 5-7. ASBR2 will deny the Type 5
or Type 7 LSAs, because the VPN route tags carried in the LSAs are the same as the default
VPN route tag of the OSPF process on ASBR2.
To address the routing loop problem caused by Type 3 LSAs, you can disable the check of the
DN-bit only for the Type 3 LSAs that are generated by devices with the router ID [Link] or
[Link]. With the check disabled in such a way, if ASBR2 receives Type 3 LSAs sent by
ASBR4 with the router ID [Link], ASBR2 will check the DN-bit and deny these Type 3
LSAs because the DN-bit is set to 1.
Figure 5-7 Networking diagram of fully meshed ASBRs in the inter-AS VPN Option A
scenario
OSPF Router ID OSPF Router ID
[Link] [Link]
ASBR1 ASBR2
OSPF
AS: 100 AS: 200
ASBR3 ASBR4
OSPF Router ID OSPF Router ID
[Link] [Link]
Multi-VPN-Instance CE
OSPF multi-instance generally runs on PEs. The devices that run OSPF multi-instance within
LANs of users are called multi-VPN-instance CEs (MCEs).
Compared with OSPF multi-instance running on PEs, MCEs have the following
characteristics:
Definition
To prevent a large number of external routes from consuming the bandwidth and storage
resources of routers in an area, OSPF defines stub areas prohibited from importing external
routes. However, stub areas cannot meet the requirements of the scenario that requires the
import of external routes while preventing resources from being consumed by external
resources. OSPF defines the NSSA to meet the requirements.
NSSAs are a new type of OSPF areas.
An NSSA is similar to a stub area in many ways. The difference between an NSSA and a stub
area is that an NSSA can import AS external routes and advertise them to the entire OSPF
AS, but do not learn external routes received from other areas on the OSPF network.
N-bit
All routers in an area must be configured with the same area type. In OSPF, the N-bit, carried
in a Hello packet, is used to identify the area type supported by a router. OSPF neighbor
relationships cannot be established between routers configured with different area types.
Some manufacturers do not comply with the standard. They set the N-bit in both OSPF Hello
and DD packets. To allow Huawei devices to interwork with these manufacturers' devices, set
the N-bit in OSPF DD packets on Huawei devices.
Type 7 LSA
l Type 7 LSAs are a new type of LSAs that can be used only in NSSAs. Type 7 LSAs
describe imported external routes.
l Type 7 LSAs are generated by an ASBR in an NSSA and flooded only in the NSSA
where the ASBR resides.
l When the ABRs in the NSSA receive these Type 7 LSAs, they translate some of the
Type 7 LSAs into Type 5 LSAs to advertise AS external routes to other areas on the
OSPF network.
l Only the Type 7 LSAs in which the P-bit is set to 1 and the FA is not 0 can be translated
into Type 5 LSAs. The FA indicates that the packet to a specific destination address will
be forwarded to the address specified by the FA.
l The P-bit in the Type 7 LSAs generated by ABRs is not set to 1.
Background
If an interface carrying OSPF services alternates between Up and Down, OSPF neighbor
relationship flapping occurs on the interface. During the flapping, OSPF frequently sends
Hello packets to reestablish the neighbor relationship, synchronizes LSDBs, and recalculates
routes. In this process, a large number of packets are exchanged, adversely affecting stability
of existing neighbor relationships, OSPF services, and other OSPF-dependent services, such
as LDP and BGP. OSPF neighbor relationship flapping suppression can address this problem
by delaying OSPF neighbor relationship reestablishment or preventing service traffic from
passing through flapping links.
Related Concepts
Flapping_event: is reported when the status of a neighbor relationship on an interface last
changes from Full to ExStart or Down. A flapping_event triggers flapping detection.
Flapping_count: indicates the number of times flapping has occurred.
Detect-interval: indicates the flapping detection interval. This interval is used to determine
whether to trigger a valid flapping_event.
Threshold: indicates the threshold upon which flapping suppression is triggered. When the
flapping_count exceeds the threshold, flapping suppression takes effect.
Resume-interval: is used to determine whether flapping suppression exits. If the interval
between two valid flapping_events is longer than the resume-interval, flapping suppression
exits.
Implementation
Flapping detection
OSPF interfaces start a flapping counter. If the interval between two flapping_events is
shorter than the detect-interval, a valid flapping_event is recorded, and the flapping_count
increments by 1. When the flapping_count exceeds the threshold, the system determines that
flapping occurs, triggers flapping suppression, and sets the flapping_count to 0. If the interval
between two valid flapping_events is longer than the resume-interval before the
flapping_count reaches the threshold again, the system sets the flapping_count to 0. An
interface starts the suppression timer when the status of the neighbor relationship last changes
to ExStart or Down.
The detect-interval, threshold, and resume-interval are configurable.
NOTE
The value of resume-interval must be greater than that of detecting-interval.
Flapping suppression
Flapping suppression works in either Hold-down or Hold-max-cost mode on an interface:
l Hold-down mode: In the case of frequent flooding and topology changes, the interface
prevents the neighbor relationship from being reestablished during the suppression
period, which minimizes LSDB synchronization attempts and packet exchanges.
l Hold-max-cost mode: If the traffic forwarding path changes frequently, the interface uses
65535 as the cost of the flapping link during the suppression period, which prevents
traffic from passing through the flapping link.
Flapping suppression can work first in Hold-down mode and then in Hold-max-cost mode
after the Hold-down mode exits.
By default, the Hold-max-cost mode takes effect. The mode and suppression period can be
changed manually using commands.
NOTE
When an interface enters the flapping suppression state, all neighbor relationships on the interface enter
the state accordingly.
Exiting flapping suppression
An interface exits flapping suppression in any of following scenarios:
l The suppression timer expires.
l The corresponding OSPF process is reset.
l A user runs commands to force the interface to exit flapping suppression.
Typical Scenarios
Basic scenario
In Figure 5-9, the traffic forwarding path is Router A -> Router B -> Router C -> Router E
before a link failure occurs. After the link between Router B and Router C fails, the
forwarding path switches to Router A -> Router B -> Router D -> Router E. If the neighbor
relationship between Router B and Router C frequently flaps at the early stage of the path
switchover, the forwarding path will be switched frequently, causing traffic loss and affecting
network stability. If the neighbor relationship flapping meets suppression conditions, flapping
suppression takes effect.
l If flapping suppression works in Hold-down mode, the neighbor relationship between
Router B and Router C is prevented from being reestablished during the suppression
period, in which traffic is forwarded along the path Router A -> Router B -> Router D ->
Router E.
l If flapping suppression works in Hold-max-cost mode, 65535 is used as the cost of the
link between Router B and Router C during the suppression period, and traffic is
forwarded along the path Router A -> Router B -> Router D -> Router E.
Router C
cost=10 cost=10
Router D
neighbor relationship between Router B and Router C flaps and the flapping meets
suppression conditions, flapping suppression takes effect. However, if the neighbor
relationship between Router B and Router C is prevented from being reestablished, the whole
network will be divided. Therefore, the Hold-max-cost mode (rather than the Hold-down
mode) is recommended. If flapping suppression works in Hold-max-cost mode, 65535 is used
as the cost of the link between Router B and Router C during the suppression period. After the
network stabilizes and the suppression timer expires, the link is restored.
NOTE
Router A Router E
cost=65535
Router B Router C
Broadcast scenario
In Figure 5-11, four devices are deployed on the same broadcast network using switches, and
the devices are broadcast network neighbors. If Router C flaps due to a link failure and Router
A and Router B were deployed at different time (Router A was deployed earlier for example)
or the flapping suppression parameters on Router A and Router B are different, Router A first
detects the flapping and suppresses Router C. Consequently, the Hello packets sent by Router
A do not carry Router C's router ID. However, Router B has not detected the flapping yet and
still considers Router C a valid node. As a result, the DR candidates identified by Router A
are Router B and Router D, whereas the DR candidates identified by Router B are Router A,
Router C, and Router D. Different DR candidates result in different DR election results,
which may lead to route calculation errors. To prevent this problem in scenarios where an
interface has multiple neighbors, such as on a broadcast, P2MP, or NBMA network, all
neighbors on the interface are suppressed when the status of a neighbor relationship last
changes to ExStart or Down. Specifically, if Router C flaps, Router A, Router B, and Router
D on the broadcast network are all suppressed. After the network stabilizes and the
suppression timer expires, Router A, Router B, and Router D are restored to the normal state.
Router A Router B
Router C Router D
Multi-area scenario
In Figure 5-12, Router A, Router B, Router C, Router E, and Router F are connected in area
1, and Router B, Router D, and Router E are connected in the backbone area (Area 0). Traffic
from Router A to Router F is preferentially forwarded along an intra-area route. That is, the
forwarding path is Router A -> Router B -> Router C -> Router E -> Router F. When the
neighbor relationship between Router B and Router C flaps and the flapping meets
suppression conditions, flapping suppression takes effect in the default mode (Hold-max-
cost). Consequently, 65535 is used as the cost of the link between Router B and Router C.
However, the forwarding path remains unchanged because intra-area routes take precedence
over inter-area routes during route selection according to OSPF route selection rules. To
prevent traffic loss in multi-area scenarios, you need to configure the Hold-down mode to
prevent the neighbor relationship between Router B and Router C from being reestablished
during the suppression period. During this period, traffic is forwarded along the path Router A
-> Router B -> Router D -> Router E -> Router F.
NOTE
By default, the Hold-max-cost mode takes effect. The mode can be changed to Hold-down manually
using commands.
Router C
Router A Router F
cost=10 cost=10
Area 1
Device
Area Router B Device
Router E
Area 0 B
0 cost=10
cost=10 cost=10
Router D
Scenario with both LDP-IGP synchronization and OSPF neighbor relationship flapping
suppression configured
In Figure 5-13, if the link between PE1 and P1 fails, an LDP LSP switchover is implemented
immediately, causing the original LDP LSP to be deleted before a new LDP LSP is
established. To prevent traffic loss, LDP-IGP synchronization needs to be configured. With
LDP-IGP synchronization, 65535 is used as the cost of the new LSP to be established. After
the new LSP is established, the original cost takes effect. Consequently, the original LSP is
deleted, and LDP traffic is forwarded along the new LSP.
Both LDP-IGP synchronization and OSPF neighbor relationship flapping suppression work in
either Hold-down or Hold-max-cost mode. If both functions are configured, the Hold-down
mode takes precedence over the Hold-max-cost mode, followed by the configured link cost.
Table 5-14 lists the suppression modes that take effect in different situations.
For example, in Figure 5-13, the link between PE1 and P1 frequently flaps, and both LDP-
IGP synchronization and OSPF neighbor relationship flapping suppression are configured. In
this case, the suppression mode is selected based on the above rules. No matter which mode
(Hold-down or Hold-max-cost) is selected, the traffic is switched to the forwarding path PE1 -
> P4 -> P3 -> PE2.
Figure 5-13 Scenario with both LDP-IGP synchronization and OSPF neighbor relationship
flapping suppression configured
P1 P2
cost=10
cost=10 cost=10
P4 P3
If a link has a poor link quality, services transmitted along it may be adversely affected. If bit-
error-triggered protection switching is configured and the bit error rate (BER) along a link
exceeds a specified value, a bit error event is reported, and the cost of the link is set to 65535,
triggering route reselection. Consequently, service traffic is switched to the backup link. If
both bit-error-triggered protection switching and OSPF neighbor relationship flapping
suppression are configured, they both take effect. The Hold-down mode takes precedence
over the Hold-max-cost mode, followed by the configured link cost.
Priority-based OSPF convergence ensures that specific routes converge first when a great
number of routes need to converge. Different routes can be configured with different
convergence priorities. This allows important routes to converge first and therefore improves
network reliability.
By using priority-based OSPF convergence, you can assign a higher convergence priority to
routes for key services so that these routes can converge fast and the impact on key services is
reduced.
Definition
When a new device is deployed in a network or a device is restarted, network traffic may be
lost during BGP convergence. This is because IGP convergence is faster than BGP
convergence.
This problem can be solved through the synchronization between OSPF and BGP.
Purpose
If a backup link exists, during traffic switchback, BGP traffic is lost because BGP route
convergence is slower than OSPF route convergence.
As shown in Figure 5-14, Router A, Router B, Router C, and Router D run OSPF and
establish IBGP connections. Router C functions as the backup of Router B. When the network
is stable, BGP and OSPF routes converge completely on the device.
Normally, traffic from Router A to [Link]/30 passes through Router B. When Router B
becomes faulty, traffic is switched to Router C. After Router B recovers, traffic is switched
back to Router B. During this process, packet loss occurs.
This is because when traffic is switched back to Router B, IGP (OSPF) route convergence is
faster than BGP route convergence. Consequently, convergence of OSPF routes is already
complete when BGP route convergence is still going on. As a result, Router B does not know
the route to [Link]/30.
Therefore, when packets from Router A to [Link]/30 arrive at Router B, they are discarded
because Router B does not have the route to [Link]/30.
Implementation
A device enabled with OSPF-BGP association remains as a stub router within the configured
synchronization period. That is, the link cost in the LSA advertised by the device is set to the
maximum value of 65535. Therefore, the device instructs other OSPF devices not to use it for
data forwarding.
As shown in Figure 5-14, OSPF-BGP association is enabled on Router B. In this situation,
before BGP route convergence is complete, Router A continues to use the backup link passing
through Router C instead of forwarding traffic to Router B until BGP route convergence on
Router B is complete.
5.2.10 OSPF GR
Routers generally operate with the control plane and forwarding plane separated. When the
network topology remains stable, a restart of the control plane does not affect the forwarding
plane, and the forwarding plane can still forward data properly. This separation ensures non-
stop service forwarding.
In graceful restart (GR) mode, the forwarding plane continues to direct data forwarding after a
routing protocol restarts. The actions on the control plane, such as re-establishment of
neighbor relationships and route calculations, do not affect the forwarding plane. Network
reliability is improved because service interruption caused by route flapping is prevented.
Classification of OSPF GR
l Totally GR: When a neighbor of a router does not support GR, the router exits GR.
l Partly GR: When a neighbor does not support GR, only the interface associated with this
neighbor exits GR, whereas the other interfaces perform GR normally.
l Planned GR: Commands are manually configured to restart a router or perform an active/
standby switchover for the router. Before the restart or switchover, the Restarter sends a
Grace-LSA.
GR Process
l A router starts GR.
In planned GR mode, when commands are run to trigger an active/standby switchover,
the Restarter sends a Grace-LSA to all neighbors to notify them of the GR start, period,
and cause, and then performs the switchover.
In unplanned GR, the Restarter does not send any Grace-LSA.
The Restarter sends a Grace-LSA immediately after the standby board goes Up,
informing neighbors of the GR start, period, and cause. The Restarter then sends five
consecutive Grace-LSAs to each neighbor to ensure that neighbors can receive a Grace-
LSA. Sending five consecutive Grace-LSAs is proposed by vendors and has not been
defined by OSPF.
The Grace-LSA is sent to notify neighbors that the Restarter enters GR. During GR,
neighbors keep neighbor relationships with the Restarter so that other routers cannot
detect the switchover of the Restarter.
l Figure 5-15 shows the GR process.
Success Before GR times out, the Restarter re- After the Helper receives the
establishes neighbor relationships with Grace-LSA with the Age being
all neighbors existing before the active/ 3600s from the Restarter, the
standby switchover. neighbor relationship between
the Helper and Restarter enters
the Full state.
Failure l GR times out, and all neighbor l The Helper does not receive
relationships are not recovered. a Grace-LSA from Restarter
l Router-LSAs or Network-LSAs sent before the neighbor
by the Helper causes the bidirectional relationship expires.
check failure on the Restarter. l The status of the interface
l The status of the interface that that functions as the Helper
functions as the Restarter changes. changes.
l The Restarter receives one-way Hello l The Helper receives LSAs
packets from the Helper. inconsistent with those in
the local LSDB from
l The Restarter receives the Grace- another router. This
LSA that is generated by another situation can be excluded
router on the same network segment. after the Helper is
Only one router can perform GR on configured not to perform
the same network segment at a time. strict LSA check.
l The Restarter's neighbors on the l The Helper receives Grace-
same network segment have different LSAs from two routers on
DRs or BDRs (because of the the same network segment
topology changes). at the same time.
l Neighbor relationships
between the Helper and
other neighbors change.
l OSPF neighbor relationships are re- l OSPF neighbor relationships are re-
established. established.
l Routes are recalculated. l Routes are recalculated.
l The forwarding table changes. l The forwarding table remains unchanged.
l The entire network detects the route l Except for neighbors of the device where
changes, and route flapping occurs for the active/standby switchover occurs, other
a short period of time. routers do not detect route changes.
l Packets are lost during forwarding, l No packets are lost during forwarding, and
and services are interrupted. services are not affected.
Purpose
As shown in Figure 5-16, the primary link adopts the path PE1→P1→P2→P3→PE2, and the
backup link adopts the path PE1→P1→P4→P3→PE2.
When the primary link is faulty, traffic is switched to the backup link. After the primary link
recovers, traffic is switched back to the primary link. During this process, traffic is interrupted
for a long period of time.
PE1 P1 P3 PE2
Primary link
Backup link
P4
Associating Label Distribution Protocol (LDP) and IGP on P1 and P2 can shorten traffic
interruption caused by traffic switchback from the backup link to the primary link.
No Seconds
Yes Milliseconds
Implementation
IGP-LDP association delays route switchback by suppressing the establishment of IGP
neighbor relationships until LDP convergence is complete. That is, before an LSP on the
primary link is established, the backup link continues to forward traffic. After an LSP is
established on the primary link, traffic is switched back to the primary link.
LDP-IGP association involves three timers:
l Hold-down
l Hold-max-cost
l Delay
After the primary link recovers on a router, the router responds as follows:
1. Starts the hold-down timer. The IGP interface does not establish IGP neighbor
relationships but waits for the establishment of an LDP session. The Hold-down timer
specifies the period that the IGP interface waits.
2. Starts the Hold-max-cost timer after the Hold-down timer expires. The Hold-max-cost
timer specifies the interval for advertising the maximum link cost of the interface in an
LSA to the primary link.
3. After an LDP session is re-established for the primary link, starts the Delay timer to wait
for the establishment of an LSP.
4. After the Delay timer expires, LDP notifies IGP that synchronization is complete
regardless of the IGP status.
Definition
OSPF requires that routers in the same area have the same Link-State Database (LSDB).
If the number of routes on a network increases, routers may fail to carry so much routing
information due to limited system resources. This is known as an OSPF database overflow.
Purpose
Configuring stub areas or NSSAs partially addresses database overflows. However, stub areas
or NSSAs fail to resolve the problem of an unexpected increase in dynamic routes. To
dynamically limit the LSDB capacity and thereby prevent database overflows, you can set the
maximum number of external LSAs allowed in the LSDB.
Implementation
To prevent database overflow, you can set the maximum number of non-default external
routes on a router.
All routers on the OSPF network must be configured with the same upper limit. If the number
of external routes on a router reaches the upper limit, the router enters the Overflow state and
starts an overflow timer. The router automatically exits the overflow state after the timer
expires. By default, the timer value is 5 seconds.
Entering the overflow state A router deletes all non-default external routes generated
by itself.
Staying at the overflow state l The router does not generate non-default external
routes.
l The router discards the newly received non-default
external routes, and does not reply with LSAck packets.
l When the overflow timer expires, the router checks
whether the number of external routes still exceeds the
upper limit and performs the following operations
accordingly:
– If the number of external routes still exceeds the
upper limit, the router restarts the timer.
– If the number of external routes is less than the
upper limit, the router exits the overflow state.
Exiting the overflow state l The router resets the overflow timer.
l The router generates non-default routes.
l The router learns the newly received non-default
external routes, and replies with LSAck packets.
l The router prepares to enter the overflow state in case
of future occurrences.
Definition
In scenarios with multiple concurrent links, you can deploy OSPF mesh-group to classify
links into a mesh group. This allows OSPF to flood LSAs to only one link selected from the
mesh group. OSPF mesh-group prevents repetitive flooding that burdens the system.
Purpose
After receiving or generating an LSA, an OSPF process floods the LSA. If there are multiple
concurrent links, OSPF floods the LSA to each link and sends Update messages. Flooding
more than one LSA is unnecessary as only one is valid.
In this scenario, if there are 2000 concurrent links, OSPF floods each LSA 2000 times. Only
one flooding, however, is valid. The other 1999 times are useless repetition.
To prevent this unnecessary burden on the system, you can enable mesh-group to classify
multiple concurrent links between a router and its neighbor into a group and then select a
primary link for flooding.
Implementation
As shown in Figure 5-17, Router A and Router B are connected through three links and
establish an OSPF neighbor relationship. After receiving a new LSA from interface 4, Router
A floods the LSA to Router B through interfaces 1, 2, and 3.
This flooding causes a heavy load on the concurrent links. For the neighbor with concurrent
links, only a primary link is selected to flood the LSA.
1 LSA
LSA 4 2 LSA
If there are multiple concurrent links between a device with OSPF mesh-group enabled and its
neighbor, the device floods received LSAs only to the primary link, as shown in Figure 5-18.
1 LSA
LSA 4 2 LSA
3 LSA
RouterA RouterB
As defined in OSPF, LSAs can be flooded to a link only when the neighbor status reaches
Exchange or a higher state. When the status of the interface on the primary link is lower than
Exchange, OSPF reselects a primary link from concurrent links for flooding LSAs. After
receiving LSAs flooded by Router A through link 1, Router B no longer floods the LSAs to
Router A through link 2 and link 3.
The Router ID of a neighbor uniquely identifies a mesh group. Interfaces connected to the
same neighbor with a state higher than Exchange belong to the same mesh group.
In Figure 5-19, a mesh group of Router A resides in Area 0, which contains the links of
interface 1 and interface 2. More than one neighbor of interface 3 resides on the broadcast
link. Therefore, interface 3 cannot be added to the mesh group.
4 2
RouterB
RouterA 3
Area0
NOTE
If a router with OSPF mesh-group enabled has the same router ID as its directly connected neighbor,
LSDBs cannot be synchronized and routes cannot be calculated correctly. In such a scenario, you need
to reconfigure the router ID of the neighbor. (The configuration with the same router ID for two different
devices is a configuration error.)
5.3.1 OSPF GR
In Figure 5-20, Router A, Router B, Router C, and Router D run OSPF for interworking, and
Router A and Router B are enabled with GR. When Router A restarts, Router B helps Router
A perform GR, without notifying other neighbors that the Router A restarts. OSPF GR
ensures uninterrupted network traffic.
Configuring OSPF areas l In a stub area, the area 5.10 Configuring OSPF
border router (ABR) Stub Areas
does not transmit learned 5.11 Configuring OSPF
autonomous system (AS) NSSAs
external routes. This
reduces entries in the
routing table on the ABR
in the stub area and the
amount of routing
information transmitted.
l An NSSA is a new type
of OSPF areas. Neither
an NSSA nor a stub area
transmits routes learned
from other areas in the
AS where it resides.
Different from a stub
area, an NSSA allows
AS external routes to be
imported and advertised
in the entire AS.
Licensing Requirements
OSPF is a basic feature of the CE8800, CE7800, CE6800, and CE5800 series switches and is
not under license control.
Version Requirements
CE8868EI V200R005C10
CE8861EI V200R005C10
CE8860EI V100R006C00
CE8850-32CQ-EI V200R002C50
CE8850-64CQ-EI V200R005C00
CE7850EI V100R003C00
CE7855EI V200R001C00
CE6810EI V100R003C00
CE6850EI V100R001C00
CE6850-48S6Q-HI V100R005C00
CE6850-48T6Q-HI/CE6850U-HI/ V100R005C10
CE6851HI
CE6855HI V200R001C00
CE6856HI V200R002C50
CE6857EI V200R005C10
CE6860EI V200R002C50
CE6865EI V200R005C00
CE6870-24S6CQ-EI/ V200R001C00
CE6870-48S6CQ-EI
CE6870-48T6CQ-EI V200R002C50
CE6875EI V200R003C00
CE6880EI V200R002C50
CE5880EI V200R005C10
CE5810EI V100R002C00
CE5850EI V100R001C00
CE5850HI V100R003C00
CE5855EI V100R005C10
Feature Limitations
The CE6810LI does not support IPv4 Layer 3 forwarding. After the IPv4 function is enabled
on an interface of the CE6810LI, the configured IPv4 address can only be used to manage the
switch.
OSPF Disabled
Interval for sending Hello By default, on P2P and broadcast interfaces, the interval
packets for sending Hello packets is 10 seconds; on P2MP and
NBMA interfaces, the interval is 30 seconds.
Dead interval of OSPF neighbor By default, on P2P and broadcast interfaces, the dead
relationships interval after which an OSPF neighbor relationship
expires is 40 seconds; on P2MP and NBMA interfaces,
the interval is 120 seconds.
Pre-configuration Tasks
Before configuring basic OSPF functions, complete the following task:
l Configuring IP addresses for interfaces to ensure that neighboring nodes are reachable at
the network layer
Context
To run OSPF, a switch needs to have a router ID. A router ID is a 32-bit unsigned integer,
which uniquely identifies a switch in an AS. To ensure stability of OSPF, you need to
manually configure a router ID for each device during network planning.
Procedure
Step 1 Run system-view
l The parameter process-id specifies the ID of an OSPF process. The default value is 1.
The switch supports OSPF multi-process. You can create different processes for different
types of services. The OSPF process ID is valid only in the local area, and does not
affect packet exchange with other switches. Therefore, different switches can also
exchange packets even though they have different process IDs.
l The parameter router-id router-id specifies the router ID of a switch.
By default, the system automatically selects the IP address of an interface on the current
device as the router ID. The largest IP address among loopback addresses is selected as
the router ID preferentially. If no loopback interface is configured, the largest IP address
among interfaces is selected as the router ID. When manually setting a router ID, ensure
that the router ID of each device is unique in the AS. Typically, you can use the IP
address of an interface on the device as the router ID.
NOTE
The router ID of each OSPF process must be unique on the OSPF network; otherwise, OSPF
neighbor relationships cannot be set up and the problem of incorrect routing information will
occur. Configuring a unique router ID for each OSPF process on each OSPF device is
recommended to ensure stability.
l The parameter vpn-instance vpn-instance-name specifies the name of a VPN instance.
If a VPN instance is specified, the OSPF process belongs to the specified VPN instance;
otherwise, the OSPF process belongs to a public network instance.
----End
Context
More and more devices are deployed with the expansion of the network scale. As a result,
each device has to maintain a large LSDB, which becomes a heavy burden. OSPF solves this
problem by dividing an AS into areas. An area is regarded as a logical device group. Each
group is identified by an area ID. The borders of an area are devices, rather than links. A
network segment (or a link) belongs to only one area; that is, each OSPF interface must be
specified to an area.
Procedure
Step 1 Run system-view
Areas are not equally important. The area with ID 0 is called the backbone area. The
backbone area is responsible for forwarding inter-area routing information. In addition,
routing information between non-backbone areas must be forwarded through the backbone
area.
----End
Context
After creating an OSPF process, you need to configure the network segments included in
areas. A network segment can belong to only one area. That is, you need to specify an area for
each interface that runs OSPF. In this document, a network segment refers to the network
segment where the IP address of an OSPF interface resides.
OSPF checks the network mask carried in a received Hello packet. If the network mask
carried in a received Hello packet is different from that of the local device, the Hello packet is
discarded. Therefore, the OSPF neighbor relationship cannot be established.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ospf [ process-id ]
The OSPF process view is displayed.
Step 3 Run area area-id
The OSPF area view is displayed.
Step 4 OSPF can be enabled in an OSPF area or on a specific interface.
l Enable OSPF in an OSPF area, run network ip-address wildcard-mask
Network segments belonging to the area are configured.
OSPF can properly run on an interface only when the following conditions are met:
– The IP address mask length of the interface is greater than or equal to the mask
length specified in the network command.
– The primary IP address of the interface belongs to the network segment specified in
the network command.
By default, OSPF advertises the IP address of a loopback interface as a 32-bit host route,
which is irrelevant to the mask length configured on the loopback interface. To advertise
routes to the network segment of the loopback interface, configure the network type as
NBMA or broadcast in the interface view. For details, see 5.9.1 Configuring Network
Types of OSPF Interfaces.
l Enable OSPF on an interface. Run the following command in the system view:
a. Run interface interface-type interface-number
The interface view is displayed.
b. (On an Ethernet interface), run undo portswitch
The interface is switched to Layer 3 [Link] default, an Ethernet interface works
in Layer 2 [Link] an Ethernet interface already has Layer 2 configuration, this
command fails to be executed on the interface. Before running this command on the
interface, delete all the Layer 2 configuration of the interface.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch
batch interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in
the system view to switch these interfaces to Layer 3 mode in batches.
c. Run ospf enable process-id area area-id
----End
Context
After OSPF areas are defined, OSPF route updates between non-backbone areas are
implemented through a backbone area. Therefore, OSPF requires that all non-backbone areas
maintain connectivity with the backbone area and that the backbone areas in different OSPF
areas maintain connectivity with each other. However, it is not true in real world due to
certain restrictions. To resolve this problem, you can configure OSPF virtual links.
Perform the following steps on a switch running OSPF.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ospf [ process-id ]
The OSPF process view is displayed.
Step 3 Run area area-id
The OSPF area view is displayed.
Step 4 Run vlink-peer router-id [ smart-discover | hello hello-interval | retransmit retransmit-
interval | trans-delay trans-delay-interval | dead dead-interval | [ simple [ plain plain-text |
[ cipher ] cipher-text ] | { md5 | hmac-md5 | hmac-sha256 } [ key-id { plain plain-text |
[ cipher ] cipher-text } ] | authentication-null | keychain keychain-name ] ] *
A virtual link is created.
This command must also be configured on the neighboring switch.
If plain is selected, the password is saved in plain text in the configuration file, which brings
security risks. It is recommended that you select cipher to store the password in cipher text.
MD5 authentication and HMAC-MD5 authentication have potential security risks. HMAC-
SHA256 authentication is recommended.
----End
Follow-up Procedure
Different default MTUs may be used on devices provided by different vendors. Therefore, the
MTU needs to be set to 0 by default in DD packets sent by interfaces. This ensures
consistency. For details, see Configuring an Interface to Fill in the DD Packet with the
Actual MTU.
Prerequisites
All configuration of basic OSPF function is complete.
Procedure
l Run the display ospf [ process-id ] peer command in any view to check OSPF neighbor
information.
l Run the display ospf [ process-id ] interface command in any view to check OSPF
interface information.
l Run the display ospf [ process-id ] routing command in any view to check OSPF
routing table information.
----End
Pre-configuration Tasks
Before setting session parameters for OSPF neighbor or adjacency relationships, complete the
following tasks:
l Configuring a link layer protocol
l Configuring IP addresses for interfaces to ensure that neighboring nodes are reachable at
the network layer
l Configuring basic OSPF functions
Configuration Procedure
Perform one or more of the following configuration tasks (excluding the task of Verifying the
OSPF Session Parameter Settings) as required.
Context
After an OSPF switch sends a DD packet, an LSU packet, or an LSR packet, if it does not
receive an LSAck packet within a specified period, it retransmits the packet. After the number
of packet retransmissions reaches a specified limit, the OSPF switch tears down the adjacency
relationship.
Procedure
Step 1 Run system-view
By default, no limit is set for OSPF packet retransmissions. The default maximum number of
packet retransmissions is 30.
----End
Procedure
Step 1 Run system-view
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
Setting the MTU in a DD packet will lead to the re-establishment of the neighbor relationship.
----End
Prerequisites
All settings of session parameters of OSPF neighbor or adjacency relationships are complete.
Procedure
l Run the display ospf [ process-id ] peer command to check OSPF neighbor information.
l Run the display ospf [ process-id ] brief command to check OSPF brief information.
l Run the display ospf [ process-id ] retrans-queue [ interface-type interface-number ]
[ neighbor-id] command to check the OSPF retransmission list.
----End
Applicable Environment
According to the types of link layer protocols, OSPF classifies networks into the following
types:
l P2MP: OSPF does not default any network to a P2MP network regardless of its link
layer protocol. Therefore, a P2MP network must be forcibly changed from another
network type.
l NBMA: If the link layer protocol is FR, X.25, OSPF defaults the network type to
NBMA.
l Broadcast: If the link layer protocol is Ethernet or FDDI, OSPF defaults the network
type to broadcast.
l P2P: If the link layer protocol is PPP, HDLC, or LAPB, OSPF defaults the network type
to P2P.
Without changing the layer protocols, you can change network types and configure OSPF
features to flexibly build networks.
Pre-configuration Tasks
Before configuring OSPF attributes in different types of networks, complete the following
tasks:
l Configuring IP addresses for interfaces to ensure that neighboring nodes are reachable at
the network layer
l Configuring basic OSPF functions
Configuration Procedure
For a P2P network For a P2MP network For an NBMA network For a broadcast network
Set the network type Set the network type Set the network type Set the network type
of the OSPF interface of the OSPF interface of the OSPF interface of the OSPF interface
to P2P to P2MP to NBMA to broadcast
Procedure
Step 1 Run system-view
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
By default, the network type of an interface depends on the physical interface. For example,
the network type of an Ethernet interface is broadcast.
Configuring a new network type for an interface will cause the OSPF session on the interface
to be reestablished.
NOTE
Generally, the network types of OSPF interfaces on both ends of a link must be the same. Otherwise,
route calculation errors occur.
----End
Procedure
Step 1 Run system-view
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
The DR priority of the OSPF interface is set. A larger value indicates a higher priority.
----End
Follow-up Procedure
Restarting or shutting down an interface will interrupt the OSPF neighbor relationships
between devices. Therefore, exercise caution when performing the operation.
Reconfiguring the DR priority for a device does not change the DR or BDR on the network
where the device is deployed. The DR or BDR can be reelected using the following methods.
This, however, will result in the interruption of OSPF adjacency relationships between
devices. Therefore, the following methods are used only when necessary.
Procedure
Step 1 Disable OSPF from checking the network mask in a packet.
1. Run system-view
The system view is displayed.
2. Run interface interface-type interface-number
The interface view is displayed.
3. On an Ethernet interface, run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
The mode switching function takes effect when the interface only has attribute
configurations (for example, shutdown and description configurations). Alternatively, if
configuration information supported by both Layer 2 and Layer 3 interfaces exists (for
example, mode lacp and lacp system-id configurations), no configuration that is not
supported after the working mode of the interface is switched can exist. If unsupported
configurations exist on the interface, delete the configurations first and then run the undo
portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system
view to switch these interfaces to Layer 3 mode in batches.
4. Run ospf network-type p2mp
The network type of the OSPF interface is configured.
A P2MP network must be forcibly changed from another network type. For details, see
Configuring Network Types for OSPF Interfaces.
5. Run ospf p2mp-mask-ignore
OSPF is disabled from checking the network mask in a packet on the P2MP network.
6. Run commit
The configuration is committed.
Step 2 Configure the switch to filter the LSAs to be sent.
When multiple links exist between two switches, you can configure the local switch to filter
the LSAs to be sent. This can reduce unnecessary retransmission of LSAs and thereby save
bandwidth resources.
1. Run quit
The system view is displayed.
2. Run ospf [ process-id ]
The OSPF process view is displayed.
3. Run filter-lsa-out peer ip-address { all | { summary [ acl { acl-number | acl-name } ] |
ase [ acl { acl-number | acl-name } ] | nssa [ acl { acl-number | acl-name } ] } * }
The local switch is configured to filter the LSAs to be sent on the P2MP network.
----End
Procedure
Step 1 Run system-view
----End
Context
On an NBMA network, devices establish neighbor relationships by sending Hello packets.
Procedure
Step 1 Run system-view
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
The interval for sending Poll packets on the NBMA interface is set.
The parameter interval specifies the interval for sending Poll packets on the NBMA interface.
----End
Prerequisites
All configuration of OSPF attributes in different types of networks is complete.
Procedure
l Run the display ospf [ process-id ] interface command to check OSPF interface
information.
l Run the display ospf [ process-id ] peer command to check OSPF neighbor information.
l Run the display ospf brief command to check the interval for sending Poll Hello packets
on an NBMA network.
----End
Applicable Environment
Dividing an AS into different areas can reduce the number of LSAs transmitted on a network
and enhance OSPF extensibility. For some non-backbone areas on the border of an AS, you
can configure these areas as stub areas to further reduce the size of the routing tables and the
number of transmitted LSAs.
Pre-configuration Tasks
Before configuring OSPF stub areas, complete the following tasks:
l Configuring IP addresses for interfaces to ensure that neighboring nodes are reachable at
the network layer
l Configuring basic OSPF functions
Configuration Procedure
Mandatory
procedure
Optional
procedure
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ospf [ process-id ]
The OSPF process view is displayed.
Step 3 Run area area-id
The OSPF area view is displayed.
Step 4 Run stub [ no-summary ]
The current area is configured as a stub area.
If the parameter no-summary is specified, an ABR is disabled from sending summary LSAs
to a stub area. The parameter no-summary takes effect in the area only when the stub
command is configured on an ABR.
To configure an area as a stub area, you need to run the stub command on all switches in the
area.
AS external routes carried in Type 5 LSAs cannot be advertised within a stub area. Therefore,
the switches in a stub area learn AS external routes from an ABR. The ABR automatically
generates a summary LSA (Type 3 LSA) with the link state ID being [Link] and the network
mask being [Link] and then advertises the LSA in the entire stub area.
Step 5 Run commit
The configuration is committed.
----End
Procedure
Step 1 Run system-view
The cost of the default route sent to the stub area is set.
The parameter cost specifies the cost of the Type 3 default route sent to the stub area. The
default cost is 1.
This command applies only to the ABR that is connected to a stub area.
----End
Prerequisites
All configuration of OSPF stub areas is complete.
Procedure
l Run the display ospf [ process-id ] peer command to check OSPF neighbor information.
l Run the display ospf [ process-id ] routing command to check OSPF routing table
information.
----End
Applicable Environment
An excessive number of entries in a routing table wastes network resources and causes high
CPU usage. To reduce entries in a routing table, you can configure a non-backbone area on
the border of an AS as a stub area or an NSSA. For details about how to configure an OSPF
stub area, see 5.10 Configuring OSPF Stub Areas.
An NSSA is a special type of OSPF area. Neither an NSSA nor a stub area transmits routes
learned from other areas in the AS where it resides. Different from a stub area, an NSSA
allows AS external routes to be imported and advertised in the entire AS.
An OSPF stub area can save system resources but cannot import external routes. An NSSA
can be applied to the scenario where AS external routes need to be imported without
consuming excessive system resources.
Type 7 LSAs are used to carry imported AS external routing information in an NSSA. Type 7
LSAs are generated by an ASBR in an NSSA and flooded only in the NSSA where the ASBR
resides. The ABR in an NSSA selectively translates received Type 7 LSAs into Type 5 LSAs
to advertise AS external routes to other areas over the OSPF network.
NOTE
l A Type 7 LSA is a new type of LSA that has been introduced to support NSSAs and describe
imported external routes.
l Type 7 LSAs can be used to carry default route information to guide traffic to other ASs.
Pre-configuration Tasks
Before configuring an NSSA, complete the following tasks:
l Configuring IP addresses for interfaces to ensure that neighboring switches are reachable
at the network layer
l Configuring basic OSPF functions
Procedure
Step 1 Run system-view
NOTE
l To configure an area as an NSSA, you need to run the nssa command on all devices in the area.
l Configuring or deleting NSSA attributes may update the routing information in the area and
interrupt neighbor relationships. NSSA attributes can be reconfigured or deleted only after the
routing update is complete.
----End
Run either of the following commands to check OSPF routing table information:
Applicable Environment
To meet various requirements, such as flexible networking or load balancing optimization on
complex networks, you can adjust OSPF parameters.
Pre-configuration Tasks
Before adjusting OSPF route selection, complete the following tasks:
l Configuring IP addresses for interfaces to ensure that neighboring nodes are reachable at
the network layer
l Configuring basic OSPF functions
Configuration Procedure
Perform one or more of the following configuration tasks (excluding the task of Verifying the
OSPF Route Selection Adjustment Configuration) as required.
Context
You can set the link cost using the ospf cost cost command. If you do not set the link cost of
an OSPF interface using the command, OSPF can automatically calculate the link cost for the
interface based on the interface bandwidth.
The integer part of the calculation result is used as the link cost of the interface. If the
calculated result is less than 1, the cost value is 1. Changing the bandwidth reference value
can change the link cost of an interface.
Procedure
l Setting the link cost for an OSPF interface
a. Run system-view
The system view is displayed.
b. Run interface interface-type interface-number
The OSPF interface view is displayed.
c. On an Ethernet interface, run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
The mode switching function takes effect when the interface only has attribute
configurations (for example, shutdown and description configurations).
Alternatively, if configuration information supported by both Layer 2 and Layer 3
interfaces exists (for example, mode lacp and lacp system-id configurations), no
configuration that is not supported after the working mode of the interface is
switched can exist. If unsupported configurations exist on the interface, delete the
configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch
batch interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in
the system view to switch these interfaces to Layer 3 mode in batches.
d. Run ospf cost cost
The link cost of the OSPF interface is set.
e. Run commit
The configuration is committed.
l Changing the bandwidth reference value
a. Run system-view
The system view is displayed.
b. Run ospf [ process-id ]
The OSPF process view is displayed.
c. Run bandwidth-reference value
The bandwidth reference value is changed.
The parameter value specifies the bandwidth reference value used to calculate the
link cost, in Mbit/s.
d. Run commit
The configuration is committed.
----End
Context
After OSPF calculates equal-cost routes, you can run the nexthop command to select the
route with the highest preference from the equal-cost routes as the next hop. A smaller value
of weight indicates a higher route preference. The default weight is 255. If OSPF discovers
equal-cost routes and the number of equal-cost routes is less than or equal to that specified in
the maximum load-balancing number command, OSPF performs load balancing among
these equal-cost routes.
Procedure
Step 1 Run system-view
l The parameter ip-address specifies the next-hop address of the equal-cost route.
l The parameter value specifies the weight of the next hop. The default value is 255. A
smaller value of weight indicates a higher route preference.
----End
Context
A CE8800, CE7800, CE6800, and CE5800 series switches supports load balancing among
equal-cost routes. That is, you can configure multiple routes, which have the same destination
and preference.
Procedure
Step 1 Run system-view
The maximum number of equal-cost routes is set. The default value is 32 (64 on the
CE6870EI).
NOTE
When the number of equal-cost routes is greater than the number specified in the maximum load-
balancing command, OSPF selects valid routes for load balancing according to the following criteria:
1. Route preference: Routes with higher preferences are selected for load balancing.
2. Interface index: If routes have the same preference, routes with larger interface indexes are selected
for load balancing.
3. Next-hop IP address: If routes have the same preference and same interface index, routes with larger
next-hop IP addresses are selected for load balancing.
----End
Context
All devices in an OSPF routing domain must be configured with the same route selection
rules. At present, most OSPF routing domains adopt the route selection rules defined in RFC
2328.
Procedure
Step 1 Run system-view
The switch is configured to comply with the route selection rules defined in RFC 1583.
NOTE
On a network, if not all switches use the route selection rules defined in RFC 1583, external loops may
occur.
----End
Prerequisites
All configuration of adjusting OSPF route selection is complete.
Procedure
l Run the display ospf [ process-id ] interface command to check OSPF interface
information.
l Run the display ospf [ process-id ] routing command to check OSPF routing table
information.
----End
Pre-configuration Tasks
Before controlling OSPF routing information, complete the following tasks:
l Configuring IP addresses for interfaces to ensure that neighboring nodes are reachable at
the network layer
l Configuring basic OSPF functions
Configuration Procedure
Perform one or more of the following configuration tasks (excluding the task of Verifying the
OSPF Routing Information Control Configuration) as required.
Context
OSPF can ensure loop-free intra-area and inter-area routes; however, OSPF cannot protect
external routes against loops. Therefore, when configuring OSPF to import external routes,
you need to avoid the loops caused by manual configurations.
Perform the following steps on a switch that functions as an ASBR running OSPF:
Procedure
l Configuring OSPF to import routes discovered by other protocols
a. Run system-view
The system view is displayed.
The default parameter values (route cost, tag, and type) are set for OSPF to import
routes.
n The parameter cost cost-value specifies the default cost of external routes
imported by OSPF.
n The parameter inherit-metric indicates that the cost carried in an imported
route itself is inherited. If the cost is not specified in an imported route, the
default cost set using the default command is used as the cost of the imported
route.
When OSPF is configured to import external routes, you can assign default values
to some additional parameters, such as route cost, tag, and type. The route tag
identifies protocol-related information. For example, it can be used to differentiate
AS numbers when OSPF receives BGP routes.
By default, the cost of external routes imported by OSPF is 1; the type of imported
external routes is Type 2; the tag value is 1.
NOTE
You can run one of the following commands, listed in descending order of priority, to set the
cost of imported external routes:
l Run the apply cost command in the route-policy view to set the cost of imported
external routes.
l Run the import-route command in the OSPF view to set the cost of imported external
routes.
l Run the default command to set the default cost of imported external routes.
d. Run import-route limit limit-number [ threshold-alarm { upper-limit upper-
limit-value | lower-limit lower-limit-value } * ]
If OSPF imports a large number of external routes and advertises them to a device
with a smaller routing table capacity, the device may restart unexpectedly. To
address this problem, run the import-route limit command to configure a limit on
the number of LSAs generated when an OSPF process imports external routes.
Check the overload status based on the value of the Current status field in the
display ospf brief command output.
n Normal: The number of LSAs generated when an OSPF process imports
external routes is less than or equal to the lower alarm threshold (in
percentage) multiplied by the maximum number allowed.
n Approach limit: The number of LSAs generated when an OSPF process
imports external routes is approaching (reaching or exceeding 90% of) the
upper alarm threshold.
n Exceed limit: The number of LSAs generated when an OSPF process imports
external routes has reached or exceeded the maximum number allowed.
Ensure that upper-limit-value is greater than or equal to lower-limit-value.
e. Run lsdb-overflow-limit number
The maximum number of external routes supported in an OSPF LSDB is set.
By default, the maximum number of external routes supported in an OSPF LSDB is
not limited.
The lsdb-overflow-limit command is run to ensure that the number of routes is
limited within a proper range. If the number of external routes imported by OSPF
exceeds the configured maximum number, the device deletes self-generated non-
default external routes to ensure the proper forwarding of other external routes.
f. Run commit
The configuration is committed.
----End
Context
In a routing table, a default route is the route with both the destination and mask being [Link].
You can run the display ip routing-table command to check whether a default route is
configured. If the destination address of a packet does not match any entry in the routing
table, the packet is sent using a default route. If the destination address of a packet does not
match any entry in the routing table and no default route exists, the packet is discarded. An
Internet Control Message Protocol (ICMP) packet is then sent, informing the originating host
that the destination host or network is unreachable.
Procedure
l Configuring OSPF to advertise a default route to OSPF areas
a. Run system-view
The system view is displayed.
l An ASE LSA that describes a default route is generated and then advertised only when
there are active default routes of other OSPF processes in the routing table of the local
device.
l Before advertising a default route, OSPF compares the preferences of default routes.
Therefore, if a static default route is configured on an OSPF switch, to add the default
route advertised by OSPF to the current routing table, ensure that the preference of the
configured static default route is lower than that of the default route advertised by OSPF.
d. Run commit
The configuration is committed.
----End
Context
Perform the following steps on an OSPF switch.
Procedure
l Configuring ABR route aggregation
a. Run system-view
The system view is displayed.
----End
Procedure
Step 1 Run system-view
OSPF is a link-state dynamic routing protocol, with routing information carried in LSAs.
Therefore, the filter-policy import command cannot be used to filter advertised or received
LSAs.
The filter-policy import command is used to filter the routes calculated by OSPF. Only
routes that pass the filtering criteria are added to the routing table. Routes that do not pass the
filtering criteria are not added to the OSPF routing table but can be advertised.
Step 4 Run commit
The configuration is committed.
----End
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ospf [ process-id ]
The OSPF process view is displayed.
Step 3 Run filter-policy { acl-number | acl-name acl-name | ip-prefix ip-prefix-name } export
[ protocol [ process-id ] ]
OSPF is configured to filter the routes imported through the import-route command. Only
the routes that pass the filtering criteria are advertised.
l The parameter acl-number specifies the number of a basic ACL.
l The parameter acl-name acl-name specifies the name of an ACL.
l The parameter ip-prefix ip-prefix-name specifies the name of an IP prefix list.
You can specify the parameter protocol [ process-id ] to filter the routes of a certain routing
protocol or a certain OSPF process. If the parameter protocol [ process-id ] is not specified,
OSPF filters all imported routes.
NOTE
----End
Context
When multiple links exist between two switches, you can configure the local switch to filter
the LSAs to be sent. This prevents unnecessary transmissions of LSAs and saves bandwidth
resources.
Perform the following steps on a switch running OSPF.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run interface interface-type interface-number
The interface view is displayed.
Step 3 On an Ethernet interface, run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
Step 4 Run ospf filter-lsa-out { all | { summary [ acl { acl-number | acl-name } ] | ase [ acl { acl-
number | acl-name } ] | nssa [ acl { acl-number | acl-name } ] } * }
The switch is configured to filter the LSAs to be sent.
By default, the LSAs to be sent are not filtered.
----End
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ospf [ process-id ]
The OSPF process view is displayed.
Step 3 Run area area-id
The OSPF area view is displayed.
Step 4 Run the following commands to configure OSPF to filter incoming or outgoing Type 3 LSAs
generated by ABRs as required.
l Run filter { acl-number | acl-name acl-name | ip-prefix ip-prefix-name | route-policy
route-policy-name } export
OSPF is configured to filter the summary LSAs leaving the local area.
----End
Prerequisites
All configuration of controlling OSPF routing information is complete.
Procedure
l Run the display ospf [ process-id ] lsdb command to check OSPF LSDB information.
----End
Pre-configuration Tasks
Before configuring OSPF IP FRR, complete the following tasks:
l Configuring IP addresses for interfaces to ensure that neighboring nodes are reachable at
the network layer
l Configuring basic OSPF functions
Configuration Procedure
Mandatory
procedure
Optional
procedure
Context
FRR calculation consumes a large number of CPU resources. If the device is running features
with higher priorities than FRR calculation, you need to delay FRR calculation.
Perform the following steps on a switch that needs to protect traffic to be forwarded.
Procedure
Step 1 Run system-view
NOTE
OSPF can generate a loop-free backup path only when the OSPF IP FRR traffic protection inequality is
met.
After an OSPF IP FRR filtering policy is configured, only OSPF backup routes that pass the
filtering criteria defined in the policy can be added to the forwarding table.
By default, the solution of selecting a backup path for OSPF IP FRR is node-protection path
first. In some cases, the solution needs to be changed to smallest-cost path first because of
data forwarding capacity or link cost consideration. By default, the higher-cost path is
selected as the backup path. To change the solution of selecting a backup path for OSPF IP
FRR to smallest-cost path first, run the tiebreaker command. After the command is run, the
smallest-cost path is selected as the backup path.
----End
Context
After the parameter frr-binding is set to bind the BFD status to the link status of an interface,
link failures can be detected rapidly. This ensures that traffic is rapidly switched to the backup
link if the primary link fails.
Pre-configuration Tasks
Before binding IP FRR and BFD, complete the following tasks:
Procedure
l Bind IP FRR and BFD in an OSPF process.
a. Run system-view
NOTE
The BFD configuration on an interface takes precedence over that in an OSPF process.
d. Run commit
----End
Procedure
Step 1 Run system-view
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
----End
Prerequisites
All OSPF IP FRR configuration is complete.
Procedure
l Run the display ospf [ process-id ] routing command to check the information about the
primary link and backup link of a route after OSPF IP FRR is configured.
----End
Applicable Environment
A link fault or a topology change causes devices to recalculate routes. Therefore, the
convergence of routing protocols must be speed up to improve the network performance.
Link faults are inevitable. Therefore, a feasible solution is required to fast detect faults and
notify routing protocols of the faults immediately. If BFD is associated with routing protocols,
once a link fault occurs, BFD can speed up the convergence of routing protocols.
Pre-configuration Tasks
Before configuring BFD for OSPF, complete the following tasks:
l Configuring IP addresses for interfaces to ensure that neighboring nodes are reachable at
the network layer
l 5.7 Configuring Basic OSPF Functions
Configuration Procedure
Mandatory procedure
Optional procedure
Procedure
Step 1 Run system-view
----End
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ospf [ process-id ]
The OSPF view is displayed.
Step 3 Run bfd all-interfaces enable
BFD for OSPF is enabled to establish BFD sessions.
If all the interfaces in a certain process are configured with BFD and their neighbor
relationships are in Exstart state, OSPF establishes BFD sessions on all the interfaces in the
process.
To set parameters for BFD sessions, run the bfd all-interfaces { min-rx-interval receive-
interval | min-tx-interval transmit-interval | detect-multiplier multiplier-value | frr-
binding } * command.
l The parameter min-rx-interval receive-interval specifies the expected minimum interval
for receiving BFD packets from a neighbor.
l The parameter min-tx-interval transmit-interval specifies the minimum interval for
sending BFD packets to a neighbor.
l The parameter detect-multiplier multiplier-value specifies the local detection multiplier.
l The parameter frr-binding indicates that the status of the BFD session is bound to OSPF
IP FRR.
NOTE
----End
Context
After the bfd all-interfaces enable command is run in an OSPF process, BFD sessions are
established on all OSPF interfaces with the neighbor relationships being in Full state in the
process.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run interface interface-type interface-number
The view of the interface enabled with BFD for OSPF is displayed.
Step 3 On an Ethernet interface, run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
----End
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run interface interface-type interface-number
The view of the interface enabled with BFD for OSPF is displayed.
Step 3 On an Ethernet interface, run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
If all interfaces in a certain process are configured with BFD and their neighbor relationships
are in Exstart state, OSPF establishes BFD sessions on all the interfaces in the process using
default BFD parameters.
To set parameters for BFD sessions, run the ospf bfd { min-rx-interval receive-interval |
min-tx-interval transmit- interval | detect-multiplier multiplier-value } * command.
NOTE
l The BFD configuration on an interface takes precedence over that in a process. That is, if BFD is
enabled on an interface, BFD parameters set on the interface are used to establish BFD sessions.
l If only the ospf bfd { min-rx-interval receive-interval | min-tx-interval transmit- interval | detect-
multiplier multiplier-value } * command is run to set BFD parameters but the ospf bfd enable
command is not run, BFD is not enabled on the interface.
----End
Prerequisites
All configuration of BFD for OSPF is complete.
Procedure
l Run either of the following commands to check the BFD session information:
– display ospf [process-id ] bfd session interface-type interface-number [ router-id ]
– display ospf [process-id ] bfd session { router-id | all }
----End
Pre-configuration Tasks
Before configuring OSPF fast convergence, complete the following tasks:
Configuration Procedure
Perform one or more of the following configuration tasks (excluding the task of Verifying the
OSPF Fast Convergence Configuration) as required.
Context
With the integration of network services, different services such as data, voice, and video run
on the same network infrastructure, but them have different requirements on the network. For
Video on Demand (VoD) services, the route convergence speed of the multicast source server
is the most critical factor that affects multicast services. It is required that the routes to the
multicast source converge rapidly when network faults occur. On the BGP or MPLS VPN
bearer network where OSPF is used to implement the IP connectivity of the backbone
network, end-to-end routes between PEs need to converge rapidly.
You can set the convergence priority of certain OSPF routes to a larger value so that these
routes converge preferentially. This shortens the interruption of key services and improves the
reliability of the entire network.
Procedure
Step 1 Run system-view
After the convergence priority of certain OSPF routes is set, OSPF can calculate and flood
LSAs, and synchronize LSDBs according to the priority. This speeds up the route
convergence. When an LSA meets multiple priorities, the highest priority takes effect. Before
a convergence priority is set, OSPF calculates LSAs based on the routes carried in them,
namely, in the sequence of intra-area routes, inter-area routes, and AS external routes. This
command makes OSPF calculate the three types of routes separately according to the
specified route calculation priorities. Convergence priorities include critical, high, medium,
and low. During LSA flooding, LSAs are placed into the corresponding critical, high,
medium, and low queues based on their priorities, which speeds up the processing of high-
priority LSAs.
NOTE
----End
Context
Hello packets are commonly used. They are periodically sent on OSPF interfaces to establish
and maintain neighbor relationships. The intervals set on interfaces that need to establish an
OSPF neighbor relationship need to be the same. Otherwise, the interfaces cannot establish
the OSPF neighbor relationship.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run interface interface-type interface-number
The OSPF interface view is displayed.
Step 3 On an Ethernet interface, run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
when the value is less than 10s. Otherwise, if the actual dead timer that takes effect due to the
protection mechanism of a device is greater than 10s, services may be affected.
NOTE
The interval must be longer than or equal to the active/standby switchover period. Otherwise, a protocol
intermittent interruption may occur during the switchover. The default interval for sending Hello packets is
recommended.
----End
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run interface interface-type interface-number
The OSPF interface view is displayed.
Step 3 On an Ethernet interface, run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
NOTE
If the dead interval of an OSPF neighbor is shorter than 10s, the session may be closed. Therefore, if
dead interval is shorter than 10s, the actual dead interval of an OSPF neighbor is not shorter than 10s. If
the conservative mode is configured using the ospf timer hello command, the configured dead timer
takes effect even when its value is less than 10s.
Both the hello timer and the dead timer are restored to their respective default values upon a change of
the network type.
----End
Context
Without Smart-discover being configured, when the neighbor status of a switch changes or the
DR/BDR on a multi-access network (broadcast or NBMA network) changes, the switch does
not send Hello packets to its neighbor until the Hello timer expires. This slows down the
establishment of neighbor relationships between devices. After Smart-discover is configured,
the switch can send Hello packets to its neighbor immediately without waiting for the
expiration of the Hello timer. This speeds up the establishment of neighbor relationships and
therefore implements fast convergence on OSPF networks.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run interface interface-type interface-number
The OSPF interface view is displayed.
Step 3 On an Ethernet interface, run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
----End
Context
In OSPF, the interval for updating LSAs is defined as 5s. This aims to prevent network
connections or frequent route flapping from consuming excessive network bandwidth or
device resources.
On a stable network where routes need to fast converge, you can cancel the interval for
updating LSAs by setting the interval to 0s. In this manner, changes of the topology or the
routes can be immediately advertised on the network through LSAs, thereby speeding up
route convergence on the network.
Procedure
Step 1 Run system-view
By default, an intelligent timer is enabled. After an intelligent timer is enabled, the default
maximum interval for updating LSAs is 5000 ms, the default initial interval is 500 ms, and the
default hold interval is 1000 ms. The mechanism of the intelligent timer is as follows:
1. The initial interval for updating LSAs is specified by start-interval.
2. The interval for the nth (n ≥ 2) LSA update is equal to hold-interval x 2(n-2).
3. When the interval specified by hold-interval x 2(n-2) reaches the maximum interval
specified by max-interval, OSPF uses the maximum interval to update LSAs.
4. If no flapping occurs within the interval specified by max-interval that starts upon the
end of the last LSA update, the intelligent timer exits.
5. If no flapping occurs in the last update interval but flapping occurs in the current update
interval, the LSA update is delayed for a period specified by start-interval. After the
LSA update is complete, the current interval is used for the next LSA update.
Step 4 (Optional) Run lsa-originate-interval suppress-flapping suppress-interval [ threshold
threshold ]
The maximum LSA suppression period is configured.
If frequent LSA flapping occurs, the larger value between lsa-originate-interval suppress-
flapping and lsa-originate-interval is used as the value of the suppression timer.
By default, if a device receives an LSA, it delays route calculation for 10s in route flapping
scenarios.
Step 5 Run commit
The configuration is committed.
----End
Context
In OSPF, the interval for receiving LSAs is defined as 1s. This aims to prevent network
connections or frequent route flapping from consuming excessive network bandwidth or
device resources.
On a stable network where routes need to fast converge, you can cancel the interval for
receiving LSAs by setting the interval to 0s. In this manner, changes of the topology or the
routes can be immediately advertised on the network through LSAs, thereby speeding up
route convergence on the network.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ospf [ process-id ]
The OSPF process view is displayed.
Step 3 Run lsa-arrival-interval { interval | intelligent-timer max-interval start-interval hold-
interval }
The interval for receiving LSAs is set.
l The parameter interval specifies the interval for receiving LSAs, in seconds.
l The parameter intelligent-timer indicates that an intelligent timer is used to set the
interval for receiving router LSAs or network LSAs.
l The parameter max-interval specifies the maximum interval for receiving LSAs, in
milliseconds.
l The parameter start-interval specifies the initial interval for receiving LSAs, in
milliseconds.
l The parameter hold-interval specifies the hold interval for receiving LSAs, in
milliseconds.
On a stable network where routes need to fast converge, you can set the interval for receiving
LSAs to 0s so that changes of the topology or the routes can be detected immediately.
By default, an intelligent timer is enabled. After an intelligent timer is enabled, the default
maximum interval for receiving LSAs is 1000 ms, the default initial interval is 500 ms, and
the default hold interval is 500 ms. The mechanism of the intelligent timer is as follows:
1. The initial interval for receiving LSAs is specified by start-interval.
2. The interval for the nth (n ≥ 2) LSA receipt is equal to hold-interval x 2(n-2).
3. When the interval specified by hold-interval x 2(n-2) reaches the maximum interval
specified by max-interval, OSPF uses the maximum interval to receive LSAs.
4. If no flapping occurs within the interval specified by max-interval that starts upon the
end of the last LSA receipt, the intelligent timer exits.
5. If no flapping occurs in the last interval but flapping occurs in the current interval, the
LSA receipt is delayed for a period specified by start-interval. After LSA receipt is
complete, the current interval is used for the next LSA receipt.
If frequent LSA flapping occurs, the larger value between lsa-arrival-interval suppress-
flapping and lsa-arrival-interval is used as the value of the suppression timer.
By default, if a device receives an LSA, it delays route calculation for 10s in route flapping
scenarios.
----End
Context
When an OSPF LSDB changes, the shortest paths need to be recalculated. If a network
changes frequently, shortest paths are calculated frequently, consuming many system
resources and degrading the system performance. By configuring an intelligent timer to set a
proper interval for SPF calculations, you can prevent excessive consumption of system
memory and bandwidth resources.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ospf [ process-id ]
The OSPF process view is displayed.
Step 3 Run spf-schedule-interval{ interval1 | intelligent-timer max-interval start-interval hold-
interval [ conservative ] | millisecond interval2 }
The interval for SPF calculations is set.
l The parameter interval1 specifies the interval for SPF calculations, in seconds.
l The parameter intelligent-timer indicates that an intelligent timer is used to set the
interval for SPF calculations.
l The parameter max-interval specifies the maximum interval for SPF calculations, in
milliseconds.
l The parameter start-interval specifies the initial interval for SPF calculations, in
milliseconds.
l The parameter hold-interval specifies the hold interval for SPF calculations, in
milliseconds.
l The parameter millisecond interval2 specifies the interval for SPF calculations, in
milliseconds.
By default, an intelligent timer is enabled. After an intelligent timer is set, the maximum
interval for SPF calculations is 5000 ms, the initial interval is 50 ms, and the hold interval is
200 ms.
The mechanism of the intelligent timer is as follows:
1. The initial interval for SPF calculations is specified by start-interval.
2. The interval for the nth (n ≥ 2) SPF calculation is equal to hold-interval x 2(n-2).
3. When the interval specified by hold-interval x 2(n-2) reaches the maximum interval
specified by max-interval, OSPF uses the maxe fanimum interval to perform SPF
calculations.
4. If no flapping occurs within the interval specified by max-interval that starts upon the
end of the last SPF calculation, the intelligent timer exits.
5. If no flapping occurs in the last calculation interval but flapping occurs in the current
calculation interval, the SPF calculation is delayed for a period specified by start-
interval. After the SPF calculation is complete, the current interval is used for the next
SPF calculation.
Step 4 Run commit
The configuration is committed.
----End
Context
Frequent OSPF LSA flapping on the remote device may lead to route flapping on the local
device, affecting services. To address this problem, run the maxage-lsa route-calculate-delay
command to configure the local device to delay route calculation in the case of frequent OSPF
LSA flapping, which suppresses route flapping locally.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ospf [ process-id ]
The OSPF process view is displayed.
Step 3 Run maxage-lsa route-calculate-delay delay-interval
The route calculation delay function is configured to suppress frequent OSPF LSA flapping.
Step 4 Run commit
The configuration is committed.
----End
Context
If the aging timer expires on the local device due to an abnormality, the local device
incorrectly clears all Router LSAs from the remote device, which causes route flapping and
service interruptions. To resolve this issue, active/standby switchover upon abnormal OSPF
LSA aging is automatically enabled. Active/standby switchover is triggered to restore
network connections and service traffic when the following condition is met:
(Number of incorrectly cleared Router LSAs/Total number of Router LSAs) x 100% ≥ 80%
(Router LSAs are those sent by the remote device to the local device.)
To disable function of triggering an active/standby switchover upon abnormal OSPF LSA
aging, run the ospf maxage-lsa auto-protect disable command.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ospf maxage-lsa auto-protect disable
The active/standby switchover upon abnormal OSPF LSA aging is disabled.
By default, active/standby switchover upon abnormal OSPF LSA aging is enabled.
Step 3 Run commit
Context
If an exception occurs on the age field of LSAs, LSAs may be aged unexpectedly, causing
LSA flapping or a route calculation error. For example, if the abnormal aging time is 2500s
and the actual aging time is 500s, LSAs are aged prematurely. To address this problem, OSPF
LSA aging management is enabled by default. If the aging time in a received LSA is greater
than 1800s, OSPF considers the LSA abnormal and changes the aging time to 1700s until the
aging time values of all LSAs in the area become the same. In this case, routes can be
calculated correctly.
By default, the OSPF LSA aging management function is enabled. To disable this function,
run the lsa-age refresh disable command.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run lsa-age refresh disable
OSPF LSA aging management is disabled.
Step 3 Run commit
The configuration is committed.
----End
Prerequisites
All configuration of OSPF fast convergence is complete.
Procedure
l Run the display ospf [ process-id ] brief command to check OSPF brief information.
----End
Context
If an interface carrying OSPF services alternates between Up and Down, OSPF neighbor
relationship flapping occurs on the interface. During the flapping, OSPF frequently sends
Hello packets to reestablish the neighbor relationship, synchronizes LSDBs, and recalculates
routes. In this process, a large number of packets are exchanged, adversely affecting neighbor
relationship stability, OSPF services, and other OSPF-dependent services, such as LDP and
BGP. Suppression of OSPF neighbor relationship flapping can address this problem by
delaying OSPF neighbor relationship reestablishment or preventing service traffic from
passing through flapping links.
Pre-configuration Tasks
Before configuring OSPF neighbor relationship flapping suppression, complete the following
tasks:
l Configuring an IP address for each interface to ensure that neighboring routers are
reachable at the network layer
l Configuring basic OSPF functions
Procedure
Step 1 Run system-view
The system view is displayed.
By default, suppression of OSPF neighbor relationship flapping is enabled globally. To
disable this function globally, run the suppress-flapping peer disable command in the OSPF
view.
Step 2 Run interface interface-type interface-number
The interface view is displayed.
To disable this function on a specified interface, run the ospf suppress-flapping peer disable
command in the interface view.
Step 3 On an Ethernet interface, run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
Flapping suppression detection parameters can be set based on the network requirements on a
specified interface. By default, the detection interval of flapping suppression is 60s, the
suppression threshold is 10, and the interval for exiting suppression is 120s. Default values
are recommended for the detection parameters.
Step 6 Run commit
The configuration is committed.
----End
Applicable Environment
Graceful Restart (GR) is a technology used to ensure normal traffic forwarding and non-stop
forwarding of key services during the restart of routing protocols. GR is one of high
availability (HA) technologies, comprising a set of comprehensive techniques, such as fault-
tolerant redundancy, link protection, faulty node recovery, and traffic engineering. As a fault-
tolerant redundancy technology, GR is widely used to ensure non-stop forwarding of key
services during active/standby switchover and system upgrade.
NOTE
The CE8800, CE7800, CE6800, and CE5800 series switches support only the GR Helper role.
Pre-configuration Tasks
Before configuring OSPF GR, complete the following tasks:
l Configuring IP addresses for interfaces to ensure that neighboring nodes are reachable at
the network layer
l Configuring basic OSPF functions
Procedure
Step 1 Run system-view
Opaque LSAs provide the following generic mechanisms for OSPF extension:
l OSPF uses Type 9 LSAs to support GR.
l OSPF uses Type 10 LSAs to support TE.
Therefore, before configuring OSPF GR, you need to enable the opaque LSA capability using
the opaque-capability enable command.
l The ACL parameters and ip-prefix parameters are used to configure a filtering policy so
that the local switch can enter the Helper mode only after the neighbor passes the
filtering criteria defined in the policy.
l If the parameter ignore-external-lsa is specified, the Helper does not check AS-external
LSAs. By default, the Helper checks AS-external LSAs.
l If parameter planned-only is specified, the Helper supports only planned GR. By
default, the Helper supports both planned GR and unplanned GR.
l If the parameter never is specified, the switch does not support the Helper mode.
----End
Applicable Environment
By configuring timers, you can reduce the number of unnecessary packets transmitted on a
network and reduce the load on devices to improve the network performance.
Pre-configuration Tasks
Before improving stability of an OSPF network, complete the following task:
Configuration Procedure
Perform one or more of the following configuration tasks (excluding the task of Verifying the
OSPF Network Stability Optimization Configuration) as required.
Procedure
Step 1 Run system-view
By default, the preference of OSPF routes is 10. When the parameter ase is specified, the
default preference of AS-external routes is 150.
----End
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run interface interface-type interface-number
The OSPF interface view is displayed.
Step 3 On an Ethernet interface, run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
----End
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run interface interface-type interface-number
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
NOTE
You are not advised to set the interval for retransmitting LSAs between adjacencies to a small value.
Generally, the interval needs to be greater than the round trip time of a packet transmitted between two
adjacencies. Otherwise, certain LSAs are retransmitted unnecessarily.
----End
Context
When devices in an area just finish synchronizing the LSDBs, the LSDBs are still different
from each other. As a result, route flapping occurs. You can configure secure synchronization
to solve this problem. This, however, may delay the establishment of OSPF adjacencies.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ospf [process-id ]
The OSPF view is displayed.
Step 3 Run safe-sync enable
Secure synchronization is configured.
----End
Context
A stub router is used to control traffic and instructs other OSPF routers not to use it to forward
data. Other OSPF routers can have a route to the stub router.
In the Router LSAs generated by a stub router, the costs of all links are set to the maximum
value (65535).
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ospf [ process-id ]
The OSPF process view is displayed.
Step 3 Run stub-router [ on-startup [ interval ] ]
A stub router is configured.
The parameter on-startup [ interval ] specifies the interval during which the switch acts as a
stub router. By default, the interval is 500 seconds.
NOTE
A stub router configured using this command bears no similarity to a switch in a stub area.
----End
Context
To prevent devices on other networks from obtaining local OSPF routing information, and to
prevent the local device from receiving the routing update information advertised by other
devices on the same network, you can prohibit an OSPF interface from sending and receiving
protocol packets.
After an OSPF interface is prohibited from sending and receiving OSPF packets, the interface
can still advertise its direct routes, but not Hello packets. Therefore, no neighbor relationship
can be set up between the device and other devices through this interface.
Procedure
Step 1 Run system-view
The OSPF interface is prohibited from sending and receiving OSPF packets.
You can prohibit an interface from sending and receiving OSPF packets in different OSPF
processes, but the silent-interface command is valid only for the OSPF interface in the local
process.
----End
Prerequisites
All configuration of improving the stability of an OSPF network is complete.
Procedure
l Run the display ospf [ process-id ] brief command to check OSPF brief information.
l Run the display ip routing-table command to check OSPF routing table information.
----End
Applicable Environment
With the increase in attacks on TCP/IP networks and the defects in the TCP/IP protocol suite,
network attacks have an increasingly great impact on the network security. Especially, attacks
on network devices will cause the crash of the network. By configuring GTSM and
authentication, you can improve the security of an OSPF network.
The CE8800, CE7800, CE6800, and CE5800 series switches support the following
authentication modes:
l Simple authentication
l MD5 authentication
l HMAC-MD5 authentication
l Keychain authentication
NOTE
The CE8800, CE7800, CE6800, and CE5800 series switches support OSPF GTSM. For details about
OSPF GTSM, see the CloudEngine 8800, 7800, 6800, and 5800 Series Switches Configuration Guide -
Security.
Pre-configuration Tasks
Before improving security of an OSPF network, complete the following tasks:
l Configuring IP addresses for interfaces to ensure that neighboring nodes are reachable at
the network layer
l Configuring basic OSPF functions
Configuration Procedure
Perform one or more of the following configuration tasks (excluding the task of Verifying the
OSPF Network Security Optimization Configuration) as required.
Context
To apply GTSM, you need to enable GTSM on both ends of an OSPF connection.
The valid TTL range of packets is [255 -hops + 1, 255].
GTSM checks the TTL values of only the packets that match the GTSM policy. For the
packets that do not match the GTSM policy, you can configure the policy to pass or drop
them. If the default action on such packets is set to drop, you need to configure all switch
connections in the GTSM policy. If packets sent from a switch do not match the GTSM
policy, they are dropped, and thereby no connection can be established. This ensures security
but reduces the ease of use.
You can enable the log function to record the information about dropped packets to facilitate
fault locating.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ospf valid-ttl-hops hops [ nonstandard-multicast ] [ vpn-instance vpn-instance-name ]
OSPF GTSM is configured.
NOTE
----End
Context
In area authentication, all switches in an area must use the same authentication mode and
password. For example, all devices in Area 0 use simple authentication and the password of
abc.
If plain is selected in the area authentication configuration, the password is stored in plain
text in the configuration file, which brings security risks. It is recommended that you select
cipher to store the password in cipher text.
Simple authentication, MD5 authentication, and HMAC-MD5 cipher text authentication have
potential security risks. HMAC-SHA256 cipher text authentication is recommended.
Procedure
Step 1 Run system-view
Step 4 Run any of the following commands to configure an authentication mode of the OSPF area as
required:
l Run authentication-mode simple [ plain plain-text | [ cipher ] cipher-text ]
Simple authentication is configured for the OSPF area.
– plain: indicates that the password is stored in plain text.
– cipher: indicates that the password is stored in cipher text. In MD5 or HMAC-MD5
authentication, the password is stored in cipher text by default.
l Run authentication-mode { md5 | hmac-md5 | hmac-sha256 } [ key-id { plain plain-
text | [ cipher ] cipher-text } ]
The specified authentication mode is configured for the OSPF area.
– md5: indicates the MD5 cipher text authentication mode.
– hmac-md5: indicates the HMAC-MD5 cipher text authentication mode.
– hmac-sha256: indicates the HMAC-SHA256 cipher text authentication mode.
Before using keychain authentication, you need to configure keychain information in the system
view. To establish an OSPF neighbor relationship, you need to ensure that key-id, algorithm, and
key-string in the local ActiveSendKey are the same as those in the remote ActiveRecvKey.
----End
Context
Interface authentication, using an authentication mode and a password, is performed among
neighboring switches. The priority of interface authentication is higher than that of area
authentication.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run interface interface-type interface-number
The OSPF interface view is displayed.
Step 3 On an Ethernet interface, run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
Step 4 Run any of the following commands to configure an interface authentication mode as
required:
l Run ospf authentication-mode simple [ plain plain-text | [ cipher ] cipher-text ]
Simple authentication is configured for the OSPF interface.
– simple: indicates simple authentication.
– plain: indicates that the password is stored in plain text. In simple authentication,
the password is stored in plain text by default.
– cipher: indicates that the password is stored in cipher text. In MD5 or HMAC-MD5
authentication, the password is stored in cipher text by default.
l Run ospf authentication-mode { md5 | hmac-md5 | hmac-sha256 } [ key-id { plain
plain-text | [ cipher ] cipher-text } ]
The specified authentication mode is configured for the OSPF interface.
– md5: indicates the MD5 cipher text authentication mode.
– hmac-md5: indicates the HMAC-MD5 cipher text authentication mode.
– hmac-sha256: indicates the HMAC-SHA256 cipher text authentication mode.
l Run ospf authentication-mode null
No authentication is performed on the OSPF interface.
l Run ospf authentication-mode keychain keychain-name
Keychain authentication is configured for the OSPF interface.
NOTE
Before using keychain authentication, you need to configure keychain information in the system
view. To establish an OSPF neighbor relationship, you need to ensure that key-id, algorithm, and
key-string in the local ActiveSendKey are the same as those in the remote ActiveRecvKey.
----End
Prerequisites
All configuration of improving the security of an OSPF network is complete.
Procedure
l Run the display ospf [ process-id ] brief command to check the packet authentication
information.
----End
Applicable Environment
Through the Simple Network Management Protocol (SNMP), the OSPF Management
Information Base (MIB) manages multicast information exchanged between the NMS and
agents.
Pre-configuration Tasks
Before configuring the network management function of OSPF, complete the following tasks:
Procedure
Step 1 Run system-view
----End
Context
OSPF information cannot be restored after you clear it. Therefore, confirm the action before
you use the commands.
To clear OSPF information, run the following reset commands in the user view.
Procedure
l Run the reset ospf [ process-id ] counters [ neighbor [ interface-type interface-number ]
[ router-id ] ] command to reset OSPF counters.
– The parameter counters is used to clear OSPF counters.
– The parameter neighbor specifies neighbor information on a specified interface.
l Run the reset ospf [ process-id ] counters maxage-lsa command to delete the counter
statistics about router LSAs that have aged.
l Run the reset ospf [ process-id ] redistribution command in the user view to re-import
routes.
l Run the reset gtsm statistics { all | slot-id } command in the user view to clear the
GTSM statistics on the device.
l Run the reset ospf [ process-id ] frr command in the user view to perform OSPF IP FRR
calculation again.
l Run the reset ospf process-id suppress-flappingpeer [ interface-type interface-number ]
[ notify-peer command to force the interface to exit OSPF neighbor relationship
flapping suppression.
NOTE
----End
Context
Running the reset ospf command will tear down OSPF adjacencies between switches.
Therefore, confirm the action before you use the command.
To reset OSPF connections, run the following reset command in the user view.
Procedure
l Run the reset ospf [ process-id ] process command in the user view to restart the OSPF
process.
----End
Networking Requirements
As shown in Figure 5-25, all switches run OSPF, and the entire AS is partitioned into three
areas. Switch A and Switch B function as ABRs to forward routes between areas.
After the configuration is complete, each switch should learn the routes to all network
segments in the AS.
Configuration Roadmap
The configuration roadmap is as follows:
1. Enable OSPF on each switch.
2. Specify network segments in different areas.
Procedure
Step 1 Assign an IP address to each interface. The configuration details are not mentioned here.
# Configure Switch B.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchB
[*HUAWEI] commit
[~SwitchB] router id [Link]
[*SwitchB] ospf 1
[*SwitchB-ospf-1] area 0
[*SwitchB-ospf-1-area-[Link]] network [Link] [Link]
[*SwitchB-ospf-1-area-[Link]] quit
[*SwitchB-ospf-1] area 2
[*SwitchB-ospf-1-area-[Link]] network [Link] [Link]
[*SwitchB-ospf-1-area-[Link]] quit
[*SwitchB-ospf-1] commit
[~SwitchB-ospf-1] quit
# Configure Switch C.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchC
[*HUAWEI] commit
[~SwitchC] router id [Link]
[*SwitchC] ospf 1
[*SwitchC-ospf-1] area 1
[*SwitchC-ospf-1-area-[Link]] network [Link] [Link]
[*SwitchC-ospf-1-area-[Link]] network [Link] [Link]
[*SwitchC-ospf-1-area-[Link]] commit
[~SwitchC-ospf-1-area-[Link]] quit
[~SwitchC-ospf-1] quit
# Configure Switch D.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchD
[*HUAWEI] commit
[~SwitchD] router id [Link]
[*SwitchD] ospf 1
[*SwitchD-ospf-1] area 2
[*SwitchD-ospf-1-area-[Link]] network [Link] [Link]
[*SwitchD-ospf-1-area-[Link]] network [Link] [Link]
[*SwitchD-ospf-1-area-[Link]] commit
[~SwitchD-ospf-1-area-[Link]] quit
[~SwitchD-ospf-1] quit
# Configure Switch E.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchE
[*HUAWEI] commit
[~SwitchE] router id [Link]
[*SwitchE] ospf 1
[*SwitchE-ospf-1] area 1
[*SwitchE-ospf-1-area-[Link]] network [Link] [Link]
[*SwitchE-ospf-1-area-[Link]] commit
[~SwitchE-ospf-1-area-[Link]] quit
[~SwitchE-ospf-1] quit
# Configure Switch F.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchF
[*HUAWEI] commit
[~SwitchF] router id [Link]
[*SwitchF] ospf 1
[*SwitchF-ospf-1] area 2
[*SwitchF-ospf-1-area-[Link]] network [Link] [Link]
[*SwitchF-ospf-1-area-[Link]] commit
[~SwitchF-ospf-1-area-[Link]] quit
[~SwitchF-ospf-1] quit
Total Nets: 5
Intra Area: 3 Inter Area: 2 ASE: 0 NSSA: 0
Area: [Link]
Type LinkState ID AdvRouter Age Len Sequence Metric
Router [Link] [Link] 93 48 80000004 1
Router [Link] [Link] 92 48 80000004 1
Sum-Net [Link] [Link] 1287 28 80000002 2
Sum-Net [Link] [Link] 1716 28 80000001 1
Sum-Net [Link] [Link] 1336 28 80000001 2
Sum-Net [Link] [Link] 87 28 80000002 1
Area: [Link]
Type LinkState ID AdvRouter Age Len Sequence Metric
Router [Link] [Link] 1420 48 80000002 1
Router [Link] [Link] 1294 60 80000003 1
Router [Link] [Link] 1296 36 80000002 1
Network [Link] [Link] 1294 32 80000001 0
Sum-Net [Link] [Link] 1325 28 80000001 3
Sum-Net [Link] [Link] 1717 28 80000001 1
Sum-Net [Link] [Link] 1717 28 80000001 2
# Display the routing table on Switch D and perform the ping operation to test the
connectivity.
[~SwitchD] display ospf routing
Total Nets: 5
Intra Area: 2 Inter Area: 3 ASE: 0 NSSA: 0
[~SwitchD] ping [Link]
PING [Link]: 56 data bytes, press CTRL_C to break
Reply from [Link]: bytes=56 Sequence=1 ttl=253 time=62 ms
Reply from [Link]: bytes=56 Sequence=2 ttl=253 time=16 ms
Reply from [Link]: bytes=56 Sequence=3 ttl=253 time=62 ms
Reply from [Link]: bytes=56 Sequence=4 ttl=253 time=94 ms
Reply from [Link]: bytes=56 Sequence=5 ttl=253 time=63 ms
--- [Link] ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 16/59/94 ms
----End
Configuration Files
l Configuration file of Switch A
#
sysname SwitchA
#
vlan batch 10 20
#
router id [Link]
#
interface Vlanif10
ip address [Link] [Link]
#
interface Vlanif20
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
ospf 1
area [Link]
network [Link] [Link]
area [Link]
network [Link] [Link]
#
return
#
interface Vlanif50
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 30
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 50
#
ospf 1
area [Link]
network [Link] [Link]
network [Link] [Link]
#
return
Networking Requirements
As shown in Figure 5-26, all switches run OSPF, and the entire AS is partitioned into three
areas. Switch A and Switch B function as ABRs to advertise routes between areas; Switch D
functions as the ASBR to import external routes (static routes).
It is required to configure Area 1 as a stub area to reduce the LSAs advertised to this area,
which is expected not to affect the route reachability.
Configuration Roadmap
The configuration roadmap is as follows:
1. Configure basic OSPF functions on each switch to realize interconnection.
2. Configure static routes on Switch D and import them into OSPF.
3. Configure Area 1 as a stub area by running the stub command on all switches in Area 1,
and check the OSPF routing information on Switch C.
4. Disable Switch A from advertising Type 3 LSAs to the stub area, and check the OSPF
routing information on Switch C.
Procedure
Step 1 Assign an IP address to each interface. The configuration details are not mentioned here.
Step 2 Configure basic OSPF functions. For details, see 5.23.1 Example for Configuring Basic
OSPF Functions.
Step 3 Configure static routes on Switch D and import them into OSPF.
[~SwitchD] ip route-static [Link] 24 null 0
[*SwitchD] ospf 1
[*SwitchD-ospf-1] import-route static type 1
[*SwitchD-ospf-1] commit
[~SwitchD-ospf-1] quit
NOTE
If Switch C resides in a common area, external routes exist in the routing table.
[~SwitchC] display ospf routing
Total Nets: 6
Intra Area: 2 Inter Area: 3 ASE: 1 NSSA: 0
# Configure Switch C.
[~SwitchC] ospf 1
[*SwitchC-ospf-1] area 1
[*SwitchC-ospf-1-area-[Link]] stub
[*SwitchC-ospf-1-area-[Link]] commit
[~SwitchC-ospf-1-area-[Link]] quit
[~SwitchC-ospf-1] quit
# Configure Switch E.
[~SwitchE] ospf 1
[*SwitchE-ospf-1] area 1
[*SwitchE-ospf-1-area-[Link]] stub
[*SwitchE-ospf-1-area-[Link]] commit
[~SwitchE-ospf-1-area-[Link]] quit
[~SwitchE-ospf-1] quit
NOTE
After the area where Switch C resides is configured as a stub area, a default route exists in the routing
table, and no AS external route exists in the routing table.
[~SwitchC] display ospf routing
Total Nets: 6
Intra Area: 2 Inter Area: 4 ASE: 0 NSSA: 0
Step 5 # Disable Switch A from advertising Type 3 LSAs to the stub area.
[~SwitchA] ospf
[*SwitchA-ospf-1] area 1
[*SwitchA-ospf-1-area-[Link]] stub no-summary
[*SwitchA-ospf-1-area-[Link]] commit
[~SwitchA-ospf-1-area-[Link]] quit
Total Nets: 3
Intra Area: 2 Inter Area: 1 ASE: 0 NSSA: 0
NOTE
After the advertisement of summary LSAs to the stub area is disabled, the routing entries on devices in
the stub area are further reduced, and only a default route to a destination outside the stub area is
reserved.
----End
Configuration Files
l Configuration file of Switch A
#
sysname SwitchA
#
vlan batch 10 20
#
router id [Link]
#
interface Vlanif10
ip address [Link] [Link]
#
interface Vlanif20
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
ospf 1
area [Link]
network [Link] [Link]
area [Link]
network [Link] [Link]
stub no-summary
#
return
NOTE
Configuration files of Switch B and Switch F are similar to the configuration file of Switch A, and
are not mentioned here.
l Configuration file of Switch C
#
sysname SwitchC
#
vlan batch 20 40
#
router id [Link]
#
interface Vlanif20
ip address [Link] [Link]
#
interface Vlanif40
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 20
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 40
#
ospf 1
area [Link]
network [Link] [Link]
network [Link] [Link]
stub
#
return
Networking Requirements
As shown in Figure 5-27, OSPF is enabled on all Switches and the AS is divided into three
areas. Switch A and Switch B function as ABRs to advertise routes between areas; Switch D
functions as the ASBR to import external routes (static routes).
Area0
10GE1/0/1
VLANIF10
[Link]/24
SwitchA 10GE1/0/1 SwitchB
10GE1/0/2 10GE1/0/2
VLANIF10
VLANIF20 VLANIF30
[Link]/24
[Link]/24 [Link]/24
10GE1/0/1 10GE1/0/1
VLANIF20 VLANIF30
[Link]/24 [Link]/24
SwitchC SwitchD
10GE1/0/2 10GE1/0/2
NSSA VLANIF40 VLANIF50
ASBR
[Link]/24 [Link]/24
10GE1/0/1 10GE1/0/1
VLANIF40 VLANIF50
[Link]/24 [Link]/24
SwitchE SwitchF
Area1 Area2
Configuration Roadmap
The configuration roadmap is as follows:
Procedure
Step 1 Configure the VLAN for each interface.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchA
[*HUAWEI] commit
[~SwitchA] vlan batch 10 20
[*SwitchA] interface 10ge 1/0/1
[*SwitchA-10GE1/0/1] port link-type trunk
[*SwitchA-10GE1/0/1] port trunk allow-pass vlan 10
[*SwitchA-10GE1/0/1] quit
[*SwitchA] interface 10ge 1/0/2
[*SwitchA-10GE1/0/2] port link-type trunk
[*SwitchA-10GE1/0/2] port trunk allow-pass vlan 20
[*SwitchA-10GE1/0/2] quit
[*SwitchA] commit
The configurations of Switch B, Switch C, Switch D, Switch E, and Switch F are similar to
the configuration of Switch A, and are not mentioned here.
Step 2 Assign an IP address to each VLANIF interface.
[~SwitchA] interface vlanif 10
[*SwitchA-Vlanif10] ip address [Link] 24
[*SwitchA-Vlanif10] quit
[*SwitchA] interface vlanif 20
[*SwitchA-Vlanif20] ip address [Link] 24
[*SwitchA-Vlanif20] quit
[*SwitchA] commit
The configurations of Switch B, Switch C, Switch D, Switch E, and Switch F are similar to
the configuration of Switch A, and are not mentioned here.
Step 3 Configure basic OSPF functions. For details, see 5.23.1 Example for Configuring Basic
OSPF Functions.
Step 4 Configure Switch D to import static routes. For details, see 5.23.2 Example for Configuring
OSPF Stub Areas.
Step 5 Configure Area 1 as an NSSA.
# Configure Switch A.
[~SwitchA] ospf
[*SwitchA-ospf-1] area 1
[*SwitchA-ospf-1-area-[Link]] nssa default-route-advertise no-summary
[*SwitchA-ospf-1-area-[Link]] quit
[*SwitchA-ospf-1] quit
[*SwitchA] commit
# Configure Switch C.
[~SwitchC] ospf
[*SwitchC-ospf-1] area 1
[*SwitchC-ospf-1-area-[Link]] nssa
[*SwitchC-ospf-1-area-[Link]] quit
[*SwitchC-ospf-1] quit
[*SwitchC] commit
# Configure Switch E.
[~SwitchE] ospf
[*SwitchE-ospf-1] area 1
[*SwitchE-ospf-1-area-[Link]] nssa
[*SwitchE-ospf-1-area-[Link]] quit
[*SwitchE-ospf-1] quit
[*SwitchE] commit
NOTE
You are advised to specify the default-route-advertise and no-summary keywords in the nssa
command run on the ABR (Switch A) to reduce the entries in the routing table of devices in the NSSA.
On other devices in the NSSA, you need to run only the nssa command without specifying the two
keywords.
Total Nets: 3
Intra Area: 2 Inter Area: 1 ASE: 0 NSSA: 0
Step 6 Configure static routes on Switch C and import them into OSPF.
Total Nets: 6
Intra Area: 2 Inter Area: 3 ASE: 1 NSSA: 0
In the routing table on Switch D, you can find that an AS external route is imported to the
NSSA.
----End
Configuration Files
l Configuration file of Switch A
#
sysname SwitchA
#
vlan batch 10 20
#
router id [Link]
#
interface Vlanif10
ip address [Link] [Link]
#
interface Vlanif20
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
ospf 1
area [Link]
network [Link] [Link]
area [Link]
network [Link] [Link]
nssa default-route-advertise no-summary
#
return
NOTE
Configuration files of Switch B, Switch D, and Switch F are similar to the configuration file of
Switch A, and are not mentioned here.
l Configuration file of Switch C
#
sysname SwitchC
#
vlan batch 20 40
#
router id [Link]
#
interface Vlanif20
ip address [Link] [Link]
#
interface Vlanif40
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 20
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 40
#
ospf 1
import-route static
area [Link]
network [Link] [Link]
network [Link] [Link]
nssa
#
ip route-static [Link] [Link] NULL0
#
return
Networking Requirements
As shown in Figure 5-28, Switch A has the highest priority of 100 on the network and is
elected as the DR; Switch C has the second highest priority of 2 and is elected as the BDR;
Switch B has a priority of 0 and therefore cannot be elected as the DR or BDR; Switch D is
not configured with a priority and therefore uses the default priority of 1.
10GE1/0/1 10GE1/0/1
VLANIF10 VLANIF10
[Link]/24 [Link]/24
10GE1/0/1 10GE1/0/1
VLANIF10 VLANIF10
[Link]/24 [Link]/24
SwitchC SwitchD
Configuration Roadmap
The configuration roadmap is as follows:
2. Configure a VLANIF interface for each VLAN and assign an IP address to each
VLANIF interface.
3. Configure a router ID, enable OSPF, and specify network segments on each Switch.
4. Check the DR/BDR status of each Switch using its default DR priority.
5. Set the DR priority of the interface on each Switch and check the DR/BDR status on
each Switch.
Procedure
Step 1 Configure the VLAN for each interface.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchA
[*HUAWEI] commit
[~SwitchA] vlan 10
[*SwitchA-vlan10] quit
[*SwitchA] interface 10ge 1/0/1
[*SwitchA-10GE1/0/1] port link-type trunk
[*SwitchA-10GE1/0/1] port trunk allow-pass vlan 10
[*SwitchA-10GE1/0/1] quit
[*SwitchA] commit
The configurations of Switch B, Switch C, and Switch D are similar to the configuration of
Switch A, and are not mentioned here.
Step 2 Configure a VLANIF interface for each VLAN and assign an IP address to each VLANIF
interface.
[~SwitchA] interface vlanif 10
[*SwitchA-Vlanif10] ip address [Link] 24
[*SwitchA-Vlanif10] commit
[~SwitchA-Vlanif10] quit
The configurations of Switch B, Switch C, and Switch D are similar to the configuration of
Switch A, and are not mentioned here.
Step 3 Configure basic OSPF functions.
# Configure Switch A.
[~SwitchA] router id [Link]
[*SwitchA] ospf
[*SwitchA-ospf-1] area 0
[*SwitchA-ospf-1-area-[Link]] network [Link] [Link]
[*SwitchA-ospf-1-area-[Link]] quit
[*SwitchA-ospf-1] quit
[*SwitchA] commit
# Configure Switch B.
[~SwitchB] router id [Link]
[*SwitchB] ospf
[*SwitchB-ospf-1] area 0
[*SwitchB-ospf-1-area-[Link]] network [Link] [Link]
[*SwitchB-ospf-1-area-[Link]] quit
[*SwitchB-ospf-1] quit
[*SwitchB] commit
# Configure Switch C.
[~SwitchC] router id [Link]
[*SwitchC] ospf
[*SwitchC-ospf-1] area 0
[*SwitchC-ospf-1-area-[Link]] network [Link] [Link]
[*SwitchC-ospf-1-area-[Link]] quit
[*SwitchC-ospf-1] quit
[*SwitchC] commit
# Configure Switch D.
[~SwitchD] router id [Link]
[*SwitchD] ospf
[*SwitchD-ospf-1] area 0
[*SwitchD-ospf-1-area-[Link]] network [Link] [Link]
[*SwitchD-ospf-1-area-[Link]] quit
[*SwitchD-ospf-1] quit
[*SwitchD] commit
# Display the neighbor information on Switch A to check the DR and BDR status.
[~SwitchA] display ospf peer
As shown in the neighbor information on Switch A, the DR priority of Switch A is the default
value of 1 and its neighbor status indicates that Switch D functions as the DR and Switch C
functions as the BDR.
NOTE
When switches have the same DR priority, the switch with a higher router ID is elected as the DR. After
DR/BDR election is complete, a new switch cannot become the DR even if it has the highest DR
priority.
Configure Switch B.
[~SwitchB] interface Vlanif 10
[~SwitchB-Vlanif10] ospf dr-priority 0
[*SwitchB-Vlanif10] quit
[*SwitchB] commit
# Configure Switch C.
[~SwitchC] interface Vlanif 10
[~SwitchC-Vlanif10] ospf dr-priority 2
[*SwitchC-Vlanif10] quit
[*SwitchC] commit
NOTE
In the user view of each Switch, run the reset ospf 1 process command simultaneously to
restart the OSPF processes.
If all neighbors are in Full state, the local device establishes adjacencies with all its neighbors.
If a neighbor stays in 2-way state, neither the local device nor the neighbor is the DR or BDR,
and therefore they do not need to exchange LSAs.
If the OSPF interface of a device is in DROther state, the device is neither the DR nor the
BDR.
----End
Configuration Files
l Configuration file of Switch A
#
sysname SwitchA
#
vlan batch 10
#
router id [Link]
#
interface Vlanif10
ip address [Link] [Link]
ospf dr-priority 100
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
ospf 1
area [Link]
network [Link] [Link]
#
return
ospf 1
area [Link]
network [Link] [Link]
#
return
Figure 5-29 Networking diagram for configuring load balancing among OSPF routes
SwitchC
10GE1/0/1 10GE1/0/2
VLANIF10 VLANIF30
[Link]/24 [Link]/24
10GE1/0/1 10GE1/0/1
VLANIF10 VLANIF30
10GE1/0/3 [Link]/24
VLANIF50 [Link]/24
[Link]/24
SwitchA SwitchD
10GE1/0/3
10GE1/0/2 10GE1/0/2 VLANIF60
VLANIF20 VLANIF40 [Link]/24
[Link]/24 [Link]/24
10GE1/0/1 10GE1/0/2
VLANIF20 VLANIF40
[Link]/24 [Link]/24
SwitchB
Configuration Roadmap
The configuration roadmap is as follows:
1. Configure basic OSPF functions on each Switch to implement interconnection.
2. Disable load balancing on Switch A and then check the routing table on Switch A.
3. (Optional) Set weights of equal-cost routes on Switch A.
Procedure
Step 1 Configure the VLAN for each interface.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchA
[*HUAWEI] commit
[~SwitchA] vlan batch 10 20 50
[*SwitchA] interface 10ge 1/0/1
[*SwitchA-10GE1/0/1] port link-type trunk
[*SwitchA-10GE1/0/1] port trunk allow-pass vlan 10
[*SwitchA-10GE1/0/1] quit
[*SwitchA] interface 10ge 1/0/2
[*SwitchA-10GE1/0/2] port link-type trunk
[*SwitchA-10GE1/0/2] port trunk allow-pass vlan 20
[*SwitchA-10GE1/0/2] quit
[*SwitchA] interface 10ge 1/0/3
[*SwitchA-10GE1/0/3] port link-type trunk
[*SwitchA-10GE1/0/3] port trunk allow-pass vlan 50
[*SwitchA-10GE1/0/3] quit
[*SwitchA] commit
The configurations of Switch B, Switch C, and Switch D are similar to the configuration of
Switch A, and are not mentioned here.
Step 2 Assign an IP address to each VLANIF interface.
[~SwitchA] interface vlanif 10
[*SwitchA-Vlanif10] ip address [Link] 24
[*SwitchA-Vlanif10] quit
[*SwitchA] interface vlanif 20
[*SwitchA-Vlanif20] ip address [Link] 24
[*SwitchA-Vlanif20] quit
[*SwitchA] interface vlanif 50
[*SwitchA-Vlanif50] ip address [Link] 24
[*SwitchA-Vlanif50] quit
[*SwitchA] commit
The configurations of Switch B, Switch C, and Switch D are similar to the configuration of
Switch A, and are not mentioned here.
Step 3 Configure basic OSPF functions. For details, see 5.23.1 Example for Configuring Basic
OSPF Functions.
Step 4 Disable load balancing on Switch A.
[~SwitchA] ospf
[*SwitchA-ospf-1] maximum load-balancing 1
[*SwitchA-ospf-1] quit
[*SwitchA] commit
As shown in the routing table, if the maximum number of equal-cost routes for load balancing
is set to 1, OSPF selects [Link] as the next hop to the destination network [Link].
NOTE
Step 5 Restore the default number of equal-cost routes for load balancing on Switch A.
[~SwitchA] ospf
[*SwitchA-ospf-1] undo maximum load-balancing
[*SwitchA-ospf-1] quit
[*SwitchA] commit
As shown in the routing table, when the default settings of load balancing are restored, both
next hops of Switch A, namely, [Link] and [Link], become valid routes. This is because
the default number of equal-cost routes is 32.
Step 6 (Optional) Set weights of equal-cost routes on Switch A.
If you do not want to implement load balancing between Switch B and Switch C, set weights
for the equal-cost routes to specify the next hop.
[~SwitchA] ospf
[~SwitchA-ospf-1] nexthop [Link] weight 1
[*SwitchA-ospf-1] quit
[*SwitchA] commit
As shown in the routing table, after weights are set for the equal-cost routes, the preference of
the route with the next hop being [Link] (the weight is 1) is higher than that of the route
with the next hop being [Link]. Therefore, OSPF selects the route with the next hop being
[Link] as the optimal route.
----End
Configuration Files
l Configuration file of Switch A
#
sysname SwitchA
#
vlan batch 10 20 50
#
interface Vlanif10
ip address [Link] [Link]
#
interface Vlanif20
ip address [Link] [Link]
#
interface Vlanif50
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
interface 10GE1/0/3
port link-type trunk
port trunk allow-pass vlan 50
#
ospf 1 router-id [Link]
nexthop [Link] weight 1
area [Link]
network [Link] [Link]
network [Link] [Link]
network [Link] [Link]
#
return
#
return
Networking Requirements
When a fault occurs on the primary link T, traffic is switched to a backup link. In such a
scenario, two problems arise:
l It takes hundreds of milliseconds for the traffic to be switched to a backup link during
OSPF fault restoration, which leads to service interruption.
l Traffic may be switched to a link passing through Switch A, but Switch A is an ASBR
and is not expected to function as a backup device.
When a fault occurs on the network, OSPF IP FRR can fast switch traffic to a backup link
without waiting for route convergence. This ensures uninterrupted traffic transmission. In
addition, you can also configure Switch A (ASBR) to detour around the backup link.
As shown in Figure 5-30:
l All switches run OSPF.
l Link costs meet the OSPF IP FRR traffic protection inequality.
l When the primary link T fails, Switch S immediately switches traffic to the backup link.
The traffic is forwarded through Switch N.
l Based on the network plan, the link where Switch A resides does not function as an FRR
backup link.
IS-IS
network
Configuration Notes
When configuring OSPF IP FRR, note that:
Before configuring OSPF IP FRR, if an interface is expected not to be an interface of a back
link, you need to block FRR on the interface.
During the configuration of OSPF IP FRR, the lower layer needs to fast respond to a link
change so that traffic can be rapidly switched to the backup link. After the bfd all-interfaces
frr-binding command is run, the BFD session status is associated with the link status of an
interface (when the BFD session goes Down, the link status of the interface becomes Down)
so that link faults can be rapidly detected.
Configuration Roadmap
The configuration roadmap is as follows:
1. Configure basic OSPF functions on each switch.
2. Configure BFD for OSPF on all devices in Area 0.
3. Set the costs of links to ensure that link T is preferred to transmit traffic.
4. Block FRR on a specified interface of Switch S.
5. Enable OSPF IP FRR on Switch S to protect the traffic forwarded by Switch S.
Procedure
Step 1 Assign an IP address to each interface. The configuration details are not mentioned here.
Step 2 Configure basic OSPF functions. For details, see 5.23.1 Example for Configuring Basic
OSPF Functions.
Step 3 Configure BFD for OSPF on all devices in Area 0. For details, see 5.23.7 Example for
Configuring BFD for OSPF.
Step 4 Set the costs of links to ensure that link T is preferred to transmit traffic.
# Configure Switch S.
[~SwitchS] interface vlanif 10
[*SwitchS-Vlanif10] ospf cost 10
[*SwitchS-Vlanif10] quit
[*SwitchS] interface vlanif 20
[*SwitchS-Vlanif20] ospf cost 15
[*SwitchS-Vlanif20] quit
[*SwitchS] interface vlanif 30
[*SwitchS-Vlanif30] ospf cost 10
[*SwitchS-Vlanif30] quit
[*SwitchS] commit
# Configure Switch A.
[~SwitchA] interface vlanif 40
[*SwitchA-Vlanif40] ospf cost 15
[*SwitchA-Vlanif40] quit
[*SwitchA] interface vlanif 10
[*SwitchA-Vlanif10] ospf cost 10
[*SwitchA-Vlanif10] quit
[*SwitchA] commit
# Configure Switch N.
[~SwitchN] interface vlanif 30
[*SwitchN-Vlanif30] ospf cost 10
[*SwitchN-Vlanif30] quit
[*SwitchN] interface vlanif 60
[*SwitchN-Vlanif60] ospf cost 10
[*SwitchN-Vlanif60] quit
[*SwitchN] commit
# Configure Switch E.
[~SwitchE] interface vlanif 20
[*SwitchE-Vlanif20] ospf cost 15
[*SwitchE-Vlanif20] quit
[*SwitchE] interface vlanif 40
[*SwitchE-Vlanif30] ospf cost 15
[*SwitchE-Vlanif30] quit
[*SwitchE] interface vlanif 60
[*SwitchE-Vlanif40] ospf cost 10
[*SwitchE-Vlanif40] quit
[*SwitchE] interface vlanif 70
[*SwitchE-Vlanif70] ospf cost 5
[*SwitchE-Vlanif70] quit
[*SwitchE] commit
Destination :
[Link]/32
Flags : A/-
Configuration Files
l Configuration file of Switch S
#
sysname SwitchS
#
vlan batch 10 20 30
#
bfd
#
interface Vlanif10
ip address [Link] [Link]
ospf cost 10
ospf frr block
#
interface Vlanif20
ip address [Link] [Link]
ospf cost 15
#
interface Vlanif30
ip address [Link] [Link]
ospf cost 10
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port link-type trunk
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 60
#
ospf 1 router-id [Link]
bfd all-interfaces enable
bfd all-interfaces frr-binding
frr
area [Link]
network [Link] [Link]
network [Link] [Link]
#
return
10GE1/0/3
SwitchA SwitchBVLANIF40
[Link]/24
10GE1/0/2 10GE1/0/2
10GE1/0/1 VLANIF20 VLANIF20 10GE1/0/1
VLANIF10 [Link]/24 [Link]/24 VLANIF30
[Link]/24 [Link]/24
10GE1/0/1 10GE1/0/2
VLANIF10 VLANIF30 Area0
[Link]/24 [Link]/24
SwitchC
Configuration Roadmap
The configuration roadmap is as follows:
1. Configure basic OSPF functions on each switch.
2. Enable global BFD.
3. Enable BFD for OSPF on Switch A and Switch B.
Procedure
Step 1 Create VLANs and add corresponding interfaces to the VLANs.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchA
[*HUAWEI] commit
[~SwitchA] vlan 10
[*SwitchA-vlan10] quit
[*SwitchA] vlan 20
[*SwitchA-vlan20] quit
[*SwitchA] interface 10ge 1/0/1
[*SwitchA-10GE1/0/1] port link-type trunk
[*SwitchA-10GE1/0/1] port trunk allow-pass vlan 10
[*SwitchA-10GE1/0/1] quit
[*SwitchA] interface 10ge 1/0/2
[*SwitchA-10GE1/0/2] port link-type trunk
[*SwitchA-10GE1/0/2] port trunk allow-pass vlan 20
[*SwitchA-10GE1/0/2] quit
[*SwitchA] commit
The configurations of Switch B and Switch C are similar to the configuration of Switch A,
and are not mentioned here.
Step 2 Assign an IP address to each VLANIF interface.
[~SwitchA] interface vlanif 10
[*SwitchA-Vlanif10] ip address [Link] 24
[*SwitchA-Vlanif10] quit
[*SwitchA] interface vlanif 20
[*SwitchA-Vlanif20] ip address [Link] 24
[*SwitchA-Vlanif20] quit
[*SwitchA] commit
The configurations of Switch B and Switch C are similar to the configuration of Switch A,
and are not mentioned here.
Step 3 Configure basic OSPF functions. For details, see 5.23.1 Example for Configuring Basic
OSPF Functions.
Step 4 Configure BFD for OSPF.
# Enable global BFD on Switch A.
[~SwitchA] bfd
[*SwitchA-bfd] quit
[*SwitchA] ospf
[*SwitchA-ospf-1] bfd all-interfaces enable
[*SwitchA-ospf-1] quit
[*SwitchA] commit
# Run the display ospf bfd session all command on Switch A and Switch B to verify that the
BFD state is Up on both devices.
The following provides the configuration on Switch A:
[~SwitchA] display ospf bfd session all
OSPF Process 1 with Router ID [Link]
Area [Link] interface [Link](Vlanif20)'s BFD Sessions
NeighborId:[Link] AreaId:[Link]
Interface:Vlanif20
BFDState:Up rx :1000 tx :
1000
Multiplier:3 BFD Local Dis:16385 LocalIpAdd:
[Link]
RemoteIpAdd:[Link] Diagnostic Info:No diagnostic
information
NeighborId:[Link] AreaId:[Link]
Interface:Vlanif10
BFDState:Up rx :1000 tx :
1000
Multiplier:3 BFD Local Dis:16385 LocalIpAdd:
[Link]
RemoteIpAdd:[Link] Diagnostic Info:No diagnostic
information
# Configure BFD on VLANIF 20 of Switch B, set the minimum intervals for sending and
receiving packets to 100 ms, and set the local detection time multiplier to 4.
[*SwitchB] interface vlanif 20
[*SwitchB-Vlanif20] ospf bfd enable
[*SwitchB-Vlanif20] ospf bfd min-tx-interval 100 min-rx-interval 100 detect-
multiplier 4
[*SwitchB-Vlanif20] quit
[*SwitchB] commit
# Run the display ospf bfd session all command on Switch A and Switch B to verify that, on
both devices, the minimum intervals for sending and receiving packets are 100 ms and that
the local detection multiplier is 4.
The following provides the configuration on Switch B:
[~SwitchB] display ospf bfd session all
NeighborId:[Link] AreaId:[Link]
Interface:Vlanif20
BFDState:Up rx :100 tx :
100
Multiplier:4 BFD Local Dis:16385 LocalIpAdd:
[Link]
RemoteIpAdd:[Link] Diagnostic Info:No diagnostic
information
NeighborId:[Link] AreaId:[Link]
Interface:Vlanif30
BFDState:Up rx :100 tx :
100
As shown in the OSPF routing table, the backup link Switch A→Switch C→Switch B takes
effect after the primary link fails. The next hop address of the route to [Link]/24 becomes
[Link].
----End
Configuration Files
l Configuration file of Switch A
#
sysname SwitchA
#
vlan batch 10 20
#
router id [Link]
#
bfd
#
interface Vlanif10
ip address [Link] [Link]
#
interface Vlanif20
ip address [Link] [Link]
ospf bfd enable
ospf bfd min-tx-interval 100 min-rx-interval 100 detect-multiplier 4
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
ospf 1
bfd all-interface enable
area [Link]
network [Link] [Link]
network [Link] [Link]
#
return
l Configuration file of Switch B
#
sysname SwitchB
#
vlan batch 20 30 40
#
router id [Link]
#
bfd
#
interface Vlanif20
ip address [Link] [Link]
ospf bfd enable
ospf bfd min-tx-interval 100 min-rx-interval 100 detect-multiplier 4
#
interface Vlanif30
ip address [Link] [Link]
#
interface Vlanif40
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 30
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
interface 10GE1/0/3
port link-type trunk
port trunk allow-pass vlan 40
#
ospf 1
bfd all-interface enable
area [Link]
network [Link] [Link]
network [Link] [Link]
network [Link] [Link]
#
return
l Configuration file of Switch C
#
sysname SwitchC
#
vlan batch 10 30
#
router id [Link]
#
bfd
#
interface Vlanif10
ip address [Link] [Link]
#
interface Vlanif30
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port link-type trunk
Procedure
Step 1 Check whether the physical status and protocol status of interfaces on both ends are Up and
stable, whether packet loss occurs on the interfaces, and whether the two devices can ping
each other with large packets.
If the physical status of the interfaces is not Up or is unstable (interfaces flap for example),
check the physical link and link layer protocol and ensure that the physical status and protocol
status of the interfaces are Up and that the interfaces have no error packet statistics.
You can perform a ping test for a long time to check whether any packet loss occurs on the
interfaces and ping with large packets (longer than 1500 bytes) to check whether the two
devices can ping each other with large packets.
Step 2 Check whether the OSPF processes on the two devices have the same router ID.
Run the display ospf [ process-id ] brief command on the two devices to check the OSPF
process router IDs.
Each router ID must be unique on the entire network. Otherwise, devices on both ends cannot
establish OSPF neighbor relationships and routing information errors will occur. You need to
configure a unique router ID for each OSPF process on the devices.
If the OSPF processes on the two devices have the same router ID, run the ospf [ process-id ]
router-id router-id command in the system view to change the router ID for one of the OSPF
processes and ensure that the OSPF processes on the two devices have different router IDs.
After the router ID is changed for one of the processes, you must run the reset ospf [ process-
id ] process command in the user view to make the new router ID take effect.
Step 3 Check whether the two devices have the same OSPF area ID.
Run the display ospf [ process-id ] brief command on the two devices to check the OSPF
area IDs.
If the two devices have different OSPF area IDs, run the area area-id command in the OSPF
view to change one of the OSPF area IDs and ensure that the two devices have the same
OSPF area ID.
Step 4 Check whether OSPF interfaces on both ends have the same network type.
Run the display ospf [ process-id ] interface command on the two devices to check the OSPF
interface network types.
The network types of the OSPF interfaces on both ends of a link must be the same; otherwise,
the two interfaces cannot establish an OSPF neighbor relationship.
If the network types of the two OSPF interfaces are different, run the ospf network-type
{ broadcast | nbma | p2mp | p2p } command in the view of one of the OSPF interfaces to
change the network type of the interface and ensure that the two OSPF interfaces have the
same network type.
NOTE
If the network types of OSPF interfaces on both ends are NBMA, you must run the peer ip-address [ dr-
priority priority ] command in the OSPF view to configure NBMA neighbors.
Step 5 Check whether OSPF interfaces on both ends have the same IP address mask.
Run the display current-configuration interface interface-type interface-number command
on the two devices to check the IP address of the specified OSPF interface.
The IP address masks of the OSPF interfaces on both ends of a link must be the same;
otherwise, the two interfaces cannot establish an OSPF neighbor relationship. On a P2MP
network, however, you can run the ospf p2mp-mask-ignore command in the OSPF interface
view to disable a device from checking the network mask so that an OSPF neighbor
relationship can be established.
If the two OSPF interfaces have different IP address masks, run the ip address ip-address
{ mask | mask-length } command in the view of one of the OSPF interfaces to change the IP
address mask of the interface and ensure that the two OSPF interfaces have the same IP
address mask.
Step 6 Check whether IP addresses of the two OSPF interfaces on both ends belong to the network
segment specified in the network command.
Run the display current-configuration interface interface-type interface-number command
on both ends to check the IP addresses of the OSPF interfaces and run the display current-
configuration configuration ospf command on both ends to check the OSPF process
configuration.
OSPF can run on an interface only when the following conditions are met:
l The mask length of the interface's IP address is longer than or equal to that specified in
the network command. OSPF uses reverse mask. For example [Link] indicates that
the mask length is 24 bits.
l The primary IP address of the interface belongs to the network segment specified in the
network command.
If the IP address of an interface does not meet the preceding conditions, run the ip address ip-
address { mask | mask-length } command in the OSPF interface view to change the IP address
of the interface or run the network command in the view of the area that the OSPF process
belongs to change the configured network segment so that the IP address of the interface can
meet the preceding conditions.
Step 7 Check whether the DR priorities of OSPF interfaces on both ends are 0.
Run the display ospf [ process-id ] interface command on the two devices to check the OSPF
interface DR priority.
On a broadcast or NBMA network, there must be at least one OSPF interface with a non-zero
DR priority to ensure that the DR can be elected. Otherwise, the neighbor status of devices on
both ends can be only 2-way.
If the DR priorities of the two OSPF interfaces are both 0, run the ospf dr-priority priority
command in the OSPF interface view to change the DR priority and ensure that there is at
least one OSPF interface with a non-zero DR priority.
----End
Symptom
When the link is normal, OSPF cannot find routes of a non-local area.
Procedure
Step 1 Check whether the area where the device resides is connected to the backbone area.
Run the display ospf [ process-id ] brief command on the ABR in the area where the device
resides to check area configuration.
OSPF requires that all non-backbone areas keep connectivity with the backbone area.
If no backbone area information is configured on the ABR, run the area area-id command in
the OSPF view to modify the OSPF area information and ensure that at least one interface on
the ABR runs in the backbone area.
NOTE
If some non-backbone areas cannot be connected to the backbone area due to networking restrictions,
configure OSPF virtual links.
Step 2 Check whether the area where the device resides is a totally stub area.
If you specify the parameter no-summary (run the stub no-summary command in the OSPF
area view) when configuring a non-backbone area as a stub area on the ABR, the area is
configured as a totally stub area.
A totally stub area allows only intra-area routes to be advertised within the area.
If the area where the device resides is configured as a totally stub area, perform the following
configurations based on service requirements:
l To restore the totally stub area to a common area, run the undo stub command in the
OSPF area view on all devices in the area.
l To restore a totally stub area to a stub area, run the undo stub command in the OSPF
area view on the ABR in the area and then run the stub command.
Step 3 Check whether the area where the device resides is a totally NSSA.
----End
6 OSPFv3 Configuration
By building Open Shortest Path First Version 3 (OSPFv3) networks, you can enable OSPFv3
to discover and calculate routes in ASs. OSPFv3 is applicable to a large-scale network that
consists of hundreds of switches.
Definition
The Open Shortest Path First (OSPF) protocol is a link-state Interior Gateway Protocol (IGP)
developed by the Internet Engineering Task Force (IETF).
OSPF Version 3 (OSPFv3), as defined in RFC 2740 and expanded in RFC 5340, is a
modification of OSPFv2 allowing IPv6 support.
Purpose
The primary purpose of OSPFv3 is to develop a routing protocol independent of any specific
network layer. The internal routing information of OSPFv3 is redesigned to serve this
purpose.
Running on IPv6, OSPFv3 (defined in RFC 2740) is an independent routing protocol whose
functions are enhanced on the basis of OSPFv2.
l The working principles of Hello messages, state machines, link-state databases (LSDBs),
flooding, and route calculation are the same in OSPFv3 and OSPFv2.
l OSPFv3 divides an Autonomous System (AS) into one or more logical areas and
advertises routes through LSAs.
l OSPFv3 ensures routing information consistency by exchanging OSPFv3 packets
between routers within an OSPFv3 area.
l OSPFv3 packets are encapsulated into IPv6 packets, which can be transmitted in unicast
or multicast mode.
Packet Types
Packet Type Description
Database Description (DD) A DD packet contains the summary of the local LSDB.
packet It is exchanged between two OSPFv3 routers to update
the LSDBs.
Link State Request (LSR) packet LSR packets are sent to the neighbor to request the
required LSAs.
An OSPFv3 router sends LSR packets to its neighbor
only after they exchange DD packets.
Link State Update (LSU) packet The LSU packet is used to transmit required LSAs to
the neighbor.
Link State Acknowledgment The LSAck packet is used to acknowledge the received
(LSAck) packet LSA packets.
LSA Types
LSA Type Description
Link-LSA (Type8) Each router generates a link LSA for each link. A link LSA
describes the link-local address and IPv6 address prefix
associated with the link and the link option set in the
network LSA. It is transmitted only on the link.
Router Types
IS-IS ASBR
Area1 Area4
Internal Backbone
Router Router
Area0
Area border router (ABR) An ABR can belong to two or more areas, but one of the
areas must be a backbone area.
An ABR is used to connect the backbone area and the non-
backbone areas. It can be physically or logically connected
to the backbone area.
AS boundary router (ASBR) A router that exchanges routing information with other ASs
is called an ASBR.
An ASBR may not locate on the boundary of an AS. It can
be an internal router or an ABR.
Route Types
Inter-area routes and intra-area routes describe the network structure of an AS. External routes
describe how to select a route to the destination outside an AS. OSPFv3 classifies the
imported AS external routes into Type 1 routes and Type 2 routes.
Table 6-2 lists route types in a descending order of priority.
Type1 external routes Because of the high reliability of Type 1 external routes,
the calculated cost of external routes is equal to that of AS
internal routes, and can be compared with the cost of
OSPFv3 routes.
That is, the cost of a Type1 external route equals the cost of
the route from the router to the corresponding ASBR plus
the cost of the route from the ASBR to the destination
address.
Type2 external routes Because of the low reliability of Type2 external routes, the
cost of the route from the ASBR to a destination outside
the AS is considered far greater than the cost of any
internal path to an ASBR.
Therefore, OSPFv3 only takes the cost of the route from
the ASBR to a destination outside the AS into account
when calculating route costs. That is, the cost of a Type2
external route equals the cost of the route from the ASBR
to the destination of the route.
Area Types
Totally stub area A totally stub area allows the Type3 default routes advertised by
the ABR, and disallows the routes outside the AS and inter-area
routes.
Stub area A stub area allows inter-area routes, which is different from a
totally stub area.
NSSA Imports routes outside an AS, which is different from a stub area.
An ASBR advertises Type7 LSAs in the local area. These Type 7
LSAs are translated into Type 5 LSAs on an ABR, and are then
flooded in the entire OSPFv3 AS.
Network Types
OSPFv3 classifies networks into the following types according to link layer protocols.
Non-broadcast Multiple If the link layer protocol is frame relay, ATM, or X.25, OSPFv3
Access (NBMA) defaults the network type to NBMA.
In this type of networks, protocol packets such as Hello
messages, DD packets, LSR packets, LSU packets, and LSAck
packets, are transmitted in unicast mode.
Point-to-Multipoint Regardless of the link layer protocol, OSPFv3 does not default
(P2MP) the network type to P2MP. A P2MP network must be forcibly
changed from other network types. The common practice is to
change a non-fully connected NBMA to a P2MP network.
In this type of networks, the following situations occur:
l Hello messages are transmitted in multicast mode with the
multicast address as FF02::5.
l Other protocol packets, including DD packets, LSR packets,
LSU packets, and LSAck packets, are transmitted in unicast
mode.
Point-to-point (P2P) If the link layer protocol is PPP, HDLC, or LAPB, OSPFv3
defaults the network type to P2P.
In this type of network, the protocol packets, including Hello
messages, DD packets, LSR packets, LSU packets, and LSAck
packets, are transmitted to the multicast address FF02::5.
Stub Area
A stub area is a special area where the ABRs do not flood the received external routes. In stub
areas, the size of the routing table of the routers and the routing information in transmission
are reduced.
Configuring a stub area is optional. Not all areas can be configured as stub areas. Usually, a
stub area is a non-backbone area with only one ABR and is located at the AS boundary.
To ensure the reachability of a destination outside the AS, the ABR in the stub area generates
a default route and advertises it to the non-ABR routers in the stub area.
Note the following when configuring a stub area:
l The backbone area cannot be configured as a stub area.
l If an area needs to be configured as a stub area, all the routers in this area must be
configured with the stub command.
l An ASBR cannot exist in a stub area. That is, external routes are not flooded in the stub
area.
l A virtual link cannot pass through the stub area.
enabled on the ABR of the area, the IPv6 prefixes can be summarized into one prefix. If
there are multiple LSAs that have the same prefix, the ABR summarizes these LSAs and
advertises only one summarized LSA. The ABR does not advertise any specific LSAs.
l Route summarization on an ASBR
An ASBR can summarize imported routes with the same prefix into one route and then
advertise the summarized route to other areas.
After being enabled with route summarization, an ASBR summarizes imported Type 5
LSAs within the summarized address range. After route summarization, the ASBR does
not generate a separate Type 5 LSA for each specific prefix within the configured range.
Instead, the ASBR generates a Type 5 LSA for only the summarized prefix. In an NSSA,
an ASBR summarizes multiple imported Type 7 LSAs within the summarized address
range into one Type 7 LSA.
Area0 Area2
Virtual Link
ABR Area1 ABR
Transit Area
As shown in Figure 6-2, OSPFv3 packets transmitted between two ABRs are only forwarded
by the OSPFv3 devices that reside between the two ABRs. The OSPFv3 devices detect that
they are not the destinations of the packets, so they forward the packets as common IP
packets.
OSPFv3 Multi-Process
OSPFv3 supports multi-process. More than one OSPFv3 process can run on the same router
because processes are independent of each other. Route interaction between different OSPFv3
processes is similar to the route interaction between different routing protocols.
An interface of a router belongs to only a certain OSPFv3 process.
6.2.2 OSPFv3 GR
Graceful restart (GR) is a technology used to ensure normal traffic forwarding when a routing
protocol restarts and guarantee that key services are not affected in the process.
GR is one of the high availability (HA) technologies, which comprise a series of
comprehensive technologies such as fault-tolerant redundancy, link protection, faulty node
recovery, and traffic engineering. As a redundancy technology, GR is widely used to ensure
uninterrupted forwarding of key data in active/standby switchover and system upgrade.
If GR is not enabled, the active/standby switchover occurring owing to various causes leads to
transient interruption of data forwarding, and as a result, route flapping occurs on the whole
network. Such route flapping and service interruption are unacceptable on a large-scale
network, especially on a carrier network.
In GR mode, the forwarding plane continues to direct data forwarding once a restart occurs,
and the actions on the control plane, such as reestablishment of neighbor relationships and
route calculation, do not affect the forwarding plane. In this manner, service interruption
caused by route flapping is prevented so that the network reliability is improved.
Basic Concepts
l Grace-LSA
– OSPFv3 supports GR by flooding Grace-LSAs on the link.
– Grace-LSAs are used to inform the neighbor of the GR time, cause, and interface
instance ID when GR starts and ends.
l Router function
– A router can function as a GR restarter.
– A router can function as a GR helper.
l GR implementation
– Planned-GR: This refers to the smooth restart of OSPFv3 through the reset ospfv3
graceful-restart command. In this mode, a Grace-LSA is sent to the neighbor
before the restart.
– Unplanned-GR: This refers to the active/standby switchover triggered by router
faults like power down, dead loop, exception or reset in master.
Unlike planned-GR, no Grace-LSA is sent before the active/standby switchover in
unplanned GR mode. Instead, the switchover is directly performed. When the
standby board becomes Up, a Grace-LSA is sent and the GR process starts. The
following procedure is the same as that of planned GR.
GR Process
Restarter Helper
RouterA RouterB
Restarter Helper
Master/slave Grace-LSA
Enter the Helper state
switchover is complete
LSAck
Responds to LSAs
with LSAcks
Send Hello packets, negotiate with
neighbors by exchanging DD
packets, and synchronize LSDBs Synchronize LSDBs
Full
with the Restarter
Exit from the GR state, Flush Grace-LSA Exit from the Helper
recalculate routes, and
state and generate
generate LSAs
Router-LSAs
l On the GR restarter:
1. In planned-GR mode, the GR restarter sends a Grace-LSA to all neighbors to inform
them of the start of a GR process and the period and cause of this process.
In unplanned GR mode, a Grace-LSA is sent to each neighbor immediately after the
standby board is Up to inform the neighbors of the start of a GR process and the period
and cause of the process.
2. The GR restarter performs negotiation with neighbors again to set up new neighbor
relationships.
3. When all the neighbor relationships between the GR restarter and the original neighbors
enter the Full state:
– The GR restarter exits from the GR process and OSPFv3 recalculates routes.
– The GR restarter updates the routing table on the main control board and the FIBs
on interface boards and deletes invalid routing entries.
– The GR restarter sends a Grace-LSA whose aging time is 3600 seconds to instruct
the GR helper to exit from the GR process.
Now, the GR process is complete.
4. If errors occur during a GR process, the GR timer expires, or the neighbor relationship
fails to enter the Full state during a GR process, the GR restarter exits from the process
and OSPFv3 is restarted in non-GR mode. In this case, packets are lost.
l On the GR helper:
1. If a router is configured to support the GR process on its neighbor, the router enters the
helper mode after receiving a Grace-LSA.
2. The GR helper maintains its neighbor relationship with the GR restarter, and the status of
the neighbor relationship does not change.
3. If the GR helper continues to receive Grace-LSAs whose GR period is different from
that on the GR helper, the GR helper updates its GR period.
4. Being informed of the successful GR process through a Grace-LSA whose aging time is
3600 seconds from the GR restarter, the GR helper exits from the GR process.
5. If errors occur during a GR process, the GR helper exits from the helper state and deletes
invalid routes after route calculation.
Table 6-5 Comparison between the OSPFv3 GR mode and the OSPFv3 non-GR mode
When a new router is deployed in the network or a router is restarted, the network traffic may
be lost during BGP convergence. This is because IGP convergence is quicker than BGP
convergence. This problem can be solved through the association between OSPFv3 and BGP.
If a router on a BGP network recovers from a fault, BGP convergence is performed again and
certain packets may be lost during the convergence.
As shown in Figure 6-5, traffic from RouteA to RouterD passes through RouterC, and
traverses a BGP network.
RouterA
OSPFv3
BGP Routes
FC00:0:0:1::1/128
RouterC
If a fault occurs on RouterC, traffic is redirected to RouterB after rerouting. Packets are lost
when RouterC is restored to the normal status.
When the packets destined for RouterD are transmitted from RouterA to RouterC, they are
discarded by RouterC because RouterC has no route to RouterD, as shown in Figure 6-6.
Figure 6-6 Packet loss during the restart of the device not enabled with association between
OSPFv3 and BGP
RouterB
Router Nexthop
BGP FC00:0:0:1::1 RouterD
BGP Routes
OSPFv3 RouterD RouterC FC00:0:1::1/128
RouterA
OSPFv3 RouterD
RouterC
Background
If the status of an interface carrying OSPFv3 services alternates between Up and Down,
OSPFv3 neighbor relationship flapping occurs on the interface. During the flapping, OSPFv3
frequently sends Hello packets to reestablish the neighbor relationship, synchronizes LSDBs,
and recalculates routes. In this process, a large number of packets are exchanged, adversely
affecting neighbor relationship stability, OSPFv3 services, and other OSPFv3-dependent
services, such as LDP and BGP. OSPFv3 neighbor relationship flapping suppression can
address this problem by delaying OSPFv3 neighbor relationship reestablishment or preventing
service traffic from passing through flapping links.
Related Concepts
Flapping_event: reported when the status of a neighbor relationship on an interface last
changes from Full to a non-Full state. The flapping_event triggers flapping detection.
Flapping_count: number of times flapping has occurred.
Detect-interval: detection interval. The interval is used to determine whether to trigger a
valid flapping_event.
Threshold: flapping suppression threshold. When the flapping_count reaches or exceeds
threshold, flapping suppression takes effect.
Resume-interval: interval for exiting from OSPFv3 neighbor relationship flapping
suppression. If the interval between two successive valid flapping_events is longer than
resume-interval, the flapping_count is reset.
Implementation
Flapping detection
Each OSPFv3 interface on which OSPFv3 neighbor relationship flapping suppression is
enabled starts a flapping counter. If the interval between two successive neighbor status
changes from Full to a non-Full state is shorter than detecting-interval, a valid
flapping_event is recorded, and the flapping_count increases by 1. When the flapping_count
reaches or exceeds threshold, flapping suppression takes effect. If the interval between two
successive neighbor status changes from Full to a non-Full state is longer than resume-
interval, the flapping_count is reset.
NOTE
The value of resume-interval must be greater than that of detecting-interval.
Flapping suppression
Flapping suppression works in either Hold-down or Hold-max-cost mode.
l Hold-down mode: In the case of frequent flooding and topology changes during neighbor
relationship establishment, interfaces prevent neighbor relationships from being
reestablished during the suppression period, which minimizes LSDB synchronization
attempts and packet exchanges.
l Hold-max-cost mode: If the traffic forwarding path changes frequently, interfaces use
65535 as the cost of the flapping link during Hold-max-cost suppression, which prevents
traffic from passing through the flapping link.
Flapping suppression can also work first in Hold-down mode and then in Hold-max-cost
mode.
By default, the Hold-max-cost mode takes effect. The mode and suppression duration can be
changed manually.
If an attack causes frequent neighbor relationship flapping, Hold-down mode can minimize
the impact of the attack.
NOTE
When an interface enters the flapping suppression state, all neighbor relationships on the interface enter
the state accordingly.
Exiting from flapping suppression
Interfaces exit from flapping suppression in the following scenarios:
l The suppression timer expires.
l The corresponding OSPFv3 process is reset.
l An OSPF neighbor is reset.
l A command is run to exit from flapping suppression.
Typical Scenarios
Basic scenario
In Figure 6-7, the traffic forwarding path is Router A -> Router B -> Router C -> Router E
before a link failure occurs. After the link between Router B and Router C fails, the
forwarding path switches to Router A -> Router B -> Router D -> Router E. If the neighbor
relationship between Router B and Router C frequently flaps at the early stage of the path
switchover, the forwarding path will be switched frequently, causing traffic loss and affecting
network stability. If the neighbor relationship flapping meets suppression conditions, flapping
suppression takes effect.
l If flapping suppression works in Hold-down mode, the neighbor relationship between
Router B and Router C is prevented from being reestablished during the suppression
period, in which traffic is forwarded along the path Router A -> Router B -> Router D ->
Router E.
l If flapping suppression works in Hold-max-cost mode, 65535 is used as the cost of the
link between Router B and Router C during the suppression period, and traffic is
forwarded along the path Router A -> Router B -> Router D -> Router E.
Router C
cost=10 cost=10
Router D
NOTE
Router A Router E
cost=65535
Router B Router C
Broadcast scenario
In Figure 6-9, four devices are deployed on the same broadcast network using switches, and
the devices are broadcast network neighbors. If Router C flaps due to a link failure, and
Router A and Router B were deployed at different time (Router A was deployed earlier for
example) or the flapping suppression parameters on Router A and Router B are different,
Router A first detects the flapping and suppresses Router C. Consequently, the Hello packets
sent by Router A do not carry Router C's router ID. However, Router B has not detected the
flapping yet and still considers Router C a valid node. As a result, the DR candidates
identified by Router A are Router B and Router D, whereas the DR candidates identified by
Router B are Router A, Router C, and Router D. Different DR candidates result in a different
DR election result, which may lead to route calculation errors. To prevent this problem in
scenarios where an interface has multiple neighbors, such as on a broadcast, P2MP, or NBMA
network, all neighbors on the interface are suppressed when the status of a neighbor
relationship last changes to ExStart or Down. Specifically, if Router C flaps, Router A,
Router B, and Router D on the broadcast network are all suppressed. After the network
stabilizes and the suppression timer expires, Router A, Router B, and Router D are restored to
normal status.
Router A Router B
Router C Router D
Multi-area scenario
In Figure 6-10, Router A, Router B, Router C, Router E, and Router F are connected in area
1, and Router B, Router D, and Router E are connected in backbone area 0. Traffic from
Router A to Router F is preferentially forwarded along an intra-area route, and the forwarding
path is Router A -> Router B -> Router C -> Router E -> Router F. When the neighbor
relationship between Router B and Router C flaps and the flapping meets suppression
conditions, flapping suppression takes effect in the default mode (Hold-max-cost).
Consequently, 65535 is used as the cost of the link between Router B and Router C. However,
the forwarding path remains unchanged because intra-area routes take precedence over inter-
area routes during route selection according to OSPFv3 route selection rules. To prevent
traffic loss in multi-area scenarios, configure Hold-down mode to prevent the neighbor
relationship between Router B and Router C from being reestablished during the suppression
period. During this period, traffic is forwarded along the path Router A -> Router B -> Router
D -> Router E -> Router F.
NOTE
By default, the Hold-max-cost mode takes effect. The mode can be changed to Hold-down manually.
Router C
Router A Router F
cost=10 cost=10
Area 1
Device
Area Router B Device
Router E
Area 0 B
0 cost=10
cost=10 cost=10
Router D
OSPFv3 can still establish and maintain neighbor relationships so that topology
calculation is not based on IP addresses.
ensured because of
various limitations. In
this case, OSPFv3 virtual
links can be configured
between the ABRs in the
new non-backbone area
and those in the
backbone area.
Licensing Requirements
OSPFv3 is a basic feature of CE8800, CE7800, CE6800, and CE5800 series switches and is
not under license control.
Version Requirements
CE8868EI V200R005C10
CE8861EI V200R005C10
CE8860EI V100R006C00
CE8850-32CQ-EI V200R002C50
CE8850-64CQ-EI V200R005C00
CE7850EI V100R003C00
CE7855EI V200R001C00
CE6810EI V100R003C00
CE6850EI V100R001C00
CE6850-48S6Q-HI V100R005C00
CE6850-48T6Q-HI/CE6850U-HI/ V100R005C10
CE6851HI
CE6855HI V200R001C00
CE6856HI V200R002C50
CE6857EI V200R005C10
CE6860EI V200R002C50
CE6865EI V200R005C00
CE6870-24S6CQ-EI/ V200R001C00
CE6870-48S6CQ-EI
CE6870-48T6CQ-EI V200R002C50
CE6875EI V200R003C00
CE6880EI V200R002C50
CE5880EI V200R005C10
CE5810EI V100R002C00
CE5850EI V100R001C00
CE5850HI V100R003C00
CE5855EI V200R002C50
Feature Limitations
In versions earlier than V200R002C50, the CE5855EI does not support IPv6. However,
interfaces on a CE5855EI provide the IPv6 capability when the switch functions as a leaf
switch in a super virtual fabric (SVF) system and the SVF forwarding mode is set to
centralized or hybrid. In V200R002C50 and later versions, the CE5855EI supports IPv6.
OSPFv3 Disabled
The interval of sending Hello For the interface of the broadcast type, the interval for
packets sending Hello packets is 10 seconds.
The dead interval of the The dead interval of OSPFv3 neighbor is 40 seconds for
OSPFv3 neighbor the interface of broadcast type.
Applicable Environment
Before building OSPFv3 networks, you need to configure basic OSPFv3 functions. That is,
you must enable OSPFv3 and specify the interface, area ID and router ID before configuring
other functions.
Pre-configuration Tasks
Before configuring basic OSPFv3 functions, complete the following tasks:
l Enabling IPv6 capabilities
l Making the network layers of the adjacent nodes accessible
Context
OSPFv3 supports multiple processes. Multiple OSPFv3 processes running on one switch are
differentiated by process IDs. OSPFv3 process ID is set when OSPFv3 is enabled and is only
locally valid. It does not affect the packet exchange with other switchs.
In the format of an IPv4 address, a router ID is a 32-bit unsigned integer that uniquely
identifies a switch within an AS. The router ID of OSPFv3 must be manually set. If no router
ID is set, OSPFv3 fails to run normally.
When manually setting the router ID, ensure that the router IDs of any two switchs in an AS
are different. When multiple processes are enabled on a switch, it is necessary to specify a
unique route ID for each process.
To ensure the stable running of OSPFv3, you need to allocate router IDs and set them in
network planning.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ospfv3 [ process-id ] [ vpn-instance vpn-instance-name ]
OSPFv3 is enabled and the OSPFv3 view is displayed.
If a VPN instance is specified, the OSPFv3 process belongs to the specified VPN instance.
Otherwise, the OSPFv3 process belongs to the public network instances.
Step 3 Run router-id router-id
A Router ID is set.
If a router ID conflict occurs, perform either of the following operations:
l Reconfigure a router ID.
l Run the undo ospfv3 router-id auto-recover disable command to enable the router ID
automatic recovery function. After the function is enabled, the system automatically
allocates a new router ID.
NOTE
– If the automatic recovery function is enabled and a router ID conflict occurs between indirectly
connected switches in one OSPF area, the system replaces the conflicted router ID with a newly
calculated one. The automatic recovery function takes effect on both configured and automatically
generated router IDs.
– The system can replace a router ID in a maximum of three attempts in case the router ID conflict
persists.
----End
Context
After enabling OSPFv3 in the system view, you need to enable OSPFv3 on the interface.
Because an interface has multiple instances, you need to specify which instance of the
interface is enabled in the OSPFv3 process when OSPFv3 is enabled on the interface. If no
instance ID is specified, the value defaults to 0. The same instance must be enabled on the
interfaces between which the neighbor relationship is set up.
Do as follows on the switch that runs OSPFv3.
Procedure
Step 1 Run system-view
The system view is displayed.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
When an interface supports multi-instances, you must specify the value of instance-id when enabling OSPFv3
on the interface. If the value of instance-id is not specified, the default value 0 is adopted. In this case, the
configured network type of an interface mismatches the actual network type of the interface. This step is
mandatory in such a case.
----End
Context
When configuring the switchs in the same area, uniformly plan the configuration data..
Otherwise, neighbor switchs cannot exchange information with each other. This causes
congestion of routing information or routing loops.
Do as follows on the switch that runs OSPFv3.
Procedure
Step 1 Run system-view
The area ID can be entered as a decimal integer or in the IPv4 address format. However, it is
displayed in the IPv4 address format.
----End
Prerequisites
The configurations for the Basic OSPFv3 Functions are complete.
Procedure
l Run the display ospfv3 [ process-id ] command to check the summary information about
the OSPFv3 process.
l Run the display ospfv3 [ process-id ] interface [ [ area area-id ] [ interface-type
interface-number ] | no-peer ] command to check the OSPFv3 interface information.
l Run the commands as follow to check the LSDB information about OSPFv3:
– display ospfv3 [ process-id ] lsdb [ area area-id ] [ originate-router advertising-
router-id | self-originate ] [ { external | grace | inter-prefix | inter-router | intra-
prefix | link | network | router | router-information | nssa } [ link-state-id ] ]
[ resolve-hostname | age { min-value min-age-value | max-value max-age-value }
*]
----End
Applicable Environment
In applications, establishing or maintaining the OSPFv3 neighbor relationship is a premise for
the construction of an OSPFv3 network. After the configuration in this section, you can:
l Adjust the convergence speed of the OSPFv3 network and network load posed by
protocol packets by modifying OSPFv3 timers.
l Enable OSPFv3 to be disconnected from its neighbor when the number of OSPFv3
packet retransmissions exceeds the threshold by configuring Retransmission Limitation
for OSPFv3. This prevents non-stop packet retransmissions if the neighbor does not
receive packets.
l Speed up the convergence of an OSPFv3 network by adjusting the intervals for updating
and receiving LSAs.
Pre-configuration Tasks
Before establishing or maintaining the OSPFv3 neighbor relationship, complete the following
tasks:
Context
Hello packets are periodically sent to the neighbor switch to detect and maintain the neighbor
relationship and to elect the DR and the BDR. RFC 2328 requires that the Hello timer values
of neighbors be consistent. The value of the Hello timer is inversely proportional to the route
convergence speed and network load.
Procedure
Step 1 Run system-view
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
NOTE
The interval must be longer than or equal to the active/standby switchover period. Otherwise, a protocol
intermittent interruption may occur during the switchover. The default interval for sending Hello packets is
recommended.
----End
Context
If a switch does not receive any Hello packet from its neighbor during a specified period, the
neighbor switch is considered invalid. The specified period is called the dead time of the
neighbor relationship. The dead time must be at least four times the Hello interval on an
interface.
Do as follows on the switch that runs OSPFv3.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run interface interface-type interface-number
The interface view is displayed.
Step 3 On an Ethernet interface, run undo portswitch
The interface is switched to Layer 3 mode.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
NOTE
If the dead interval of an OSPFv3 neighbor is shorter than 10s, the session may be closed. Therefore, if
dead interval is shorter than 10s, the actual dead interval of an OSPFv3 neighbor is not shorter than 10s.
If the conservative mode is configured using the ospfv3 timer hello command, the configured dead
timer takes effect even when its value is less than 10s.
----End
Context
Do as follows on the switch that runs OSPFv3.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run interface interface-type interface-number
The interface view is displayed.
Step 3 On an Ethernet interface, run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
The value of seconds must be greater than a round trip of one packet transmitted between two
switchs.
NOTE
Do not set a value which is too small, for the interval between LSA retransmissions. Otherwise,
unnecessary retransmissions may occur.
----End
Context
The LSA ages out in the LSDB of a local switch instead of in the transmission process. You
need to set the delay for an LSA before sending it. For a low-speed network, this
configuration is necessary.
Procedure
Step 1 Run system-view
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
----End
Prerequisites
The configurations for the Establishing or Maintaining OSPFv3 Neighbor Relationship are
complete.
Procedure
l Run the display ospfv3 [ process-id ] command to check the summary information about
the OSPFv3 process.
l Run the display ospfv3 [ process-id ] interface [ [ area area-id ] [ interface-type
interface-number ] | no-peer ] command to check the OSPFv3 interface information.
l Run the commands as follow to check the LSDB information about OSPFv3:
– display ospfv3 [ process-id ] lsdb [ area area-id ] [ originate-router advertising-
router-id | self-originate ] [ { external | grace | inter-prefix | inter-router | intra-
prefix | link | network | router | router-information | nssa } [ link-state-id ] ]
[ resolve-hostname | age { min-value min-age-value | max-value max-age-value }
*]
----End
Applicable Environment
To reduce the number of LSAs in the network and enhance OSPFv3 extensibility, define
OSPFv3 areas. For some non-backbone areas at the edge of ASs, you can define them as stub
areas for further reducing the size of the routing table and the number of LSAs.
Pre-configuration Tasks
Before configuring OSPFv3 area attributes, complete the following tasks:
Context
Do as follows on each switch that runs OSPFv3 in the stub area:
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ospfv3 [ process-id ]
The OSPFv3 view is displayed.
Step 3 Run area area-id
The OSPFv3 area view is displayed.
Step 4 Run stub [ no-summary ]
The area is configured as a stub area.
Step 5 (Optional) Run default-cost cost
The cost of the default route sent to the stub area is set.
By default, the cost of the default route sent to the stub area is 1.
This command is configured on the ABR of the stub area only to set the cost of the default
route to be sent to the stub area. This command does not need to be configured on other
switchs in the stub area.
The parameter no-summary takes effect only when the stub command is configured on the
ABR. If this parameter is configured, the ABR only sends the summary-LSA of a default
route to the stub area without originating other summary-LSAs. The stub area without AS-
external-LSAs or Summary-LSAs is called a totally stub area.
Step 6 Run commit
----End
Context
An excessive number of entries in a routing table cause high CPU usage. To reduce the
number of entries in a routing table, configure a non-backbone area on the border of an AS as
a stub area or an NSSA to reduce the amount of routing information to be transmitted. For
details on how to configure an OSPFv3 stub area, see Configuring OSPF Stub Areas.
OSPFv3 stub areas cannot import or transmit external routes. If you need to import external
routes to an area and prevent these routes from consuming resources, configure the area as an
NSSA. NSSAs can import AS external routes and advertise them within the entire AS,
without learning external routes from other areas in the AS, which reduces bandwidth and
storage resource consumption on the device.
Pre-configuration Tasks
Before configuring an OSPFv3 NSSA, complete the following tasks:
l Configure an IP address for each interface to ensure that neighboring routers can use the
IP addresses to communicate with each other.
l Configure basic OSPFv3 functions.
Procedure
Step 1 Run system-view
Step 4 Run nssa [ default-route-advertise [ cost cost | type type | tag tag ] * | no-import-route | no-
summary | translator-always | translator-interval translator-interval | set-n-bit ] *
----End
Prerequisites
The configurations for the OSPFv3 Areas are complete.
Procedure
l Run the display ospfv3 [ process-id ] command to check the summary information about
the OSPFv3 process.
l Run the display ospfv3 [ process-id ] interface [ [ area area-id ] [ interface-type
interface-number ] | no-peer ] command to check the OSPFv3 interface information.
l Run the commands as follow to check the LSDB information about OSPFv3:
– display ospfv3 [ process-id ] lsdb [ area area-id ] [ originate-router advertising-
router-id | self-originate ] [ { external | grace | inter-prefix | inter-router | intra-
prefix | link | network | router | router-information | nssa } [ link-state-id ] ]
[ resolve-hostname | age { min-value min-age-value | max-value max-age-value }
*]
Applicable Environment
In actual applications, to meet the requirements of a complicated networking environment,
you can change OSPFv3 routing policies by configuring OSPFv3 route attributes. Through
the following procedures, you can:
l Set the cost on the OSPFv3 interface.
l Configure load balancing among equal-cost routes.
Pre-configuration Tasks
Before configuring OSPFv3 route attributes, complete the following tasks:
l 6.6 Configuring Basic OSPFv3 Functions
Context
You can control route calculation by setting the link cost of OSPFv3 on different interfaces.
Do as follows on the switch that runs OSPFv3.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run interface interface-type interface-number
The interface view is displayed.
Step 3 On an Ethernet interface, run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
----End
Context
Do as follows on the switch that runs OSPFv3:
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ospfv3 [ process-id ]
The OSPFv3 view is displayed.
Step 3 Run maximum load-balancing number
The maximum number of equal-cost routes is set. The default value is 32 (64 on the
CE6870EI).
If the number of equal-cost routes is greater than number specified in the maximum load-
balancing number command, routes are selected for load balancing based on the following
criteria:
1. Route priority: Routes with smaller priority values are selected for load balancing.
2. Interface index: If routes have the same priority, those with greater interface index values
are selected for load balancing.
3. Next hop IP address: If routes have the same priority and interface index, those with
larger IP addresses are selected for load balancing.
Step 4 (Optional) Run nexthop router-id interface-type interface-number weight value
The preference for equal-cost routes is set.
OSPFv3 selects a next hop from these equal-cost routes according to the weight. The smaller
the weight is, the higher the route preference is.
By default, the preference is not set for equal-cost routes. That is, equal-cost routes forward
packets at the same time for load balancing.
Step 5 Run commit
The configuration is committed.
----End
Prerequisites
The configurations for the OSPFv3 Route Attributes are complete.
Procedure
l Run the display ospfv3 [ process-id ] interface [ [ area area-id ] [ interface-type
interface-number ] | no-peer ] command to check the OSPFv3 interface information.
l Run the commands as follow to check the LSDB information about OSPFv3:
– display ospfv3 [ process-id ] lsdb [ area area-id ] [ originate-router advertising-
router-id | self-originate ] [ { external | grace | inter-prefix | inter-router | intra-
prefix | link | network | router | router-information | nssa } [ link-state-id ] ]
[ resolve-hostname | age { min-value min-age-value | max-value max-age-value }
*]
Applicable Environment
Through the configuration in this section, you can control the advertising and receiving of
OSPFv3 routing information and configure OSPFv3 to import external routes.
Pre-configuration Tasks
Before controlling OSPFv3 routing information, complete the following tasks:
l 6.6 Configuring Basic OSPFv3 Functions
Context
If multiple continuous network segments exist in this area, use the abr-summary command to
summarize them into one network segment. In this way, the ABR only sends an LSA after
summarization. No LSA that belongs to the summarization network segment is separately
transmitted, reducing the LSDB size of other areas.
When a large number of routes are imported, use the asbr-summary command to summarize
the imported routes and set the delay for advertising the summarized route. In this manner, the
summarized route advertised each time contains more valid routing information, and network
flapping caused by incorrect routing information is avoided.
Procedure
l Configure route summarization on an ABR.
a. Run system-view
cost cost set the cost of a summarized route. By default, the cost of a summarized
route is the maximum cost among those of routes that are summarized. The value
ranges from 1 to 16777214.
a. Run system-view
cost cost specifies the cost of a summarized route. By default, the cost of a
summarized route is the maximum cost among those of routes that are summarized.
The value ranges from 1 to 16777214.
tag tag specifies the tag used to control route advertisement. The value of this
parameter ranges from 0 to 4294967295.
----End
Context
After receiving LSAs, OSPFv3 determines whether to add the calculated routes to the local
routing table according to the filtering policy.
Do as follows on the switch that runs OSPFv3.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ospfv3 [ process-id ]
The OSPFv3 view is displayed.
Step 3 Run filter-policy { acl6-number | acl6-name acl6-name | ipv6-prefix ipv6-prefix-name |
route-policy route-policy-name } import
OSPFv3 is configured to filter the imported routes.
Using the filter-policy command, you can only filter the routes calculated by OSPFv3. Routes
that do not pass the filtering are neither added to the OSPFv3 routing table nor advertised.
Step 4 Run commit
The configuration is committed.
----End
Context
OSPFv3 is a link-state routing protocol and cannot directly filter advertised LSAs, therefore
OSPFv3 must filter routes when importing them. In this way, only the routes that pass the
filtering criteria can be advertised.
Carry out the following steps on the switch that runs OSPFv3.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ospfv3 [ process-id ]
The OSPFv3 view is displayed.
Step 4 Run import-route { bgp [ permit-ibgp ] | direct | ripng help-process-id | static | isis help-
process-id | ospfv3 help-process-id } [ cost cost | type type | tag tag | route-policy route-
policy-name ]*
External routes are imported.
NOTE
NOTE
The filter-policy command takes effect only for the routes imported by an ASBR using the import-
route command. That is, the ASBR filters routes when importing the routes. The routes that are filtered
out do not generate LSAs and cannot be advertised by OSPFv3. If the import-route command is not
configured to import other external routes (including OSPFv3 routes in different processes), the filter-
policy command does not takes effect.
----End
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ospfv3 [ process-id ]
The OSPFv3 process view is displayed.
Step 3 Run area area-id
The OSPFv3 area view is displayed.
Step 4 Filter incoming or outgoing Type 3 LSAs in the area.
l Filter incoming Type 3 LSAs in the area.
Run the filter { acl6-number | acl6-name acl6-name | ipv6-prefix ipv6-prefix-name |
route-policy route-policy-name } import command to filter incoming Type 3 LSAs in
the area.
l Filter outgoing Type 3 LSAs in the area.
Run the filter { acl6-number | acl6-name acl6-name | ipv6-prefix ipv6-prefix-name |
route-policy route-policy-name } export command to filter outgoing Type 3 LSAs in the
area.
Step 5 Run commit
The configuration is committed.
----End
Prerequisites
The configurations for Controlling OSPFv3 Routing Information are complete.
Procedure
l Run the display ospfv3 [ process-id ] command to check the summary information about
the OSPFv3 process.
l Run the display ospfv3 [ process-id ] interface [ [ area area-id ] [ interface-type
interface-number ] | no-peer ] command to check the OSPFv3 interface information.
l Run the commands as follow to check the LSDB information about OSPFv3:
– display ospfv3 [ process-id ] lsdb [ area area-id ] [ originate-router advertising-
router-id | self-originate ] [ { external | grace | inter-prefix | inter-router | intra-
prefix | link | network | router | router-information | nssa } [ link-state-id ] ]
[ resolve-hostname | age { min-value min-age-value | max-value max-age-value }
*]
Context
If an interface carrying OSPFv3 services alternates between Up and Down, OSPFv3 neighbor
relationship flapping occurs on the interface. During the flapping, OSPFv3 frequently sends
Hello packets to reestablish the neighbor relationship, synchronizes LSDBs, and recalculates
routes. In this process, a large number of packets are exchanged, adversely affecting neighbor
relationship stability, OSPFv3 services, and other OSPFv3-dependent services, such as LDP
and BGP. OSPFv3 neighbor relationship flapping suppression can address this problem by
delaying OSPFv3 neighbor relationship reestablishment or preventing service traffic from
passing through flapping links.
Pre-configuration Tasks
Before configuring OSPFv3 neighbor relationship flapping suppression, complete the
following tasks:
l Configure an IP address for each interface to ensure that neighboring routers are
reachable at the network layer.
l Configure basic OSPFv3 functions.
Procedure
Step 1 Run system-view
The system view is displayed.
By default, OSPFv3 neighbor relationship flapping suppression is enabled globally. To disable
this function globally, run the suppress-flapping peer disable command in the OSPFv3 view.
Step 2 Run interface interface-type interface-number
The interface view is displayed.
By default, OSPFv3 neighbor relationship flapping suppression is enabled on all interfaces in
the same OSPFv3 process. To disable the function from one of the interfaces, run the ospfv3
suppress-flapping peer disable command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
NOTE
The value of resume-interval must be greater than that of detecting-interval.
----End
Applicable Environment
By adjusting the OSPFv3 timer, you can change the convergence speed of an OSPFv3
network and the network overload caused by protocol packets. On low-speed links, you need
to consider the delay in transmitting LSAs on the interface. By adjusting the SPF calculation
interval, you can mitigate resource consumption due to frequent network changes.
You can specify the DR priority of an interface to affect the DR/BDR election in a broadcast
network.
Pre-configuration Tasks
Before optimizing an OSPFv3 network, complete the configuration tasks:
l 6.6 Configuring Basic OSPFv3 Functions
Context
When the OSPFv3 link state database (LSDB) changes, SPF calculation needs to be
performed again. A shorter SPF calculation interval can increase the network convergence
speed, but also occupies more resources. If the network changes frequently, the bandwidth
may be used up. A longer SPF calculation interval occupies less resources, which prevents the
bandwidth from being used up due to frequent network changes. However, the network
convergence speed becomes slower in this scenario. Set the interval based on the actual
network.
Do as follows on the switch that runs OSPFv3.
Procedure
l Configure an SPF normal timer.
a. Run system-view
The system view is displayed.
b. Run ospfv3 [ process-id ]
The OSPFv3 view is displayed.
----End
Context
Frequent OSPFv3 LSA flapping may lead to route flapping, adversely affecting services. To
address this problem, run the maxage-lsa route-calculate-delay command to configure the
device to delay route calculation when it receives a MaxAge Router LSA, which suppresses
the frequent OSPFv3 LSA flapping that may occur.
Procedure
Step 1 Run system-view
A route calculation delay is configured and will be triggered when the device receives a
MaxAge Router LSA.
----End
Context
When a network is unstable, control the minimum interval for receiving the same LSA
update. To prevent unnecessary LSA updates caused by network changes, by default, an
intelligent timer is enabled. The interval for receiving LSAs is expressed in milliseconds. The
maximum interval for updating LSAs is 1000 milliseconds (ms), the initial interval is 500 ms,
and the Holdtime interval is 500 ms.
Do as follows on the switch that runs OSPFv3.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ospfv3 [ process-id ]
The OSPFv3 view is displayed.
Step 3 Run lsa-arrival-interval { interval | intelligent-timer max-interval start-interval hold-
interval }
The interval for receiving LSAs is set.
Step 4 (Optional) Run lsa-arrival-interval suppress-flapping suppress-interval
The maximum OSPFv3 LSA suppression period is configured.
If frequent OSPFv3 LSA flapping occurs, the larger value between lsa-arrival-interval
suppress-flapping and lsa-arrival-interval is used to suppress LSA flapping.
By default, if the device receives an LSA, it delays route calculation for 10s.
Step 5 Run commit
The configuration is committed.
----End
Context
Setting the millisecond-level interval for generating the same LSA speeds up network
convergence. When a network becomes unstable, reduce the interval for generating the same
LSA by using an intelligent timer.
Do as follows on the switch that runs OSPFv3.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ospfv3 [ process-id ]
The OSPFv3 view is displayed.
Step 3 Run lsa-originate-interval { 0 | intelligent-timer max-interval start-interval hold-interval
[ other-type interval ] | other-type interval [ intelligent-timer max-interval start-interval
hold-interval ] }
The interval for updating OSPFv3 LSAs by using an SPF intelligent timer is set.
By default, the maximum interval for updating LSAs is 5000 ms, the initial interval for
updating LSAs is 500 ms, the hold interval for updating LSAs is 1000 ms.
Step 4 (Optional) Run lsa-originate-interval suppress-flapping suppress-interval
The maximum OSPFv3 LSA suppression period is configured.
If frequent OSPFv3 LSA flapping occurs, the larger value between lsa-originate-interval
suppress-flapping and lsa-originate-interval is used to suppress LSA flapping.
By default, if the device receives an LSA, it delays route calculation for 10s.
Step 5 Run commit
The configuration is committed.
----End
Context
If an exception occurs in the age field of LSAs, LSAs may be aged unexpectedly, causing
LSA flapping or a route calculation error. For example, if the abnormal aging time is 2500s
and the actual aging time is 500s, LSAs are aged prematurely. To address this problem,
OSPFv3 LSA aging management is enabled by default. If the aging time in a received LSA is
greater than 1800s, OSPFv3 considers the LSA abnormal and changes the aging time to 1700s
until the aging time values of all LSAs in the area become the same. In this case, routes can be
calculated correctly.
By default, the OSPFv3 LSA aging management function is enabled. To disable this function,
run the lsa-age refresh disable command.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run lsa-age refresh disable
OSPFv3 LSA aging management is disabled.
----End
Context
To prevent a switch from advertising routes to the switch on a certain network and from
importing the routes of other switchs, you can suppress the interface on which OSPFv3 is
enabled from receiving and sending OSPFv3 packets.
Do as follows on the switch that runs OSPFv3.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ospfv3 [ process-id ]
The OSPFv3 view is displayed.
Step 3 Run silent-interface { all | interface-type interface-number }
The interface is suppressed from sending and receiving OSPFv3 packets.
Step 4 Run commit
The configuration is committed.
----End
Follow-up Procedure
Different processes can suppress the same interface from sending and receiving OSPFv3
packets, but the silent-interface command is valid only for the OSPFv3 interface on which
the specified process is enabled, and does not take effect on the interface of other processes.
After an OSPFv3 interface is set to be silent, the interface can still advertise its direct routes
through the Intra-Area-Prefix-LSA of the same switch. No OSPFv3 neighbor relationship can
be set up on the interface. Therefore, the OSPFv3 adaptability is enhanced.
Context
The DR priority on a switch interface qualifies the interface for the DR election. If the DR
priority is 0, the switch cannot be elected as a DR or BDR.
Do as follows on the switch that runs OSPFv3.
Procedure
Step 1 Run system-view
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
----End
Follow-up Procedure
After the DR priority is changed, you can re-elect a DR or BDR through the following
methods, which, however, will result in the interruption of the OSPFv3 neighbor relationship
between switchs and therefore are used only when necessary.
Context
A stub router is used to control traffic and instructs other OSPFv3 routers not to use it to
forward data. Other OSPF routers can have a route to the stub router.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ospfv3 [ process-id ]
The OSPFv3 process view is displayed.
Step 3 Run stub-router [ on-startup [ interval ] ]
The switch is configured as a stub router.
NOTE
A stub router configured using this command bears no similarity to a switch in a stub area.
----End
Context
Do as follows on the switch that runs OSPFv3:
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run interface interface-type interface-number
The interface view is displayed.
Step 3 On an Ethernet interface, run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
After the command is used, the interface does not check the MTU field of a received DD
packet.
----End
Prerequisites
The configurations for Optimizing an OSPFv3 Network are complete.
Procedure
l Run the display ospfv3 [ process-id ] command to check the summary information about
the OSPFv3 process.
l Run the display ospfv3 [ process-id ] interface [ [ area area-id ] [ interface-type
interface-number ] | no-peer ] command to check the OSPFv3 interface information.
l Run the commands as follow to check the LSDB information about OSPFv3:
– display ospfv3 [ process-id ] lsdb [ area area-id ] [ originate-router advertising-
router-id | self-originate ] [ { external | grace | inter-prefix | inter-router | intra-
prefix | link | network | router | router-information | nssa } [ link-state-id ] ]
[ resolve-hostname | age { min-value min-age-value | max-value max-age-value }
*]
----End
Pre-configuration Tasks
Before configuring a dynamic hostname, complete the following tasks:
l Configure an IP address for each interface to ensure that neighboring routers can use the
IP addresses to communicate with each other.
l 6.6 Configuring Basic OSPFv3 Functions
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ospfv3 [ process-id ]
The OSPFv3 process view is displayed.
Step 3 Run hostname [ hostname ]
An OSPFv3 dynamic hostname is configured.
NOTE
If you specify hostname in hostname command, hostname is advertised as the dynamic hostname. If no
hostname is specified in hostname command, the hostname specified in the sysname command is
advertised as the dynamic hostname.
----End
Applicable Environment
With the development of networks, Voice over IP (VoIP) and on-line video services require
high-quality real-time transmission. Nevertheless, if an OSPFv3 fault occurs, traffic can be
switched to a new link after far more than 50 ms, which does not meet the requirement for
real-time services on the network.
Normally, traffic can be switched to a new link after the following processes: fault detection
in milliseconds, notifying the fault to the routing control plane in milliseconds, generating and
flooding new topology information in tens of milliseconds, triggering SPF calculation in tens
of milliseconds, and notifying and installing a new route in hundreds of milliseconds. As a
result, all the processes take far more than 50 milliseconds.
With OSPFv3 IP FRR that calculates a backup link in advance, devices can rapidly switch
traffic to the backup link without interrupting services when the primary link becomes faulty.
This protects traffic and greatly improves the reliability of OSPFv3 networks.
Pre-configuration Tasks
Before Configuring OSPFv3 IP FRR, complete the following tasks:
l 6.6 Configuring Basic OSPFv3 Functions
l (Optional) Configuring Global BFD
l (Optional) Configuring BFD for OSPF Feature or (Optional) Configuring BFD on
the Specified Interface
Procedure
Step 1 Enabling OSPFv3 IP FRR
1. Run system-view
The system view is displayed.
2. Run ospfv3 [ process-id ]
An OSPFv3 process is enabled, and the OSPFv3 view is displayed.
3. Run frr
The OSPFv3 IP FRR view is displayed.
4. Run loop-free-alternate
OSPFv3 IP FRR is enabled, and a loop-free backup link is generated.
NOTE
OSPFv3 can generate a loop-free backup link only when the OSPFv3 IP FRR traffic protection
inequality is met.
5. (Optional) Run frr-policy route route-policy route-policy-name
An OSPFv3 IP FRR filtering policy is configured.
After the OSPFv3 IP FRR filtering policy is configured, only the OSPFv3 backup routes
that match the filtering conditions of the policy can be added to the forwarding table.
6. (Optional) Run tiebreaker { node-protecting | lowest-cost } preference preference
The solution of selecting a backup path for OSPFv3 IP FRR is set.
By default, the solution of selecting a backup path for OSPFv3 IP FRR is node-
protection path first. In some cases, the solution needs to be changed to smallest-cost
path first because of data forwarding capacity or link cost consideration. By default, the
bigger-cost path is selected as the backup path. To change the solution of selecting a
backup path for OSPFv3 IP FRR to smallest-cost path first, run the tiebreaker
command. After the command is run, smallest-cost path is selected as the backup path.
7. Run commit
The configuration is committed.
Step 2 (Optional) Blocking FRR on an OSPFv3 Interface
1. In system view, run: interface interface-type interface-number
The view of the OSPFv3 interface running FRR is displayed.
2. Run ospfv3 frr block [ instance instance-id ]
FRR is blocked on the OSPFv3 interface.
3. Run commit
----End
Usage Scenario
To speed up OSPFv3 convergence when the link status changes, you can configure BFD for
OSPFv3 links.
BFD detects links much faster than keep-alive protocols do. If OSPFv3 is bound to BFD
sessions, BFD can notify OSPFv3 of link failures immediately, and then OSPFv3 perform
route calculation and convergence in the new network topology.
Pre-configuration Tasks
Before configuring BFD for OSPFv3, complete the following tasks:
l Configure basic OSPFv3 functions.
Configuration Procedure
Mandatory procedure
Optional procedure
Context
On the two devices that need to establish a BFD session, you can configure BFD for all the
interfaces in a certain OSPFv3 process.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ospfv3 process-id
The OSPFv3 view is displayed.
Step 3 Run bfd all-interfaces enable
BFD for OSPFv3 is enabled to establish a BFD session.
By default, BFD is disabled in an OSPFv3 process.
Step 4 Run commit
The configuration is committed.
----End
Context
After enabling BFD for OSPFv3, you need to configure BFD parameters in the OSPFv3
process.
Procedure
Step 1 Run system-view
----End
Context
After the bfd all-interfaces enable command is used in an OSPFv3 process, the following
situations occur:
l On a P2P network, all OSPFv3 interfaces whose neighbor status is Up set up dynamic
BFD sessions.
l On a broadcast network, all OSPFv3 interfaces whose neighbor status is Up set up
dynamic sessions between DRs and non-DRs.
To prevent certain interfaces from setting up dynamic BFD sessions, perform the following
steps on the interfaces:
Procedure
Step 1 Run system-view
----End
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run interface interface-type interface-number
The interface view is displayed.
Step 3 Run ospfv3 bfd enable
BFD is enabled on the interface to establish a BFD session.
When BFD is configured globally and the neighbor status is Full, OSPFv3 establishes BFD
sessions on all the neighbors in the process using default BFD parameters.
You can run the ospfv3 bfd { min-transmit-interval min-transmit-value | min-receive-
interval min-receive-value | detect-multiplier multiplier-value | frr-binding } * [ instance
instance-id ] command to set parameters for BFD sessions.
NOTE
l The BFD configured on an interface takes precedence over that configured in a process. Specifically,
if BFD is enabled on an interface, BFD parameters on the interface are used to establish BFD
sessions.
l If the parameters of a BFD session are set but the ospfv3 bfd enable command is not run, BFD
cannot be enabled.
----End
Context
GR is a technology used to ensure normal traffic forwarding and non-stop forwarding of key
services during the restart of routing protocols. GR is one of high availability (HA)
technologies. HA technologies comprise a set of comprehensive techniques, such as fault-
tolerant redundancy, link protection, faulty node recovery, and traffic engineering. As a fault-
tolerant redundancy technology, GR is widely used to ensure non-stop forwarding of key
services during the master/slave switchover and system upgrade.
NOTE
Pre-configuration Tasks
Before configuring OSPFv3 GR, complete the following tasks:
Procedure
Step 1 Run system-view
OSPFv3 GR is enabled.
----End
Pre-configuration Tasks
Before Configuring OSPFv3 IPSec, complete the following task:
6.6 Configuring Basic OSPFv3 Functions
Context
IPsec can be configured to prevent protocol packets from being intercepted or faked on a
simple network.
A security association (SA) must be established so that IPSec can protect protocol packets.
An SA is a unidirectional logical connection set up for security purpose and specifies the
elements used by two IPSec peers (two parties that use the IPSec protocol to protect protocol
packets between them). The elements of an SA include the following:
l Security protocol
l Authentication or encryption algorithm supported by the security protocol
l Protocol packet encapsulation mode
l Security parameter index (SPI) of the SA
l Authentication key or encryption key of the SA
The first three elements are specified in an IPSec proposal. To configure IPSec functions, first
configure an IPSec proposal on the IPSec peers, and then configure an SA.
Procedure
Step 1 Configure an IPSec proposal.
1. Run system-view
The system view is displayed.
2. Run ipsec proposal proposal-name
An IPSec proposal is created and the IPSec proposal view is displayed.
3. Run transform { ah | esp }
A security protocol is specified for the IPSec proposal.
By default, the security protocol used by an IPSec proposal is the Encapsulation Security
Protocol (ESP).
4. An authentication or encryption algorithm is configured.
– If AH is used, you can only configure the AH-specific authentication algorithm
because AH only authenticates packets.
NOTE
NOTE
An IPSec can use only one IPSec proposal. To bind a new IPSec proposal to the IPSec SA, delete
the original IPSec proposal.
3. Run sa spi { inbound | outbound } { ah | esp } spi-number
NOTE
– An SPI uniquely identifies an SA. Each SA must be configured with an inbound SPI and an
outbound SPI. The outbound SPI on the local end must be the same as the inbound SPI on the
remote end.
– The security protocol (AH or ESP) you select when configuring the SPI must be the same as
that used in the IPSec proposal bound to the SA.
4. Configure a key according to the security protocol used in the IPSec proposal bound to
the SA.
– If the AH protocol is used, you can configure an authentication key that is a
hexadecimal number or a character string.
n Run the sa authentication-hex { inbound | outbound } ah [ cipher ] hex-
string command to configure a hexadecimal authentication key.
n Run the sa string-key { inbound | outbound } ah [ cipher ] string-key
command to configure a character string as the authentication key.
– If the ESP protocol is used, you can run one of the following commands to
configure the authentication key or the encryption key. You can also configure both
the authentication key and encryption key. If the two keys are configured at the
same time, they can only be hexadecimal keys.
n Run the sa authentication-hex { inbound | outbound } esp [ cipher ] hex-
string command to configure a hexadecimal authentication key.
n Run the sa string-key { inbound | outbound } esp [ cipher ] string-key
command to configure a character string as the authentication key.
n Run the sa encryption-hex { inbound | outbound } esp [ cipher ] hex-string
command to configure a hexadecimal encryption key.
NOTE
– The security protocol (AH or ESP) you select when configuring the key must be the same as
that used in the IPSec proposal bound to the SA.
– The outbound key on the local end must be the same as the inbound key on the remote end.
– The IPSec peers must use the authentication or encryption key in the same format. For
example, if the key on one end is a character string but the key on the other end is a
hexadecimal number, the IPSec tunnel cannot be set up.
– If you configure multiple keys in different formats, the last configured key takes effect.
5. Run quit
Return to the system view.
6. Run commit
The configuration is committed.
----End
To ensure the device forwarding, you are advised to configure OSPFv3 IPSec on all the devices running
OSPFv3.
Procedure
l OSPFv3 uses the SA to authenticate packets in the specified OSPFv3 process.
a. Run system-view
NOTE
The SA configured on an OSPFv3 area takes precedence over that configured in an OSPFv3
process.
e. Run commit
The mode switching function takes effect when the interface only has attribute
configurations (for example, shutdown and description configurations).
Alternatively, if configuration information supported by both Layer 2 and Layer 3
interfaces exists (for example, mode lacp and lacp system-id configurations), no
configuration that is not supported after the working mode of the interface is
switched can exist. If unsupported configurations exist on the interface, delete the
configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch
batch interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in
the system view to switch these interfaces to Layer 3 mode in batches.
d. Run ospfv3 ipsec sa sa-name
An SA is configured on the interface.
By default, no SA is configured in the OSPFv3 interface.
NOTE
Procedure
l Run the display ipsec proposal [ name proposal-name ] command to check IPSec
proposal information.
l Run the display ipsec sa [ name sa-name ] [ brief ] command to check information
about a Security Association (SA).
l Run the display ipsec statistics [ sa-name sa-name ] [ slot slot-number ] command to
check statistics about packets processed by IPSec.
----End
Procedure
l Configure OSPFv3 area authentication.
a. Run system-view
NOTE
If you use OSPFv3 area authentication, the authentication and password configurations on all
switch in the same area must be the same.
e. Run commit
The mode switching function takes effect when the interface only has attribute
configurations (for example, shutdown and description configurations).
Alternatively, if configuration information supported by both Layer 2 and Layer 3
interfaces exists (for example, mode lacp and lacp system-id configurations), no
configuration that is not supported after the working mode of the interface is
switched can exist. If unsupported configurations exist on the interface, delete the
configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch
batch interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in
the system view to switch these interfaces to Layer 3 mode in batches.
d. Run ospfv3 authentication-mode hmac-sha256 key-id key-id { plain plain-text |
[ cipher ] cipher-text } [ instance instance-id ]
NOTE
----End
Applicable Environment
OSPFv3 supports the network management function. You can bind OSPFv3 MIB and a
certain OSPFv3 process. In addition, OSPFv3 also supports the trap function and the log
function.
Pre-configuration Tasks
Before configuring the network management function of OSPFv3, complete the following
tasks:
Context
When multiple OSPFv3 processes are enabled, you can configure OSPFv3 MIB to select the
process to be processed, that is, configure OSPFv3 MIB to select the process to which it is
bound.
Procedure
Step 1 Run system-view
----End
Context
Do as follows on the OSPFv3 switch.
Procedure
Step 1 Run system-view
----End
Prerequisites
The configurations of the network management function of OSPFv3 are complete.
Procedure
l Run the display current-configuration command to check the configuration currently
validated on the switch.
----End
Context
The OSPFv3 adjacency is removed when you reset the OSPFv3 connection. Exercise caution
when running this command.
After modifying the OSPFv3 routing policy or protocol, reset the OSPFv3 connection to
validate the modification. To reset OSPFv3 connections, run the following reset ospfv3
command in the user view.
Procedure
l To validate the new configuration, run the following commands:
– reset ospfv3 { process-id | all }
– reset ospfv3 { process-id | all } counters [ neighbor [ interface-type interface-
number ] [ router-id ] ]
– reset ospfv3 { process-id | all } counters maxage-lsa
– reset ospfv3 process-id suppress-flapping peer [interface-type interface-number ]
[ notify-peer ]
– reset ospfv3 { process-id | all } peer [ interface-type interface-number ] router-id
----End
Area0 10GE1/0/1
SwitchB VLANIF10 SwitchC
FC00:0:0:1000::2/64
10GE1/0/1
10GE1/0/2 VLANIF10
10GE1/0/2
VLANIF20 FC00:0:0:1000::1/64
VLANIF30
FC00:0:0:1001::1/64 FC00:0:0:1002::1/64
10GE1/0/2 10GE1/0/1
VLANIF20 VLANIF30
FC00:0:0:1001::2/64 FC00:0:0:1002::2/64
SwitchA SwitchD
10GE1/0/1
VLANIF40
FC00:0:0:2000::1/64
Area2
Area1
Configuration Roadmap
The configuration roadmap is as follows:
1. Enable basic OSPFv3 functions on each switch.
2. Check the routing list and LSDB.
Procedure
Step 1 Assign an IPv6 address to each interface. The detailed configuration is not mentioned here.
# Configure Switch B.
[~SwitchB] ospfv3
[*SwitchB-ospfv3-1] router-id [Link]
[*SwitchB-ospfv3-1] quit
[*SwitchB] interface vlanif 10
[*SwitchB-Vlanif10] ospfv3 1 area 0
[*SwitchB-Vlanif10] quit
[*SwitchB] interface vlanif 20
[*SwitchB-Vlanif20] ospfv3 1 area 1
[*SwitchB-Vlanif20] quit
[*SwitchB] commit
# Configure Switch C.
[~SwitchC] ospfv3
[*SwitchC-ospfv3-1] router-id [Link]
[*SwitchC-ospfv3-1] quit
[*SwitchC] interface vlanif 10
[*SwitchC-Vlanif10] ospfv3 1 area 0
[*SwitchC-Vlanif10] quit
[*SwitchC] interface vlanif 30
[*SwitchC-Vlanif30] ospfv3 1 area 2
[*SwitchC-Vlanif30] quit
[*SwitchC] commit
# Configure Switch D.
[~SwitchD] ospfv3
[*SwitchD-ospfv3-1] router-id [Link]
[*SwitchD-ospfv3-1] quit
[*SwitchD] interface vlanif 30
[*SwitchD-Vlanif30] ospfv3 1 area 2
[*SwitchD-Vlanif30] quit
[*SwitchD] commit
Destination Metric
Next-hop
IA FC00:0:0:1000::/64 2
via FE80::225:9EFF:FE01:211, Vlanif30, Flags : A
IA FC00:0:0:1001::/64 3
via FE80::225:9EFF:FE01:211, Vlanif30, Flags : A
FC00:0:0:1002::/64 1
directly connected, Vlanif30, Flags : A
IA FC00:0:0:2000::/64 4
via FE80::225:9EFF:FE01:211, Vlanif30, Flags : A
----End
Configuration Files
l Configuration file of SwitchA
#
sysname SwitchA
#
vlan batch 20 40
#
ospfv3 1
router-id [Link]
area [Link]
#
interface Vlanif20
ipv6 enable
ipv6 address FC00:0:0:1001::2/64
ospfv3 1 area [Link]
#
interface Vlanif40
ipv6 enable
ipv6 address FC00:0:0:2000::1/64
ospfv3 1 area [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 40
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
return
the routing table size and simplify management, configure route summarization. With route
summarization, if a link connected to a device within an IPv6 address range that has been
summarized alternates between Up and Down, the link status change is not advertised to the
devices beyond the IPv6 address range. This prevents route flapping and improves network
stability.
In Figure 6-13, all devices run OSPFv3. To reduce the routing table size, simplify route
management, and improve network stability, it is required that the ABR be configured to
summarize the routes with the same prefix (FC00:0:0::) into route FC00:0:0::/48 and advertise
it only to area 0.
SwitchC
10
FC GE 1 FC
00
00 /0/ :0: 10G
:0: 1 0:1 E
0:1
00 00 1/0
3:: Area 0 SwitchB
3::
1/6 2/6 /3
4 4 10GE 1/0/1
FC00:0:0:1001::1/64
Area 1 10GE 1/0/1
FC00:0:0:1001::2/64
/2
/ 64 E 1/0 64
1 :: 1 G 2/
1 /0/ 002 10 02:: ABR
1 10
GE :0: :0:
10 00:0 : 0
FC 00
FC
SwitchA
Configuration Roadmap
The configuration roadmap is as follows:
1. Assign an IP address to each interface to ensure that devices on the network can
communicate with each other.
2. Configure basic OSPFv3 functions on all devices.
3. Configure OSPFv3 route summarization on the ABR.
Procedure
Step 1 Configure an IP address for each interface.
# Configure SwitchA. The configurations of SwitchB, SwitchC are similar to the
configuration of SwitchA.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchA
[*HUAWEI] commit
[~SwitchA] interface 10ge 1/0/1
[~SwitchA-10GE1/0/1] undo portswitch
[*SwitchA-10GE1/0/1] ipv6 enable
[*SwitchA-10GE1/0/1] ipv6 address fc00:0:0:1002::1 64
[*SwitchA-10GE1/0/1] quit
[*SwitchA] commit
# Configure SwitchB.
[~SwitchB] ospfv3 1
[*SwitchB-ospfv3-1] router-id [Link]
[*SwitchB-ospfv3-1] area [Link]
[*SwitchB-ospfv3-1-area-[Link]] quit
[*SwitchB-ospfv3-1] quit
[*SwitchB] commit
[~SwitchB] interface 10ge 1/0/1
[~SwitchB-10GE1/0/1] ospfv3 1 area 0
[*SwitchB-10GE1/0/1] quit
[*SwitchB] commit
# Configure SwitchC.
[~SwitchC] ospfv3 1
[*SwitchC-ospfv3-1] router-id [Link]
[*SwitchC-ospfv3-1] area [Link]
[*SwitchC-ospfv3-1-area-[Link]] quit
[*SwitchC-ospfv3-1] quit
[*SwitchC] commit
[~SwitchC] interface 10ge 1/0/1
[~SwitchC-10GE1/0/1] ospfv3 1 area 1
[*SwitchC-10GE1/0/1] quit
[*SwitchC] commit
# Run the display ospfv3 peer command to check whether the ABR establishes an OSPFv3
neighbor relationship with SwitchA, SwitchB, and SwitchC. The following example uses the
command output on the ABR:
[~ABR] display ospfv3 peer
OSPFv3 Process
(1)
OSPFv3 Area
([Link])
# Run the display ospfv3 lsdb command on the ABR to check the OSPFv3 LSDB
information. The Inter-area-prefix LSA field in the LSDB of area 1 shows that no
summarization is performed for the routes. Therefore, the routes advertised to area 0 are not
summarized.
[~ABR] display ospfv3 lsdb
Link-LSA (Interface
10GE1/0/1)
Link-LSA (Interface
10GE1/0/2)
Link-LSA (Interface
10GE1/0/3)
Router-LSA (Area
[Link])
Network-LSA (Area
[Link])
Inter-Area-Prefix-LSA (Area
[Link])
Intra-Area-Prefix-LSA (Area
[Link])
Router-LSA (Area
[Link])
Network-LSA (Area
[Link])
Inter-Area-Prefix-LSA (Area
[Link])
Intra-Area-Prefix-LSA (Area
[Link])
Inter-Area-Prefix-LSA (Area
[Link])
LS Age:
1006
LS Type: Inter-Area-Prefix-
LSA
Originating Router:
[Link]
LS Seq Number:
0x80000001
Retransmit Count:
0
Checksum:
0xd0fd
Length:
36
Metric:
1
Prefix:
FC00:0:0:1002::/64
Prefix Options: 0
(-|-|-|-|-)
LS Age:
953
LS Type: Inter-Area-Prefix-
LSA
Originating Router:
[Link]
LS Seq Number:
0x80000001
Retransmit Count:
0
Checksum:
0xd8f3
Length:
36
Metric:
1
Prefix:
FC00:0:0:1003::/64
Prefix Options: 0
(-|-|-|-|-)
Inter-Area-Prefix-LSA (Area
[Link])
LS Age:
1007
LS Type: Inter-Area-Prefix-
LSA
Originating Router:
[Link]
LS Seq Number:
0x80000001
Retransmit Count:
0
Checksum:
0xc808
Length:
36
Metric:
1
Prefix: FC00:0:0:1001::/64
Prefix Options: 0
(-|-|-|-|-)
Step 3 Configure the ABR to summarize the routes with the same prefix in area 1 into route
FC00:0:0::/48.
[~ABR] ospfv3 1
[*ABR-ospfv3-1] area [Link]
[*ABR-ospfv3-1-area-[Link]] abr-summary fc00:0:0:: 48
[*ABR-ospfv3-1-area-[Link]] quit
[*ABR-ospfv3-1] quit
[*ABR] commit
Run the display ospfv3 lsdb command on the ABR to check the OSPFv3 LSDB information.
The following command output shows that the routes with the same prefix in area 1 have been
summarized into route FC00:0:0::/48 and that the summarized route is advertised to area 0.
[~ABR] display ospfv3 lsdb
Link-LSA (Interface
10GE1/0/1)
Link-LSA (Interface
10GE1/0/2)
Prefix
[Link] [Link] 876 0x80000002 0x854f
1
[Link] [Link] 1423 0x80000002 0x56f3
1
Link-LSA (Interface
10GE1/0/3)
Router-LSA (Area
[Link])
Network-LSA (Area
[Link])
Inter-Area-Prefix-LSA (Area
[Link])
Intra-Area-Prefix-LSA (Area
[Link])
Router-LSA (Area
[Link])
Network-LSA (Area
[Link])
Inter-Area-Prefix-LSA (Area
[Link])
Intra-Area-Prefix-LSA (Area
[Link])
Inter-Area-Prefix-LSA (Area
[Link])
LS Age:
76
LS Type: Inter-Area-Prefix-
LSA
Originating Router:
[Link]
LS Seq Number:
0x80000001
Retransmit Count:
0
Checksum:
0x17d7
Length:
36
Metric:
1
Prefix:
FC00::/48
Prefix Options: 0
(-|-|-|-|-)
Inter-Area-Prefix-LSA (Area
[Link])
LS Age:
1480
LS Type: Inter-Area-Prefix-
LSA
Originating Router:
[Link]
LS Seq Number:
0x80000001
Retransmit Count:
0
Checksum:
0xc808
Length:
36
Metric:
1
Prefix:
FC00:0:0:1001::/64
Prefix Options: 0
(-|-|-|-|-)
# Run the display ospfv3 abr-summary-list command on the ABR to check information
about the summarized route.
[~ABR] display ospfv3 abr-summary-list
OSPFv3 Process
(1)
Area ID :
[Link]
----End
Configuration Files
l SwitchA configuration file
#
sysname SwitchA
#
ospfv3 1
router-id [Link]
area [Link]
#
interface 10GE 1/0/1
undo portswitch
ipv6 enable
ipv6 address FC00:0:0:1002::1/64
ospfv3 1 area [Link]
#
return
Networking Requirements
Routes with the same IPv6 prefix can be summarized into one route. On a large-scale OSPFv3
network, route lookup may slow down because of the large size of the routing table. To reduce
the routing table size and simplify management, configure route summarization. With route
summarization, if a link connected to a device within an IPv6 address range that has been
summarized alternates between Up and Down, the link status change is not advertised to the
devices beyond the IPv6 address range. This prevents route flapping and improves network
stability.
In Figure 6-14, both the ASBR and SwitchA run OSPFv3. The ASBR imports three static
routes with the same prefix: FC00:0:0:1001::1/96,C00:0:0:1002::1/96,00:0:0:1003::1/96. To
reduce the routing table size, simplify route management, and improve network stability, it is
required that the ASBR be configured to summarize the three static routes into route
FC00::/16 and advertise it only to area 0.
FC00:0:0:1001::1/96
Area 0
ASBR
10GE1/0/1
FC00:0:0:1002::1/96 FC00:0:0:1000::1/64
SwitchA
10GE1/0/1
FC00:0:0:1000::2/64
FC00:0:0:1003::1/96
Configuration Roadmap
The configuration roadmap is as follows:
1. Assign an IP address to each interface to ensure that devices on the network can
communicate with each other.
Procedure
Step 1 Configure an IP address for each interface.
# Configure SwitchA.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchA
[*HUAWEI] commit
[~SwitchA] interface 10ge 1/0/1
[~SwitchA-10GE1/0/1] undo portswitch
[*SwitchA-10GE1/0/1] ipv6 enable
[*SwitchA-10GE1/0/1] ipv6 address fc00:0:0:1000::1 64
[*SwitchA-10GE1/0/1] quit
[*SwitchA] commit
# Run the display ospfv3 peer command to check whether an OSPFv3 neighbor relationship
is established between Switch A and the ASBR. The following example uses the command
output on the ASBR:
[~ASBR] display ospfv3
peer
OSPFv3 Process
(1)
OSPFv3 Area
([Link])
# Run the display ospfv3 lsdb command on the ASBR to check the OSPFv3 LSDB
information. The AS-external LSA field information shows the three static
routes:FC00:0:0:1001::/96,FC00:0:0:1002::/96 and FC00:0:0:1003::/96.
[~ASBR] display ospfv3 lsdb
Link-LSA (Interface
10GE1/0/1)
Router-LSA (Area
[Link])
Network-LSA (Area
[Link])
Intra-Area-Prefix-LSA (Area
[Link])
AS-External-
LSA
AS-External-
LSA
LS Age:
69
LS Type: AS-External-
LSA
Originating Router:
[Link]
LS Seq Number:
0x80000001
Retransmit Count:
0
Checksum:
0x164b
Length:
48
Flags: (E|-|
T)
Metric:
Prefix:
FC00:0:0:1001::/96
Prefix Options: 0
(-|-|-|-|-)
Tag:
1
LS Age:
69
LS Type: AS-External-
LSA
Originating Router:
[Link]
LS Seq Number:
0x80000001
Retransmit Count:
0
Checksum:
0x1e41
Length:
48
Flags: (E|-|
T)
Metric:
1
Prefix:
FC00:0:0:1002::/96
Prefix Options: 0
(-|-|-|-|-)
Tag:
1
LS Age:
69
LS Type: AS-External-
LSA
Originating Router:
[Link]
LS Seq Number:
0x80000001
Retransmit Count:
0
Checksum:
0x2637
Length:
48
Flags: (E|-|
T)
Metric:
1
Prefix:
FC00:0:0:1003::/96
Prefix Options: 0
(-|-|-|-|-)
Tag:
1
Link-LSA (Interface
10GE1/0/1)
Router-LSA (Area
[Link])
Network-LSA (Area
[Link])
Intra-Area-Prefix-LSA (Area
[Link])
AS-External-
LSA
AS-External-
LSA
LS Age:
54
LS Type: AS-External-
LSA
Originating Router:
[Link]
LS Seq Number:
0x80000001
Retransmit Count:
0
Checksum:
0x8962
Length:
36
Flags: (E|-|
T)
Metric:
2
Prefix:
FC00::/16
Prefix Options: 0
(-|-|-|-|-)
Tag:
1
# Run the display ospfv3 asbr-summary command on the ASBR to check information about
the summarized route.
[~ASBR] display ospfv3 asbr-summary
OSPFv3 Process
(1)
----End
Configuration Files
l Switch A configuration file
#
sysname SwitchA
#
ospfv3 1
router-id [Link]
area [Link]
#
interface 10GE 1/0/1
undo portswitch
ipv6 enable
ipv6 address FC00:0:0:1000::1/64
ospfv3 1 area [Link]
#
return
Networking Requirements
As shown in Figure 6-15, the priority of SwitchA is 100, which is the highest priority on the
network; therefore, SwitchA is elected as the DR. SwitchC, which has the second highest
priority 2, is elected as the BDR. The priority of SwitchB is 0, which means that it cannot
become the DR. SwitchD is not configured with a priority, that is, SwitchD uses the default
priority, namely, 1.
SwitchA SwitchB
10GE1/0/1 10GE1/0/1
VLANIF10 VLANIF10
FC00:0:0:1001::1/64 FC00:0:0:1001::2/64
10GE1/0/1 10GE1/0/1
VLANIF10 VLANIF10
FC00:0:0:1001::3/64 FC00:0:0:1001::4/64
SwitchC SwitchD
Configuration Roadmap
The configuration roadmap is as follows:
1. Configure IPv6 addresses for interfaces.
2. Configure the router ID of each Switch, enable OSPFv3, and specify the network
segments.
3. Check the DR/BDR status of each Switch when the default priority is used.
4. Set the DR priority of the interface on each Switch and check whether the Switch
becomes the DR or BDR.
Procedure
Step 1 Add interfaces to VLANs.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchA
[*HUAWEI] commit
[~SwitchA] vlan 10
[*SwitchA-vlan10] quit
[*SwitchA] interface 10ge 1/0/1
[*SwitchA-10GE1/0/1] port link-type trunk
[*SwitchA-10GE1/0/1] port trunk allow-pass vlan 10
[*SwitchA-10GE1/0/1] quit
[*SwitchA] commit
The configurations of SwitchB, SwitchC, SwitchD are similar to the configuration of SwitchA
and are not mentioned here.
The configurations of SwitchB, SwitchC, SwitchD are similar to the configuration of SwitchA
and are not mentioned here.
Check the neighbors of SwitchA. You can view the DR priority and the neighbor status. By
default, the DR priority is 1. Now SwitchD functions as the DR and SwitchC functions as the
BDR.
NOTE
When the priorities of two Switches are the same, the Switch that has a greater router ID is elected as the
DR. If the VLANIF interface of an Switch becomes the DR, the other broadcast interfaces of this Switch
have a high priority in the future DR election. That is, the Switch still functions as the DR. The DR
cannot be preempted.
[~SwitchA] display ospfv3 peer
# View the neighbors of SwitchD, and you can see that the status of the neighbor relationship
between SwitchD and other devices is Full.
[~SwitchD] display ospfv3 peer
# View the neighbors of SwitchA, and you can see that the other DR priority is updated but
the DR and BDR are unchanged.
[~SwitchA] display ospfv3 peer
# View the neighbors of SwitchD, and you can see that the other DR priority is updated.
# View the neighbors of SwitchD, and you can see that SwitchA is the DR.
[~SwitchD] display ospfv3 peer
----End
Configuration Files
l Configuration file of SwitchA
#
sysname SwitchA
#
vlan batch 10
#
ospfv3 1
router-id [Link]
area [Link]
#
interface Vlanif10
ipv6 enable
ipv6 address FC00:0:0:1001::1/64
ospfv3 1 area [Link]
ospfv3 dr-priority 100
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
return
10GE1/0/1 10GE1/0/3
FC00:0:0:2003::3/64 FC00:0:0:2002::2/64
SwitchC
Configuration Roadmap
The configuration roadmap is as follows:
1. Configure basic OSPFv3 functions on each switch to make the primary link transmit
service traffic properly.
2. Configure OSPFv3 BFD so that traffic can be fast switched to the backup link when the
primary link fails.
Procedure
Step 1 Configure IPv6 addresses for interfaces of all switches.
# Configure SwitchA. The configurations of SwitchB, and SwitchC are similar to the
configuration of SwitchA. The detailed configurations are not mentioned here.
<HUAWEI> system-view
[~HUAWEI] sysname switchA
[*HUAWEI] commit
[~SwitchA] interface 10ge 1/0/1
[~switchA-10GE1/0/1] undo portswitch
[*SwitchA-10GE1/0/1] ipv6 enable
[*SwitchA-10GE1/0/1] ipv6 address fc00:0:0:2003::1 64
[*SwitchA-10GE1/0/1] quit
[*SwitchA] interface 10ge 1/0/3
[*switchA-10GE1/0/3] undo portswitch
[*SwitchA-10GE1/0/3] ipv6 enable
[*SwitchA-10GE1/0/3] ipv6 address fc00:0:0:2001::3 64
[*SwitchA-10GE1/0/3] quit
[*SwitchA] commit
[~SwitchA] ospfv3
[*SwitchA-ospfv3-1] router-id [Link]
[*SwitchA-ospfv3-1] quit
[*SwitchA] interface 10ge 1/0/1
[*SwitchA-10GE1/0/1] ospfv3 1 area [Link]
[*SwitchA-10GE1/0/1] quit
[*SwitchA] interface 10ge 1/0/3
[*SwitchA-10GE1/0/3] ospfv3 1 area [Link]
[*SwitchA-10GE1/0/3] quit
[*SwitchA] commit
# Configure SwitchB.
[~SwitchB] ospfv3 1
[*SwitchB-ospfv3-1] router-id [Link]
[*SwitchB-ospfv3-1] quit
[*SwitchB] interface 10ge 1/0/1
[*SwitchB-10GE1/0/1] ospfv3 1 area [Link]
[*SwitchB-10GE1/0/1] quit
[*SwitchB] interface 10ge 1/0/2
[*SwitchB-10GE1/0/2] ospfv3 1 area [Link]
[*SwitchB-10GE1/0/2] quit
[*SwitchB] interface 10ge 1/0/3
[*SwitchB-10GE1/0/3] ospfv3 1 area [Link]
[*SwitchB-10GE1/0/3] quit
[*SwitchB] commit
# Configure SwitchC.
[~SwitchC] ospfv3 1
[*SwitchC-ospfv3-1] router-id [Link]
[*SwitchC-ospfv3-1] quit
[*SwitchC] interface 10ge 1/0/1
[*SwitchC-10GE1/0/1] ospfv3 1 area [Link]
[*SwitchC-10GE1/0/1] quit
[*SwitchC] interface 10ge 1/0/3
[*SwitchC-10GE1/0/3] ospfv3 1 area [Link]
[*SwitchC-10GE1/0/3] quit
[*SwitchC] commit
# After the preceding configurations are complete, run the display ospfv3 peer verbose
command, and you can view that neighbor relationships are established between SwitchA and
SwitchB, and between SwitchB and SwitchC. Take the display on SwitchA as an example:
[SwitchA] display ospfv3 peer verbose
# Check information about the OSPFv3 routing table on SwitchA, and you can view the
routing entries to SwitchB and SwitchC.
In the OSPFv3 routing table, you can view that the next hop of the route to
FC00:0:0:2004::1/64 is 10GE1/0/3, and traffic is transmitted on the primary link
SwitchA→SwitchB.
Step 3 Configure OSPFv3 BFD.
# Enable BFD globally on SwitchA.
[~SwitchA] bfd
[*SwitchA-bfd] quit
[*SwitchA] ospfv3
[*SwitchA-ospfv3-1] bfd all-interfaces enable
[*SwitchA-ospfv3-1] bfd all-interfaces min-transmit-interval 100 min-receive-
interval 100 detect-multiplier 4
[*SwitchA-ospfv3-1] quit
[*SwitchA] commit
After the preceding configurations are complete, run the display ospfv3 bfd session
command on SwitchA or SwitchB, and you can view that the status of the BFD session is Up.
Take the display on SwitchB as an example:
[SwitchB] display ospfv3 bfd session verbose
* - STALE
IPv6-Local-Address: FE80::769D:8F00:84C:DAD2
IPv6-Remote-Address: FE80::252:7500:812:2401
# Check the routing table on SwitchA. In the routing table, you can view that the backup link
SwitchA-SwitchC-SwitchB transmits traffic after the primary link fails, and the next hop of
the route to FC00:0:0:2004::1/64 becomes 10GE1/0/1.
[SwitchA] display ospfv3 routing
----End
Configuration Files
l Configuration file of SwitchA
#
sysname SwitchA
#
bfd
#
ospfv3 1
router-id [Link]
bfd all-interfaces enable
bfd all-interfaces min-transmit-interval 100 min-receive-interval 100 detect-
multiplier 4
area [Link]
#
interface 10GE1/0/1
undo portswitch
ipv6 enable
ipv6 address FC00:0:0:2003::1/64
ospfv3 1 area [Link]
#
interface 10GE1/0/3
undo portswitch
ipv6 enable
ipv6 address FC00:0:0:2001::3/64
ospfv3 1 area [Link]
#
return
You can build an IPv4 IS-IS network to allow IS-IS to discover and calculate routes in an
autonomous system (AS).
Definition
Intermediate System-to-Intermediate System (IS-IS) is an Interior Gateway Protocol (IGP)
that runs within an autonomous system (AS). IS-IS is also a link-state routing protocol, using
the shortest path first (SPF) algorithm to calculate routes.
Purpose
IS-IS is a dynamic routing protocol initially designed by the International Organization for
Standardization (ISO) for its Connectionless Network Protocol (CLNP).
To support IP routing, the Internet Engineering Task Force (IETF) extended and modified IS-
IS in RFC 1195. This modification enables IS-IS to apply to TCP/IP and OSI environments.
This type of IS-IS is called Integrated IS-IS or Dual IS-IS.
NOTE
IS-IS stated in this document refers to Integrated IS-IS, unless otherwise stated.
In addition to IPv4 networks, IS-IS also applies to IPv6 networks to provide accurate routing
information for IPv6 packets. IS-IS has good scalability, supports IPv6 network layer
protocols, and is capable of discovering, generating, and forwarding IPv6 routes.
Area2
Area3
L1
L1/2
L2 L1/2
L2
backbone Area1
L2 L2
L1
L1/2 L1/2
L1 L1
L1
L1
Area4 Area5
Figure 7-2 shows another type of IS-IS topology. In this topology, Level-2 routers belong to
different areas. All the physically contiguous Level-1-2 and Level-2 routers form the
backbone area of IS-IS.
Area1
L1
L2
L1
L1/2
Area2 L1/2 L1
Area4
L2
L2 Area3
The two types of topologies show the differences between IS-IS and OSPF:
l In IS-IS, each router belongs to only one area. In OSPF, different interfaces of a router
may belong to different areas.
l In IS-IS, no area is defined as the backbone area. In OSPF, Area 0 is defined as the
backbone area.
l In IS-IS, Level-1 and Level-2 routes are calculated using the SPF algorithm to generate
the shortest path tree (SPT). In OSPF, the SPF algorithm is used only in the same area,
and inter-area routes are forwarded by the backbone area.
IS-IS supports only two types of networks. In terms of physical links, IS-IS networks can be
classified into the following link types:
For a Non-Broadcast Multi-Access (NBMA) network such as the ATM, you should configure its Layter
3 sub-interfaces as P2P interfaces.
IS-IS cannot run on Point to MultiPoint (P2MP) networks.
DIS and Pseudonode
In a broadcast network, IS-IS needs to elect a Designated Intermediate System (DIS) from all
the routers. DISs are used to create and update pseudonodes and generate link state protocol
data units (LSPs) of pseudonodes to describe available network devices.
The pseudonode is used to simulate the virtual node in the broadcast network and is not an
actual router. In IS-IS, a pseudonode is identified by the system ID of the DIS and the 1-byte
Circuit ID (its value is not 0).
Pseudonode
L1 DIS L1 L1 DIS L1
Physical connection
Virtual connection
As shown in Figure 7-3, the use of pseudonodes simplifies the network topology and shortens
LSPs. When the network changes, the number of generated LSPs is reduced, and the SPF
consumes fewer resources.
Level-1 and Level-2 DISs are elected separately. You can configure different priorities for
DISs of different levels. The router with the highest priority is elected as the DIS. If there are
multiple routers with the same highest priority on a broadcast network, the one with the
highest MAC address is chosen. The DISs of different levels can be the same router or
different routers.
DIS election in IS-IS differs from designated router (DR) election in OSPF:
l On an IS-IS broadcast network, the router with priority 0 also takes part in DIS election.
In OSPF, the router with priority 0 does not take part in DR election.
l In IS-IS, when a new router that meets the requirements of being a DIS connects to a
broadcast network, the router is elected as the new DIS, and the previous pseudonode is
deleted. This causes a new flooding of LSPs. In OSPF, when a new router connects to a
network, it is not immediately elected as the DR even if it has the highest DR priority.
l On an IS-IS broadcast network, routers (including non-DIS routers) of the same level on
a network segment set up adjacencies. In OSPF, routers set up adjacencies with only the
DR and backup designated router (BDR).
NOTE
On an IS-IS broadcast network, although all the routers set up adjacencies with each other, the LSDBs
are synchronized by the DISs.
l The DSP is similar to the subnet ID and host address in an IP address. The DSP consists
of the High Order DSP (HODSP), system ID, and NSAP Selector (SEL). The HODSP is
used to divide areas, the system ID identifies a host, and the SEL indicates the service
type.
IDP DSP
Area Address
l Area Address
The IDP and the HODSP of the DSP identify a routing domain and the areas in a routing
domain. Therefore, the combination of the IDP and HODSP is called an area address,
which is similar to an area number in OSPF. The area addresses of routers in the same
Level-1 area must be the same, while the area addresses of routers in the Level-2 area
can be different.
In general, a router can be configured with only one area address. The area address of all
nodes in an area must be the same. In the implementation of a device, an IS-IS process
can be configured with a maximum of three area addresses to support seamless
combination, division, and transformation of areas.
l System ID
A system ID uniquely identifies a host or a router in an area. In the device, the fixed
length of the system ID is 48 bits (6 bytes).
In actual applications, a router ID corresponds to a system ID. If a router takes the IP
address [Link] of Loopback 0 as its router ID, its system ID used in IS-IS can be
obtained in the following way:
– Extend each part of IP address [Link] to 3 bits and add 0 to the front of any
part that is shorter than 3 bits. Then the IP address is extended as [Link].
– Divide the extended address 1921.6800.1001 into three parts, each of which
consists of four decimal digits. Then system ID 1921.6800.1001 is obtained.
You can specify a system ID in many ways. You need to ensure that the system ID
uniquely identifies a host or a router.
l SEL
The role of an SEL is similar to that of the "protocol identifier" of IP. A transport
protocol matches an SEL. The SEL is always "00" in IP.
A network entity title (NET) indicates network layer information about an IS. A NET can be
regarded as a special NSAP. The NET length is the same as the NSAP length. Its maximum
length is 20 bytes and minimum length is 8 bytes. When configuring IS-IS on a router, you
only need to configure a NET but not an NSAP.
Assume that there is a NET: [Link].1234.5678.9abc.00. In the NET, the area address is
[Link], the system ID is 1234.5678.9abc, and the SEL is 00.
8 Padding IIH
TLVs with the type value ranging from 1 to 10 are defined in ISO 10589, and the other TLVs
are defined in RFC 1195.
L2 LAN IIH
a. RouterA broadcasts a Level-2 LAN IS-IS Hello PDU (IIH) with no neighbor ID
specified.
b. RouterB receives this packet and sets the status of the neighbor relationship with
RouterA to Initial. RouterB then responds to RouterA with a Level-2 LAN IIH,
indicating that RouterA is a neighbor of RouterB.
c. RouterA receives this packet and sets the status of the neighbor relationship with
RouterB to Up. RouterA then sends RouterB a Level-2 LAN IIH indicating that
RouterB is a neighbor of RouterA.
d. RouterB receives this packet and sets the status of the neighbor relationship with
RouterA to Up. RouterA and RouterB establish a neighbor relationship
successfully.
The network is a broadcast network, so a DIS needs to be elected. After the neighbor
relationship is established, routers wait for two intervals before sending Hello packets to
elect the DIS. The IIH packets exchanged by the routers contain the Priority field. The
router with the highest priority is elected as the DIS. If the routers have the same priority,
the router with the largest interface MAC address is elected as the DIS.
l Establishment of a neighbor relationship on a P2P link
When IP addresses of IS-IS interfaces on both ends of a link are on different network segments, a
neighbor relationship can still be established on the two interfaces if the interfaces are configured
not to check the IP addresses in received Hello packets. You can configure P2P interfaces not to
check the IP addresses in received Hello packets. Before configuring Ethernet interfaces not to
check the IP addresses, simulate Ethernet interfaces as P2P interfaces.
All routers in the IS-IS routing domain can generate LSPs. The following events trigger the
generation of a new LSP:
l Neighbor is Up or Down.
In LSP flooding, a router sends an LSP to its neighbors and then the neighbors send the
received LSP to their respective neighbors except the router that first sends the LSP. In this
manner, the LSP is flooded among the routers of the same level. LSP flooding allows each
router of the same level to have the same LSP information and synchronize its LSDB with
each other.
Each LSP has a 4-byte sequence number. When a router is started, the sequence number of the
first LSP sent by the router is 1. When a new LSP is generated, the sequence number of the
LSP is equal to the sequence number of the previous LSP plus 1. The greater the sequence
number, the newer the LSP.
Process of synchronizing LSDBs between a newly added router and DIS on a broadcast
link
RouterC
RouterB( DIS)
1 LSP
Router C.00-00
CSNP
Router A.00-00 2
Router B.00-00
Router B.01-00 PSNP
Router C.00-00 3 Router A.00-00
Router B.00-00
Router B.01-00
LSP 4
Router A.00-00
Router B.00-00
Router B.01-00
1. As shown in Figure 7-7, a new router (RouterC) sends a Hello packet to establish
neighbor relationships with the other routers in the broadcast domain.
2. RouterC establishes neighbor relationships with RouterA and RouterB, waits for the
timeout of the LSP refresh timer, and then sends its LSP to a multicast address (01-80-
C2-00-00-14 in a Level-1 area and 01-80-C2-00-00-15 in a Level-2 area). All neighbors
on the network can receive the LSP.
3. The DIS on the network segment adds the received LSP to its LSDB. After the CSNP
timer expires, the DIS sends CSNPs to synchronize the LSDBs on the network.
4. RouterC receives the CSNPs from the DIS, checks its LSDB, and sends a PSNP to
request the LSPs it does not have.
5. The DIS receives the PSNP and sends RouterC the required LSPs for LSDB
synchronization.
The process of updating the LSDB of the DIS is as follows:
1. When the DIS receives an LSP, it searches the LSDB to check whether the same LSP
exists. If the DIS does not find the same LSP in its LSDB, the DIS adds the LSP to its
LSDB and broadcasts the content of the new LSDB.
2. If the sequence number of the received LSP is greater than that of the corresponding LSP
in the LSDB, the DIS replaces the existing LSP with the received LSP and broadcasts the
contents of the new LSDB. If the sequence number of the received LSP is smaller than
that of the corresponding LSP in the LSDB, the DIS sends its LSP in the LSDB through
the inbound interface of the received LSP.
3. If the sequence number of the received LSP is the same as that of the corresponding LSP
in the LSDB, the DIS compares the remaining lifetime of the two LSPs. If the remaining
lifetime of the received LSP is smaller than that of the corresponding LSP in the LSDB,
the DIS replaces the existing LSP with the received LSP and broadcasts the contents of
the new LSDB. If the remaining lifetime of the received LSP is greater than that of the
corresponding LSP, the DIS sends its LSP in the LSDB through the inbound interface of
the received LSP.
4. If the sequence number and remaining lifetime of the received LSP are the same as those
of the corresponding LSP in the LSDB, the DIS compares the checksum of the two
LSPs. If the checksum of the received LSP is greater than that of the corresponding LSP
in the LSDB, the DIS replaces the existing LSP with the received LSP and broadcasts the
content of the new LSDB. If the checksum of the received LSP is smaller than that of the
corresponding LSP, the DIS sends its LSP in the LSDB through the inbound interface of
the received LSP.
5. If the sequence number, remaining lifetime, and checksum of the received LSP are the
same as those of the corresponding LSP in the LSDB, the DIS does not forward the
received LSP.
Process of synchronizing the LSDB on a P2P link
LSP
Router A.00-00
PSNP
Router A.00-00
Retransmission
times out
LSP Resend
Router A.00-00 response packet
PSNP
Router A.00-00
LSPs. If the received LSP has a greater checksum than that of the corresponding LSP in
the LSDB, the router adds the received LSP to its LSDB, sends a PSNP to acknowledge
the received LSP, and then sends the received LSP to all its neighbors except the
neighbor that sends the LSP. If the received LSP has a smaller checksum than that of the
corresponding LSP in the LSDB, the router directly sends its LSP to the neighbor and
waits for a PSNP from the neighbor.
4. If the sequence number, remaining lifetime, and checksum of the received LSP and the
corresponding LSP in the LSDB are the same, the router does not forward the received
LSP.
Authentication Types
Based on the types of packets, the authentication is classified as follows:
l Interface authentication: authenticates Level-1 and Level-2 Hello packets sent and
received on IS-IS interfaces using the specified authentication mode and password.
NOTE
You can configure a router to perform interface authentication in the following ways:
l A router sends authentication packets carrying the authentication TLV and verifies the
authentication information about the received packets.
l A router sends authentication packets carrying the authentication TLV but does not verify the
authentication information about the received packets.
l Area authentication: authenticates Level-1 LSPs and Level-1 SNPs transmitted in an IS-
IS area using the specified authentication mode and password.
l Routing domain authentication: authenticates Level-2 LSPs and Level-2 SNPs
transmitted in an IS-IS routing domain using the specified authentication mode and
password.
NOTE
In area authentication and routing domain authentication, you can configure a router to
authenticate LSPs and SNPs separately in the following ways:
l A router sends LSPs and SNPs carrying the authentication TLV and verifies the authentication
information about the received LSPs and SNPs.
l A router sends LSPs carrying the authentication TLV and verifies the authentication
information about the received LSPs. The router sends SNPs carrying the authentication TLV
but does not verify the authentication information about the received SNPs.
l A router sends LSPs carrying the authentication TLV and verifies the authentication
information about the received LSPs. The router sends SNPs without the authentication TLV
and does not verify the authentication information about the received SNPs.
l A router sends LSPs and SNPs carrying the authentication TLV but does not verify the
authentication information about the received LSPs and SNPs.
Based on the authentication modes of packets, authentication is classified into the following
types:
l Plain text authentication: is a simple authentication mode in which passwords are
directly added to packets. This authentication is insecure.
l MD5 authentication: uses the MD5 algorithm to encrypt passwords before they are
added to packets, which improves password security.
l Keychain authentication: further improves network security with configurable key chain
that changes with time.
RouterA RouterC
L1 L1/2
cost 50
cost 10
cost 10 cost 10
RouterE RouterF
L2 L2
cost 10 cost 10
Area20
RouterB RouterD
L1 Area10 L1/2
In Figure 7-9, RouterA sends a packet to RouterF. The selected optimal route should be
RouterA->RouterB->RouterD->RouterE->RouterF. This is because the cost of this route is
40, which is smaller than the cost (70) of the other route (RouterA->RouterC->RouterE-
>RouterF). However, when you check the route on RouterA to view the path of the packets
sent to RouterF, the selected route is RouterA->RouterC->RouterE->RouterF but not the
optimal route from RouterA to RouterF.
RouterA (Level-1 router) does not know routes outside its area, so it sends packets outside its
area through the default route generated by the nearest Level-1-2 router. Therefore, the
optimal route is not used to forward the packets.
If route leaking is enabled on Level-1-2 routers (RouterC and RouterD), Level-1 routers in
Area 10 can know routes outside Area 10 and passing through the two Level-1-2 routers.
After route calculation, the forwarding path becomes RouterA->RouterB->RouterD-
>RouterE->RouterF, which is the optimal route from RouterA to RouterF.
RouterD RouterE
[Link]/24
Overload
RouterA RouterC
RouterB
As shown in Figure 7-10, RouterB forwards the packets sent from RouterA to network
segment [Link]/24. If the overload bit in the LSP sent from RouterB is set to 1, RouterA
considers the LSDB of RouterB incomplete and sends packets to [Link]/24 through RouterD
and RouterE. This process does not affect the packets sent to the directly connected network
segment of RouterB.
If a device cannot store new LSPs and fails to synchronize the LSDB, the routes calculated by
this device are incorrect. In this situation, the device enters the overload state and does not
calculate the routes passing through this device; however, the direct routes of the device are
still valid.
A device may enter the overload state because of device abnormalities or is manually
configured to enter the overload state. When an IS-IS device on the network needs to be
upgraded or maintained, isolate this device from the network temporarily and set the overload
bit on the device to prevent other devices from using this device to forward traffic.
NOTE
l If the system enters the overload state because of an abnormality, the system deletes all the imported
or leaked routes.
l If the system is configured to enter the overload state, the system determines whether to delete all
the imported or leaked routes based on the configuration.
Fast Convergence
IS-IS fast convergence is an extended feature of IS-IS that is implemented to speed up the
convergence of routes. Fast convergence includes the following:
l Incremental SPF (I-SPF): recalculates only the routes of the changed nodes rather than
all the nodes when the network topology changes. This speeds up the calculation of
routes.
In ISO 10589, the SPF algorithm is used to calculate routes. When a node changes on the
network, this algorithm is used to recalculate all routes. The calculation takes a long time
and consumes too many CPU resources, which affects the convergence speed.
I-SPF improves this algorithm. Except for the first time, only changed nodes instead of
all nodes are involved in calculation. The shortest path tree (SPT) generated is the same
as that generated by the previous algorithm. This decreases CPU usage and speeds up
network convergence.
l Partial Route Calculation (PRC): calculates only the changed routes when the routes on
the network change.
Similar to I-SPF, PRC calculates only the changed routes, but it does not calculate the
shortest path. It updates routes based on the SPT calculated by I-SPF.
In route calculation, a leaf represents a route, and a node represents a router. If the SPT
changes after I-SPF calculation, PRC processes all the leaves only on the changed node.
If the SPT remains unchanged, PRC processes only the changed leaves. For example, if
IS-IS is enabled on an interface of a node, the SPT calculated by I-SPF remains
unchanged. PRC updates only the routes of this interface, consuming less CPU
resources.
PRC working with I-SPF further improves the convergence performance of the network.
It is an improvement of the original SPF algorithm.
l Intelligent timer: applies to LSP generation and SPF calculation. The first timeout period
of the intelligent timer is fixed. Before the intelligent timer expires, if an event that
triggers the timer occurs, the next timeout period of the intelligent timer increases.
Although the route calculation algorithm is improved, the long interval for triggering
route calculation affects the convergence speed. Frequent network changes also consume
too many CPU resources. The SPF intelligent timer addresses both of these problems. In
general, an IS-IS network is stable under normal conditions. The probability of the
occurrence of many network changes is very minimal, and IS-IS does not calculate
routes frequently. The period for triggering the route calculation is very short
(milliseconds). If the topology of the network changes very often, the intelligent timer
increases the interval for the calculation times to avoid too much CPU consumption. The
original mechanism uses a timer with uniform intervals, which makes fast convergence
and low CPU consumption impossible to achieve.
The LSP generation intelligent timer is similar to the SPF intelligent timer. When the
LSP generation intelligent timer expires, the system generates a new LSP based on the
current topology. The LSP generation timer is designed as an intelligent timer to respond
to emergencies (such as the interface is Up or Down) quickly and speed up the network
convergence.
l LSP fast flooding: speeds up the flooding of LSPs.
In most cases, when an IS-IS router receives new LSPs from other routers, it updates the
LSPs in its LSDB and periodically floods the updated LSPs according to a timer.
LSP fast flooding speeds up LSDB synchronization because it allows a device to flood
fewer LSPs than the specified number before route calculation when the device receives
one or more new LSPs. This mechanism also speeds up network convergence.
Priority-based Convergence
Priority-based IS-IS convergence ensures that specific routes are converged first when a great
number of routes need to be converged. You can assign a high convergence priority to routes
for key services so that these routes are converged quickly. This reduces the impact of route
convergence on key services. Different routes can be set with different convergence priorities
so that important routes can be converged first. This improves network reliability.
RouterD L1
Area2 RouterC
Area3
L1 L1/2 L1/2
L2
L2
Area1
L2 L2
Area5
RouterA L1
L1/2 L1/2
L1 L1
L1
L1
Area4 RouterB
In Figure 7-11, RouterA in Area 4 needs to communicate with RouterB in Area 5, RouterC in
Area 3, and RouterD in Area 2. To ensure information security, it is required that other routers
in Level-1 areas (Areas 2, 3, and 5) should not receive the packets sent from RouterA. To
meet this requirement, configure the same administrative tag for IS-IS interfaces on RouterB,
RouterC, and RouterD and configure the Level-1-2 router in Area 4 to leak only the routes
matching the configured administrative tag from Level-2 to Level-1 areas. This allows
RouterA to communicate with only RouterB, RouterC, and RouterD. Figure 7-12 shows the
topology formed on RouterA.
RouterD L1
Area2 RouterC
Area3
L1/2 L1/2
L2
L2
Area1
L2 L2
Area5
RouterA
L1/2 L1/2
L1
L1
L1
Area4 RouterB
The value of an administrative tag is associated with certain attributes. If the cost-style is
wide, wide-compatible or compatible, when IS-IS advertises an IP address prefix with these
attributes, IS-IS adds the administrative tag to the TLV in the prefix. The tag is flooded along
with the prefix throughout the routing domain.
Table 7-2 Cost styles of received and sent IS-IS routing information
Cost Style Configured Cost Style for Received Cost Style for Sent IS-IS
on a Device IS-IS Routing Routing Information
Information
NOTE
When the cost-style is set to compatible, IS-IS sends the information in narrow mode and then in wide
mode.
IS-IS in wide mode and IS-IS in narrow mode cannot communicate. If IS-IS in wide mode and IS-IS in
narrow mode need to communicate, you must change the mode to enable all routers on the network to
receive packets sent by other routers.
IS-IS LSP fragments are identified by the LSP Number field in their LSP IDs. This field is of
1 byte. An IS-IS process can generate a maximum of 256 LSP fragments; therefore, only a
limited number of routes can be carried.
As defined in RFC 3786, virtual system IDs can be configured and virtual LSPs that carry
routing information can be generated for IS-IS.
Concepts
l Originating system: is a router that runs the IS-IS protocol. A single IS-IS process can
function as multiple virtual routers to advertise LSPs, and the originating system refers to
the IS-IS process.
l Normal System-ID: is the system ID of the originating system.
l Virtual System: is the system identified by the additional system ID to generate extended
LSP fragments. These fragments carry additional system IDs in their LSP IDs.
l Additional System-ID: is assigned by network administrators to identify a virtual system.
A maximum of 256 extended LSP fragments can be generated for each additional system
ID.
NOTE
Like a normal system ID, an additional system ID must be unique in a routing domain.
l TLV 24 (IS Alias ID TLV): describes the relationship between the originating system
and virtual system.
Principles
In IS-IS, each system ID identifies a system, which can generate a maximum of 256 LSP
fragments. In addition, another virtual systems can be configured. Therefore, an IS-IS process
can generate more LSP fragments.
After LSP fragment extension is configured, the system prompts you to restart the IS-IS
process if information is lost because LSPs overflow. After being restarted, the originating
system loads as much routing information to LSPs, adds the overloaded information to the
LSPs of the virtual system for transmission, and uses TLV 24 to notify other routers of its
relationship with the virtual system.
Operating Modes
An IS-IS router can run the LSP fragment extension feature in two modes.
RouterA1
RouterB RouterA
RouterA2
NOTE
When the originating system and virtual system send the LSPs with fragment number 0, the LSPs must
carry the IS Alias ID TLV to indicate the originating system regardless of the operation mode (mode-1
or mode-2).
method is complex and not easy to use. The host name exchange mechanism facilitates IS-IS
network management and maintenance.
The Dynamic Hostname TLV is optional and can be inserted anywhere in an LSP. The value
of this TLV cannot be empty. A device can determine whether to send LSPs carrying TLV
137, while the device that receives LSPs can determine whether to ignore TLV 137 or whether
to obtain TLV 137 for its mapping table.
With Routing Information Protocol next generation (IS-IS) NSR, IS-IS real-time data is
synchronized between the AMB and SMB. After an AMB/SMB switchover is performed on a
device, the SMB takes over services from the AMB, and neighbors are unaware of the local
fault. After the switchover, the new AMB recovers IS-IS immediately based on the
synchronized IS-IS real-time data. Therefore, neighbors are unaware of the switchover as
well. IS-IS NSR requires synchronization of the following data:
l All configuration data, such as information about neighbors, timer parameters, and
process configurations.
l Dynamic data, such as the interface parameters and state, and information about
neighbors and the link state database (LSDB).
NOTE
NSR is enabled on the device by default and does not need to be configured.
Primary Path
Backup Path
Probed Path
Router C
When a fault occurs on the primary link, BFD fast detects the fault and reports it to IS-IS. IS-
IS sets the neighbors of the interface on the faulty link to Down, which triggers topology
calculation, and updates LSPs so that neighbors such as RouterC can receive the updated
LSPs from RouterB. This process implements fast network convergence.
Dynamic BFD sessions are dynamically Dynamic BFD is more flexible than
BFD for created but not manually static BFD. In dynamic BFD, routing
IS-IS configured. When detecting protocols trigger the setup of BFD
faults, BFD informs IS-IS of the sessions, preventing the configuration
faults through the routing errors caused by manual configuration.
management (RM) module. IS-IS Dynamic BFD is easy to configure and
then turns the neighbors Down, applies to the scenarios where BFD
rapidly advertises the changed needs to be configured on the entire
LSPs, and performs incremental network.
SPF. This implements fast route
convergence.
NOTE
BFD uses local and remote discriminators to differentiate multiple BFD sessions between the same pair
of systems.
Because IS-IS establishes only single-hop neighbors, BFD for IS-IS detects only single-hop links
between IS-IS neighbors.
l P2P network
After the conditions for setting up a BFD session are satisfied, IS-IS instructs BFD
through RM to directly set up a BFD session between neighbors.
l Broadcast network
After the conditions for establishing BFD sessions are met, and the DIS is elected, IS-IS
instructs BFD through RM to establish a BFD session between the DIS and each router.
No BFD session is established between non-DISs.
NOTE
On a broadcast network, routers (including non-DIS routers) of the same level on a network
segment can establish neighbor relationships. In the implementation of BFD for IS-IS, however,
BFD sessions are established only between a DIS and a non-DIS. On a P2P network, BFD
sessions are directly established between neighbors.
If a Level-1-2 neighbor relationship is set up between two routers on a link, IS-IS sets up two BFD
sessions for the Level-1 and Level-2 neighbors on a broadcast network, but sets up only one BFD
session on a P2P network.
Conditions for tearing down a BFD session
l P2P network
When a neighbor relationship that was set up on P2P interfaces by IS-IS is down (that is,
the neighbor relationship is not in the Up state) or when the IP protocol type of a
neighbor is deleted, IS-IS tears down the BFD session.
l Broadcast network
When a neighbor relationship that was set up on P2P interfaces by IS-IS is torn down
(that is, the neighbor relationship is not in the Up state), when the IP protocol type of a
neighbor is deleted, or when the DIS is re-elected, IS-IS tears down the BFD session.
NOTE
After dynamic BFD is globally disabled in an IS-IS process, the BFD sessions on all the interfaces in
this IS-IS process are deleted.
the forwarding system to rapidly detect such faults and take measures to restore services as
soon as possible.
In most cases, you can bind BFD to IS-IS Auto FRR to ensure that the fault recovery time is
within 50 ms. When BFD detects a link fault on an interface, the BFD session goes Down,
triggering FRR on the interface. Subsequently, traffic is switched from the faulty link to the
backup link, which protects services.
Principles
IS-IS Auto FRR pre-computes a backup link by using the Loop-Free Alternate (LFA)
algorithm, and then adds the backup link and the primary link to the forwarding table. In the
case of an IS-IS network failure, IS-IS Auto FRR can fast switch traffic to the backup link
before routes on the control plane converge. This ensures normal transmission of traffic and
improves the reliability of the IS-IS network.
The backup link is calculated through the LFA algorithm. With the neighbor that can provide
the backup link being the root, the shortest path to the destination node is calculated by a
device through the SPF algorithm. Then, the loop-free backup link is calculated according to
the inequality defined in RFC 5286.
IS-IS Auto FRR can filter backup routes that need to be added to the IP routing table. Only
the backup routes matching the filtering policy are added to the IP routing table. In this
manner, users can flexibly control the addition of IS-IS backup routes to the IP routing table.
Applications
IS-IS Auto FRR support traffic engineering (TE) links, including the following types:
l IP protecting TE
As shown in Figure 7-15, the TE tunnel has the smallest IS-IS cost among the paths
from RouterS to RouterD. Therefore, RouterS selects the TE tunnel as the primary path
to RouterD. The path RouterS->RouterN->RouterD has the second smallest cost.
According to the LFA algorithm, RouterS selects the path RouterS->RouterN->RouterD
as the backup path. The outbound interface of the backup path is the interface that
connects RouterS to RouterN.
NOTE
If the outbound interface of the backup link is the actual outbound interface of the TE tunnel, IP
protecting TE fails.
IS-IS cost = 13
IS
-IS
co
=1
st
st
=
co
10
-IS
IS
RouterN
Traffic in normal
l TE protecting IP
As shown in Figure 7-16, the physical path RouterS-->RouterN-->RouterD has the
smallest IS-IS metric among the paths from RouterS to RouterD. Therefore, RouterS
prefers the path RouterS-->RouterN-->RouterD as the primary path from RouterS to
RouterD. The IS-IS cost of the TE tunnel is 12, and the explicit path of the TE tunnel is
the direct link from RouterS to RouterD. The IS-IS metric of the direct link from
RouterS to RouterD is 13, which is greater than the IS-IS metric of the TE tunnel.
Therefore, IS-IS selects the TE tunnel as the backup path. TE protecting IP is
implemented.
IS-IS cost = 13
1
=
st
IS
co
-IS
-IS
co
IS
st
=
10
RouterN
Traffic in normal
Traffic in case of failure
IS-IS Auto FRR traffic protection is classified into link protection and link-node dual
protection.
RouterS RouterD
co
10
st
=
=
st
10
co
RouterN
co
=
st
st
=
co
10
RouterS RouterD
co
10
st
=
=
st
10
co
RouterN
Lin Traffic The link cost must satisfy the following In Figure 7-17, traffic is
k passing inequality: transmitted from RouterS to
pro through a Distance_opt(N,D) < Distance_opt(N,S) RouterD. The link cost
tect specific + Distance_opt(S,D) satisfies the link protection
ion link inequality. When the
primary link fails, RouterS
switches the traffic to the
backup link RouterS-
>RouterN so that the traffic
can be further transmitted
along downstream paths.
This ensures that the traffic
interruption time is within
50 ms.
Lin Next-hop Link-node dual protection must satisfy In Figure 7-18, traffic is
k- node or the following conditions: transmitted along the path
nod link from l The link cost must satisfy the RouterS->RouterE-
e the local following inequality: >RouterD. The link cost
dua node to satisfies the link protection
l the next- Distance_opt(N,D) < inequality. When RouterE or
pro hop Distance_opt(N,S) + the link between RouterS
tect node. Distance_opt(S,D) and RouterE fails, RouterS
ion Node l The interface cost of the router must switches the traffic to the
protectio satisfy the following inequality: backup link RouterS-
n takes Distance_opt(N,D) < >RouterN so that the traffic
preceden Distance_opt(N,E) + can be further transmitted
ce over Distance_opt(E,D) along downstream paths.
link This ensures that the traffic
protectio interruption time is within
n. 50 ms.
NOTE
In Table 7-4, Distance_opt(X,Y) indicates the cost of the optimal path between node X and node Y. S
indicates the source node of traffic; E indicates the faulty node; N indicates the node on the backup link;
D indicates the destination node of traffic.
based, which applies to single-source routing scenarios. With the diversification of networks,
multi-source routing scenarios appear, where multiple nodes advertise the same route. Such
multi-source routing scenarios do not meet single-source LFA conditions. As a result, the
backup next hop cannot be calculated. IS-IS FRR for multi-source routing scenarios can
address this problem by using a routing source to protect the primary routing source and
improve network reliability.
SwitchB
C
5
os
st=
st=
SwitchB
t=
Co
Co
0
Cost=20
Cost=20
SwitchA SwitchA
0
st=
Co
Co
Co
st=
st=
10
10
SwitchC
SwitchC
(a) (b)
In Figure 7-19(a), the cost of the link between SwitchA and SwitchB is 5, whereas the cost of
the link between SwitchA and SwitchC is 10. Both SwitchB and SwitchC advertise the route
[Link]/24. IS-IS FRR is enabled on SwitchA. However, single-source LFA conditions are
not met. As a result, SwitchA fails to calculate the backup next hop of the route [Link]/24.
IS-IS FRR for multi-source routing scenarios can address this problem.
In Figure 7-19(b), a virtual node is simulated between SwitchB and SwitchC and is connected
to SwitchB and SwitchC. The cost of the link from SwitchB or SwitchC to the virtual node is
0, whereas the cost of the link from the virtual node to SwitchB or SwitchC is the maximum
value. After the virtual node advertises the route [Link]/24, SwitchA uses the LFA algorithm
to calculate the backup next hop of the virtual node. Then the route [Link]/24 inherits the
backup next hop from the virtual node. In this example, the primary link to the virtual node is
the one from SwitchA to SwitchB, and the backup link is the one from SwitchA to SwitchC.
Background
If an interface transmitting IS-IS services alternates between Up and Down, IS-IS neighbor
relationship flapping occurs on the interface. During the flapping, IS-IS frequently sends
Hello packets to reestablish the neighbor relationship, synchronizes LSDBs, and recalculates
routes. In this process, a large number of packets are exchanged, adversely affecting neighbor
relationship stability, IS-IS services, and other IS-IS-dependent services, such as LDP and
BGP. IS-IS neighbor relationship flapping suppression can address this problem by delaying
IS-IS neighbor relationship reestablishment or preventing service traffic from passing through
flapping links.
Related Concepts
Flapping_event: reported when the status of a neighbor relationship on an interface last
changes from Up to Init or Down. The flapping_event triggers flapping detection.
Threshold: flapping suppression threshold. When the flapping_count exceeds the threshold,
flapping suppression takes effect.
Implementation
Flapping detection
IS-IS interfaces start a flapping counter. If the interval between two flapping_events is shorter
than the detect-interval, a valid flapping_event is recorded, and the flapping_count increases
by 1. When the flapping_count exceeds the threshold, the system determines that flapping
occurs, and therefore triggers flapping suppression, and sets the flapping_count to 0. If the
interval between two valid flapping_events is longer than the resume-interval before the
flapping_count reaches the threshold again, the system sets the flapping_count to 0 again.
Interfaces start the suppression timer when the status of a neighbor relationship last changes
to ExStart or Down.
NOTE
The value of resume-interval must be greater than that of detecting-interval.
Flapping suppression
l Hold-down mode: In the case of frequent flooding and topology changes during neighbor
relationship establishment, interfaces prevent neighbor relationships from being
reestablished during the suppression period, which minimizes LSDB synchronization
attempts and packet exchanges.
l Hold-max-cost mode: If the traffic forwarding path changes frequently, interfaces use the
maximum cost of the flapping link during the suppression period, which prevents traffic
from passing through the flapping link.
Flapping suppression can also work first in Hold-down mode and then in Hold-max-cost
mode.
By default, the Hold-max-cost mode takes effect. The mode and suppression period can be
changed manually.
NOTE
When an interface enters the flapping suppression state, all neighbor relationships on the interface enter
the state accordingly.
Exiting from flapping suppression
Typical Scenarios
Basic scenario
In Figure 7-20, the traffic forwarding path is Router A -> Router B -> Router C -> Router E
before a link failure occurs. After the link between Router B and Router C fails, the
forwarding path switches to Router A -> Router B -> Router D -> Router E. If the neighbor
relationship between Router B and Router C frequently flaps at the early stage of the path
switchover, the forwarding path will be switched frequently, causing traffic loss and affecting
network stability. If the neighbor relationship flapping meets suppression conditions, flapping
suppression takes effect.
Router C
cost=10 cost=10
cost=100 cost=100
Router D
When only one forwarding path exists on the network, the flapping of the neighbor
relationship between any two devices on the path will interrupt traffic forwarding. In Figure
7-21, the traffic forwarding path is Router A -> Router B -> Router C -> Router E. If the
neighbor relationship between Router B and Router C flaps, and the flapping meets
suppression conditions, flapping suppression takes effect. However, if the neighbor
relationship between Router B and Router C is prevented from being reestablished, the whole
network will be divided. Therefore, Hold-max-cost mode (rather than Hold-down mode) is
recommended. If flapping suppression works in Hold-max-cost mode, the maximum cost is
used as the cost of the link between Router B and Router C during the suppression period.
After the network stabilizes and the suppression timer expires, the link is restored.
NOTE
Router A Router E
cost=65535
Router B Router C
Broadcast scenario
In Figure 7-22, four devices are deployed on the same broadcast network using switches, and
the devices are broadcast network neighbors. If Router C flaps due to a link failure, and
Router A and Router B were deployed at different time (Router A was deployed earlier for
example) or the flapping suppression parameters on Router A and Router B are different,
Router A first detects the flapping and suppresses Router C. Consequently, the Hello packets
sent by Router A do not carry Router C's router ID. However, Router B has not detected the
flapping yet and still considers Router C a valid node. As a result, the DR candidates
identified by Router A are Router B and Router D, whereas the DR candidates identified by
Router B are Router A, Router C, and Router D. Different DR candidates result in a different
DR election result, which may lead to route calculation errors. To prevent this problem in
scenarios where an interface has multiple neighbors, such as on a broadcast, P2MP, or NBMA
network, all neighbors on the interface are suppressed when the status of a neighbor
relationship last changes to ExStart or Down. Specifically, if Router C flaps, Router A,
Router B, and Router D on the broadcast network are all suppressed. After the network
stabilizes and the suppression timer expires, Router A, Router B, and Router D are restored to
normal status.
Router A Router B
Router C Router D
NOTE
By default, the Hold-max-cost mode takes effect. The mode can be changed to Hold-down manually.
Router C
Router A Router F
cost=10 cost=10
Level-1
Device
Area Router B Device
Router E
Level-2 B
0 cost=10 cost=10
Router D
Scenario with both LDP-IGP synchronization and IS-IS neighbor relationship flapping
suppression configured
In Figure 7-24, if the link between PE1 and P1 fails, an LDP LSP switchover is implemented
immediately, causing the original LDP LSP to be deleted before a new LDP LSP is
established. To prevent traffic loss, LDP-IGP synchronization needs to be configured. With
LDP-IGP synchronization, the maximum cost is used as the cost of the new LSP to be
established. After the new LSP is established, the original cost takes effect. Consequently, the
original LSP is deleted, and LDP traffic is forwarded along the new LSP.
LDP-IGP synchronization and IS-IS neighbor relationship flapping suppression work in either
Hold-down or Hold-max-cost mode. If both functions are configured, Hold-down mode takes
precedence over Hold-max-cost mode, followed by the configured link cost. Table 7-5 lists
the suppression modes that take effect in different situations.
Table 7-5 Principles for selecting the suppression modes that take effect in different situations
LDP-IGP LDP-IGP LDP-IGP Exited from LDP-
Synchronization/I Synchronization Synchronization IGP
S-IS Neighbor Hold-down Mode Hold-max-cost Synchronization
Relationship Mode Suppression
Flapping
Suppression
Mode
For example, the link between PE1 and P1 frequently flaps in Figure 7-24, and both LDP-
IGP synchronization and IS-IS neighbor relationship flapping suppression are configured. In
this case, the suppression mode is selected based on the preceding principles. No matter
which mode (Hold-down or Hold-max-cost) is selected, the forwarding path is PE1 -> P4 ->
P3 -> PE2.
Figure 7-24 Scenario with both LDP-IGP synchronization and IS-IS neighbor relationship
flapping suppression configured
P1 P2
cost=10
cost=10 cost=10
P4 P3
Figure 7-25 Scenario with both Link-bundle and IS-IS neighbor relationship flapping
suppression configured
Router B
Router A
cost=100 cost=100
Network
cost=10
cost=10 Link 2
Link 1
Router C
Configuring basic IS-IS To deploy the IS-IS protocol 7.6 Configuring Basic IS-
functions on IPv4 networks, configure IS Functions
basic IS-IS functions to
enable communication
between different nodes on
the network. Other IS-IS
features can only be
configured after the basic
functions are configured.
Configuring IS-IS overload If the system cannot store 7.16 Configuring the
new LSPs or synchronize Overload Bit for an IS-IS
the LSDB normally, the Device
calculated routing
information will be
incorrect. In this case, the
system can enter the
overload state. Routes
reached through the device
will not be calculated, but
routes directly connected to
the device will not be
ignored.
When an IS-IS device on the
network requires upgrade or
maintenance, the device
needs to be temporarily
isolated from the network.
To prevent other devices
from forwarding traffic
through this node, set the
overload bit for the device
in question.
Licensing Requirements
IPv4 IS-IS is a basic feature of the CE8800, CE7800, CE6800, and CE5800 series switches
and is not under license control.
Version Requirements
CE8868EI V200R005C10
CE8861EI V200R005C10
CE8860EI V100R006C00
CE8850-32CQ-EI V200R002C50
CE8850-64CQ-EI V200R005C00
CE7850EI V100R003C00
CE7855EI V200R001C00
CE6810EI V100R003C00
CE6850EI V100R001C00
CE6850-48S6Q-HI V100R005C00
CE6850-48T6Q-HI/CE6850U-HI/ V100R005C10
CE6851HI
CE6855HI V200R001C00
CE6856HI V200R002C50
CE6857EI V200R005C10
CE6860EI V200R002C50
CE6865EI V200R005C00
CE6870-24S6CQ-EI/ V200R001C00
CE6870-48S6CQ-EI
CE6870-48T6CQ-EI V200R002C50
CE6875EI V200R003C00
CE6880EI V200R002C50
CE5880EI V200R005C10
CE5810EI V100R002C00
CE5850EI V100R001C00
CE5850HI V100R003C00
CE5855EI V100R005C10
Feature Limitations
The CE6810LI does not support IPv4 Layer 3 forwarding. After the IPv4 function is enabled
on an interface of the CE6810LI, the configured IPv4 address can only be used to manage the
switch.
IS-IS Disabled
DIS priority 64
Pre-configuration Tasks
Before configuring basic IS-IS functions, complete the following task:
l Configuring IP addresses for interfaces to ensure that neighboring nodes are reachable at
the network layer
Configuration Procedure
Creating an IS-IS process is the prerequisite for configuring a network entity title (NET),
configuring the device level, and establishing an IS-IS neighbor relationship.
Context
Creating IS-IS processes is the prerequisite for performing IS-IS configurations.
Procedure
Step 1 Run system-view
If a VPN instance is specified, the IS-IS process belongs to the specified VPN instance.
Otherwise, the IS-IS process belongs to the public network instances.
----End
Context
NET is the special form of the network service access point (NSAP). After the IS-IS view is
displayed, IS-IS can start only when a NET is configured for an IS-IS process.
Generally, you only need to configure one NET for an IS-IS process. When an area needs to
be redefined, for example, the area needs to be merged with other areas or divided into sub-
areas, configure multiple NETs to ensure route correctness. A maximum of three area
addresses can be configured for an IS-IS process. Therefore, a maximum of three NETs can
be configured for an IS-IS process. When configuring multiple NETs, ensure that their system
IDs are the same.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run isis [ process-id ]
The IS-IS process view is displayed.
Step 3 Run network-entity net
A NET is configured.
NOTE
Configuring loopback interface addresses based on NETs is recommended to ensures that a NET is
unique on the network. If NETs are not unique, route flapping will easily occur.
An area ID uniquely identifies an area in the same IS-IS domain. All routers in the same Level-1 area
must share the same area ID, while routers in the same Level-2 area can have different area IDs.
----End
If the levels of IS-IS devices are changed during network operation, the IS-IS process will be
restarted and IS-IS neighbor relationships will be disconnected. Setting the levels of devices
when configuring IS-IS is recommended.
Procedure
Step 1 Run system-view
The system view is displayed.
----End
Procedure
l Establish an IS-IS neighbor relationship on a broadcast link.
a. Run system-view
The system view is displayed.
b. Run interface interface-type interface-number
The interface view is displayed.
c. On an Ethernet interface, run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
The mode switching function takes effect when the interface only has attribute
configurations (for example, shutdown and description configurations).
Alternatively, if configuration information supported by both Layer 2 and Layer 3
interfaces exists (for example, mode lacp and lacp system-id configurations), no
configuration that is not supported after the working mode of the interface is
switched can exist. If unsupported configurations exist on the interface, delete the
configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch
batch interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in
the system view to switch these interfaces to Layer 3 mode in batches.
d. Run isis enable [ process-id ]
After this command is run, IS-IS establishes neighbor relationships and floods LSPs
through this interface.
NOTE
Loopback interfaces are not used to establish neighbor relationships. If IS-IS is enabled on a
loopback interface, IS-IS advertises the routes of the network segment where the interface
resides through other IS-IS interfaces.
e. Run isis circuit-level [ level-1 | level-1-2 | level-2 ]
When two Level-1-2 devices establish IS-IS neighbor relationship, they establish
both Level-1 and Level-2 neighbor relationships. To allow the two Level-1-2
devices to establish only Level-1 or Level-2 neighbor relationship, change the level
of interfaces.
NOTE
Changing the level of an IS-IS interface is valid only when the level of the IS-IS device is
Level-1-2. If the level of the device is not Level-1-2, the level of the device determines the
level of the established neighbor relationship.
f. (Optional) Run isis dis-priority priority [ level-1 | level-2 ]
The DIS priority is set for the interface. A larger value indicates a higher priority.
By default, the DIS priority of Level-1 and Level-2 broadcast interfaces is 64.
Level-1-2 broadcast interfaces select the DIS using Level-1 and Level-2 separately.
To select the DIS only for Level-1 or Level-2 interfaces, specify the level.
g. (Optional) Run isis silent
When an IS-IS interface is suppressed, the interface no longer sends or receives IS-
IS packets. The routes of the network segment where the interface resides, however,
can still be advertised to other IS-IS devices within the same AS.
h. Run commit
a. Run system-view
The system view is displayed.
b. Run interface interface-type interface-number
The interface view is displayed.
c. On an Ethernet interface, run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
The mode switching function takes effect when the interface only has attribute
configurations (for example, shutdown and description configurations).
Alternatively, if configuration information supported by both Layer 2 and Layer 3
interfaces exists (for example, mode lacp and lacp system-id configurations), no
configuration that is not supported after the working mode of the interface is
switched can exist. If unsupported configurations exist on the interface, delete the
configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch
batch interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in
the system view to switch these interfaces to Layer 3 mode in batches.
d. Run isis enable [ process-id ]
IS-IS is enabled on the interface.
e. Run isis circuit-level [ level-1 | level-1-2 | level-2 ]
The level of the interface is configured.
By default, the level of an interface is level-1-2.
f. Run isis circuit-type p2p
The network type of the interface is set to P2P.
By default, the network type of an interface is determined by the physical type of
the interface.
When the network type of an IS-IS interface changes, the interface configuration
changes accordingly:
n After a broadcast interface is simulated as a P2P interface using the isis
circuit-type p2p command, the interval for sending Hello packets, the number
of Hello packets that IS-IS does not receive from a neighbor before the
neighbor is declared Down, interval for retransmitting LSPs on a P2P link, and
various IS-IS authentication modes are restored to the default settings; other
configurations such as the DIS priority, DIS name, and interval for sending
CSNPs on a broadcast network become invalid.
n After the undo isis circuit-type command is run to restore the default network
type of an IS-IS interface, the interval for sending Hello packets, number of
Hello packets that IS-IS does not receive from a neighbor before the neighbor
is declared Down, interval for retransmitting LSPs on a P2P link, various IS-IS
authentication modes, DIS priority, and interval for sending CSNPs on a
broadcast network are restored to the default settings.
g. Run isis ppp-negotiation { 2-way | 3-way [ only ] }
By default, the OSICP negotiation status of a PPP interface does not affect the
status of an IS-IS interface.
NOTE
This command applies only to PPP interfaces and is invalid for other P2P interfaces.
After this command is run, the OSICP negotiation status of a PPP interface affects the status
of an IS-IS interface. When PPP detects that the OSI network fails, the link status of the IS-
IS interface goes Down and the routes of the network segment where the interface resides
are not advertised through LSPs.
j. Run commit
----End
Procedure
l Run the display isis peer [ verbose ] [ process-id | vpn-instance vpn-instance-name |
interface interface-type interface-number ] [ peer-system-id system-id ] command to
check information about IS-IS neighbors.
l Run the display isis interface [ verbose ] [ vpn-instance vpn-instance-name ] command
to check information about IS-IS interfaces.
l Run the display isis route [ process-id | vpn-instance vpn-instance-name ] [ ipv4 ]
[ verbose | [ level-1 | level-2 ] | ip-address [ mask | mask-length ] ] * command to check
information about IS-IS routes.
----End
Pre-configuration Tasks
Before improving IS-IS network security, complete the following task:
Configuration Procedure
You can perform the following configuration tasks (excluding the task of Verifying the IS-IS
Network Security Optimization Configuration) in any sequence as required.
If plain is selected during the configuration of the authentication mode for the IS-IS interface,
the password is saved in the configuration file in plain text. This brings security risks. It is
recommended that you select cipher to save the password in cipher text.
Simple authentication and MD5 authentication have potential security risks. HMAC-SHA256
authentication mode is recommended.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run interface interface-type interface-number
The interface view is displayed.
Step 3 On an Ethernet interface, run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
Step 4 Run any of the following command to configure the authentication mode of the IS-IS
interface as required:
By default, an IS-IS interface does not authenticate received Hello packets and no
authentication password is configured on the interface.
NOTE
----End
Context
Generally, the IS-IS packets to be sent are not encapsulated with authentication information,
and the received packets are not authenticated. If a user sends malicious packets to attack a
network, information on the entire network may be stolen. Therefore, you can configure IS-IS
authentication to improve the network security.
The area authentication password is encapsulated into Level-1 IS-IS packets. Only the packets
that pass the area authentication can be accepted. Therefore, you must configure IS-IS area
authentication on all the IS-IS devices in the specified Level-1 area to authenticate the
Level-1 area.
The domain authentication password is encapsulated into Level-2 IS-IS packets. Only the
packets that pass the domain authentication can be accepted. Therefore, you must configure
IS-IS domain authentication on all the IS-IS devices in the Level-2 area to authenticate
Level-2 area.
If plain is selected during the configuration of the area authentication mode or domain
authentication mode, the password is saved in the configuration file in plain text. This brings
security risks. It is recommended that you select cipher to save the password in cipher text.
Simple and MD5 authentication authentication have potential security risks. HMAC-SHA256
authentication mode is recommended.
NOTE
When configuring IS-IS authentication, the area or domain authentication modes and passwords of the
routers in the same area must be consistent so that IS-IS packets can be flooded normally.
Whether IS-IS packets can pass area or domain authentication does not affect the establishment of
Level-1 or Level-2 neighbor relationships.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run isis [ process-id ]
The IS-IS process view is displayed.
Step 3 Perform the following operations at any sequence as required.
l Run area-authentication-mode { { simple | md5 } { plain plain-text | [ cipher ] plain-
cipher-text } [ ip | osi ] | keychain keychain-name } [ snp-packet { authentication-
avoid | send-only } | all-send-only ]
The area authentication mode is configured.
By default, the system neither encapsulates generated Level-1 packets with
authentication information nor authenticates received Level-1 packets.
l Run domain-authentication-mode { { simple | md5 } { plain plain-text | [ cipher ]
plain-cipher-text } [ ip | osi ] | keychain keychain-name } [ snp-packet
{ authentication-avoid | send-only } | all-send-only ]
The domain authentication mode is configured.
By default, the system neither encapsulates generated Level-2 packets with
authentication information nor authenticates received Level-2 packets.
NOTE
l After the domain-authentication-mode command is run, IS-IS does not process received
unauthenticated Level-1 LSPs that have been stored in the local LSDB and newly received
unauthenticated Level-1 LSPs and SNPs that have not been stored in the local LSDB. Those packets
are discarded automatically after being aged out. To prevent those packets from being discarded due
to this command configuration, specify the send-only parameter in the command.
l The authentication involves the following situations:
– The device encapsulates the authentication mode into LSPs and SNPs to be sent and checks
whether the received packets pass authentication. Then, the device discards the packets that do
not pass the authentication. In this case, the parameter snp-packet or all-send-only is not
specified.
– The device encapsulates authentication information into LSPs to be sent and checks whether
the received LSPs pass the authentication; the device neither encapsulates the SNPs to be sent
with authentication information nor checks whether the received SNPs pass the authentication.
In this case, the parameter snp-packet authentication-avoid needs to be specified.
– The device encapsulates the LSPs and SNPs to be sent with authentication information; the
device, however, checks the authentication mode of only the received LSPs rather than the
received SNPs. In this case, the parameter snp-packet send-only needs to be specified.
– The device encapsulates the LSPs and SNPs to be sent with authentication information, but
does not check whether the received LSPs or SNPs pass the authentication. In this case, the
parameter all-send-only needs to be specified.
NOTE
----End
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run isis
An IS-IS process is created and the IS-IS view is displayed.
Step 3 Run optional-checksum enableIS-IS optional checksum is enabled.
NOTE
If MD5 authentication or keychain authentication with valid MD5 authentication is configured on an IS-
IS interface or area, IS-IS routers send Hello packets and SNP packets carrying no checksum TLVs and
verify the checksum of the received packets.
----End
Procedure
l Run the display isis lsdb verbose command to check the detailed information in the IS-
IS LSDB.
----End
Pre-configuration Tasks
Before configuring IS-IS route selection, complete the following task:
Configuration Procedure
You can perform the following configuration tasks (excluding the task of Verifying the IS-IS
Route Selection Control Configuration) in any sequence as required.
Context
If multiple routes to the same destination are discovered by different routing protocols
running on the same device, the route discovered by the protocol with the highest preference
is selected.
To prefer a route discovered by IS-IS, configure a higher preference value for IS-IS. In
addition, a routing policy can be configured to increase the preferences of specified IS-IS
routes, without affecting route selection.
Procedure
Step 1 Run system-view
The default IS-IS preference value is 15. A smaller preference value indicates a higher
preference.
----End
Context
The costs of IS-IS interfaces can be determined in the following modes in descending order
by priority:
l Interface cost: is configured for a specified interface.
l Global cost: is configured for all interfaces.
l Automatically calculated cost: is automatically calculated based on the interface
bandwidth.
If no cost is configured for an IS-IS interface, the IS-IS interface uses the default cost 10 and
cost style narrow.
If you want to change the cost style of IS-IS devices, running the command while configuring
basic IS-IS functions is recommended. If the cost style of IS-IS devices is changed during
network operation, the IS-IS process is restarted and the neighbor relationship is re-
established.
Procedure
Step 1 Configure the IS-IS cost style.
1. Run system-view
By default, the cost style of routes received and sent by an IS-IS device is narrow.
4. Run commit
The configuration is committed.
The cost range of an interface and a route received by the interface vary with the cost type.
l If the cost style is narrow, the cost of an interface ranges from 1 to 63. The maximum
cost of a route received by the interface is 1023.
l If the cost style is narrow-compatible or compatible, the cost of an interface ranges from
1 to 63. The cost of a received route is related to relax-spf-limit.
l If the cost style is wide-compatible or wide, the cost of the interface ranges from 1 to
16777215. When the cost is 16777215, the neighbor TLV generated on the link cannot
be used for route calculation but for the transmission of TE information. The maximum
cost of a received route is 0xFFFFFFFF.
Step 2 Configure the cost of an IS-IS interface.
Perform any of the following operations to configure the cost of an IS-IS interface.
Configure the cost of a specified IS-IS interface.
1. Run system-view
The system view is displayed.
2. Run interface interface-type interface-number
The interface view is displayed.
3. On an Ethernet interface, run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
The mode switching function takes effect when the interface only has attribute
configurations (for example, shutdown and description configurations). Alternatively, if
configuration information supported by both Layer 2 and Layer 3 interfaces exists (for
example, mode lacp and lacp system-id configurations), no configuration that is not
supported after the working mode of the interface is switched can exist. If unsupported
configurations exist on the interface, delete the configurations first and then run the undo
portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system
view to switch these interfaces to Layer 3 mode in batches.
4. Run isis cost cost [ level-1 | level-2 ]
The cost of the IS-IS interface is configured.
By default, the link cost of an IS-IS interface is 10.
NOTE
To change the cost of a loopback interface, run the isis cost command only in the interface view.
5. Run commit
The configuration is committed.
Configure the global IS-IS cost.
1. Run system-view
The reference value of the bandwidth is configured. By default, the bandwidth reference
value is 100 Mbit/s.
4. Run auto-cost enable
The bandwidth reference value set using the bandwidth-reference command takes effect
only when the cost style is wide or wide-compatible. In this case, the interface cost is
calculated using the following formula:
Table 7-9 Mapping between IS-IS interface costs and interface bandwidth
Cost Bandwidth Range
----End
Context
If there are redundant IS-IS links, multiple routes may have an equal cost. Choose either of
the following methods to use these equal-cost IS-IS routes:
l Configure load balancing for equal-cost IS-IS routes so that traffic will be evenly
balanced among these links.
This mechanism increases the link bandwidth usage and prevents network congestion
caused by link overload. However, this mechanism may make traffic management more
difficult because traffic will be randomly forwarded.
l Configure preference values for equal-cost IS-IS routes so that only the route with the
highest preference will be used and the others function as backups.
This configuration facilitates traffic management and improves the network reliability,
without the need to change original configurations.
Procedure
l Configure equal-cost IS-IS routes to work in load-balancing mode.
a. Run system-view
The system view is displayed.
b. Run isis [ process-id ]
The IS-IS view is displayed.
c. Run maximum load-balancing number
The maximum number of load-balancing equal-cost IS-IS routes is set.
By default, load balancing is supported and a maximum of 32(64 on the CE6870EI)
equal-cost routes can participate in load balancing.
NOTE
When the number of equal-cost routes is greater than number specified in the maximum
load-balancing command, valid routes are selected for load balancing based on the
following criteria:
1. Route preference: Routes with higher preferences are selected for load balancing.
2. Interface index: If routes have the same priorities, routes with higher interface index
values are selected for load balancing.
3. Next hop IP address: If routes have the same priorities and interface index values, routes
with larger IP address are selected for load balancing.
d. Run commit
The configuration is committed.
l Configure preference values for equal-cost IS-IS routes.
a. Run system-view
The system view is displayed.
----End
Context
If multiple Level-1-2 devices in a Level-1 area are connected to devices in the Level-2 area, a
Level-1 LSP sent by each Level-1-2 device carries an ATT flag bit of 1. This Level-1 area
will have multiple routes to the Level-2 area and to other Level-1 areas.
By default, routes in a Level-1 area can be leaked into the Level-2 area so that Level-1-2 and
Level-2 devices can learn about the topology of the entire network. Devices in a Level-1 area
are unaware of the entire network topology because they only maintain LSDBs in the local
Level-1 area. Therefore, a device in a Level-1 area can forward traffic to a Level-2 device
only through the nearest Level-1-2 device. The route used may not be the optimal route to the
destination.
To enable a device in a Level-1 area to select the optimal route, configure IPv4 IS-IS route
leaking so that specified routes in the Level-2 area can be leaked into the local Level-1 area.
Routes of services deployed only in the local Level-1 area do not need to be leaked into the
Level-2 area. A policy can be configured to leak only desired routes into the Level-2 area.
Procedure
l Specify routes in the Level-2 area and other Level-1 areas that can be leaked into the
local Level-1 area.
a. Run system-view
Routes that meet the specified conditions in the Level-2 areas are leaked into the
local Level-1 area.
By default, routes in the Level-2 area are not leaked into Level-1 areas.
NOTE
The command is run on the Level-1-2 device that is connected to an external area.
d. Run commit
Routes that meet the specifies conditions in Level-1 areas are leaked into the
Level-2 area.
By default, all routes in a Level-1 area are leaked into the Level-2 area.
NOTE
The command is run on the Level-1-2 device that is connected to an external area.
d. Run commit
----End
Procedure
l Run the display isis route [ process-id | vpn-instance vpn-instance-name ] [ ipv4 ]
[ verbose | [ level-1 | level-2 ] | ip-address [ mask | mask-length ] ] * command to check
IS-IS routing information.
l Run the display isis lsdb [ { level-1 | level-2 } | verbose | { local | lsp-id | is-name
symbolic-name } ] * [ process-id | vpn-instance vpn-instance-name ] command to check
information in the IS-IS LSDB.
----End
Pre-configuration Tasks
Before controlling IS-IS route exchange, complete the following task:
Configuration Procedure
You can perform the following configuration tasks (excluding the task of Verifying the IS-IS
Route Exchange Control Configuration) in any sequence as required.
Context
If IS-IS is configured to advertise a default route on a border device that has external routes,
the device advertises a default route [Link]/0 in the IS-IS routing domain. All traffic destined
for other routing domains is first forwarded to the border device.
Configuring a static default route can also allow all the traffic to be first forwarded to a border
device, which then forwards the traffic outside an IS-IS routing domain. However, this
method leads to heavy workload in configuration and management when a large number of
devices are deployed on the network.
In addition, advertising default routes using IS-IS is flexible. If multiple border devices are
deployed, a routing policy can be configured to allow only the border device that meets the
specified conditions to advertise a default route, preventing routing blackholes.
Procedure
Step 1 Run system-view
----End
Context
After IS-IS is configured to advertise a default route on a border device in an IS-IS routing
domain, all the traffic destined outside the IS-IS routing domain is forwarded through the
border device. This burdens the border device because other devices in the IS-IS routing
domain do not have the routes destined outside the domain. If multiple border devices are
deployed in the IS-IS routing domain, optimal routes to other routing domains need to be
selected.
To ensure optimal routes are selected, all the other devices in the IS-IS routing domain must
learn all or some external routes.
Procedure
Step 1 Run system-view
IS-IS will advertise all imported external routes to the IS-IS routing domain by default.
----End
Context
When the local IS-IS device advertises imported external routes to other IS-IS devices,
routing policies can be configured to advertise only the external routes that meet specified
conditions if these devices do not require all the imported external routes.
Procedure
Step 1 Run system-view
IS-IS is configured to advertise the external routes that meet specified conditions to the IS-IS
routing domain.
Step 4 Run commit
The configuration is committed.
----End
Context
Only routes in an IP routing table can be used to forward IP packets. An IS-IS route can take
effect only after this IS-IS route has been successfully added to an IP routing table.
If an IS-IS route does not need to be added to a routing table, specify conditions, such as a
basic ACL, IP prefix, and routing policy, to filter routes so that only IS-IS routes that meet the
specified conditions can added to an IP routing table. IS-IS routes that do not meet the
specified conditions cannot be added to the IP routing table and cannot be selected to forward
IP packets.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run isis [ process-id ]
The IS-IS view is displayed.
Step 3 Run filter-policy { acl-number | acl-name acl-name | ip-prefix ip-prefix-name | route-policy
route-policy-name } import
Conditions for filtering IS-IS routes are configured.
Step 4 Run commit
The configuration is committed.
----End
Procedure
l Run the display isis lsdb [ { level-1 | level-2 } | verbose | { local | lsp-id | is-name
symbolic-name } ] * [ process-id | vpn-instance vpn-instance-name ] command to check
IS-IS LSDB information.
l Run the display isis route [ process-id | vpn-instance vpn-instance-name ] [ ipv4 ]
[ verbose | [ level-1 | level-2 ] | ip-address [ mask | mask-length ] ] * command to check
IS-IS routing information.
l Run the display ip routing-table [ verbose ] command to check the IP routing table.
----End
Pre-configuration Tasks
Before configuring IS-IS route summarization, complete the following task:
l 7.6 Configuring Basic IS-IS Functions
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run isis [ process-id ]
The IS-IS view is displayed.
Step 3 Run summary ip-address mask [ avoid-feedback | generate_null0_route | tag tag | [ level-1
| level-1-2 | level-2 ] ] *
The specified IS-IS routes are summarized into one IS-IS route.
NOTE
After route summarization is configured on a device, the local routing table still contains all specific
routes before the summarization. The routing tables on other devices contain only the summary route,
and the summary route is deleted only after all its specific routes are deleted.
----End
Pre-configuration Tasks
Before configuring IS-IS route convergence, complete the following task:
l 7.6 Configuring Basic IS-IS Functions
Configuration Procedure
You can perform the following configuration tasks (excluding the task of Verifying the IS-IS
Route Convergence Control Configuration) in any sequence as required.
Context
IS-IS maintains neighbor relationships between neighbors by sending and receiving Hello
packets. If the local device does not receive Hello packets from its neighbor within a specified
period, the device considers the neighbor Down.
In IS-IS, you can set the interval for sending Hello packets and the holding multiplier of
neighboring devices to control the holdtime of neighbor relationships between the local
device and neighbors.
l If the interval for sending Hello packets is too short, more system resources are
consumed to send Hello packets, causing a heavy CPU load.
l If the holdtime of neighboring devices is too long, the local device needs to spend much
time detecting the failure of neighbors, slowing down IS-IS route convergence. If the
holdtime of neighboring devices is too short, some Hello packets may be lost or become
incorrect because of network transmission delay and errors. This will cause neighbor
relationships to frequently alternate between Up and Down and lead to route flapping on
the IS-IS network.
NOTE
You are advised to set the same interval for sending Hello packets and same holding multiplier of
neighboring devices on all the devices on the IS-IS network. This method prevents IS-IS route
convergence from being slowed down when some devices detect link failures at a lower speed
than other devices.
Procedure
l Configure the interval for sending Hello packets.
a. Run system-view
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch
batch interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in
the system view to switch these interfaces to Layer 3 mode in batches.
d. Run isis timer hello hello-interval [ level-1 | level-2 ] [ conservative ]
NOTE
Parameters level-1 and level-2 are configured only on a broadcast interface. Level-1 and
Level-2 Hello packets are sent separately and their intervals must be set respectively. There
is only one Hello packet on a point-to-point link. Therefore, level-1 and level-2 parameters
are not used.
e. Run commit
The configuration is committed.
l Set the holding multiplier for neighboring devices.
a. Run system-view
The system view is displayed.
b. Run interface interface-type interface-number
The interface view is displayed.
c. (On an Ethernet interface), run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
If an Ethernet interface already has Layer 2 configuration, this command fails to be
executed on the interface. Before running this command on the interface, delete all
the Layer 2 configuration of the interface.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch
batch interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in
the system view to switch these interfaces to Layer 3 mode in batches.
d. Run isis timer holding-multiplier number [ level-1 | level-2 ]
The holding multiplier of neighboring devices is set.
The default holding multiplier is 3. The holdtime of neighbor relationships is three
times the interval for sending Hello packets.
NOTE
Parameters level-1 and level-2 are configured only on a broadcast interface. Level-1 and
Level-2 Hello packets are sent separately and their intervals must be set respectively. There
is only one Hello packet on a point-to-point link. Therefore, level-1 and level-2 parameters
are not used.
e. Run commit
The configuration is committed.
----End
the intelligent timer for generating LSPs. This timer can fast respond to emergencies, speed
up network convergence, and improve CPU resource efficiency because its interval becomes
longer when the network changes frequently.
Set the Set the size When the volume of link status information increases, the
maximum for LSPs to length of LSPs to be generated can be increased to carry
length for be more information in each LSP.
LSPs generated
and LSPs to
be received.
Set the Set the When a switch generates the system LSP, it fills in the
maximum maximum maximum lifetime for this LSP. After this LSP is received
lifetime for lifetime for by other switchs, the lifetime of the LSP is reduced
LSPs LSPs to gradually. If the switch does not receive any more update
ensure the LSPs and the lifetime of the LSP is reduced to 0, the LSP
validity of will be deleted from the LSDB 60s later if no more
an LSP updated LSPs are received.
before its
updated
LSP is
received.
Set the Set the Reducing the minimum interval for sending LSPs speeds
minimum interval for up LSP flooding.
interval at sending an
which LSPs LSP during
are sent LSP update.
Configure the Control the On an IS-IS network, if the local routing information
intelligent interval for changes, a switch needs to generate a new LSP to notify
timer used to generating this change. If the local routing information changes
generate LSPs LSPs frequently, a large number of new LSPs are generated,
intelligently which occupies a lot of system resources and decreases
to speed up system performance. To speed up network convergence
route and prevent system performance from being affected,
convergenc configure an intelligent timer for generating LSPs. This
e and timer can adjust the delay in generating LSPs based on the
reduce routing information change frequency.
system
load.
Enable LSP Control the When an IS-IS switch receives new LSPs from other
fast flooding number of switchs, it switch updates the LSPs in the local LSDB and
LSPs periodically floods out the updated LSPs according to a
flooded timer. LSP fast flooding updates the preceding method.
each time When a device configured with LSP fast flooding receives
on an one or more new LSPs. it floods out the LSPs with a
interface to number smaller than the specified number before
speed up calculating routes. This speeds up LSDB synchronization.
IS-IS
network
convergenc
e.
Set the LSP Set the LSP The LSP remaining lifetime specifies the remaining
Remaining Remaining validity time of an LSP. When the remaining lifetime of an
Lifetime for Lifetime for LSP is 0, this LSP is deleted. If the LSP remaining lifetime
LSPs LSPs to is incorrect, LSPs will be too fast or too slow to be aged
ensure the out. As a result, routes cannot be converged. To address
routes can this issue, manually set the LSP remaining lifetime.
be
calculated
correctly.
Procedure
l Set the maximum length for LSPs.
a. Run system-view
The system view is displayed.
b. Run isis [ process-id ]
The IS-IS view is displayed.
c. Set the maximum length for LSPs.
n Run lsp-length originate max-size
The maximum length is set for each generated LSP.
n Run lsp-length receive max-size
The maximum length is set for each received LSP.
NOTE
Ensure that the value of max-size for LSPs to be generated must be smaller than or equal to
the value of max-size for LSPs to be received.
The value of max-size set through the lsp-length command must meet the following
requirements; otherwise, the MTU status on the interface is considered Down.
l The MTU of an Ethernet interface must be greater than or equal to the sum of the
value of max-size and 3.
l The MTU of a P2P interface must be greater than or equal to the value of max-size.
d. Run commit
The configuration is committed.
l Set the maximum lifetime for LSPs.
a. Run system-view
The system view is displayed.
b. Run isis [ process-id ]
The IS-IS view is displayed.
c. Run timer lsp-max-age age-time
The maximum lifetime is set for LSPs.
By default, the maximum lifetime of LSPs is 1200 seconds.
d. Run commit
The configuration is committed.
l Set the refresh interval for LSPs.
a. Run system-view
The system view is displayed.
b. Run isis [ process-id ]
The IS-IS view is displayed.
c. Run timer lsp-refresh refresh-time
A refresh interval is set for LSPs.
By default, the LSP refresh interval is 900s.
NOTE
Ensure that the LSP refresh interval is more than 300s shorter than the maximum LSP
lifetime. This allows new LSPs to reach all devices in an area before existing LSPs expire.
The larger a network, the greater the deviation between the LSP refresh interval and the
maximum LSP lifetime.
d. Run commit
The configuration is committed.
l Set the minimum interval at which LSPs are sent.
a. Run system-view
The system view is displayed.
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch
batch interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in
the system view to switch these interfaces to Layer 3 mode in batches.
d. Run isis timer lsp-throttle throttle-interval [ count count ]
The minimum interval for sending LSPs on an IS-IS interface and the maximum
number of LSPs sent within the interval are set.
By default, the minimum interval for sending LSPs is 50 ms, and the maximum
number of LSPs sent each time is 10.
e. Run commit
The configuration is committed.
l Configure the intelligent timer used to generate LSPs.
a. Run system-view
The system view is displayed.
b. Run isis [ process-id ]
The IS-IS view is displayed.
c. Run timer lsp-generation max-interval [ init-interval [ incr-interval ] ] [ level-1 |
level-2 ]
The intelligent timer used to generate LSPs is set.
If no level is configured, both Level-1 and Level-2 are configured.
The intelligent timer involves three parameters, and the parameters are described as
follows:
n When only max-interval is specified, the intelligent timer functions as an
ordinary one-time triggering timer.
n When both init-interval and incr-interval are specified, the delay in generating
an LSP for the first time is determined by init-interval, and the delay in
generating an LSP with the same LSP ID for the second time is determined by
incr-interval. Subsequently, each time routes change, the delay in generating
an LSP doubles the last delay until the delay reaches the value specified by
max-interval. If the local routing information keeps being updated within the
max-interval period, the delay remains at max-interval until the time the local
routing information is not updated within the max-interval period or the IS-IS
process is restarted. Then the delay decreases to init-interval.
n When init-interval is specified but incr-interval is not, the delay in generating
an LSP for the first time is determined by init-interval, and the delay in
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch
batch interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in
the system view to switch these interfaces to Layer 3 mode in batches.
d. (Optional) Run isis circuit-type p2p
A broadcast interface is simulated as a P2P interface.
NOTE
Context
Complete sequence number PDUs (CSNPs) contains the summary of all the LSPs in an LSDB
to ensure LSDB synchronization between neighbors. CSNPs are processed differently on
broadcast and P2P links.
l On a broadcast link, CSNPs are periodically sent by a DIS device. If a device detects that
its LSDB is not synchronized with that on its neighboring device, the device will send
PSNPs to apply for missing LSPs.
l On a P2P link, CSNPs are sent only during initial establishment of neighboring
relationships.
Procedure
Step 1 Run system-view
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
The interval at which CSNPs are sent is set on the specified interface.
By default, the interval at which CSNPs are sent on a broadcast network is 10 seconds.
NOTE
----End
Context
A network change always triggers IS-IS to perform SPF calculation. Frequent SPF calculation
will consume excessive CPU resources, affecting services.
To solve this problem, configure an intelligent timer to control the interval for SPF
calculation. For example, to speed up IS-IS route convergence, set the interval for SPF
calculation to a small value and set the interval to a large value after the IS-IS network
becomes stable.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run isis [ process-id ]
The IS-IS view is displayed.
Step 3 Run timer spf max-interval [ init-interval [ incr-interval ] ]
The SPF intelligent timer is configured.
By default, no SPF intelligent timer is configured and the maximum delay in SPF calculation
is 5 seconds.
The delay for SPF calculation is described as follows:
l The delay for the first SPF calculation is init-interval; the delay for the second SPF
calculation is incr-interval. From the third time on, the delay for SPF calculation doubles
each time until the delay reaches [Link] network flapping persists within the
max-interval period, max-interval is used as the delay for SPF calculation. If network
flapping does not occur within the max-interval period or if the IS-IS process is restarted,
init-interval is used as the delay for SPF calculation.
l If incr-interval is not specified, the delay for SPF calculation for the first time is init-
interval. From the second time on, the delay is max-interval. If the local routing
information keeps being updated within the max-interval period, the delay remains at
max-interval until the time the local routing information is not updated within the max-
interval period or the IS-IS process is restarted. Then the delay decreases to init-interval.
l When only max-interval is specified, the intelligent timer functions as an ordinary one-
time triggering timer.
Step 4 Run suppress-flapping route-calculate timer delay-interval
A period is specified for the device to delay route calculation when the device receives an
LSP during route flapping.
By default, if the device receives an LSP during route flapping, it delays route calculation for
10s.
Step 5 Run timer purge-zero-lsp route-calculate-delay delay-interval
A period is specified for the device to delay route calculation when the device receives a
purge LSP.
By default, if the device receives a purge LSP, it delays route calculation for 10s.
----End
Context
Devices allow you to configure the highest convergence priority for specific IS-IS routes so
that these IS-IS routes will be converged first when a network topology changes.
The application rules of the convergence priorities for IS-IS routes are as follows:
l Existing IS-IS routes are converged based on the priorities configured in the prefix-
priority command.
l New IS-IS routes are converged based on the priorities configured in the prefix-priority
command.
l If an IS-IS route conforms to the matching rules of multiple convergence priorities, the
highest convergence priority is used.
l The convergence priority of a Level-1 IS-IS route is higher than that of a Level-2 IS-IS
route.
Procedure
Step 1 Run system-view
Step 3 Run prefix-priority [ level-1 | level-2 ] { critical | high | medium } { ip-prefix prefix-name |
tag tag-value }
By default, the convergence priority of 32-bit host routes is medium, and the convergence
priority of the other IS-IS routes is low.
NOTE
----End
Procedure
l Run the display isis interface [ verbose ] [ vpn-instance vpn-instance-name ] command
to check IS-IS packet information.
l Run the display isis route [ process-id | vpn-instance vpn-instance-name ] [ ipv4 ]
[ verbose | [ level-1 | level-2 ] | ip-address [ mask | mask-length ] ] * [ | count ] command
to check information about IS-IS routes.
----End
Usage Scenario
If an interface transmitting IS-IS services alternates between Up and Down, IS-IS neighbor
relationship flapping occurs on the interface. During the flapping, IS-IS reestablishes the
neighbor relationship and recalculates routes. In this process, a large number of packets are
exchanged, adversely affecting neighbor relationship stability, IS-IS services, and other IS-IS-
dependent services, such as LDP and BGP. IS-IS neighbor relationship flapping suppression
can address this problem by delaying IS-IS neighbor relationship reestablishment or
preventing service traffic from passing through flapping links.
Pre-configuration Tasks
Before configuring IS-IS neighbor relationship flapping suppression, complete the following
tasks:
l Configure an IP address for each interface to ensure that neighboring routers are
reachable at the network layer.
l Configuring Basic IPv4 IS-IS Functions.
Procedure
Step 1 Run system-view
The system view is displayed.
By default, IS-IS neighbor relationship flapping suppression is enabled globally. To disable
this function globally, run the suppress-flapping peer disable command in the IS-IS view.
Step 2 Run interface interface-type interface-number
The interface view is displayed.
By default, IS-IS neighbor relationship flapping suppression is enabled on all interfaces in the
same IS-IS process. To disable the function from one of the interfaces, run the isis suppress-
flapping peer disable command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
NOTE
By default, the detection interval of IS-IS neighbor relationship flapping suppression is 60s,
the suppression threshold is 10, and the interval for exiting from suppression is 120s. Using
the default detection parameters is recommended.
----End
Pre-configuration Tasks
Before configuring LSP fragment extension, complete the following task:
l 7.6.1 Creating IS-IS Processes
NOTE
When a new device connects to an IS-IS network, you are advertised to configure LSP fragment
extension and virtual systems before establishing IS-IS neighbors or importing routes. If you establish
IS-IS neighbors or import routes, which causes IS-IS to carry much information that cannot be loaded
through 256 fragments, you must configure LSP fragment extension and virtual systems. The
configurations, however, take effect only after you restart the IS-IS process.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run isis [ process-id ]
The IS-IS view is displayed.
NOTE
If there are devices of other manufacturers on the network, LSP fragment extension must be set to
mode-1. Otherwise, devices of other manufacturers cannot identify LSPs.
----End
Pre-configuration Tasks
Before configuring a mesh group, complete the following task:
l 7.6 Configuring Basic IS-IS Functions
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run interface interface-type interface-number
The interface view is displayed.
Step 3 On an Ethernet interface, run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
When mesh-blocked is configured on an interface, the interface is blocked and cannot flood
LSPs outside. All the interfaces added to a mesh group implement global LSDB
synchronization through CSNP and PSNP mechanisms.
Step 5 Run commit
The configuration is committed.
----End
Pre-configuration Tasks
Before configuring IS-IS reliability, complete the following task:
l 7.6 Configuring Basic IS-IS Functions
Configuration Procedure
You can perform the following configuration tasks (excluding the task of Verifying the IS-IS
Reliability Configuration) in any sequence as required.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run isis [ process-id ]
----End
NOTE
A BFD session currently does not detect route switching. If the change of bound peer IP address causes
a route to switch to another link, the BFD session is negotiated again only when the original link fails.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run bfd
BFD is enabled globally.
Step 3 Run quit
The system view is displayed.
Step 4 Run bfd session-name bind peer-ip ip-address [ interface interface-type interface-number ]
BFD is enabled between the specified interface and peer router.
If a peer IP address and a local interface are specified in the bfd command, BFD monitors
only a single-hop link with the interface specified in the bfd command as the outbound
interface and with the peer IP address specified in the peer-ip command as the next-hop
address.
Step 5 Set discriminators.
l Run discriminator local discr-value
A local discriminator is set.
l Run discriminator remote discr-value
A remote discriminator is set.
The local discriminator of a device must be the remote discriminator of the device on the
other end; otherwise, a BFD session cannot be established. In addition, the local and remote
discriminators cannot be modified after being configured.
NOTE
The local discriminator of the local device must be the same as the remote discriminator of the remote
device, and the remote discriminator of the local device must be the same as the local discriminator of
the remote device.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
----End
Context
On an IS-IS network, a device periodically sends Hello packets to detect the neighbor status
change. By default, the device considers a neighbor Down when it does not receive a Hello
packet from the neighbor after sending three Hello packets (30 seconds). This IS-IS fault
detection mechanism, however, cannot provide high reliability for the network that requires
fast network convergence and no packet loss. BFD for IS-IS can solve this problem. BFD is a
millisecond-level fault detection mechanism. It can detect faults on the link between IS-IS
neighbors within 50 ms. Therefore, BFD can speed up IS-IS route convergence, ensures fast
link switchover, and reduces traffic loss.
Dynamic BFD for IS-IS implements dynamic setup of BFD sessions. When a new IS-IS
neighbor relationship is set up, BFD is notified of the neighbor parameters and the detection
parameters (including source and destination IP addresses). Then a BFD session will be
established based on the received neighbor parameters.
Dynamic BFD is more flexible than static BFD. In dynamic BFD, routing protocols trigger
the setup of BFD sessions, preventing the configuration errors caused by manual
configuration. Dynamic BFD is easy to configure and applies to the scenarios where BFD
needs to be configured on the entire network. Dynamic BFD for IS-IS can fast detect neighbor
status changes and implement fast network convergence.
NOTE
A BFD session currently does not detect route switching. If the change of bound peer IP address causes
a route to switch to another link, the BFD session is negotiated again only when the original link fails.
The priority of BFD configured on an interface is higher than that of BFD configured for a process. If
BFD session parameters are configured for both a process and an interface, the parameters on the
interface will be used to establish a dynamic BFD session.
Procedure
l Configure dynamic BFD for IS-IS in a specified IS-IS process.
a. Run system-view
The system view is displayed.
b. Run bfd
BFD is enabled globally.
c. Run quit
The system view is displayed.
d. Run isis process-id
The IS-IS view is displayed.
e. Run bfd all-interfaces enable
BFD for IS-IS is enabled to establish a BFD session.
This command enables an IS-IS process to use default BFD parameters to create
BFD sessions on all the interfaces in the IS-IS process.
f. (Optional) Run bfd all-interfaces { min-rx-interval receive-interval | min-tx-
interval transmit-interval | detect-multiplier multiplier-value | frr-binding } *
The parameters for establishing BFD sessions are set for all interfaces.
The command execution result is applicable to BFD session parameters on all IS-IS
interfaces.
g. (Optional) Run the following command in the interface view: isis bfd block
The interface is prohibited from dynamically establishing a BFD session.
By default, an interface can dynamically establish BFD sessions.
h. Run commit
The configuration is committed.
l Configure dynamic BFD for IS-IS on a specified interface.
a. Run system-view
The system view is displayed.
b. Run bfd
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch
batch interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in
the system view to switch these interfaces to Layer 3 mode in batches.
f. Run isis bfd enable
BFD is enabled on the interface to establish a BFD session.
After BFD is configured globally and the neighbor status is Up (on a broadcast
network, DIS is in the Up state), default BFD parameters will be used to establish
BFD sessions on the specified interface.
g. (Optional) Run isis bfd { min-rx-interval receive-interval | min-tx-interval
transmit-interval | detect-multiplier multiplier-value | frr-binding } *
Run this command when BFD session parameters need to be configured for a
specified interface.
h. (Optional) Run isis bfd block
The interface is prohibited from dynamically establishing a BFD session.
i. Run commit
The configuration is committed.
----End
Pre-configuration Tasks
Before configuring the overload bit for an IS-IS device, complete the following task:
l 7.6 Configuring Basic IS-IS Functions
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run isis [ process-id ]
The IS-IS view is displayed.
Step 3 Run set-overload [ on-startup [ timeout1 | start-from-nbr system-id [ timeout1 [ timeout2 ] ]
| wait-for-bgp [ timeout1 ] ] [ send-sa-bit [ timeout3 ] ] ][ allow { interlevel | external }* ]
The overload bit for non-pseudonode LSPs is configured.
Step 4 Run commit
The configuration is committed.
----End
The IS-IS data structure cannot be restored after you reset it. All the previous structure
information and the neighbor relationship are reset. Exercise caution when running this
command.
The specified IS-IS neighbor relationship is deleted after you reset a specified IS-IS neighbor.
Exercise caution when running this command.
Procedure
l Reset IS-IS data structure.
Run the reset isis all[ process-id | vpn-instance vpn-instance-name ] command to reset
IS-IS data structure.
l Reset IS-IS neighbor relationship.
After the IS-IS routing policy or the protocol changes, you can reset a specific IS-IS
neighbor to validate the new configuration.
l Reset IS-IS statistics
Run the reset isis error [ process-id | vpn-instance vpn-instance-name ] or reset isis
error interface interface-type interface-number command to clear information about
incorrect LSPs and Hello packets received by the specified interface or process.
Run the reset isis statistics { packet | socket } [ interface [ interface-type interface-
number ] ] command to clear IS-IS statistics on the specified interface.
Run the reset isis [ process-id ]statistics packet [ lsp ] or reset isis statistics packet lsp
[ process-id ] command to clear IS-IS statistics on the specified process.
----End
Context
By suppressing IS-IS, you can disable an IS-IS process temporarily without affecting the IS-
IS configuration.
Procedure
Step 1 Run system-view
After the IS-IS process is disabled temporarily, you can still perform the IS-IS configuration
but the configuration does not take effect. You can run the undo shutdown command to
cancel the suppression.
----End
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run isis [ process-id ]
The IS-IS view is displayed.
Step 3 Configure IS-IS host name mapping.
l Run is-name symbolic-name
IS-IS dynamic host name mapping is configured and a host name is configured for the
local device.
This configuration is dynamic configuration. Therefore, the configured host name
symbolic-name is advertised through an LSP to other IS-IS devices in the same area.
When you use IS-IS display commands to view IS-IS information on other IS-IS
devices, the system ID of the local device is replaced by the configured host name.
l Run is-name map system-id symbolic-name
IS-IS static host name mapping is configured and a host name is configured for the
remote device.
This configuration is static configuration and takes effect only on the local device.
Therefore, the configured host name symbolic-name is not advertised through an LSP.
Step 4 (Optional) Run purge-originator-identification enable
IS-IS is configured to add POI TLV to Purge packets. If a dynamic hostname has been
configured for the local device, the hostname TLV is also added to the Purge packets.
Step 5 Run commit
The configuration is committed.
----End
Networking Requirements
As shown in Figure 7-26, there are four devices (SwitchA, SwitchB, SwitchC, and SwitchD)
on the network. The four devices need to communicate with each other. SwitchA and SwitchB
can only process a small amount of data because they have lower performance than the other
two devices.
IS-IS
Area10 10GE1/0/2
VLANIF40
10GE1/0/1 10GE1/0/3 [Link]/16
SwitchA VLANIF10 VLAN30 SwitchD
L1 [Link]/24 [Link]/24 L2
10GE1/0/1 SwitchC 10GE1/0/1
VLANIF10 10GE1/0/2 VLANIF30
L1/2
[Link]/24 VLANIF20 [Link]/24
[Link]/24 10GE1/0/1
VLANIF20
[Link]/24 IS-IS
SwitchB Area20
L1
Configuration Roadmap
The configuration roadmap is as follows:
1. Enable IS-IS on each device so that the devices can be interconnected. Configure
SwitchA and SwitchB as Level-1 devices to enable them to maintain less data.
Procedure
Step 1 Configure VLANs that each interface belongs to.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchA
[*HUAWEI] commit
[~SwitchA] vlan 10
[*SwitchA-vlan10] quit
[*SwitchA] interface 10ge 1/0/1
[*SwitchA-10GE1/0/1] port link-type trunk
[*SwitchA-10GE1/0/1] port trunk allow-pass vlan 10
[*SwitchA-10GE1/0/1] commit
[~SwitchA-10GE1/0/1] quit
The configurations of SwitchB, SwitchC, and SwitchD are similar to the configuration of
SwitchA, and are not mentioned here.
Step 2 Assign the IP addresses for VLANIF interfaces.
[~SwitchA] interface vlanif 10
[*SwitchA-Vlanif10] ip address [Link] 24
[*SwitchA-Vlanif10] commit
[~SwitchA-Vlanif10] quit
The configurations of SwitchB, SwitchC, and SwitchD are similar to the configuration of
SwitchA, and are not mentioned here.
Step 3 Configure basic IS-IS functions.
# Configure SwitchA.
[~SwitchA] isis 1
[*SwitchA-isis-1] is-level level-1
[*SwitchA-isis-1] network-entity 10.0000.0000.0001.00
[*SwitchA-isis-1] quit
[*SwitchA] interface vlanif 10
[*SwitchA-Vlanif10] isis enable 1
[*SwitchA-Vlanif10] commit
[~SwitchA-Vlanif10] quit
# Configure SwitchB.
[~SwitchB] isis 1
[*SwitchB-isis-1] is-level level-1
[*SwitchB-isis-1] network-entity 10.0000.0000.0002.00
[*SwitchB-isis-1] quit
[*SwitchB] interface vlanif 20
[*SwitchB-Vlanif20] isis enable 1
[*SwitchA-Vlanif20] commit
[~SwitchB-Vlanif20] quit
# Configure SwitchC.
[~SwitchC] isis 1
[*SwitchC-isis-1] network-entity 10.0000.0000.0003.00
[*SwitchC-isis-1] quit
[*SwitchC] interface vlanif 10
[*SwitchC-Vlanif10] isis enable 1
[*SwitchC-Vlanif10] quit
[*SwitchC] interface vlanif 20
[*SwitchC-Vlanif20] isis enable 1
[*SwitchC-Vlanif20] quit
[*SwitchC] interface vlanif 30
[*SwitchC-Vlanif30] isis enable 1
[*SwitchC-Vlanif30] commit
[~SwitchC-Vlanif30] quit
# Configure SwitchD.
[~SwitchD] isis 1
[*SwitchD-isis-1] is-level level-2
[*SwitchD-isis-1] network-entity 20.0000.0000.0004.00
[*SwitchD-isis-1] quit
[*SwitchD] interface vlanif 30
[*SwitchD-Vlanif30] isis enable 1
[*SwitchD-Vlanif30] quit
Total LSP(s): 3
[~SwitchB] display isis lsdb
Total LSP(s): 3
[~SwitchC] display isis lsdb
Total LSP(s): 3
-------------------------------------------------------------------------------
0000.0000.0003.00-00* 0x00000008 0x55bb 650 100 0/0/0
0000.0000.0004.00-00 0x00000005 0x651 629 84 0/0/0
Total LSP(s): 2
[~SwitchD] display isis lsdb
Total LSP(s): 2
# View the IS-IS routing information of each switch. The routing table of a Level-1 device
contains a default route with the next hop as a Level-1-2 device. The routing table of a
Level-2 device contains all Level-1 and Level-2 routes.
[~SwitchA] display isis route
----End
Configuration Files
l Configuration file of SwitchA
#
sysname SwitchA
#
vlan batch 10
#
isis 1
is-level level-1
network-entity 10.0000.0000.0001.00
#
interface Vlanif10
ip address [Link] [Link]
isis enable 1
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
return
isis 1
network-entity 10.0000.0000.0003.00
#
interface Vlanif10
ip address [Link] [Link]
isis enable 1
#
interface Vlanif20
ip address [Link] [Link]
isis enable 1
#
interface Vlanif30
ip address [Link] [Link]
isis enable 1
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
interface 10GE1/0/3
port link-type trunk
port trunk allow-pass vlan 30
#
return
Networking Requirements
In Figure 7-27, four switches on the broadcast network communicate using IS-IS. SwitchA
and SwitchB are Level-1-2 devices, SwitchC is a Level-1 device, and SwitchD is a Level-2
device. SwitchA with high performance needs to be configured as a Level-2 DIS.
SwitchA SwitchB
L1/L2 L1/L2
10GE1/0/1 10GE1/0/1
VLANIF10 VLANIF10
[Link]/24 [Link]/24
10GE1/0/1 10GE1/0/1
VLANIF10 VLANIF10
[Link]/24 [Link]/24
SwitchC SwitchD
L1 L2
Configuration Roadmap
The configuration roadmap is as follows:
1. Configure IS-IS to enable network interconnectivity.
2. Set the DIS priority of SwitchA to 100 so that SwitchA can be elected as a Level-2 DIS.
Procedure
Step 1 Configure an IPv4 address for each interface. The configuration details are not described here.
Step 2 View the MAC address of the VLANIF interface on each switch. When each VLANIF
interface has the same DIS priority, the switch with a larger interface MAC address is elected
as the DIS.
# View the MAC address of VLANIF10 on SwitchA.
[~SwitchA] display arp interface vlanif 10
ARP Entry Types: D - Dynamic, S - Static, I - Interface
EXP: Expire-time
IP ADDRESS MAC ADDRESS EXP(M) TYPE/VLAN INTERFACE VPN-INSTANCE
-------------------------------------------------------------------------
[Link] 00e0-fc10-afec I Vlanif10
-------------------------------------------------------------------------
Total:1 Dynamic:0 Static:0 Interface:1
# Configure SwitchA.
[~SwitchA] isis 1
[*SwitchA-isis-1] network-entity 10.0000.0000.0001.00
[*SwitchA-isis-1] quit
[*SwitchA] interface vlanif 10
[*SwitchA-Vlanif10] isis enable 1
[*SwitchA-Vlanif10] commit
[~SwitchA-Vlanif10] quit
# Configure SwitchB.
[~SwitchB] isis 1
[*SwitchB-isis-1] network-entity 10.0000.0000.0002.00
[*SwitchB-isis-1] quit
[*SwitchB] interface vlanif 10
[*SwitchB-Vlanif10] isis enable 1
[*SwitchB-Vlanif10] commit
[~SwitchB-Vlanif10] quit
# Configure SwitchC.
[~SwitchC] isis 1
[*SwitchC-isis-1] network-entity 10.0000.0000.0003.00
[*SwitchC-isis-1] is-level level-1
[*SwitchC-isis-1] quit
[*SwitchC] interface vlanif 10
[*SwitchC-Vlanif10] isis enable 1
[*SwitchC-Vlanif10] commit
[~SwitchC-Vlanif10] quit
# Configure SwitchD.
[~SwitchD] isis 1
[*SwitchD-isis-1] network-entity 10.0000.0000.0004.00
[*SwitchD-isis-1] is-level level-2
[*SwitchD-isis-1] quit
[*SwitchD] interface vlanif 10
[*SwitchD-Vlanif10] isis enable 1
[*SwitchD-Vlanif10] commit
[~SwitchD-Vlanif10] quit
Total Peer(s): 4
As shown in the preceding interface information, when the default DIS priority is used, the
IS-IS interface on SwitchB has the largest MAC address among all the interfaces on the
Level-1 Switchs. Therefore, SwitchB is elected as a Level-1 DIS. The IS-IS interface on
SwitchD has the largest MAC address among all the interfaces on the Level-2 Switchs.
Therefore, SwitchD is elected as a Level-2 DIS. Level-1 and Level-2 pseudonodes are
0000.0000.0002.01 and 0000.0000.0004.01 respectively.
Total Peer(s): 4
As shown in the preceding information, after the DIS priority of the IS-IS interface on Switch
is changed, SwitchA becomes a Level-1-2 DIS (DR) immediately and its pseudonode is
0000.0000.0001.01.
# View IS-IS neighbor and interface information on SwitchB.
[~SwitchB] display isis peer
Total Peer(s): 4
[~SwitchB] display isis interface
Total Peer(s): 2
[~SwitchD] display isis interface
----End
Configuration Files
l Configuration file of SwitchA
#
sysname SwitchA
#
vlan batch 10
#
isis 1
network-entity 10.0000.0000.0001.00
#
interface Vlanif10
ip address [Link] [Link]
isis enable 1
isis dis-priority 100
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
return
#
return
Loopback0 Loopback0
[Link]/32 [Link]/32
10GE1/0/1 10GE1/0/2 10GE1/0/1
VLANIF10 VLANIF20 VLANIF20
[Link]/24 [Link]/24 [Link]/24
10GE1/0/1
SwitchA VLANIF10 SwitchB SwitchC
[Link]/24
AS65008 AS65009
Configuration Roadmap
The configuration roadmap is as follows:
1. Configure IP addresses for interfaces, and enable IS-IS and BGP to ensure that there are
reachable routes inside each AS.
2. Configure IS-IS and BGP to import routes from each other on Switch B to ensure that
there are routes on each network segment. Configure a route-policy to change the metric
of imported routes when IS-IS imports BGP routes.
Procedure
Step 1 Configure VLANs that each interface belongs to.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchB
[*HUAWEI] commit
[~SwitchB] vlan batch 10 20
[*SwitchB] interface 10ge 1/0/1
[*SwitchB-10GE1/0/1] port link-type trunk
[*SwitchB-10GE1/0/1] port trunk allow-pass vlan 10
[*SwitchB-10GE1/0/1] quit
[*SwitchB] interface 10ge 1/0/2
[*SwitchB-10GE1/0/2] port link-type trunk
[*SwitchB-10GE1/0/2] port trunk allow-pass vlan 20
[*SwitchB-10GE1/0/2] quit
[*SwitchB] commit
The configurations of SwitchA and SwitchC are similar to the configuration of SwitchA, and
are not mentioned here.
Step 2 Assign the IP addresses for VLANIF interfaces.
[~SwitchB] interface vlanif 10
[*SwitchB-Vlanif10] ip address [Link]/24
[*SwitchB-Vlanif10] quit
[*SwitchB] interface vlanif 20
[*SwitchB-Vlanif20] ip address [Link]/24
[*SwitchB-Vlanif20] quit
[*SwitchB] commit
The configurations of SwitchA and SwitchC are similar to the configuration of SwitchA, and
are not mentioned here.
Step 3 Configure basic IS-IS functions.
# Configure SwitchA.
[~SwitchA] isis 1
[*SwitchA-isis-1] network-entity 10.0000.0000.0001.00
[*SwitchA-isis-1] quit
[*SwitchA] interface vlanif 10
[*SwitchA-Vlanif10] isis enable 1
[*SwitchA-Vlanif10] quit
[*SwitchA] commit
# Configure SwitchB.
[~SwitchB] isis 1
[*SwitchB-isis-1] network-entity 10.0000.0000.0002.00
[*SwitchB-isis-1] quit
[*SwitchB] interface vlanif 10
[*SwitchB-Vlanif10] isis enable 1
[*SwitchB-Vlanif10] quit
[*SwitchB] interface vlanif 20
[*SwitchB-Vlanif20] isis enable 1
[*SwitchB-Vlanif20] quit
[*SwitchB] commit
Configure SwitchC.
[~SwitchC] bgp 65009
[*SwitchC-bgp] router-id [Link]
[*SwitchC-bgp] peer [Link] as-number 65008
[*SwitchC-bgp] ipv4-family unicast
[*SwitchC-bgp-af-ipv4] network [Link] [Link]
[*SwitchC-bgp-af-ipv4] commit
[~SwitchC-bgp-af-ipv4] quit
[~SwitchC-bgp] quit
[*SwitchC] commit
# View the routing table of SwitchA, and you can see that IS-IS successfully imports BGP
route [Link]/32.
[~SwitchA] display ip routing-table
Proto: Protocol Pre: Preference
Route Flags: R -
relay, D - download to fib, T - to vpn-instance, B - black hole route
------------------------------------------------------------------------------
Routing Table: _public_
Destinations : 6 Routes : 6
# On Switch B, configure the AS_Path filter, and apply the filter in route-policy RTC.
[~SwitchB] ip as-path-filter 1 permit 65009
[*SwitchB] route-policy RTC permit node 0
[*SwitchB-route-policy] if-match as-path-filter 1
[*SwitchB-route-policy] apply cost 20
[*SwitchB-route-policy] quit
[*SwitchB] commit
# View the routing table of SwitchA, and you can see that the AS_Path filter is successfully
applied and the cost of imported route [Link]/32 changes from 74 to 94.
[~SwitchA] display ip routing-table
Proto: Protocol Pre: Preference
Route Flags: R -
relay, D - download to fib, T - to vpn-instance, B - black hole route
------------------------------------------------------------------------------
Routing Table: _public_
Destinations : 6 Routes : 6
# View the routing table of SwitchC, and you can see that BGP successfully imports IS-IS
route [Link]/24.
[~SwitchC] display ip routing-table
Proto: Protocol Pre: Preference
Route Flags: R -
relay, D - download to fib, T - to vpn-instance, B - black hole route
------------------------------------------------------------------------------
Routing Table: _public_
Destinations : 7 Routes : 7
----End
Configuration Files
l Configuration file of SwitchA
#
sysname SwitchA
#
vlan batch 10
#
isis 1
network-entity 10.0000.0000.0001.00
#
interface Vlanif10
ip address [Link] [Link]
isis enable 1
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
return
interface Vlanif20
ip address [Link] [Link]
isis enable 1
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
interface LoopBack0
ip address [Link] [Link]
#
bgp 65008
router-id [Link]
peer [Link] as-number 65009
#
ipv4-family unicast
network [Link] [Link]
import-route isis 1
peer [Link] enable
#
route-policy RTC permit node 0
if-match as-path-filter 1
apply cost 20
#
ip as-path-filter 1 index 10 permit 65009
#
return
Networking Requirements
As shown in Figure 7-29, four devices (Switch A, Switch B, Switch C, and Switch D)
communicate using IS-IS. The reliability of data forwarding from Switch A to Switch D
needs to be improved. When the primary link fails, traffic is transmitted to the backup link in
milliseconds.
SwitchC
10GE1/0/1
L1/2 10GE1/0/2
VLANIF10 VLANIF50
[Link]/24 [Link]/24
10GE1/0/1 10GE1/0/1
VLANIF10
10
co
VLANFI50 10GE1/0/3
st
=
[Link]/24 st Link T [Link]/24
=
VLANIF40
co
10
SwitchA SwitchD [Link]/24
L1/2 L1/2 cost = 10
co
10GE1/0/2
10
10GE1/0/2
st
VLANIF30
t=
=
VLANIF20
30
s
co
[Link]/24 [Link]/24
10GE1/0/1 10GE1/0/2
VLANIF20 VLANIF30
[Link]/24 [Link]/24
SwitchB
L1/2
Configuration Roadmap
The configuration roadmap is as follows:
1. Set a larger link cost on VLANIF 20 of Switch A, and ensure that Link T is
preferentially selected for data forwarding from Switch A to Switch D.
2. Configure IS-IS Auto FRR on Switch A to allow traffic to be fast switched to the backup
link without waiting for route convergence when a fault occurs on Link T. This improves
the reliability of data forwarding.
Procedure
Step 1 Configure VLANs that each interface belongs to.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchA
[*HUAWEI] commit
[~SwitchA] vlan batch 10 20
[*SwitchA] interface 10ge 1/0/1
[*SwitchA-10GE1/0/1] port link-type trunk
[*SwitchA-10GE1/0/1] port trunk allow-pass vlan 10
[*SwitchA-10GE1/0/1] quit
[*SwitchA] interface 10ge 1/0/2
[*SwitchA-10GE1/0/2] port link-type trunk
[*SwitchA-10GE1/0/2] port trunk allow-pass vlan 20
[*SwitchA-10GE1/0/2] quit
[*SwitchA] commit
The configurations of SwitchB, SwitchC, and SwitchD are similar to the configuration of
SwitchA, and are not mentioned here.
Step 2 Configure the IP addresses of each VLANIF interface.
[~SwitchA] interface vlanif 10
[*SwitchA-Vlanif10] ip address [Link] 24
[*SwitchA-Vlanif10] quit
[*SwitchA] interface vlanif 20
[*SwitchA-Vlanif20] ip address [Link] 24
[*SwitchA-Vlanif20] quit
[*SwitchA] commit
The configurations of SwitchB, SwitchC, and SwitchD are similar to the configuration of
SwitchA, and are not mentioned here.
Step 3 Configure basic IS-IS functions.
# Configure SwitchA.
[~SwitchA] isis 1
[*SwitchA-isis-1] is-level level-1-2
[*SwitchA-isis-1] network-entity 10.0000.0000.0001.00
[*SwitchA-isis-1] quit
[*SwitchA] interface vlanif 10
[*SwitchA-Vlanif10] isis enable 1
[*SwitchA-Vlanif10] quit
[*SwitchA] interface vlanif 20
[*SwitchA-Vlanif20] isis enable 1
[*SwitchA-Vlanif20] quit
[*SwitchA] commit
# Configure SwitchB.
[~SwitchB] isis 1
[*SwitchB-isis-1] is-level level-1-2
[*SwitchB-isis-1] network-entity 10.0000.0000.0002.00
[*SwitchB-isis-1] quit
[*SwitchB] interface vlanif 20
[*SwitchB-Vlanif20] isis enable 1
[*SwitchB-Vlanif20] quit
[*SwitchB] interface vlanif 30
[*SwitchB-Vlanif30] isis enable 1
[*SwitchB-Vlanif30] quit
[*SwitchB] commit
# Configure SwitchC.
[~SwitchC] isis 1
[*SwitchC-isis-1] is-level level-1-2
[*SwitchC-isis-1] network-entity 10.0000.0000.0003.00
[*SwitchC-isis-1] quit
[*SwitchC] interface vlanif 10
[*SwitchC-Vlanif10] isis enable 1
[*SwitchC-Vlanif10] quit
[*SwitchC] interface vlanif 50
[*SwitchC-Vlanif50] isis enable 1
[*SwitchC-Vlanif50] quit
[*SwitchC] commit
# Configure SwitchD.
[~SwitchD] isis 1
[*SwitchD-isis-1] is-level level-1-2
[*SwitchD-isis-1] network-entity 10.0000.0000.0004.00
[*SwitchD-isis-1] quit
[*SwitchD] interface vlanif 50
[*SwitchD-Vlanif50] isis enable 1
[*SwitchD-Vlanif50] quit
Step 4 Set the interface cost of VLANIF 20 on SwitchA to 30, and then check the routing
information.
# Set the interface cost of VLANIF 20 on SwitchA to 30.
[~SwitchA] interface vlanif 20
[~SwitchA-Vlanif20] isis cost 30
[*SwitchA-Vlanif20] quit
[*SwitchA] return
# Check information about the link from SwitchA to SwitchD. Link T has a lower cost, and so
IS-IS optimally selects Link T to send traffic that is forwarded by SwitchA.
<SwitchA> display isis route [Link] verbose
As shown in the command output, traffic from SwitchA to SwitchD is only forwarded through
Link T.
Step 5 Enable IS-IS Auto FRR on SwitchA, and then check the routing information.
# Enable IS-IS Auto FRR on SwitchA.
<SwitchA> system-view
[~SwitchA] isis 1
[~SwitchA-isis-1] frr
[*SwitchA-isis-1-frr] loop-free-alternate
[*SwitchA-isis-1-frr] commit
# Check the routing information from SwitchA to SwitchD. You can find that IS-IS creates a
backup link because IS-IS Auto FRR is enabled.
<SwitchA> display isis route [Link] verbose
--------------------------------------------------------------------------------
# Check the protection type for the traffic from SwitchA to SwitchD.
<SwitchA> display isis spf-tree systemid 0000.0000.0004 verbose
(2) 0000.0000.0004.03
Cost : 10
Flags : Child
IPv6 Nexthops : 0
Neighbors: 2 (Children:1 Parents:1 Others:0)
(1) 0000.0000.0003.02
Cost : 10
Flags : Parent
(2) 0000.0000.0004.03
Cost : 10
Flags : Child
As shown in the preceding command output, link-node dual protection is performed on the
traffic from SwitchA to SwitchD.
# Run the display fib [Link] verbose command on SwitchA to check the forwarding
entry of traffic from SwitchA to SwitchD.
<SwitchA> display fib [Link] verbose
Route Entry Count: 1
Destination: [Link] Mask : [Link]
Nexthop : [Link] OutIf : Vlanif10
LocalAddr : [Link] LocalMask: [Link]
Flags : DGU Age : 6sec
ATIndex : 0 Slot : 0
LspFwdFlag : 0 LspToken : 0x0
InLabel : NULL OriginAs : 0
BGPNextHop : [Link] PeerAs : 0
QosInfo : 0x0 OriginQos: 0x0
NexthopBak : [Link] OutIfBak : Vlanif20
LspTokenBak: 0x0 InLabelBak : NULL
LspToken_ForInLabelBak : 0x0
EntryRefCount : 0
VlanId : 0x0
BgpKey : 0
BgpKeyBak : 0
LspType : 0 Label_ForLspTokenBak : 0
MplsMtu : 0 Gateway_ForLspTokenBak : [Link]
NextToken : 0x0 IfIndex_ForLspTokenBak : 0
Label_NextToken : 0 Label : 0
LspBfdState : 0
As shown in the command output, the outbound interface of the primary link from SwitchA to
SwitchD is Vlanif10. The backup link follows the route with Vlanif20 as the outbound
interface and [Link] as the next hop.
Step 6 Verify the configuration.
# Run the shutdown command on Vlanif50 of SwitchC to shut down the link.
[~SwitchC] interface vlanif 50
[~SwitchC-Vlanif50] shutdown
[*SwitchC-Vlanif50] commit
# Run the display fib [Link] verbose command on SwitchA to check information about
the route from SwitchA to SwitchD.
<SwitchA> display ip fib slot 1 [Link] verbose
FIB Table : _public_
Total number of Routes : 1
QosInfo : 0 OriginQos: 0
VlanId : 0
BgpKey : 0
BgpKeyBak : 0
NexthopBak : [Link] OutIfBak : [No Intf]
LspTokenBak: 0x0 InLabelBak : 0x0
LspToken_ForInLabelBak : 0x0
Nexthop_ForLspTokenBak : [Link]
OutIf_ForLspTokenBak : [No Intf]
Nexthop_ForLspToken_ForInLabelBak : [Link]
OutIf_ForLspToken_ForInLabelBak : [No Intf]
LspType : 0 Label_ForLspTokenBak : 0x0
MplsMtu : 0 Gateway_ForLspTokenBak : [Link]
NextToken : 0 IfIndex_ForLspTokenBak : 0
Label_NextToken : 0 Label : 0
LspBfdState : 0
As shown in the command output, the traffic forwarded by the SwitchA is switched to the
backup link with outbound interface Vlanif20 and next hop [Link].
----End
Configuration Files
l Configuration file of SwitchA
#
sysname SwitchA
#
vlan batch 10 20
#
isis 1
network-entity 10.0000.0000.0001.00
frr
loop-free-alternate level-1
loop-free-alternate level-2
#
interface Vlanif10
ip address [Link] [Link]
isis enable 1
#
interface Vlanif20
ip address [Link] [Link]
isis enable 1
isis cost 30
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
return
interface Vlanif30
ip address [Link] [Link]
isis enable 1
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 20
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 30
#
return
l Configuration file of SwitchC
#
sysname SwitchC
#
vlan batch 10 50
#
isis 1
network-entity 10.0000.0000.0003.00
#
interface Vlanif10
ip address [Link] [Link]
isis enable 1
#
interface Vlanif50
shutdown
ip address [Link] [Link]
isis enable 1
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 50
#
return
l Configuration file of SwitchD
#
sysname SwitchD
#
vlan batch 30 40 50
#
isis 1
network-entity 10.0000.0000.0004.00
#
interface Vlanif50
ip address [Link] [Link]
isis enable 1
#
interface Vlanif30
ip address [Link] [Link]
isis enable 1
#
interface Vlanif40
ip address [Link] [Link]
isis enable 1
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 50
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 30
#
interface 10GE1/0/3
port link-type trunk
port trunk allow-pass vlan 40
#
return
10GE1/0/1 10GE1/0/2
VLANIF10 VLANIF20
[Link]/24 [Link]/24
10GE1/0/1
10GE1/0/1
SwitchA VLANIF20 SwitchC
VLANIF10 SwitchB
[Link]/24
[Link]/24
NOTE
BFD for IS-IS cannot be used to detect the multi-hop link between RouterA and RouterC, because the
IS-IS neighbor relationship cannot be established between RouterA and RouterC.
Configuration Roadmap
The configuration roadmap is as follows:
1. Configure IP addresses for interfaces and enable IS-IS on each router to ensure reachable
routes between the routers.
2. Enable static BFD for IS-IS on RouterA and RouterB so that routers can rapidly detect
link faults.
Procedure
Step 1 Configure VLANs that each interface belongs to.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchA
[*HUAWEI] commit
[~SwitchA] vlan batch 10
[*SwitchA] interface 10ge 1/0/1
[*SwitchA-10GE1/0/1] port link-type trunk
[*SwitchA-10GE1/0/1] port trunk allow-pass vlan 10
[*SwitchA-10GE1/0/1] quit
[*SwitchA] commit
The configurations of SwitchB, SwitchC, and SwitchD are similar to the configuration of
SwitchA, and are not mentioned here.
The configurations of SwitchB, SwitchC, and SwitchD are similar to the configuration of
SwitchA, and are not mentioned here.
Step 3 Configure basic IS-IS functions.
# Configure SwitchA.
[~SwitchA] isis 1
[*SwitchA-isis-1] is-level level-2
[*SwitchA-isis-1] network-entity aa.1111.1111.1111.00
[*SwitchA-isis-1] quit
[*SwitchA] interface vlanif 10
[*SwitchA-Vlanif10] isis enable 1
[*SwitchA-Vlanif10] quit
[*SwitchA] commit
# Configure SwitchB.
[~SwitchB] isis 1
[*SwitchB-isis-1] is-level level-2
[*SwitchB-isis-1] network-entity aa.2222.2222.2222.00
[*SwitchB-isis-1] quit
[*SwitchB] interface vlanif 10
[*SwitchB-Vlanif10] isis enable 1
[*SwitchB-Vlanif10] quit
[*SwitchB] interface vlanif 20
[*SwitchB-Vlanif20] isis enable 1
[*SwitchB-Vlanif20] quit
[*SwitchB] commit
# Configure SwitchC.
[~SwitchC] isis 1
[*SwitchC-isis-1] is-level level-2
[*SwitchC-isis-1] network-entity aa.3333.3333.3333.00
[*SwitchC-isis-1] quit
[*SwitchC] interface vlanif 20
[*SwitchC-Vlanif20] isis enable 1
[*SwitchC-Vlanif20] quit
[*SwitchC] commit
# After the preceding configurations, you can see that the neighbor relationship is established
between SwitchA and SwitchB.
[~SwitchA] display isis peer
Peer information for ISIS(1)
----------------------------
System Id Interface Circuit Id State HoldTime Type PRI
2222.2222.2222 Vlanif10 0000000001 Up 23s L2 64
The IS-IS routing table of SwitchA contains the routes to SwitchB and SwitchC.
[~SwitchA] display isis route
After the preceding configurations, run the display bfd session command on SwitchA or
SwitchB, and you can see that the status of the BFD session is Up.
The following uses the display on SwitchA as an example.
[~SwitchA] display bfd session all
S: Static session
D: Dynamic session
IP: IP session
IF: Single-hop session
PEER: Multi-hop session
AUTO: Automatically negotiated session
Total UP/DOWN Session Number : 1/0
------------------------------------------------------------------------
Local Remote PeerIpAddr State Type InterfaceName
------------------------------------------------------------------------
1 2 [Link] Up S/IP-IF Vlanif10
------------------------------------------------------------------------
# Configure SwitchB.
[~SwitchB] interface Vlanif 10
[*SwitchB-Vlanif10] isis bfd static
[*SwitchB-Vlanif10] quit
[*SwitchB] commit
# On SwitchA, you can view the following log information, which indicates that IS-IS deletes
the neighbor relationship with SwitchB after being notified by BFD of the fault.
#80/active/IsisAdjacencyChange/Major/occurredTime:2011-03-09 04:17:07/-/-/alarmI
D:0x0001009e/CID=0x80e703ff:ISIS adjacency state change. (SysInstance=1,
SysLevel=1, CircI
ndex=2, CircIfIndex=20, LspId=2222.2222.2222.00.00, AdjState=1, IfIndex=20, IfNa
me=Vlanif10, Reason=BFD detected that the neighbor went Down, SubReason=14)
----End
Configuration Files
l Configuration file of SwitchA
#
sysname SwitchA
#
vlan batch 10
#
bfd
#
isis 1
is-level level-2
network-entity aa.1111.1111.1111.00
#
interface Vlanif10
ip address [Link] [Link]
isis enable 1
isis bfd static
#
bfd atob bind peer-ip [Link] interface Vlanif10
discriminator local 1
discriminator remote 2
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
return
#
bfd btoa bind peer-ip [Link] interface Vlanif10
discriminator local 2
discriminator remote 1
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
return
Networking Requirements
As shown in Figure 7-31, three devices are interconnected using IS-IS, and SwitchA and
SwitchB communicate with each other through a Layer 2 switch. When the link that passes
through the switch between SwitchA and SwitchB fails, the two devices need to rapidly
respond to the fault, and traffic can be switched to the link that passes through SwitchC for
forwarding.
10GE1/0/1 10GE1/0/1
VLANIF10 VLANIF30
[Link]/24 [Link]/24
10GE1/0/1 10GE1/0/2
VLANIF10 VLANIF30
[Link]/24 [Link]/24
SwitchC
Configuration Roadmap
The configuration roadmap is as follows:
1. Configure IP addresses for interfaces and enable IS-IS on each device to ensure
reachable routes between the devices.
2. Set the IS-IS interface cost to control route selection of the devices to make the link that
passes through the switch from SwitchA to SwitchB as the primary link and the link that
passes through SwitchC as the backup link.
3. Configure dynamic BFD for IS-IS on SwitchA, SwitchB, and SwitchC so that link faults
can be detected rapidly and traffic can be switched to the backup link for forwarding.
Procedure
Step 1 Configure VLANs that each interface belongs to.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchA
[*HUAWEI] commit
[~SwitchA] vlan batch 10 20
[*SwitchA] interface 10ge 1/0/1
[*SwitchA-10GE1/0/1] port link-type trunk
[*SwitchA-10GE1/0/1] port trunk allow-pass vlan 10
[*SwitchA-10GE1/0/1] quit
[*SwitchA] interface 10GE 1/0/2
[*SwitchA-10GE1/0/2] port link-type trunk
[*SwitchA-10GE1/0/2] port trunk allow-pass vlan 20
[*SwitchA-10GE1/0/2] commit
[~SwitchA-10GE1/0/2] quit
The configurations of SwitchB, SwitchC, and SwitchD are similar to the configuration of
SwitchA, and are not mentioned here.
Step 2 Assign the IP addresses for VLANIF interfaces.
[~SwitchA] interface vlanif 10
[*SwitchA-Vlanif10] ip address [Link] 24
[*SwitchA-Vlanif10] quit
[*SwitchA] interface vlanif 20
The configurations of SwitchB, SwitchC, and SwitchD are similar to the configuration of
SwitchA, and are not mentioned here.
Step 3 Configure basic IS-IS functions.
# Configure SwitchA.
[~SwitchA] isis
[*SwitchA-isis-1] is-level level-2
[*SwitchA-isis-1] network-entity 10.0000.0000.0001.00
[*SwitchA-isis-1] quit
[*SwitchA] interface vlanif 10
[*SwitchA-Vlanif10] isis enable 1
[*SwitchA-Vlanif10] quit
[*SwitchA] interface vlanif 20
[*SwitchA-Vlanif20] isis enable 1
[*SwitchA-Vlanif20] commit
[~SwitchA-Vlanif20] quit
# Configure SwitchB.
[~SwitchB] isis
[*SwitchB-isis-1] is-level level-2
[*SwitchB-isis-1] network-entity 10.0000.0000.0002.00
[*SwitchB-isis-1] quit
[*SwitchB] interface vlanif 30
[*SwitchB-Vlanif30] isis enable 1
[*SwitchB-Vlanif30] quit
[*SwitchB] interface vlanif 20
[*SwitchB-Vlanif20] isis enable 1
[*SwitchB-Vlanif20] quit
[*SwitchB] interface vlanif 40
[*SwitchB-Vlanif40] isis enable 1
[*SwitchB-Vlanif40] commit
[~SwitchB-Vlanif40] quit
# Configure SwitchC.
[~SwitchC] isis
[*SwitchC-isis-1] is-level level-2
[*SwitchC-isis-1] network-entity 10.0000.0000.0003.00
[*SwitchC-isis-1] quit
[*SwitchC] interface vlanif 10
[*SwitchC-Vlanif10] isis enable 1
[*SwitchC-Vlanif10] quit
[*SwitchC] interface vlanif 30
[*SwitchC-Vlanif30] isis enable 1
[*SwitchC-Vlanif30] commit
[~SwitchC-Vlanif30] quit
# switchs learn routes from each other. The following uses the routing table of SwitchA as an
example.
[~SwitchA] display ip routing-table
Proto: Protocol Pre: Preference
Route Flags: R -
relay, D - download to fib, T - to vpn-instance, B - black hole route
------------------------------------------------------------------------------
Routing Table: _public_
Destinations : 8 Routes : 9
Destination/Mask Proto Pre Cost Flags NextHop Interface
[Link]/24 Direct 0 0 D [Link] Vlanif10
[Link]/32 Direct 0 0 D [Link] InLoopBack0
[Link]/24 ISIS 15 20 D [Link] Vlanif10
[Link]/24 Direct 0 0 D [Link] Vlanif10
As shown in the routing table, the next-hop address of the route to [Link]/24 is [Link],
and traffic is transmitted on the primary link SwitchA→SwitchB.
Step 4 Set the interface cost.
# Configure SwitchA.
[~SwitchA] interface vlanif 20
[~SwitchA-Vlanif20] isis cost 5
[*SwitchA-Vlanif20] commit
[~SwitchA-Vlanif20] quit
# Configure SwitchB.
[~SwitchB] interface vlanif 20
[~SwitchB-Vlanif20] isis cost 5
[*SwitchB-Vlanif20] commit
[~SwitchB-Vlanif20] quit
# After the preceding configurations, run the display isis bfd session all command on
SwitchA, SwitchB, and SwitchC. You can see that the BFD session status is Up.
The following uses the display on SwitchA as an example.
[~SwitchA] display isis bfd session all
BFD session information for ISIS(1)
-----------------------------------
Peer System ID : 0000.0000.0002 Interface : Vlanif20
TX : 1000 BFD State : up Peer IP Address : [Link]
RX : 1000 LocDis : 16385 Local IP Address: [Link]
Multiplier : 3 RemDis : 16388 Type : L2
Diag : No diagnostic information
As shown in the preceding display, the status of the BFD session between SwitchA and
SwitchB and that between SwitchA and SwitchC is Up.
Step 6 Configure BFD for IS-IS interfaces.
# Configure BFD on VLANIF 20 of SwitchA, set the minimum interval for sending packets
to 100 ms, the minimum interval for receiving packets to 100 ms, and the local detection
multiplier to 4.
[~SwitchA] interface vlanif 20
[~SwitchA-Vlanif20] isis bfd enable
[*SwitchA-Vlanif20] isis bfd min-tx-interval 100 min-rx-interval 100 detect-
multiplier 4
[*SwitchA-Vlanif20] commit
[~SwitchA-Vlanif20] quit
# Configure BFD on VLANIF 20 of SwitchB, set the minimum interval for sending packets to
100 ms, the minimum interval for receiving packets to 100 ms, and the local detection
multiplier to 4.
[~SwitchB] interface vlanif 20
[~SwitchB-Vlanif20] isis bfd enable
[*SwitchB-Vlanif20] isis bfd min-tx-interval 100 min-rx-interval 100 detect-
multiplier 4
[*SwitchB-Vlanif20] commit
[~SwitchB-Vlanif20] quit
# After the preceding configurations, run the display isis bfd session all command on
SwitchA or SwitchB. You can see that the BFD parameters have taken effect. The following
uses the display on SwitchB as an example.
[~SwitchB] display isis bfd session all
BFD session information for ISIS(1)
-----------------------------------
Peer System ID : 0000.0000.0001 Interface : Vlanif20
TX : 100 BFD State : up Peer IP Address : [Link]
RX : 100 LocDis : 16385 Local IP Address: [Link]
Multiplier : 4 RemDis : 16385 Type : L2
Diag : No diagnostic information
Step 7 # Run the shutdown command on 10GE1/0/2 of SwitchB to simulate a primary link failure.
[~SwitchB] interface 10ge 1/0/2
[~SwitchB-10GE1/0/2] shutdown
[*SwitchB-10GE1/0/2] commit
------------------------------------------------------------------------------
Routing Table : _public_
Destinations : 9 Routes : 9
As shown in the routing table, the backup link SwitchA→SwitchC→SwitchB takes effect
after the primary link fails, and the next-hop address of the route to [Link]/24 becomes
[Link].
----End
Configuration Files
l Configuration file of SwitchA
#
sysname SwitchA
#
vlan batch 10 20
#
bfd
#
isis 1
is-level level-2
bfd all-interfaces enable
network-entity 10.0000.0000.0001.00
#
interface Vlanif10
ip address [Link] [Link]
isis enable 1
#
interface Vlanif20
ip address [Link] [Link]
isis enable 1
isis cost 5
isis bfd enable
isis bfd min-tx-interval 100 min-rx-interval 100 detect-multiplier 4
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
return
is-level level-2
bfd all-interfaces enable
network-entity 10.0000.0000.0002.00
#
interface Vlanif20
ip address [Link] [Link]
isis enable 1
isis cost 5
isis bfd enable
isis bfd min-tx-interval 100 min-rx-interval 100 detect-multiplier 4
#
interface Vlanif30
ip address [Link] [Link]
isis enable 1
#
interface Vlanif40
ip address [Link] [Link]
isis enable 1
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 30
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
interface 10GE1/0/3
port link-type trunk
port trunk allow-pass vlan 40
#
return
Fault Symptom
IS-IS neighbor relationship fails to be established when the link is working properly.
Procedure
Step 1 Check whether devices on both ends of the link have the matching IS-IS levels.
l Run the display current-configuration configuration isis | include is-level command
to check the level configurations of IS-IS processes on both ends.
l Run the display current-configuration interface interface-type interface-number |
include isis circuit-level command to check the IS-IS level configuration of the
specified interface.
IS-IS neighbor relationship can be established when IS-IS interfaces on both ends of the link
have the matching IS-IS levels.
NOTE
If you cannot view the IS-IS level of an interface using the display current-configuration interface
interface-type interface-number | include isis circuit-level command, the interface uses the default IS-IS
level. To view the default IS-IS level, run the display default-parameter isis command to check the
Circuit-Level field.
Requirements on the IS-IS levels of interfaces on both ends of a link are as follows:
l If the IS-IS level of the local interface is Level-1, the IS-IS level of the remote interface must be
Level-1 or Level-1-2.
l If the IS-IS level of the local interface is Level-2, the IS-IS level of the remote interface must be
Level-2 or Level-1-2.
l If the IS-IS level of the local interface is Level-1-2, the IS-IS level of the remote interface can be
Level-1, Level-2, or Level-1-2.
If the IS-IS levels of interfaces on both ends of a link do not match, perform either of the
following operations to change the IS-IS level:
l Run the is-level command in the IS-IS view to change the global IS-IS level.
l Run the isis circuit-level command in the interface view to change the interface IS-IS
level.
Step 2 Check whether devices on both ends of the link have the matching area addresses.
Run the display current-configuration configuration isis command to check area address
information.
NOTE
If IS-IS Level-1 neighbor relationship needs to be established between devices on both ends, ensure that
the two devices reside in the same area.
A maximum of three area addresses can be configured for an IS-IS process. Devices on both ends can
establish IS-IS Level-1 neighbor relationship when the two devices have a same area address.
When IS-IS Level-2 neighbor relationship needs to established between the two devices, the two devices
can have the same or different area addresses.
If the area addresses of the two devices are different, run the network-entity command in the
IS-IS view to set the same area address for the two devices.
Step 3 Check whether devices on both ends of the link have the authentication mode.
Run the display current-configuration interface interface-type interface-number | include
isis authentication-mode command to check the IS-IS authentication modes of the interfaces
on both ends of the link.
If the two interfaces use different authentication modes, run the isis authentication-mode
command in the view of one interface to ensure that this interface has the same authentication
mode and password as the other interface.
Step 4 Run commit
The configuration is committed.
----End
Fault Symptom
A device cannot learn IS-IS routes from its neighbor when its link is working properly.
Procedure
Step 1 Check whether IS-IS neighbor relationship has been established between the device and its
neighbor.
Run the display isis peer command on each device on the link to check whether IS-IS
neighbor relationship has been established.
If IS-IS neighbor relationship is not established, rectify the fault according to 7.19.1 Failed to
Establish IS-IS Neighbor Relationships.
Step 2 Check whether the IS-IS routing table of the device is correct.
Run the display isis route command on the device to check the IS-IS routing table.
1. If the IS-IS routing table contains specified routes, run the display ip routing-table ip-
address [ mask | mask-length ] verbose command to check whether the IP routing table
contains routes with higher protocol preference than IS-IS routes.
NOTE
If the State field of a route displays Active Adv, the route is active. If there are routes that have
the same prefix but are discovered by different routing protocols, routes with higher protocol
preference are preferred as active routes.
2. If the IP routing table contains routes with higher protocol preference than IS-IS routes,
modify the configuration based on network planning.
Step 3 Check whether the device and its neighbor have the matching IS-IS cost style.
Run the display current-configuration configuration isis command on the device and its
neighbor to check the IS-IS cost style.
The device can learn IS-IS routes from its neighbor when it has the same IS-IS cost style as its
neighbor.
The IS-IS cost style of a device can be set as follows:
l narrow: indicates that the device can receive and send packets with cost style narrow.
l narrow-compatible: indicates that the device can receive packets with cost style narrow
or wide but sends only packets with cost style narrow.
l compatible: indicates that the device can receive and send packets with cost style narrow
or wide.
l wide-compatible: indicates that the device can receive packets with cost style narrow or
wide but sends only packets with cost style wide.
l wide: indicates that the device can receive and send packets with cost style wide.
If the IS-IS cost styles of both ends are set to narrow and wide (or wide-compatible)
respectively, the two ends cannot communicate.
If the IS-IS cost styles of both ends are set to narrow-compatible and wide respectively, the
two ends cannot communicate either.
If the device and its neighbor have mismatching IS-IS cost styles, run the cost-style command
on the device to modify the configuration.
Step 4 Run commit
The configuration is committed.
----End
You can build an IPv6 IS-IS network to allow IS-IS to discover and calculate routes in an
autonomous system (AS). IS-IS applies to large and medium networks.
Definition
Intermediate System-to-Intermediate System (IS-IS) is an Interior Gateway Protocol (IGP)
that runs within an autonomous system (AS). IS-IS is also a link-state routing protocol, using
the shortest path first (SPF) algorithm to calculate routes.
Purpose
IS-IS is a dynamic routing protocol initially designed by the International Organization for
Standardization (ISO) for its Connectionless Network Protocol (CLNP).
To support IP routing, the Internet Engineering Task Force (IETF) extended and modified IS-
IS in RFC 1195. This modification enables IS-IS to apply to TCP/IP and OSI environments.
This type of IS-IS is called Integrated IS-IS or Dual IS-IS.
NOTE
IS-IS stated in this document refers to Integrated IS-IS, unless otherwise stated.
In addition to IPv4 networks, IS-IS also applies to IPv6 networks to provide accurate routing
information for IPv6 packets. IS-IS has good scalability, supports IPv6 network layer
protocols, and is capable of discovering, generating, and forwarding IPv6 routes.
As IPv6 networks are built, IS-IS also needs to provide accurate routing information for IPv6
packet forwarding. IS-IS has good scalability, supports IPv6 network layer protocols, and is
capable of discovering, generating, and forwarding IPv6 routes.
Extended IS-IS for IPv6 is defined in the draft-ietf-isis-ipv6-05 of the IETF. To process and
calculate IPv6 routes, IS-IS uses two new TLVs and one network layer protocol identifier
(NLPID).
l TLV 236 (IPv6 Reachability): describes network reachability by defining the route prefix
and metric.
l TLV 232 (IPv6 Interface Address): is similar to the IP Interface Address TLV of IPv4,
except that it changes a 32-bit IPv4 address to a 128-bit IPv6 address.
The NLPID is an 8-bit field that identifies the protocol packets of the network layer. The
NLPID of IPv6 is 142 (0x8E). If IS-IS supports IPv6, it advertises routing information
through the NLPID value.
NOTE
IPv6 IS-IS is a basic feature of CE8800, CE7800, CE6800, and CE5800 series switches and is not under
license control.
Configuring basic IPv6 IS- To deploy the IS-IS protocol 8.6 Configuring Basic IPv6
IS functions on IPv6 networks, configure IS-IS Functions
basic IS-IS functions to
enable communication
between different nodes on
the network. Other IS-IS
features can only be
configured after the basic
functions are configured.
Configuring IPv6 IS-IS If multiple redundant links 8.8 Controlling IPv6 IS-IS
route selection are available in the network Route Selection
using the IS-IS protocol, the
route in the IS-IS routing
table may not be the
expected optimal route. This
does not meet the network
planning and traffic
management requirements.
To optimize the IS-IS
network and facilitate traffic
management, more accurate
control of the routes on the
network is required.
Configuring IPv6 IS-IS Route aggregation allows 8.10 Configuring IPv6 IS-
route aggregation multiple routes with the IS Route Summarization
same IP prefix to be
aggregated into one route.
Route aggregation on a large
IS-IS network can
effectively reduce entries in
the routing table. This
minimizes system resource
consumption and facilitates
management. In addition, if
a link in the aggregated IP
address segment frequently
alternates between Up and
Down, devices outside this
segment will not be affected
by the change. This prevents
route flapping and improves
network stability.
Configuring IPv6 IS-IS To enable IS-IS to rapidly 8.11 Controlling IPv6 IS-
route convergence detect the network changes, IS Route Convergence
speed up the IS-IS network
convergence. To minimize
the effect on networks from
route flapping and reduce
load on the device, slow
down the IS-IS network
convergence.
Configuring BFD for IPv6 To ensure rapid recovery 8.15 Configuring Dynamic
IS-IS from failures on networks IPv6 BFD for IS-IS
using the IS-IS protocol,
adopt the solution of fast
fault detection and standby
link switchover. However,
the IS-IS fault detection
mechanism and link
switchover require a long
period of time, which fails
to meet the requirements of
services that are highly
sensitive to packet loss and
packet delay. To ensure that
users of delay-sensitive
services such as voice
service do not detect the
service interruption,
associate IS-IS with BFD to
implement fast fault
detection.
Configuring IPv6 IS-IS auto With the development of 8.16 Configuring IPv6 IS-
FRR networks, Voice over IP IS Auto FRR
(VoIP) and online video
services require high-quality
real-time transmission.
Nevertheless, if an IS-IS
fault occurs, multiple
processes including fault
detection, LSP update, LSP
flooding, route calculation,
and FIB entry delivery must
be performed to switch
traffic to a new link. As a
result, the traffic
interruption time is much
longer than 50 ms, which
cannot meet the requirement
for real-time services.
IS-IS auto FRR can rapidly
switch traffic to the standby
link, avoiding traffic
interruption. This protects
the traffic and improves
reliability of the IS-IS
network. As a result, IS-IS
auto FRR is applicable to
services that are highly
sensitive to packet delay and
packet loss.
Configuring IPv6 IS-IS If the system cannot store 8.14 Configuring the
overload new LSPs or synchronize Overload Bit for an IS-IS
the LSDB normally, the Device
calculated routing
information will be
incorrect. In this case, the
system can enter the
overload state. Routes
reached through the device
will not be calculated, but
routes directly connected to
the device will not be
ignored.
When an IS-IS device on the
network requires upgrade or
maintenance, the device
needs to be temporarily
isolated from the network.
To prevent other devices
from forwarding traffic
through this node, set the
overload bit for the device
in question.
Licensing Requirements
IPv6 IS-IS is a basic feature of CE8800, CE7800, CE6800, and CE5800 series switches and is
not under license control.
Version Requirements
CE8868EI V200R005C10
CE8861EI V200R005C10
CE8860EI V100R006C00
CE8850-32CQ-EI V200R002C50
CE8850-64CQ-EI V200R005C00
CE7850EI V100R003C00
CE7855EI V200R001C00
CE6810EI V100R003C00
CE6850EI V100R001C00
CE6850-48S6Q-HI V100R005C00
CE6850-48T6Q-HI/CE6850U-HI/ V100R005C10
CE6851HI
CE6855HI V200R001C00
CE6856HI V200R002C50
CE6857EI V200R005C10
CE6860EI V200R002C50
CE6865EI V200R005C00
CE6870-24S6CQ-EI/ V200R001C00
CE6870-48S6CQ-EI
CE6870-48T6CQ-EI V200R002C50
CE6875EI V200R003C00
CE6880EI V200R002C50
CE5880EI V200R005C10
CE5810EI V100R002C00
CE5850EI V100R001C00
CE5850HI V100R003C00
CE5855EI V200R002C50
Feature Limitations
In versions earlier than V200R002C50, the CE5855EI does not support IPv6. However,
interfaces on a CE5855EI provide the IPv6 capability when the switch functions as a leaf
switch in a super virtual fabric (SVF) system and the SVF forwarding mode is set to
centralized or hybrid. In V200R002C50 and later versions, the CE5855EI supports IPv6.
IS-IS Disabled
DIS priority 64
Pre-configuration Tasks
Before configuring basic IPv6 IS-IS functions, complete the following tasks:
l Configuring IPv6 addresses for interfaces to ensure that neighboring nodes are reachable
at the network layer
Configuration Procedure
Creating an IS-IS process is the prerequisite for configuring a network entity title (NET),
configuring the device level, and establishing an IS-IS neighbor relationship.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run isis [ process-id ] [ vpn-instance vpn-instance-name ]
An IS-IS process is created, and the IS-IS view is displayed.
If a VPN instance is specified, the IS-IS process belongs to the specified VPN instance.
Otherwise, the IS-IS process belongs to the public network instances.
----End
Context
NET is the special form of the network service access point (NSAP). After the IS-IS view is
displayed, IS-IS can start only when a NET is configured for an IS-IS process.
Generally, you only need to configure one NET for an IS-IS process. When an area needs to
be redefined, for example, the area needs to be merged with other areas or divided into sub-
areas, configure multiple NETs to ensure route correctness. A maximum of three area
addresses can be configured for an IS-IS process. Therefore, a maximum of three NETs can
be configured for an IS-IS process. When configuring multiple NETs, ensure that their system
IDs are the same.
IS-IS can run on an IPv6 topology only when IPv6 is enabled on an IS-IS process.
Procedure
Step 1 Run system-view
A NET is configured.
NOTE
Configuring loopback interface addresses based on NETs is recommended to ensures that a NET is
unique on the network. If NETs are not unique, route flapping will easily occur.
An area ID is used to uniquely identify an area in the same IS-IS domain. All routers in the same
Level-1 area must share the same area ID, while routers in the same Level-2 area can have different area
IDs.
----End
Context
Configure the device level according to network planning requirements:
l When the level of a device is Level-1, the device establishes neighbor relationships with
only Level-1 and Level-1-2 routers in the same area and maintains only Level-1 LSDBs.
l When the level of a device is Level-2, the device can establish neighbor relationship with
Level-2 routers in the same area or different areas and with Level-1-2 routers in different
areas and maintain only Level-2 LSDB.
l When the level of a device is Level-1-2, the device can establish neighbor relationships
with Level-1 and Level-2 routers and maintain Level-1 and Level-2 LSDBs.
If the levels of IS-IS devices are changed during network operation, the IS-IS process will be
restarted and IS-IS neighbor relationships will be disconnected. Setting the levels of devices
when configuring IS-IS is recommended.
Procedure
Step 1 Run system-view
----End
Context
The methods to establish IS-IS neighbor relationships on a broadcast network and a P2P
network are different. Therefore, you need to set different IS-IS attributes for interfaces of
different types:
l On a broadcast network, IS-IS needs to select the designated intermediate system (DIS).
You can set the DIS priority for IS-IS interfaces to enable the device with the highest
DIS priority to be elected as the DIS.
l On a P2P network, IS-IS does not need to select the DIS. Therefore, the DIS priority
does not need to be configured for interfaces. To ensure P2P link reliability, configure
IS-IS to establish neighbor relationships on P2P interfaces in 3-way mode for
unidirectional link fault detection.
Generally, IS-IS checks the IP addresses of received Hello packets. Neighbor
relationships can be established only when the IP address carried in a received Hello
packet and the address of the interface that receives the Hello packet are on the same
network segment. If the IP addresses of the two P2P interfaces are on different network
segments, and the isis peer-ip-ignore command is run on the two interfaces, IS-IS does
not check the peer IP address. The neighbor relationship can be correctly established on
the two P2P interfaces.
Procedure
l Establish an IS-IS neighbor relationship on a broadcast link.
a. Run system-view
The system view is displayed.
b. Run interface interface-type interface-number
The interface view is displayed.
c. On an Ethernet interface, run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
The mode switching function takes effect when the interface only has attribute
configurations (for example, shutdown and description configurations).
Alternatively, if configuration information supported by both Layer 2 and Layer 3
interfaces exists (for example, mode lacp and lacp system-id configurations), no
configuration that is not supported after the working mode of the interface is
switched can exist. If unsupported configurations exist on the interface, delete the
configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch
batch interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in
the system view to switch these interfaces to Layer 3 mode in batches.
d. Run ipv6 enable
IPv6 is enabled on the interface.
e. Run isis ipv6 enable [ process-id ]
IPv6 is enabled on the interface.
After this command is run, IS-IS establishes neighbor relationships and floods LSPs
through this interface.
NOTE
Loopback interfaces are not used to establish neighbor relationships. If IS-IS is enabled on a
loopback interface, IS-IS advertises the routes of the network segment where the interface
resides through other IS-IS interfaces.
f. Run isis circuit-level [ level-1 | level-1-2 | level-2 ]
The level of the interface is configured.
NOTE
Changing the level of an IS-IS interface is valid only when the level of the IS-IS device is
Level-1-2. If the level of the device is not Level-1-2, the level of the device determines the
level of the established neighbor relationship.
g. (Optional) Run isis dis-priority priority [ level-1 | level-2 ]
The DIS priority is set for the interface. A larger value indicates a higher priority.
By default, the DIS priority of Level-1 and Level-2 broadcast interfaces is 64.
h. (Optional) Run isis silent
The interface is suppressed.
By default, an IS-IS interface is not suppressed.
When an IS-IS interface is suppressed, the interface no longer sends or receives IS-
IS packets. The routes of the network segment where the interface resides, however,
can still be advertised to other IS-IS devices within the same AS.
i. Run commit
The configuration is committed.
l Establish an IS-IS neighbor relationship on a P2P link.
a. Run system-view
The system view is displayed.
b. Run interface interface-type interface-number
The interface view is displayed.
c. On an Ethernet interface, run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
The mode switching function takes effect when the interface only has attribute
configurations (for example, shutdown and description configurations).
Alternatively, if configuration information supported by both Layer 2 and Layer 3
interfaces exists (for example, mode lacp and lacp system-id configurations), no
configuration that is not supported after the working mode of the interface is
switched can exist. If unsupported configurations exist on the interface, delete the
configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch
batch interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in
the system view to switch these interfaces to Layer 3 mode in batches.
d. Run ipv6 enable
IPv6 is enabled on the interface.
When the network type of an IS-IS interface changes, the interface configuration
changes accordingly:
n After a broadcast interface is simulated as a P2P interface using the isis
circuit-type p2p command, the interval for sending Hello packets, number of
Hello packets that IS-IS does not receive from a neighbor before the neighbor
is declared Down, interval for retransmitting LSPs on a P2P link, and various
IS-IS authentication modes are restored to the default settings; other
configurations such as the DIS priority, DIS name, and interval for sending
CSNPs on a broadcast network become invalid.
n After the undo isis circuit-type command is run to restore the default network
type of an IS-IS interface, the interval for sending Hello packets, number of
Hello packets that IS-IS does not receive from a neighbor before the neighbor
is declared Down, interval for retransmitting LSPs on a P2P link, various IS-IS
authentication modes, DIS priority, and interval for sending CSNPs on a
broadcast network are restored to the default settings.
h. Run isis ppp-negotiation { 2-way | 3-way [ only ] }
By default, the OSICP negotiation status of a PPP interface does not affect the
status of an IS-IS interface.
NOTE
This command applies only to PPP interfaces and is invalid for other P2P interfaces.
After this command is run, the OSICP negotiation status of a PPP interface affects the status
of an IS-IS interface. When PPP detects that the OSI network fails, the link status of the IS-
IS interface goes Down and the routes of the network segment where the interface resides
are not advertised through LSPs.
k. Run commit
Pre-configuration Tasks
Before improving IS-IS network security, complete the following task:
l 8.6 Configuring Basic IPv6 IS-IS Functions
Configuration Procedure
You can perform the following configuration tasks (excluding the task of Verifying the IPv6
IS-IS Network Security Optimization Configuration) in any sequence as required.
If plain is selected during the configuration of the authentication mode for the IS-IS interface,
the password is saved in the configuration file in plain text. This brings security risks. It is
recommended that you select cipher to save the password in cipher text.
Simple and MD5 authentication authentication have potential security risks. HMAC-SHA256
authentication mode is recommended.
Procedure
Step 1 Run system-view
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
Step 4 Run any of the following command to configure the authentication mode of the IS-IS
interface as required:
l Run isis authentication-mode simple { plain plain-text | [ cipher ] plain-cipher-text }
[ level-1 | level-2 ] [ ip | osi ] [ send-only ]
Simple authentication is configured for the IS-IS interface.
l Run isis authentication-mode md5 { plain plain-text | [ cipher ] plain-cipher-text }
[ level-1 | level-2 ] [ ip | osi ] [ send-only ]
MD5 authentication is configured for the IS-IS interface.
l Run isis authentication-mode keychain keychain-name [ level-1 | level-2 ] [ send-
only ]
Keychain authentication is configured for the IS-IS interface.
By default, an IS-IS interface does not authenticate received Hello packets and no
authentication password is configured on the interface.
NOTE
----End
If plain is selected during the configuration of the area authentication mode or domain
authentication mode, the password is saved in the configuration file in plain text. This brings
security risks. It is recommended that you select cipher to save the password in cipher text.
Simple and MD5 authentication authentication have potential security risks. HMAC-SHA256
authentication mode is recommended.
NOTE
When configuring IS-IS authentication, the area or domain authentication modes and passwords of the
routers in the same area must be consistent so that IS-IS packets can be flooded normally.
Whether IS-IS packets can pass area or domain authentication does not affect the establishment of
Level-1 or Level-2 neighbor relationships.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run isis [ process-id ]
The IS-IS process view is displayed.
Step 3 Perform the following operations at any sequence as required.
l Run area-authentication-mode { { simple | md5 } { plain plain-text | [ cipher ] plain-
cipher-text } [ ip | osi ] | keychain keychain-name } [ snp-packet { authentication-
avoid | send-only } | all-send-only ]
The area authentication mode is configured.
By default, the system neither encapsulates generated Level-1 packets with
authentication information nor authenticates received Level-1 packets.
l Run domain-authentication-mode { { simple | md5 } { plain plain-text | [ cipher ]
plain-cipher-text } [ ip | osi ] | keychain keychain-name } [ snp-packet
{ authentication-avoid | send-only } | all-send-only ]
The domain authentication mode is configured.
By default, the system neither encapsulates generated Level-2 packets with
authentication information nor authenticates received Level-2 packets.
NOTE
----End
Procedure
l Run the display isis lsdb verbose command to check the detailed information in the IS-
IS LSDB.
----End
Pre-configuration Tasks
Before configuring IS-IS route selection, complete the following task:
l 8.6 Configuring Basic IPv6 IS-IS Functions
Configuration Procedure
You can perform the following configuration tasks (excluding the task of Verifying the IPv6
IS-IS Route Selection Control Configuration) in any sequence as required.
Context
If multiple routes to the same destination are discovered by different routing protocols
running on the same device, the route discovered by the protocol with the highest preference
is selected.
To prefer an IPv6 route discovered by IS-IS, configure a higher preference value for IPv6 IS-
IS route. In addition, a routing policy can be configured to increase the preferences of
specified IPv6 IS-IS routes, without affecting route selection.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run isis [ process-id ]
The IS-IS view is displayed.
----End
If you want to change the cost style of IS-IS devices, running the command while configuring
basic IS-IS functions is recommended. If the cost style of IS-IS devices is changed during
network operation, the IS-IS process is restarted and the neighbor relationship is re-
established.
Procedure
Step 1 Configure the IS-IS cost style.
1. Run system-view
The system view is displayed.
2. Run isis [ process-id ]
The IS-IS view is displayed.
3. Run cost-style { narrow | wide | wide-compatible | { narrow-compatible |
compatible } [ relax-spf-limit ] }
The IS-IS cost style is configured.
By default, the cost style of routes received and sent by an IS-IS device is narrow.
4. Run commit
The configuration is committed.
The cost range of an interface and a route received by the interface vary with the cost type.
l If the cost style is narrow, the cost of an interface ranges from 1 to 63. The maximum
cost of a route received by the interface is 1023.
l If the cost style is narrow-compatible or compatible, the cost of an interface ranges from
1 to 63. The cost of a received route is related to relax-spf-limit.
l If the cost style is wide-compatible or wide, the cost of the interface ranges from 1 to
16777215. When the cost is 16777215, the neighbor TLV generated on the link cannot
be used for route calculation but for the transmission of TE information. The maximum
cost of a received route is 0xFFFFFFFF.
Step 2 Configure the cost of an IS-IS interface on IPv6 network.
Perform any of the following operations to configure the cost of an IS-IS interface on IPv6
network.
Configure the cost of a specified IS-IS interface on IPv6 network.
1. Run system-view
The system view is displayed.
2. Run interface interface-type interface-number
The interface view is displayed.
3. On an Ethernet interface, run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
The mode switching function takes effect when the interface only has attribute
configurations (for example, shutdown and description configurations). Alternatively, if
configuration information supported by both Layer 2 and Layer 3 interfaces exists (for
example, mode lacp and lacp system-id configurations), no configuration that is not
supported after the working mode of the interface is switched can exist. If unsupported
configurations exist on the interface, delete the configurations first and then run the undo
portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system
view to switch these interfaces to Layer 3 mode in batches.
4. Run isis ipv6 cost cost [ level-1 | level-2 ]
The cost of the IS-IS interface on IPv6 network is configured.
By default, the cost of an IS-IS interface on IPv6 network is 10.
5. Run commit
The configuration is committed.
Configure the global IS-IS interface cost on IPv6 network.
1. Run system-view
The system view is displayed.
2. Run isis [ process-id ]
The IS-IS view is displayed.
3. Run ipv6 circuit-cost cost [ level-1 | level-2 ]
The global IS-IS interface cost on IPv6 network is configured.
By default, the configured cost is applicable to all Level-1 and Level-2 IPv6 interfaces.
The default cost is 10.
4. Run commit
Table 8-4 Mapping between IS-IS interface costs and interface bandwidth
Cost Bandwidth Range
----End
congestion caused by link overload. However, this mechanism may make traffic management
more difficult because traffic will be randomly forwarded.
Procedure
l Configure equal-cost IS-IS routes to work in load-balancing mode.
a. Run system-view
NOTE
When the number of equal-cost routes is greater than number specified in the ipv6
maximum load-balancing command, valid routes are selected for load balancing based on
the following criteria:
1. Route preference: Routes with higher preferences are selected for load balancing.
2. Interface index: If routes have the same priorities, routes with higher interface index
values are selected for load balancing.
3. Next hop IP address: If routes have the same priorities and interface index values, routes
with larger IP address are selected for load balancing.
d. Run commit
----End
Context
If multiple Level-1-2 devices in a Level-1 area are connected to devices in the Level-2 area, a
Level-1 LSP sent by each Level-1-2 device carries an ATT flag bit of 1. This Level-1 area
will have multiple routes to the Level-2 area and to other Level-1 areas.
By default, routes in a Level-1 area can be leaked into the Level-2 area so that Level-1-2 and
Level-2 devices can learn about the topology of the entire network. Devices in a Level-1 area
are unaware of the entire network topology because they only maintain LSDBs in the local
Level-1 area. Therefore, a device in a Level-1 area can forward traffic to a Level-2 device
only through the nearest Level-1-2 device. The route used may not be the optimal route to the
destination.
To enable a device in a Level-1 area to select the optimal route, configure IPv6 IS-IS route
leaking so that specified routes in the Level-2 area can be leaked into the local Level-1 area.
Routes of services deployed only in the local Level-1 area do not need to be leaked into the
Level-2 area. A policy can be configured to leak only desired routes into the Level-2 area.
Procedure
l Specify IPv6 IS-IS routes in the Level-2 area and other Level-1 areas that can be leaked
into the local Level-1 area.
a. Run system-view
The system view is displayed.
b. Run isis [ process-id ]
The IS-IS view is displayed.
c. Run ipv6 import-route isis level-2 into level-1 [ tag tag | filter-policy { acl6-
number | acl6-name acl6-name | ipv6-prefix ipv6-prefix-name | route-policy route-
policy-name } | direct { allow-filter-policy | allow-up-down-bit } * ] *
IPv6 IS-IS routes in the Level-2 area and other Level-1 areas that meet the specified
conditions are leaked into the local Level-1 area.
By default, IPv6 IS-IS routes in the Level-2 area are not leaked into Level-1 areas.
NOTE
The command is run on the Level-1-2 device that is connected to an external area.
d. Run commit
The configuration is committed.
l Configure IPv6 IS-IS routes in Level-1 areas to leak into the Level-2 area.
a. Run system-view
The system view is displayed.
b. Run isis [ process-id ]
The IS-IS view is displayed.
c. Run ipv6 import-route isis level-1 into level-2 [ tag tag | filter-policy { acl6-
number | acl6-name acl6-name | ipv6-prefix ipv6-prefix-name | route-policy route-
policy-name } | direct allow-filter-policy ] *
IPv6 IS-IS routes that meet the specifies conditions in Level-1 areas are leaked into
the Level-2 area.
By default, all Level-1 IPv6 IS-IS routing information, excluding information about
default routes, is leaked to Level-2 areas.
NOTE
The command is run on the Level-1-2 device that is connected to an external area.
----End
l Run the display isis lsdb [ { level-1 | level-2 } | verbose | { local | lsp-id | is-name
symbolic-name } ] * [ process-id | vpn-instance vpn-instance-name ] command to check
information in the IS-IS LSDB.
----End
Pre-configuration Tasks
Before controlling IS-IS route exchange, complete the following task:
l 8.6 Configuring Basic IPv6 IS-IS Functions
Configuration Procedure
You can perform the following configuration tasks (excluding the task of Verifying the IPv6
IS-IS Route Exchange Control Configuration) in any sequence as required.
Context
If IS-IS is configured to advertise a default route on a border device that has external routes,
the device advertises a default route ::/0 in the IS-IS routing domain. All traffic destined for
other routing domains is first forwarded to the border device.
NOTE
Configuring a static default route can also allow all the traffic to be first forwarded to a border device,
which then forwards the traffic outside an IS-IS routing domain. However, this method leads to heavy
workload in configuration and management when a large number of devices are deployed on the
network.
In addition, advertising default routes using IS-IS is flexible. If multiple border devices are deployed, a
routing policy can be configured to allow only the border device that meets the specified conditions to
advertise a default route, preventing routing blackholes.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run isis [ process-id ]
The IS-IS view is displayed.
Step 3 Run ipv6 default-route-advertise [ always | match default | route-policy route-policy-
name ] [ cost cost | tag tag | [ level-1 | level-1-2 | level-2 ] ] * [ avoid-learning ]
IS-IS is configured to advertise a default IPv6 route.
By default, IS-IS does not advertise a default route.
Step 4 Run commit
----End
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run isis [ process-id ]
The IS-IS view is displayed.
Step 3 Configure IS-IS to import external routes.
l When you need to set the cost of imported routes, run the ipv6 import-route { static |
direct | { ospfv3 | ripng | isis } [ process-id ] | bgp [ permit-ibgp ] } [ cost cost | tag tag
| route-policy route-policy-name | [ level-1 | level-2 | level-1-2 ] ] * command to
configure IS-IS to import external IPv6 routes.
l When you need to retain the original cost of imported routes, run the ipv6 import-route
{ direct | { ospfv3 | ripng | isis } [ process-id ] | bgp [ permit-ibgp ] } inherit-cost [ tag
tag | route-policy route-policy-name | [ level-1 | level-2 | level-1-2 ] ] * command to
configure IS-IS to import external IPv6 routes. In this case, the source routing protocol
of imported routes cannot be static.
NOTE
IS-IS will advertise all imported external routes to the IS-IS routing domain by default.
----End
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run isis [ process-id ]
The IS-IS view is displayed.
Step 3 Run ipv6 filter-policy { acl6-number | acl6-name acl6-name | ipv6-prefix ipv6-prefix-name |
route-policy route-policy-name } export [ protocol [ process-id ] ]
IS-IS is configured to advertise the external IPv6 routes that meet specified conditions to the
IS-IS routing domain.
Step 4 Run commit
The configuration is committed.
----End
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run isis [ process-id ]
The IS-IS view is displayed.
Step 3 Run ipv6 filter-policy { acl6-number | acl6-name acl6-name | ipv6-prefix ipv6-prefix-name |
route-policy route-policy-name } import
----End
Procedure
l Run the display isis lsdb [ { level-1 | level-2 } | verbose | { local | lsp-id | is-name
symbolic-name } ] * [ process-id | vpn-instance vpn-instance-name ] command to check
IS-IS LSDB information.
l Run the display isis route [ process-id | vpn-instance vpn-instance-name ] ipv6
[ verbose | [ level-1 | level-2 ] | ipv6-address [ prefix-length ] ] * command to check IS-IS
routing information.
l Run the display ipv6 routing-table command to check the IPv6 routing table.
----End
Pre-configuration Tasks
Before configuring IS-IS route summarization, complete the following task:
Procedure
Step 1 Run system-view
The specified IPv6 IS-IS routes are summarized into one IS-IS route.
NOTE
After route summarization is configured on a device, the local routing table still contains all specific
routes before the summarization. The routing tables on other devices contain only the summary route,
and the summary route is deleted only after all its specific routes are deleted.
----End
Pre-configuration Tasks
Before configuring IS-IS route convergence, complete the following task:
l 8.6 Configuring Basic IPv6 IS-IS Functions
Configuration Procedure
You can perform the following configuration tasks (excluding the task of Verifying the IPv6
IS-IS Route Convergence Control Configuration) in any sequence as required.
You are advised to set the same interval for sending Hello packets and same holding multiplier of
neighboring devices on all the devices on the IS-IS network. This method prevents IS-IS route
convergence from being slowed down when some devices detect link failures at a lower speed
than other devices.
Procedure
l Configure the interval for sending Hello packets.
a. Run system-view
The system view is displayed.
b. Run interface interface-type interface-number
The interface view is displayed.
c. (On an Ethernet interface), run: undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
If an Ethernet interface already has Layer 2 configuration, this command fails to be
executed on the interface. Before running this command on the interface, delete all
the Layer 2 configuration of the interface.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch
batch interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in
the system view to switch these interfaces to Layer 3 mode in batches.
d. Run isis timer hello hello-interval [ level-1 | level-2 ] [ conservative ]
The interval for sending Hello packets is set on an interface.
By default, the interval for sending Hello packets 10 seconds.
NOTE
Parameters level-1 and level-2 are configured only on a broadcast interface. Level-1 and
Level-2 Hello packets are sent separately and their intervals must be set respectively. There
is only one Hello packet on a point-to-point link. Therefore, level-1 and level-2 parameters
are not used.
e. Run commit
The configuration is committed.
l Set the holding multiplier for neighboring devices.
a. Run system-view
The system view is displayed.
b. Run interface interface-type interface-number
The interface view is displayed.
c. (On an Ethernet interface), run: undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
If an Ethernet interface already has Layer 2 configuration, this command fails to be
executed on the interface. Before running this command on the interface, delete all
the Layer 2 configuration of the interface.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch
batch interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in
the system view to switch these interfaces to Layer 3 mode in batches.
d. Run isis timer holding-multiplier number [ level-1 | level-2 ]
The holding multiplier of neighboring devices is set.
NOTE
Parameters level-1 and level-2 are configured only on a broadcast interface. Level-1 and
Level-2 Hello packets are sent separately and their intervals must be set respectively. There
is only one Hello packet on a point-to-point link. Therefore, level-1 and level-2 parameters
are not used.
e. Run commit
The configuration is committed.
----End
Set the Set the size When the volume of link status information increases, the
maximum for LSPs to length of LSPs to be generated can be increased to carry
length for be more information in each LSP.
LSPs generated
and LSPs to
be received.
Set the Set the When a switch generates the system LSP, it fills in the
maximum maximum maximum lifetime for this LSP. After this LSP is received
lifetime for lifetime for by other switchs, the lifetime of the LSP is reduced
LSPs LSPs to gradually. If the switch does not receive any more update
ensure the LSPs and the lifetime of the LSP is reduced to 0, the LSP
validity of will be deleted from the LSDB 60s later if no more
an LSP updated LSPs are received.
before its
updated
LSP is
received.
Set the Set the Reducing the minimum interval for sending LSPs speeds
minimum interval for up LSP flooding.
interval at sending an
which LSPs LSP during
are sent LSP update.
Configure the Control the On an IS-IS network, if the local routing information
intelligent interval for changes, a switch needs to generate a new LSP to notify
timer used to generating this change. If the local routing information changes
generate LSPs LSPs frequently, a large number of new LSPs are generated,
intelligently which occupies a lot of system resources and decreases
to speed up system performance. To speed up network convergence
route and prevent system performance from being affected,
convergenc configure an intelligent timer for generating LSPs. This
e and timer can adjust the delay in generating LSPs based on the
reduce routing information change frequency.
system
load.
Enable LSP Control the When an IS-IS switch receives new LSPs from other
fast flooding number of switchs, it switch updates the LSPs in the local LSDB and
LSPs periodically floods out the updated LSPs according to a
flooded timer. LSP fast flooding updates the preceding method.
each time When a device configured with LSP fast flooding receives
on an one or more new LSPs. it floods out the LSPs with a
interface to number smaller than the specified number before
speed up calculating routes. This speeds up LSDB synchronization.
IS-IS
network
convergenc
e.
Procedure
l Set the maximum length for LSPs.
a. Run system-view
NOTE
Ensure that the value of max-size for LSPs to be generated must be smaller than or equal to
the value of max-size for LSPs to be received.
The value of max-size set through the lsp-length command must meet the following
requirements; otherwise, the MTU status on the interface is considered Down.
l The MTU of an Ethernet interface must be greater than or equal to the sum of the
value of max-size and 3.
l The MTU of a P2P interface must be greater than or equal to the value of max-size.
d. Run commit
NOTE
Ensure that the LSP refresh interval is more than 300s shorter than the maximum LSP
lifetime. This allows new LSPs to reach all devices in an area before existing LSPs expire.
The larger a network, the greater the deviation between the LSP refresh interval and the
maximum LSP lifetime.
d. Run commit
The configuration is committed.
l Set the minimum interval at which LSPs are sent.
a. Run system-view
The system view is displayed.
b. Run interface interface-type interface-number
The interface view is displayed.
c. (On an Ethernet interface), run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
If an Ethernet interface already has Layer 2 configuration, this command fails to be
executed on the interface. Before running this command on the interface, delete all
the Layer 2 configuration of the interface.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch
batch interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in
the system view to switch these interfaces to Layer 3 mode in batches.
d. Run isis timer lsp-throttle throttle-interval [ count count ]
The minimum interval for sending LSPs on an IS-IS interface and the maximum
number of LSPs sent within the interval are set.
By default, the minimum interval for sending LSPs is 50 ms, and the maximum
number of LSPs sent each time is 10.
e. Run commit
The configuration is committed.
l Configure the intelligent timer used to generate LSPs.
a. Run system-view
The system view is displayed.
b. Run isis [ process-id ]
The IS-IS view is displayed.
c. Run timer lsp-generation max-interval [ init-interval [ incr-interval ] ] [ level-1 |
level-2 ]
The intelligent timer used to generate LSPs is set.
If no level is configured, both Level-1 and Level-2 are configured.
By default, the maximum delay in generating LSPs is 2 seconds.
The intelligent timer involves three parameters, and the parameters are described as
follows:
n When only max-interval is specified, the intelligent timer functions as an
ordinary one-time triggering timer.
n When both init-interval and incr-interval are specified, the delay in generating
an LSP for the first time is determined by init-interval, and the delay in
generating an LSP with the same LSP ID for the second time is determined by
incr-interval. Subsequently, each time routes change, the delay in generating
an LSP doubles the last delay until the delay reaches the value specified by
max-interval. If the local routing information keeps being updated within the
max-interval period, the delay remains at max-interval until the time the local
routing information is not updated within the max-interval period or the IS-IS
process is restarted. Then the delay decreases to init-interval.
n When init-interval is specified but incr-interval is not, the delay in generating
an LSP for the first time is determined by init-interval, and the delay in
generating subsequent LSPs is determined by max-interval. If the local routing
information keeps being updated within the max-interval period, the delay
remains at max-interval until the time the local routing information is not
updated within the max-interval period or the IS-IS process is restarted. Then
the delay decreases to init-interval.
d. Run commit
The configuration is committed.
l Enable LSP fast flooding.
a. Run system-view
The system view is displayed.
b. Run isis [ process-id ]
The IS-IS view is displayed.
c. Run flash-flood [ lsp-count | max-timer-interval interval | [ level-1 | level-2 ] ] *
The LSP fast flooding is enabled.
The lsp-count parameter specifies the number of LSPs flooded each time, which is
applicable to all interfaces. If the number of LSPs to be sent is greater than the
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch
batch interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in
the system view to switch these interfaces to Layer 3 mode in batches.
d. (Optional) Run isis circuit-type p2p
A broadcast interface is simulated as a P2P interface.
NOTE
l On a broadcast link, CSNPs are periodically sent by a DIS device. If a device detects that
its LSDB is not synchronized with that on its neighboring device, the device will send
PSNPs to apply for missing LSPs.
l On a P2P link, CSNPs are sent only during initial establishment of neighboring
relationships.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run interface interface-type interface-number
The interface view is displayed.
Step 3 On an Ethernet interface, run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
NOTE
----End
calculation to a small value and set the interval to a large value after the IS-IS network
becomes stable.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run isis [ process-id ]
The IS-IS view is displayed.
Step 3 Run timer spf max-interval [ init-interval [ incr-interval ] ]
The SPF intelligent timer is configured.
By default, no SPF intelligent timer is configured and the maximum delay in SPF calculation
is 5 seconds.
The intelligent timer changes as follows:
l The delay in the first SPF calculation is determined by init-interval; the delay in the
second SPF calculation is determined by incr-interval. From the third time on, the delay
in SPF calculation increases twice every time until the delay reaches the value specified
by max-interval. After the delay remains at the value specified by max-interval for three
times or the IS-IS process is restarted, the delay decreases to the value specified by init-
interval.
l If incr-interval is not specified, the delay in SPF calculation for the first time is
determined by init-interval. From the second time on, the delay in SPF calculation is
determined by max-interval. After the delay remains at the value specified by max-
interval for three times or the IS-IS process is restarted, the delay decreases to the value
specified by init-interval.
l When only max-interval is specified, the intelligent timer functions as an ordinary one-
time triggering timer.
Step 4 Run commit
The configuration is committed.
----End
l The convergence priority of a Level-1 IS-IS route is higher than that of a Level-2 IS-IS
route.
Procedure
Step 1 Run system-view
Step 3 Run ipv6 prefix-priority [ level-1 | level-2 ] { critical | high | medium } { ipv6-prefix
prefix-name | tag tag-value }
By default, the convergence priority of 32-bit host routes is medium, and the convergence
priority of the other IS-IS routes is low.
NOTE
----End
Procedure
l Run the display isis interface [ verbose ] [ vpn-instance vpn-instance-name ] command
to check IS-IS packet information.
l Run the display isis route [ process-id | vpn-instance vpn-instance-name ] ipv6
[ verbose | [ level-1 | level-2 ] | ipv6-address [ prefix-length ] ] * command to check the
information of IS-IS routes.
----End
Pre-configuration Tasks
Before configuring LSP fragment extension, complete the following task:
NOTE
When a new device connects to an IS-IS network, you are advertised to configure LSP fragment
extension and virtual systems before establishing IS-IS neighbors or importing routes. If you establish
IS-IS neighbors or import routes, which causes IS-IS to carry much information that cannot be loaded
through 256 fragments, you must configure LSP fragment extension and virtual systems. The
configurations, however, take effect only after you restart the IS-IS process.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run isis [ process-id ]
The IS-IS view is displayed.
NOTE
If there are devices of other manufacturers on the network, LSP fragment extension must be set to
mode-1. Otherwise, devices of other manufacturers cannot identify LSPs.
----End
Pre-configuration Tasks
Before configuring a mesh group, complete the following task:
l 8.6 Configuring Basic IPv6 IS-IS Functions
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run interface interface-type interface-number
The interface view is displayed.
Step 3 On an Ethernet interface, run undo portswitch
The interface is switched to Layer 3 mode.
By default, an Ethernet interface works in Layer 2 mode.
The mode switching function takes effect when the interface only has attribute configurations
(for example, shutdown and description configurations). Alternatively, if configuration
information supported by both Layer 2 and Layer 3 interfaces exists (for example, mode lacp
and lacp system-id configurations), no configuration that is not supported after the working
mode of the interface is switched can exist. If unsupported configurations exist on the
interface, delete the configurations first and then run the undo portswitch command.
NOTE
If many Ethernet interfaces need to be switched to Layer 3 mode, run the undo portswitch batch
interface-type { interface-number1 [ to interface-number2 ] } &<1-10> command in the system view to
switch these interfaces to Layer 3 mode in batches.
----End
If an IS-IS device needs to be temporarily isolated, configure the IS-IS device to enter the
overload state to prevent other devices from forwarding traffic to this IS-IS device and
prevent blackhole routes.
Pre-configuration Tasks
Before configuring the overload bit for an IS-IS device, complete the following task:
Procedure
Step 1 Run system-view
----End
Applicable Environment
If the requirement for data transmission is high and IS-IS convergence needs to be accelerated
when the link status changes, you can configure dynamic BFD on IS-IS links. BFD can
provide link failure detection featuring light load and high speed (at the millisecond level).
With dynamic BFD, routing protocols can dynamically trigger the establishment of BFD
sessions.
Dynamic BFD needs to be configured based on the actual network environment. If the time
parameters are set improperly, network flapping may occur.
Pre-configuration Tasks
Before configuring dynamic IPv6 BFD for IS-IS, complete the following tasks:
l Configuring IP addresses for interfaces to ensure that neighboring nodes are reachable at
the network layer
l Configuring Basic IPv6 IS-IS Functions
Configuration Procedure
Figure 8-1 Flowchart for configuring dynamic IPv6 BFD for IS-IS
Mandatory
procedure
Optional
procedure
Before configuring dynamic BFD for IS-IS, you need to enable BFD globally.
Procedure
Step 1 Run system-view
----End
By configuring IPv6 BFD for an IS-IS process, you can set parameters for dynamic BFD
sessions and enable dynamic IPv6 BFD for IS-IS on all IS-IS interfaces.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run isis process-id
The IS-IS view is displayed.
Step 3 Run ipv6 bfd all-interfaces enable
IPv6 BFD is enabled in the IS-IS process to establish BFD sessions.
When global IPv6 BFD is enabled in the IS-IS process and the neighbor IPv6 status is Up, IS-
IS adopts default BFD parameters to establish BFD sessions on all the interfaces.
Step 4 (Optional) Run ipv6 bfd all-interfaces { min-rx-interval receive-interval | min-tx-interval
transmit-interval | detect-multiplier multiplier-value | frr-binding } *
IPv6 BFD parameters are configured for setting up BFD sessions.
l min-rx-interval receive-interval: specifies the minimum interval at which BFD packets
are received from the peer end.
l min-tx-interval transmit-interval: specifies the minimum interval at which BFD packets
are sent to the peer end.
l detect-multiplier multiplier-value: specifies the local detection time multiplier, which
determines the neighbor holdtime.
l frr-binding: indicates that the status of the IPv6 BFD session is bound to IPv6 IS-IS
Auto FRR.
Step 5 Run commit
The configuration is committed.
----End
Context
After the ipv6 bfd all-interfaces enable command is used for an IS-IS process on a P2P
network, all IS-IS interfaces whose neighbors are Up establish dynamic BFD sessions; all IS-
IS interfaces whose neighbors are Up on a broadcast network establish BFD sessions between
DISs and non-DISs. If you do not expect certain IS-IS interfaces to establish dynamic BFD
sessions, you can disable these interfaces from dynamically establishing BFD sessions. Do as
follows to disable the specified interface from dynamically establishing BFD sessions:
Procedure
Step 1 Run system-view
The system view is displayed.
----End
You can configure IPv6 BFD parameters on a specified interface. The priority of IPv6 BFD
parameters on an interface is higher than that of IPv6 BFD parameters in the process.
Procedure
Step 1 Run system-view
After IPv6 BFD is globally enabled in an IS-IS process, default IPv6 BFD parameters are
used for establishing IPv6 BFD sessions.
Step 4 (Optional) Run isis ipv6 bfd { min-rx-interval receive-interval | min-tx-interval transmit-
interval | detect-multiplier multiplier-value | frr-binding } *
By default, the minimum interval at which IPv6 BFD packets are sent or received is 1000, in
milliseconds; the IPv6 BFD local detection multiplier is 3.
NOTE
The priority of IPv6 BFD configured on an interface is higher than that of IPv6 BFD configured for a
process. That is, if BFD is also enabled on an interface, the parameters on the interface are preferentially
used to establish a dynamic BFD session.
----End
Prerequisites
The configurations of dynamic IPv6 BFD for IS-IS are complete.
Procedure
l Run the display isis ipv6 bfd [ process-id | vpn-instance vpn-instance-name ] session
{ all | peer ipv6-address | interface interface-type interface-number } command to check
information about an IPv6 BFD session for IS-IS.
l Run the display isis ipv6 bfd [ process-id | vpn-instance vpn-instance-name ] interface
command to check the information about an interface enabled with IPv6 BFD for IS-IS.
----End
Pre-configuration Tasks
Before configuring IPv6 IS-IS Auto FRR, complete the following task:
Configuring Basic IPv6 IS-IS Functions
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run isis [ process-id ]
The IS-IS process is enabled and the IS-IS view is displayed.
Step 3 Run ipv6 frr
The IPv6 IS-IS FRR view is displayed.
Step 4 (Optional) Run frr-policy route route-policy route-policy-name
Backup routes are filtered using a filtering policy. Only backup routes that have passed the
filtering policy are added to the routing table.
IPv6 IS-IS Auto FRR is enabled and the loop-free backup route is created.
If the IS-IS level is not specified, IPv6 IS-IS Auto FRR is enabled on Level-1 and Level-2 to
create the backup route.
----End
Context
To reset IS-IS, reset IS-IS data structure, neighbor relationship and packets
The IS-IS data structure cannot be restored after you reset it. All the previous structure
information and the neighbor relationship are reset. Exercise caution when running this
command.
The specified IS-IS neighbor relationship is deleted after you reset a specified IS-IS neighbor.
Exercise caution when running this command.
Procedure
l Reset IS-IS data structure.
Run the reset isis all[ process-id | vpn-instance vpn-instance-name ] command to reset
IS-IS data structure.
l Reset IS-IS neighbor relationship.
After the IS-IS routing policy or the protocol changes, you can reset a specific IS-IS
neighbor to validate the new configuration.
l Reset IS-IS statistics
Run the reset isis error [ process-id | vpn-instance vpn-instance-name ] or reset isis
error interface interface-type interface-number command to clear information about
incorrect LSPs and Hello packets received by the specified interface or process.
Run the reset isis statistics { packet | socket } [ interface [ interface-type interface-
number ] ] command to clear IS-IS statistics on the specified interface.
Run the reset isis [ process-id ]statistics packet [ lsp ] or reset isis statistics packet lsp
[ process-id ] command to clear IS-IS statistics on the specified process.
----End
Context
The administrator can improve the maintainability of IS-IS using either of the following
methods:
l Configuring IS-IS host name mapping: Through this function, the administrator can use
a simple name to replace the system ID. After IS-IS host name mapping is configured,
the dynamic name is displayed in the IS-IS information to replace the system ID when
the display command is executed. This improves the maintainability of IS-IS networks.
l Configuring IS-IS to add the POI TLV to a PURGE packet: When the value of the
Remaining Lifetime field in an LSP packets is 0, this packet is invalid and called a
PURGE packet. PURGE packets do not record information about the devices generating
these packets. Therefore, when a network is faulty, the packet source cannot be located.
To solve this problem, IS-IS can be configured to add the POI TLV to a PURGE packet
so that the PURGE packet contains information about its generating device. If the
dynamic host name function is configured locally, the host name TLV is also added to
the PURGE packet to facilitate fault location.
Procedure
Step 1 Run system-view
IS-IS static host name mapping is configured and a host name is configured for the
remote device.
This configuration is static configuration and takes effect only on the local device.
Therefore, the configured host name symbolic-name is not advertised through an LSP.
Step 4 (Optional) Run purge-originator-identification enable
IS-IS is configured to add POI TLV to Purge packets. If a dynamic hostname has been
configured for the local device, the hostname TLV is also added to the Purge packets.
Step 5 Run commit
The configuration is committed.
----End
Networking Requirements
As shown in Figure 8-2, IS-IS is run among SwitchS, SwitchD, and SwitchN. Service traffic
is forwarded along the primary link SwitchS→SwitchD. The link
SwitchS→SwitchN→SwitchD is used as a backup. Customers require that a fault on the
primary link be detected in milliseconds so that service traffic can be fast switched to the
backup link when the primary link fails.
Figure 8-2 Networking diagram for configuring dynamic IPv6 BFD for IS-IS
SwitchS 10GE1/0/1 10GE1/0/1SwitchD10GE1/0/3
FC00:0:0:1::1/64 FC00:0:0:1::2/64 FC00:0:0:4::1/64
10GE1/0/2 10GE1/0/2
FC00:0:0:2::1/64 FC00:0:0:3::2/64
10GE1/0/1 10GE1/0/2
FC00:0:0:2::2/64 FC00:0:0:3::1/64
SwitchN
Configuration Roadmap
The configuration roadmap is as follows:
1. Configure basic IPv6 IS-IS functions on each switch to ensure IPv6 connectivity.
2. Set link cost values for IS-IS interfaces on each switch to make the path
SwitchS→SwitchD become the primary and the path SwitchS→SwitchN→SwitchD
become the backup.
3. Enable BFD globally on each switch to detect faults on the primary link in milliseconds.
4. Enable IPv6 BFD for IS-IS in the IS-IS view on each switch so that service traffic can be
fast switched to the backup link when the primary link fails.
Procedure
Step 1 Enable the IPv6 forwarding capability and configure IPv6 addresses for interfaces.
# Take configurations on SwitchS as an example. The configurations on other switches are
similar to these on SwitchS and are not provided here.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchS
[*HUAWEI] commit
[~SwitchS] interface 10ge 1/0/1
[*SwitchS-10GE1/0/1] undo portswitch
[*SwitchS-10GE1/0/1] ipv6 enable
[*SwitchS-10GE1/0/1] ipv6 address fc00:0:0:1::1 64
[*SwitchS-10GE1/0/1] quit
[*SwitchS] interface 10ge 1/0/2
[*SwitchS-10GE1/0/2] undo portswitch
[*SwitchS-10GE1/0/2] ipv6 enable
[*SwitchS-10GE1/0/2] ipv6 address fc00:0:0:2::1 64
[*SwitchS-10GE1/0/2] commit
[~SwitchS-10GE1/0/2] quit
# Configure SwitchN.
[~SwitchN] isis 10
[*SwitchN-isis-10] is-level level-2
[*SwitchN-isis-10] network-entity 10.0000.0000.0002.00
[*SwitchN-isis-10] ipv6 enable
[*SwitchN-isis-10] quit
[*SwitchN] interface 10ge 1/0/1
[*SwitchN-10GE1/0/1] isis ipv6 enable 10
[*SwitchN-10GE1/0/1] quit
[*SwitchN] interface 10ge 1/0/2
[*SwitchN-10GE1/0/2] isis ipv6 enable 10
[*SwitchN-10GE1/0/2] commit
[~SwitchN-10GE1/0/2] quit
# Configure SwitchD.
[~SwitchD] isis 10
[*SwitchD-isis-10] is-level level-2
# After the configurations are complete, run the display ipv6 routing-table command. You
can view that the switches have learnt IPv6 routes from each other.
Step 3 Set link cost values for IS-IS interfaces.
# Configure SwitchS.
[~SwitchS] interface 10ge 1/0/1
[~SwitchS-10GE1/0/1] isis cost 1 level-2
[*SwitchS-10GE1/0/1] quit
[*SwitchS] interface 10ge 1/0/2
[*SwitchS-10GE1/0/2] isis cost 10 level-2
[*SwitchS-10GE1/0/2] commit
[~SwitchS-10GE1/0/2] quit
# Configure SwitchN.
[~SwitchN] interface 10ge 1/0/1
[~SwitchN-10GE1/0/1] isis cost 10 level-2
[*SwitchN-10GE1/0/1] quit
[*SwitchN] interface 10ge 1/0/2
[*SwitchN-10GE1/0/2] isis cost 10 level-2
[*SwitchN-10GE1/0/2] commit
[~SwitchN-10GE1/0/2] quit
# Configure SwitchD.
[~SwitchD] interface 10ge 1/0/1
[~SwitchD-10GE1/0/1] isis cost 1 level-2
[*SwitchD-10GE1/0/1] quit
[*SwitchD] interface 10ge 1/0/2
[*SwitchD-10GE1/0/2] isis cost 10 level-2
[*SwitchD-10GE1/0/2] commit
[~SwitchD-10GE1/0/2] quit
# Configure SwitchN.
[~SwitchN] bfd
[*SwitchN-bfd] quit
[*SwitchN] isis 10
[*SwitchN-isis-10] ipv6 enable topology standard
[*SwitchN-isis-10] ipv6 bfd all-interfaces enable
[*SwitchN-isis-10] ipv6 bfd all-interfaces min-tx-interval 150 min-rx-interval 150
[*SwitchN-isis-10] commit
[~SwitchN-isis-10] quit
# Configure SwitchD.
[~SwitchD] bfd
[*SwitchD-bfd] quit
[*SwitchD] isis 10
[*SwitchD-isis-10] ipv6 enable topology standard
[*SwitchD-isis-10] ipv6 bfd all-interfaces enable
[*SwitchD-isis-10] ipv6 bfd all-interfaces min-tx-interval 150 min-rx-interval 150
[*SwitchD-isis-10] commit
[~SwitchD-isis-10] quit
# After the configurations are complete, run the display isis ipv6 bfd session all command on
SwitchS or SwitchD. You can view that IPv6 BFD parameters already take effect. Take the
display on SwitchS as an example:
[~SwitchS] display isis ipv6 bfd 10 session all
# On SwitchS, run the display ipv6 routing-table fc00:0:0:4::1 64 command to view the
IPv6 routing table. You can view that the next hop address of the route to FC00:0:0:4::/64 is
FE80::E0:2F47:B107:1 and the outbound interface is 10GE1/0/1.
[~SwitchS] display ipv6 routing-table fc00:0:0:4::1 64
Route
Flags: R - relay, D - download to fib, B - black hole
route
---------------------------------------------------------------------------------
Routing Table : _public_
Summary Count : 1
# Run the shutdown command on 10GE1/0/1 of SwitchD to simulate a primary link fault.
[~SwitchD] interface 10ge 1/0/1
[~SwitchD-10GE1/0/1] shutdown
[*SwitchD-10GE1/0/1] commit
# On SwitchS, run the display ipv6 routing-table fc00:0:0:4::1 64 command to view the
IPv6 routing table.
[~SwitchS] display ipv6 routing-table fc00:0:0:4::1 64
Route
Flags: R - relay, D - download to fib, B - black hole
route
---------------------------------------------------------------------------------
Routing Table : _public_
Summary Count : 1
In the IPv6 routing table, you can view that the backup link transmits traffic after the primary
link fails, the next hop address of the route to FC00:0:0:4::/64 becomes
FE80::C964:0:B8B6:1, and the outbound interface becomes 10GE1/0/2.
# Run the display isis ipv6 bfd session all command on SwitchS, and you can view that only
one BFD session is established between SwitchS and SwitchN and its status is Up.
[~SwitchS] display isis ipv6 bfd 10 session all
----End
Configuration Files
l Configuration file of the SwitchS
#
sysname SwitchS
#
bfd
#
isis 10
is-level level-2
network-entity 10.0000.0000.0001.00
#
ipv6 enable topology standard
ipv6 bfd all-interfaces enable
ipv6 bfd all-interfaces min-tx-interval 150 min-rx-interval 150
#
#
interface 10GE1/0/1
undo portswitch
ipv6 enable
ipv6 address FC00:0:0:1::1/64
isis ipv6 enable 10
isis cost 1 level-2
#
interface 10GE1/0/2
undo portswitch
ipv6 enable
ipv6 address FC00:0:0:2::1/64
#
return
Networking Requirements
As shown in Figure 8-3:
l Switch A, Switch B, Switch C, and Switch D belong to the same AS. It is required that
IS-IS run on them to implement IPv6 interworking.
l Switch A, Switch B, and Switch C belong to Area 10, and Switch D belongs to Area 20.
l Switch A and Switch B are Level-1 devices; Switch C is a Level-1-2 device; Switch D is
a Level-2 device.
Figure 8-3 Networking diagram for configuring basic IPv6 IS-IS functions
10GE1/0/1
VLANIF10
SwitchA FC00:0:0:11::2/64
L1
IS-IS 10GE1/0/1 10GE1/0/2
VLANIF40
Area10 VLANIF10 10GE1/0/3
FC00:0:0:20::1/64
FC00:0:0:11::1/64 VLANIF30
FC00:0:0:30::1/64
10GE1/0/2 10GE1/0/1
VLANIF20 VLANIF30 SwitchD
SwitchC
FC00:0:0:12::1/64 FC00:0:0:30::2/64 L2
L1/L2
10GE1/0/1
VLANIF20 IS-IS
FC00:0:0:12::2/64 Area20
SwitchB
L1
Configuration Roadmap
The configuration roadmap is as follows:
1. Enable the IPv6 forwarding capability on each Switch, and configure an IPv6 address for
each interface.
2. Enable IS-IS, configure the level, and specify the NET on each Switch.
Procedure
Step 1 Configure VLANs that interfaces belong to.
<HUAWEI> system-view
[~HUAWEI] sysname switchA
[*HUAWEI] commit
[~switchA] vlan batch 10
[*switchA] interface 10ge 1/0/1
[*switchA-10GE1/0/1] port link-type trunk
[*switchA-10GE1/0/1] port trunk allow-pass vlan 10
[*switchA-10GE1/0/1] commit
[~switchA-10GE1/0/1] quit
The configurations of SwitchB, SwitchC and SwitchD are similar to the configuration of
SwitchA. The detailed configurations are not mentioned here.
Step 2 Enable the IPv6 forwarding capability, and configure an IPv6 address for each interface. Take
the display on Switch A as an example. The configurations of the other three Switches are the
same as that of Switch A, and are not mentioned here.
[~switchA] interface vlanif 10
[~switchA-Vlanif10] ipv6 enable
[*switchA-Vlanif10] ipv6 address FC00:0:0:11::2 64
[*switchA-Vlanif10] commit
[~switchA-Vlanif10] quit
# Configure switch B.
[~switchB] isis 1
[*switchB-isis-1] is-level level-1
[*switchB-isis-1] network-entity 10.0000.0000.0002.00
[*switchB-isis-1] ipv6 enable
[*switchB-isis-1] quit
[*switchB] interface vlanif 20
[*switchB-Vlanif20] isis ipv6 enable 1
[*switchB-Vlanif20] commit
[~switchB-Vlanif20] quit
# Configure switch C.
[~switchC] isis 1
[*switchC-isis-1] ipv6 enable
[*switchC-isis-1] network-entity 10.0000.0000.0003.00
[*switchC-isis-1] quit
[*switchC] interface vlanif 10
[*switchC-Vlanif10] isis ipv6 enable 1
[*switchC-Vlanif10] quit
[*switchC] interface vlanif 20
[*switchC-Vlanif20] isis ipv6 enable 1
[*switchC-Vlanif20] quit
[*switchC] interface vlanif 30
[*switchC-Vlanif30] isis ipv6 enable 1
[*switchC-Vlanif30] isis circuit-level level-2
[*switchC-Vlanif30] commit
[~switchC-Vlanif30] quit
# Configure switch D.
[~switchD] isis 1
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Total LSP(s):
5
Total LSP(s): 3
----End
Configuration Files
l Configuration file of switch A
#
sysname switchA
#
vlan batch 10
#
isis 1
is-level level-1
network-entity 10.0000.0000.0001.00
#
ipv6 enable topology standard
#
#
interface Vlanif10
ipv6 enable
ipv6 address FC00:0:0:11::2/64
isis ipv6 enable 1
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
return
isis 1
network-entity 10.0000.0000.0003.00
#
ipv6 enable topology standard
#
#
interface Vlanif10
ipv6 enable
ipv6 address FC00:0:0:11::1/64
isis ipv6 enable 1
#
interface Vlanif20
ipv6 enable
ipv6 address FC00:0:0:12::1/64
isis ipv6 enable 1
#
interface Vlanif30
ipv6 enable
ipv6 address FC00:0:0:30::1/64
isis ipv6 enable 1
isis circuit-level level-2
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
interface 10GE1/0/3
port link-type trunk
port trunk allow-pass vlan 30
#
return
9 BGP Configuration
The Border Gateway Protocol (BGP) is used between Autonomous Systems (ASs) to transmit
routing information. BGP applies to large and complex networks.
Definition
The Border Gateway Protocol (BGP) is a path vector protocol that allows devices between
Autonomous Systems (ASs) to communicate and selects optimal routes. BGP-1 (defined in
RFC 1105), BGP-2 (defined in RFC 1163), and BGP-3 (defined in RFC 1267) are three
earlier versions of BGP. BGP-4 (defined in RFC 1771) has been used since 1994. Since 2006,
unicast IPv4 networks have been using BGP-4 defined in RFC 4271, and other networks
(such as IPv6 networks) have been using MP-BGP defined in RFC 4760.
MP-BGP is an extension of BGP-4 and applies to different networks; however, the original
message exchange and routing mechanisms of BGP-4 are not changed. MP-BGP applications
on IPv6 unicast and IPv4 multicast networks are called BGP4+ and Multicast BGP (MBGP)
respectively.
Purpose
A network is divided into different ASs to facilitate the management over the network. In
1982, the Exterior Gateway Protocol (EGP) was developed to dynamically exchange routing
information between ASs. EGP advertises only reachable routes but does not select optimal
routes or prevent routing loops. Therefore, EGP cannot meet network management
requirements.
BGP was designed to replace EGP. Different from EGP, BGP can select optimal routes,
prevent routing loops, transmit routing information efficiently, and maintain a large number of
routes.
Although BGP is used to transmit routing information between ASs, BGP is not the best
choice in some scenarios. For example, on the egress connecting a data center to the Internet,
static routes instead of BGP are used to prevent a huge number of Internet routes from
affecting the data center internal network.
Benefits
BGP ensures high network security, flexibility, stability, reliability, and efficiency:
l BGP uses authentication and Generalized TTL Security Mechanism (GTSM) to ensure
network security.
l BGP provides routing policies to allow for flexible route selection.
l BGP provides 9.2.8 Route Summarization and 9.2.9 Route Dampening to prevent
route flapping and improve network stability.
l BGP uses the Transport Control Protocol (TCP) with port number 179 as the transport
layer protocol and supports 9.2.11 BFD for BGP, 9.2.12 BGP Auto FRR, and 9.2.13
BGP GR and NSR to improve network reliability.
Autonomous System
An Autonomous System (AS) is a group of Internet Protocol (IP) networks that are controlled
by one entity, typically an Internet service provider (ISP), and that have the same routing
policy. Each AS is assigned a unique AS number, which identifies an AS on a BGP network.
Two types of AS numbers are available: 2-byte AS numbers and 4-byte AS numbers. A 2-
byte AS number ranges from 1 to 65535, and a 4-byte AS number ranges from 1 to
4294967295. Devices supporting 4-byte AS numbers are compatible with devices supporting
2-byte AS numbers.
BGP Classification
As shown in Figure 9-1, BGP is classified into two types according to where it runs: Internal
BGP (IBGP) and External BGP (EBGP).
AS200
IBGP
EBGP EBGP
AS100 AS300
Internet
l EBGP: runs between ASs. To prevent routing loops between ASs, a BGP device discards
the routes with the local AS number when receiving the routes from EBGP peers.
l IBGP: runs within an AS. To prevent routing loops within an AS, a BGP device does not
advertise the routes learned from an IBGP peer to the other IBGP peers and establishes
full-mesh connections with all the IBGP peers. To address the problem of too many
IBGP connections between IBGP peers, BGP uses 9.2.6 Route Reflector and 9.2.7 BGP
Confederation.
NOTE
If a BGP device needs to advertise the route received from an EBGP peer outside an AS through
another BGP device, IBGP is recommended.
l Speaker: The device that sends BGP messages is called a BGP speaker. The speaker
receives and generates new routes, and advertises the routes to other BGP speakers.
l Peer: The speakers that exchange messages with each other are called BGP peers. A
group of peers sharing the same policies can form a peer group.
BGP Router ID
The BGP router ID is a 32-bit value that is often represented by an IPv4 address to identify a
BGP device. It is carried in the Open message sent during the establishment of a BGP session.
When two BGP peers need to establish a BGP session, they each require a unique router ID.
Otherwise, the two peers cannot establish a BGP session.
The BGP router ID of a device must be unique on a BGP network. It can be manually
configured or selected from IPv4 addresses on the device. By default, an IPv4 address of a
loopback interface on a device is used as the BGP router ID. If no loopback interface is
configured on the device, the system selects the largest IPv4 address from all IPv4 addresses
of interfaces as the BGP router ID. Once the BGP router ID is selected, the system retains this
router ID even if a larger IPv4 address is configured on the device later. The system changes
the BGP router ID only when the corresponding IPv4 address is deleted.
BGP peer establishment, update, and deletion involve five types of messages, six state
machine states, and five route exchange rules.
BGP Messages
BGP peers exchange the following messages, among which Keepalive messages are
periodically sent and other messages are triggered by events.
Idle
Error
OpenSent
TCP
Established Receive
Correct Open
Error
OpenConfirm
Receive Correct
Keepalive
Error
Issue 06 (2018-11-26) Established
Copyright © Huawei Technologies Co., Ltd. 629
CloudEngine 8800, 7800, 6800, and 5800 Series Switches
Configuration Guide - IP Unicast Routing 9 BGP Configuration
1. The Idle state is the initial BGP state. In Idle state, the BGP device refuses all connection
requests from neighbors. The BGP device initiates a TCP connection with its BGP peer
and changes its state to Connect only after receiving a Start event from the system.
NOTE
l The Start event occurs when an operator configures a BGP process or resets an existing BGP
process or when the router software resets a BGP process.
l If an error occurs at any state of the FSM, for example, the BGP device receives a Notification
message or TCP connection termination notification, the BGP device returns to the Idle state.
2. In Connect state, the BGP device starts the Connect Retry timer and waits to establish a
TCP connection.
– If the TCP connection is established, the BGP device sends an Open message to the
peer and changes to the OpenSent state.
– If the TCP connection fails to be established, the BGP device moves to the Active
state.
– If the BGP device does not receive a response from the peer before the Connect
Retry timer expires, the BGP device attempts to establish a TCP connection with
another peer and stays in Connect state.
3. In Active state, the BGP device keeps trying to establish a TCP connection with the peer.
– If the TCP connection is established, the BGP device sends an Open message to the
peer, closes the Connect Retry timer, and changes to the OpenSent state.
– If the TCP connection fails to be established, the BGP device stays in Active state.
– If the BGP device does not receive a response from the peer before the Connect
Retry timer expires, the BGP device returns to the Connect state.
4. In OpenSent state, the BGP device waits for an Open message from the peer and then
checks the validity of the received Open message, including the AS number, version, and
authentication password.
– If the received Open message is valid, the BGP device sends a Keepalive message
and changes to the OpenConfirm state.
– If the received Open message is invalid, the BGP device sends a Notification
message to the peer and returns to the Idle state.
5. In OpenConfirm state, the BGP device waits for a Keepalive or Notification message
from the peer. If the BGP device receives a Keepalive message, it transits to the
Established state. If it receives a Notification message, it returns to the Idle state.
6. In Established state, the BGP device exchanges Update, Keepalive, Route-refresh, and
Notification messages with the peer.
– If the BGP device receives a valid Update or Keepalive message, it considers that
the peer is working properly and maintains the BGP connection with the peer.
– If the BGP device receives an invalid Update or Keepalive message, it sends a
Notification message to the peer and returns to the Idle state.
– If the BGP device receives a Route-refresh message, it does not change its status.
– If the BGP device receives a Notification message, it returns to the Idle state.
– If the BGP device receives a TCP connection termination notification, it terminates
the TCP connection with the peer and returns to the Idle state.
l Advertises the BGP routes received from IBGP peers only to its EBGP peers.
l Advertises the BGP routes received from EBGP peers to its EBGP peers and IBGP
peers.
l Advertises the optimal route to its peers when there are multiple valid routes to the same
destination.
l Sends only updated BGP routes when BGP routes change.
l Accepts all the routes sent from its peers.
BGP and Interior Gateway Protocols (IGPs) use different routing tables. To enable different
ASs to communicate, you need to configure interaction between BGP and IGPs so that BGP
routes can be imported into IGP routing tables and IGP routes can also be imported into BGP
routing tables.
l In import mode, BGP imports IGP routes, including RIP, OSPF, and IS-IS routes, into
BGP routing tables based on protocol type. To ensure the validity of imported IGP
routes, BGP can also import static routes and direct routes in import mode.
l In network mode, BGP imports the routes in the IP routing table one by one into BGP
routing tables. The network mode is more accurate than the import mode.
BGP uses authentication, Generalized TTL Security Mechanism (GTSM), and Resource
Public Key Infrastructure (RPKI) to ensure exchange security between BGP peers.
BGP Authentication
BGP authentication includes Message Digest 5 (MD5) authentication and keychain
authentication, which improve communication security between BGP peers. In MD5
authentication, you can only set the authentication password for a TCP connection. In
keychain authentication, you can set the authentication password for a TCP connection and
authenticate BGP messages.
BGP GTSM
BGP GTSM checks whether the time to live (TTL) value in the IP packet header is within a
predefined range and permits or discards the packets of which the TTL values are out of the
predefined range. In this way, BGP GTSM protects services above the IP layer and enhances
system security.
Assume that the TTL value range of packets from BGP peers is set to 254-255. When an
attacker forges valid BGP packets and keeps sending these packets to attack a device, the TTL
values of these packets are smaller than 254. If BGP GTSM is disabled on the device, the
device finds that these packets are destined for itself and sends the packets to the control plane
for processing. Then the control plane needs to process a large number of such attack packets,
causing high CPU usage. If BGP GTSM is enabled on the device, the system checks the TTL
values in all BGP packets and discards the attack packets of which the TTL values are smaller
than 254. This prevents network attack packets from consuming CPU resources.
There may be multiple routes to the same destination in a BGP routing table. BGP will select
one route as the optimal route and advertise it to peers. To select the optimal route among
these routes, BGP compares the BGP attributes of the routes in sequence based on route
selection rules.
BGP Attributes
Route attributes describe routes. BGP route attributes are classified into the following types.
Table 9-1 lists common BGP attributes.
that receives the route can learn about the ASs through which the route passes to
reach the destination. The number of the AS that is nearest to the local AS is placed
on the top of the AS_Path list. The other AS numbers are listed according to the
sequence in which the route passes through ASs.
– If the route is advertised to IBGP peers, the BGP speaker does not change the
AS_Path attribute of the route.
l Next_Hop
The Next_Hop attribute records the next hop that a route passes through. The Next_Hop
attribute of BGP is different from that of an IGP because it may not be the neighbor IP
address. A BGP speaker processes the Next_Hop attribute based on the following rules:
– When advertising a route to an EBGP peer, the BGP speaker sets the Next_Hop
attribute of the route to the address of the local interface through which the BGP
peer relationship is established with the peer.
– When advertising a locally originated route to an IBGP peer, the BGP speaker sets
the Next_Hop attribute of the route to the address of the local interface through
which the BGP peer relationship is established with the peer.
– When advertising a route learned from an EBGP peer to an IBGP peer, the BGP
speaker does not change the Next_Hop attribute of the route.
l Local_Pref
The Local_Pref attribute indicates the BGP preference of a device and helps determine
the optimal route when traffic leaves an AS. When a BGP device obtains multiple routes
to the same destination address but with different next hops from different IBGP peers,
the BGP device prefers the route with the highest Local_Pref value. The Local_Pref
attribute is exchanged only between IBGP peers and is not advertised to other ASs. The
Local_Pref attribute can be manually configured. If no Local_Pref attribute is configured
for a route, the Local_Pref attribute of the route uses the default value 100.
l MED
The multi-exit discriminator (MED) attribute helps determine the optimal route when
traffic enters an AS. When a BGP device obtains multiple routes to the same destination
address but with different next hops from EBGP peers, the BGP device selects the route
with the smallest MED value as the optimal route.
The MED attribute is exchanged only between two neighboring ASs. The AS that
receives the MED attribute does not advertise it to any other ASs. The MED attribute can
be manually configured. If no MED attribute is configured for a route, the MED attribute
of the route uses the default value 0.
l Community
The Community attribute identifies the BGP routes with the same characteristics,
simplifies the applications of routing policies, and facilitates route maintenance and
management.
The Community attribute includes self-defined community attributes and well-known
community attributes. Table 9-2 lists well-known community attributes.
8. Prefers the route with the lowest IGP metric to the BGP next hop.
NOTE
If there are multiple routes to the same destination, an IGP calculates the route metric using its
routing algorithm.
9. Prefers the route with the shortest Cluster_List.
10. Prefers the route advertised by the device with the smallest router ID.
If a route carries the Originator_ID attribute, BGP prefers the route with the smallest
Originator_ID without comparing the router ID.
11. Prefers the route learned from the peer with the lowest IP address.
Roles in RR
As shown in Figure 9-3, the following roles are involved in RR scenarios in an AS.
Client1
Cluster1 IBGP
IBGP
AS65000
Client2 Client3
l Route reflector (RR): a BGP device that can reflect the routes learned from an IBGP peer
to other IBGP peers. An RR is similar to a designated router (DR) on an OSPF network.
l Client: an IBGP device of which routes are reflected by the RR to other IBGP devices. In
an AS, clients only need to directly connect to the RR.
RR Principles
Clients in a cluster only need to exchange routing information with the RR in the same
cluster. Therefore, clients only need to establish IBGP connections with the RR. This reduces
the number of IBGP connections in the cluster. As shown in Figure 9-3, in AS 65000,
Cluster1 is comprised of an RR and three clients. The number of IBGP connections in AS
65000 is then reduced from 10 to 4, which simplifies the device configuration and reduces the
loads on the network and CPU.
The RR allows a BGP device to advertise the BGP routes learned from an IBGP peer to other
IBGP peers, and uses the Cluster_List and Originator_ID attributes to eliminate routing loops.
The RR advertises routes to IBGP peers based on the following rules:
l The RR advertises the routes learned from a non-client to all the clients.
l The RR advertises the routes learned from a client to all the other clients and all the non-
clients.
l The RR advertises the routes learned from an EBGP peer to all the clients and non-
clients.
Cluster_List Attribute
An RR and its clients form a cluster, which is identified by a unique cluster ID in an AS. To
prevent routing loops between clusters, an RR uses the Cluster_List attribute to record the
cluster IDs of all the clusters that a route passes through.
l When a route is reflected by an RR for the first time, the RR adds the local cluster ID to
the top of the cluster list. If there is no cluster list, the RR creates a Cluster_List attribute.
l When receiving an updated route, the RR checks the cluster list of the route. If the
cluster list contains the local cluster ID, the RR discards the route. If the cluster list does
not contain the local cluster ID, the RR adds the local cluster ID to the cluster list and
then reflects the route.
Backup RR
To ensure network reliability and prevent single points of failures, redundant RRs are required
in a cluster. An RR allows a BGP device to advertise the routes received from an IBGP peer
to other IBGP peers. Therefore, routing loops may occur between RRs in the same cluster. To
solve this problem, all the RRs in the cluster must use the same cluster ID.
RR1 RR2
IBGP
Cluster
IBGP IBGP IBGP
As shown in Figure 9-4, RR1 and RR2 reside in the same cluster and have the same cluster
ID configured.
l When Client1 receives an updated route from an EBGP peer, Client1 advertises this
route to RR1 and RR2 using IBGP.
l After RR1 and RR2 receive this route, they add the local cluster ID to the top of the
cluster list of the route and then reflect the route to other clients (Client2 and Client3)
and to each other.
l After RR1 and RR2 receive the reflected route from each other, they check the cluster
list of the route, finding that the cluster list contains their local cluster IDs. RR1 and RR2
discard this route to prevent routing loops.
ISP
EBGP EBGP
RR-1 RR-1
Client/
Cluster1 RR-2
Client
Cluster2
AS100
Client Client
In practice, hierarchical RR is often used. As shown in Figure 9-5, the ISP provides Internet
routes to AS 100. AS 100 is divided into two clusters, Cluster1 and Cluster2. Four devices in
Cluster1 are core routers and use a backup RR to ensure reliability.
Flat RR
Cluster 4
Cluster 3
Client Client Client Client
Client
Client RR
RR
RR RR Client
Client
Client Client Client
AS100 Cluster 1 Cluster 2
As shown in Figure 9-6, the backbone network is divided into multiple clusters. RRs of the
clusters are non-clients and establish full-mesh connections with each other. Although each
client only establishes an IBGP connection with its RR, all the RRs and clients can receive all
routing information.
In addition to a route reflector, the confederation is another method that reduces the number of
IBGP connections in an AS. A confederation divides an AS into sub-ASs. Full-mesh IBGP
connections are established in each sub-AS. EBGP connections are established between sub-
ASs. ASs outside a confederation still consider the confederation as an AS. After a
confederation divides an AS into sub-ASs, it assigns a confederation ID (the AS number) to
each router within the AS. This brings two benefits. First, original IBGP attributes are
retained, including the Local_Pref attribute, MED attribute, and Next_Hop attribute.
Secondly, confederation-related attributes are automatically deleted when being advertised
outside a confederation. Therefore, the administrator does not need to configure the rules for
filtering information such as sub-AS numbers at the egress of a confederation.
EBGP EBGP
As shown in Figure 9-7, AS 100 is divided into three sub-ASs after a confederation is
configured: AS65001, AS65002, and AS65003. The AS number AS 100 is used as the
confederation ID. The number of IBGP connections in AS 100 is then reduced from 10 to 4,
which simplifies the device configuration and reduces the loads on the network and CPU. In
addition, BGP devices outside AS 100 only know the existence of AS 100 but not the
confederation within AS 100. Therefore, the confederation does not increase the CPU load.
Retains the existing network topology and Requires the logical topology to be changed.
ensures compatibility.
Penalty value
Suppress value
Reuse value
Suppress time
Time
Half-life
Route dampening measures the stability of a route using a penalty value. A larger penalty
value indicates a less stable route. As shown in Figure 9-8, each time route flapping occurs,
BGP increases the penalty of this route by a value of 1000. When the penalty value of a route
exceeds the suppression threshold, BGP suppresses this route, and does not add it to the IP
routing table or advertise any Update message to peers. After a route is suppressed for a
period of time (half life), the penalty value is reduced by half. When the penalty value of a
route decreases to the reuse threshold, the route is reusable and is added to the routing table.
At the same time, BGP advertises an Update message to peers. The suppression time is the
period from when a route is suppressed to when the route is reusable.
Route dampening applies only to EBGP routes but not IBGP routes. IBGP routes may include
the routes of the local AS, and an IGP network requires that the routing tables of devices
within an AS be the same. If IBGP routes were dampened, routing tables on devices are
inconsistent when these devices have different dampening parameters. Therefore, route
dampening does not apply to IBGP routes.
9.2.10 BMP
The BGP Monitoring Protocol (BMP) is designed to monitor BGP running status, such as
BGP peer relationship establishment and termination and route updates.
Without BMP, manual query is required if you want to know about BGP running status. With
BMP, a router can be connected to a monitoring server and configured to report BGP routing
information, device vendor information and version, and BGP peer information to the server
for monitoring, which improves the network monitoring efficiency. BMP facilitates the
monitoring of BGP running status and reports security threats in real time so that preventive
measures can be taken promptly.
BMP Messages
Routers send BMP packets carrying Initiation, Peer Up Notification (PU), Route Monitoring
(RM), Peer Down Notification (PD), Status Report (SR), or Termination messages to the
monitoring server to report BGP running statistics. The functions of these messages are listed
as follows:
l Initiation message: Reports to the monitoring server such information as the router
vendor and its software version.
l PU message: Notifies the monitoring server that a BGP peer relationship has been
established.
l RM message: Sends to the monitoring server all routes received from BGP peers and
notifies the server of route addition or deletion in real time.
l PD message: Notifies the monitoring server that a BGP peer has been disconnected.
l SR message: Reports router running statistics to the monitoring server.
l Termination message: Reports to the monitoring server the cause of BMP session
termination.
NOTE
BMP sessions are unidirectional. Routers send messages to the monitoring server but ignore messages
replied by the server.
Implementation
In Figure 9-9, a TCP connection is established between the monitoring server and PE1 and
between the monitoring server and PE2. PE1 and PE2 send unsolicited BMP packets to the
monitoring server to report BGP running statistics. After receiving these BMP packets, the
monitoring server parses them and displays the BGP running status in the monitoring view.
The BMP packets carry headers. By analyzing the headers, the monitoring server can decide
which BGP peers have advertised the routes carried in these packets.
When establishing a connection between a router and a monitoring server, note the following
rules:
l You can specify a port for the TCP connection between the router and the monitoring
server.
l One router can connect to multiple monitoring servers, and one monitoring server can
also connect to multiple routers.
l In each BMP instance, one router can connect to only one monitoring server.
l The monitoring server monitors all BGP peers. Specifying the BGP peer to be monitored
is not supported.
PE2
P P CE2
CE1 PE1 P P
BGP periodically sends messages to peers to detect the status of the peers. It takes more than
1 second for this detection mechanism to detect a fault. When data is transmitted at gigabit
rates, long-time fault detection will cause packet loss. This cannot meet high reliability
requirements of networks. Bidirectional Forwarding Detection (BFD) provides the
millisecond-level fault detection for BGP to improve network reliability.
EBGP
AS100 AS200
RouterA RouterB
As shown in Figure 9-10, RouterA belongs to AS 100 and RouterB belongs to AS 200.
RouterA and RouterB are directly connected and establish the EBGP peer relationship. BFD
for BGP is configured on RouterA and RouterB. When a fault occurs on the link between
RouterA and RouterB, BFD can rapidly detect that the BFD session changes from Up to
Down and notify RouterA and RouterB of this fault. RouterA and RouterB process the
neighbor Down event and select routes again using BGP.
Application Scenarios
As shown in Figure 9-11, RouterD advertises a learned BGP route to RouterB and RouterC in
AS 100; RouterB and RouterC then advertise the BGP route to RouterA through a route
reflector. RouterA receives two routes whose next hops are RouterB and RouterC
respectively. Then RouterA selects a route according to the configured policy. Assume that
the route sent from RouterB, namely LinkB, is preferred. The route sent from RouterC,
namely LinkC, then functions as the backup link.
AS100 AS200
RouterA LinkC RouterD
RouterC
RR
Loopback1
[Link]/32
When a router along LinkB fails or faults occur on LinkB, the next hop of the route from
RouterA to RouterB becomes invalid. If BGP Auto FRR is enabled on RouterA, the
forwarding plane quickly switches traffic sent from RouterA to RouterD to LinkC. This
prevents traffic loss. In addition, RouterA reselects the route sent from RouterC and updates
the FIB table.
BGP GR
BGP GR ensures that the forwarding plane continues to guide data forwarding during a device
restart or active/standby switchover. The operations on the control plane, such as
reestablishing peer relationships and performing route calculation, do not affect the
forwarding plane. This mechanism prevents service interruptions caused by route flapping
and improves network reliability.
GR concepts are as follows:
l GR restarter: is the device that is restarted by the administrator or triggered by failures to
perform GR.
l GR helper: is the neighbor that helps the GR restarter to perform GR.
l GR time: is the time during which the GR helper retains forwarding information after
detecting the restart or active/standby switchover of the GR restarter.
The BGP GR process is as follows:
1. Using the BGP capability negotiation mechanism, the GR restarter and helper know each
other's GR capability and establish a GR session.
2. When detecting the restart or active/standby switchover of the GR restarter, the GR
helper does not delete the routing information and forwarding entries of the GR restarter
or notify other neighbors of the restart or switchover, but waits to reestablish a BGP
connection with the GR restarter.
3. The GR restarter reestablishes neighbor relationships with all GR helpers before the GR
time expires.
BGP NSR
NSR is a reliability technique that prevents neighbors from detecting the control plane
switchover. It applies to the devices that have the active and standby MPUs configured.
Compared to GR, NSR does not require the help of neighbors and does not need to deal with
interoperability issues. For details about NSR, see "NSR" in the Configuration Guide -
Reliability - Introduction to Reliability .
NOTE
NSR is enabled on the device by default and does not need to be configured.
Table 9-4 Comparisons between active/standby switchovers with and without GR and NSR
The BGP peer relationship The BGP peer relationship The BGP peer relationship
is reestablished. is reestablished. is reestablished.
The network detects route Except the neighbors of the The network does not detect
changes, and route flapping device where the active/ route changes.
occurs for a short period of standby switchover occurs,
time. other routers do not detect
route changes.
RFC 5291 and RFC 5292 define the prefix-based BGP outbound route filtering (ORF)
capability to advertise required BGP routes. BGP ORF allows a device to send prefix-based
import policies in a Route-refresh message to BGP peers. BGP peers construct export policies
based on these import policies to filter routes before sending these routes, which has the
following advantages:
l Prevents the local device from receiving a large number of unnecessary routes.
l Reduces CPU usage of the local device.
l Simplifies the configuration of BGP peers.
l Improves link bandwidth efficiency.
Application Scenarios
BGP ORF applies to the scenario where a device wants BGP peers to send only required
routes, and BGP peers do not want to maintain different export policies for different devices.
AS 100 AS 200
RouterA RouterB
As shown in Figure 9-12, after negotiating the prefix-based ORF capability with RouterB,
RouterA adds the local prefix-based import policies to a Route-refresh message and sends the
message to RouterB. RouterB constructs export policies based on the received Route-refresh
message and sends required routes to RouterA using a Route-refresh message. RouterA
receives only required routes, and RouterB does not need to maintain routing policies. This
reduces the configuration workload.
AS 100
RR
RouterA RouterB
As shown in Figure 9-13, there is a route reflector (RR) in AS 100. RouterA and RouterB are
the clients of the RR. RouterA, RouterB, and the RR negotiate the prefix-based ORF
capability. RouterA and RouterB then add the local prefix-based import policies to Route-
refresh messages and send the messages to the RR. The RR constructs export policies based
on the received import policies and reflects required routes in Route-refresh messages to
RouterA and RouterB. RouterA and RouterB receive only required routes, and the RR does
not need to maintain routing policies. This reduces the configuration workload.
Application Scenarios
BGP uses the dynamic update peer-groups technology when a large number of peers and
routes exist and most peers share the same outbound policies, improving BGP route grouping
and forwarding performance. The dynamic update peer-groups feature applies to the
following scenarios:
l International gateway
As shown in Figure 9-14, the Internet gateway (IGW) router sends routes to all
neighboring ASs. If the IGW router supports the dynamic update peer-groups feature, its
BGP route forwarding performance will be greatly improved.
AS1000
AS200
AS65001
AS30
Internet Route
IGW
Router
AS100
AS65002
AS120
l RR
As shown in Figure 9-15, RRs send routes to all clients. If the RRs support the dynamic
update peer-groups feature, their BGP route forwarding performance will be greatly
improved.
AS100
RR1 RR2
IBGP IBGP
l ASBR
As shown in Figure 9-16, RouterB, as an Autonomous System Boundary Router
(ASBR), sends all the routes received from an EBGP peer RouterA to all IBGP peers. If
RouterB supports the dynamic update peer-groups feature, its BGP route forwarding
performance will be greatly improved.
AS200
RouterC
IBGP
AS100 RouterD
RouterA
EBGP
RouterB RouterE
IBGP
RouterF
9.2.16 MP-BGP
Traditional BGP-4 manages only IPv4 routing information. Inter-AS transmission of other
network layer protocol packets (such as IPv6 and multicast packets) is limited. To support
multiple network layer protocols, Multiprotocol BGP (MP-BGP) is designed in RFC 4760 as
an extension to BGP-4. MP-BGP uses extended attributes and address families to support
IPv6, multicast, and VPN, without changing the existing BGP packet forwarding or routing
mechanism.
MP-BGP is called BGP4+ on IPv6 unicast networks or called Multicast BGP (MBGP) on
IPv4 multicast networks. MP-BGP establishes separate topologies for IPv6 unicast networks
and IPv4 multicast networks, and stores IPv6 unicast and IPv4 multicast routing information
in different routing tables. This ensures that routing information of IPv6 unicast networks and
IPv4 multicast networks is separated from each other, and allows routes of different networks
to be maintained using different routing policies.
Extended Attributes
In BGP, an Update message carries three IPv4-related attributes: NLRI, Next_Hop, and
Aggregator.
To support multiple network layer protocols, BGP requires NLRI and Next_Hop attributes to
carry information about network layer protocols. Therefore, MP-BGP uses the following new
optional non-transitive attributes:
Address Families
MP-BGP uses address families to differentiate network layer protocols. Currently, devices
support the following address family views:
l BGP-IPv4 unicast address family view
l BGP-IPv4 multicast address family view
l BGP-VPN instance IPv4 address family view
l BGP-IPv6 unicast address family view
l BGP-VPN instance IPv6 address family view
l BGP-VPNv6 address family view
NOTE
If BGP is configured on an IPv6 network, all the peer addresses specified in the Peer command must be
IPv6 addresses.
Configuring basic BGP The configuration of basic 9.6 Configuring Basic BGP
functions BGP functions is the Functions
foundation of the BGP
network construction and
the precondition for other
BGP functions.
Controlling the advertising With the expansion of the 9.10 Controlling the
and receiving of BGP routes network scale, the sharp Receiving and
increase of routing tables Advertisement of BGP
leads to greater load on Routes
networks and increasing
network security problems.
To solve this problem, filter
routes according to the
routing policies and only
send and receive required
BGP routes. In addition,
multiple routes to the same
destination may exist. If
these routes need to pass
through different ASs, direct
service traffic to specific
ASs or filter the routes to be
advertised.
Adjusting the BGP network To enable BGP to rapidly 9.11 Adjusting the BGP
convergence speed detect network changes, Network Convergence
speed up the BGP network Speed
convergence. To minimize
the effect on networks from
route flapping and reduce
load on the device, slow
down the BGP network
convergence.
Configuring BGP route The BGP routing table on a 9.13 Configuring BGP
summarization medium or large BGP Route Summarization
network contains a large
number of routing entries.
Storing the routing table
consumes a large number of
memory resources, and
transmitting and processing
the routing information
consumes a large number of
network resources. Route
summarization can reduce
the size of a routing table,
prevent specific routes from
being advertised, and
minimize the impact of
route flapping on networks.
Although BGP automatic
route summarization is easy
to configure, it only
summarizes routes
according to the natural
network segment. BGP
manual route summarization
can be used with flexible
routing policies to enable
BGP to effectively transmit
and control routes.
Licensing Requirements
BGP4/BGP4+ feature is a basic feature of CE8800, CE7800, CE6800, and CE5800 series
switches and is not under license control.
Version Requirements
CE8868EI V200R005C10
CE8861EI V200R005C10
CE8860EI V100R006C00
CE8850-32CQ-EI V200R002C50
CE8850-64CQ-EI V200R005C00
CE7850EI V100R003C00
CE7855EI V200R001C00
CE6810EI V100R003C00
CE6850EI V100R001C00
CE6850-48S6Q-HI V100R005C00
CE6850-48T6Q-HI/CE6850U-HI/ V100R005C10
CE6851HI
CE6855HI V200R001C00
CE6856HI V200R002C50
CE6857EI V200R005C10
CE6860EI V200R002C50
CE6865EI V200R005C00
CE6870-24S6CQ-EI/ V200R001C00
CE6870-48S6CQ-EI
CE6870-48T6CQ-EI V200R002C50
CE6875EI V200R003C00
CE6880EI V200R002C50
CE5880EI V200R005C10
CE5810EI V100R002C00
CE5850EI V100R001C00
CE5850HI V100R003C00
CE5855EI V100R005C10
Feature Limitations
The CE6810LI does not support IPv4 or IPv6 Layer 3 forwarding. After the IPv4 or IPv6
function is enabled on an interface of the CE6810LI, the configured IPv4 or IPv6 address can
only be used to manage the switch.
In versions earlier than V200R002C50, the CE5855EI does not support IPv6. However,
interfaces on the CE5855EI provide the IPv6 capability when the switch functions as a leaf
switch in a super virtual fabric (SVF) system and the SVF forwarding mode is set to
centralized or hybrid. In V200R002C50 and later versions, the CE5855EI supports IPv6.
The CE5855EI does not support the BMP configuration.
BGP Disabled
Pre-configuration Tasks
Before configuring basic BGP functions, complete the following task:
l Configuring IP addresses for interfaces to ensure network-layer communication between
neighbor nodes
Configuration Procedure
Perform the following operations in sequence and as required.
Changing the format of 4-byte AS numbers will affect matching results of AS_Path regular
expressions and extended community attribute filters. Therefore, if the system is using an
AS_Path regular expression or an extended community attribute filter as an import or export
policy, you must reconfigure an AS_Path regular expression using the ip as-path-filter
command or an extended community attribute filter using the ip extcommunity-filter
command after changing the format of 4-byte AS numbers. This reconfiguration ensures that
routes match the import or export policy.
l If integral 4-byte AS numbers are configured, you must change 4-byte AS numbers in
AS_Path regular expressions and extended community attribute filters to integral 4-byte
AS numbers.
l If 4-byte AS numbers in dotted notation are configured, you must change 4-byte AS
numbers in AS_Path regular expressions and extended community attribute filters to 4-
byte AS numbers in dotted notation.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run as-notation plain
BGP 4-byte AS numbers are configured to display as integers.
NOTE
After you run the as-notation plain command, BGP 4-byte AS numbers are displayed as integers in
display commands but are still displayed in dotted notation in the configuration file.
----End
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run bgp { as-number-plain | as-number-dot }
BGP is started, the local AS number is specified, and the BGP view is displayed.
After BGP peers are configured, changing the router ID of a BGP peer resets BGP peer
relationships.
A router ID is set.
NOTE
By default, BGP automatically selects the router ID in the system view. If the IP address of a physical
interface is used as the router ID, route flapping occurs when the IP address of the physical interface
changes. To enhance network stability, configuring the address of a loopback interface as the router ID is
recommended. For router ID selection rules in the system view, see descriptions in Command Reference
about the router-id command.
By default, the Cluster_List attribute takes precedence over the router ID during BGP route selection. To
enable the router ID to take precedence over the Cluster_List attribute during BGP route selection, run
the bestroute routerid-prior-clusterlist command.
If the device does not have an IPv4 interface, it needs to be configured with a router ID.
All sessions between the device and its BGP peers are terminated.
During the system upgrade or maintenance, you can run the shutdown command to terminate
all sessions between a device and its BGP peers to prevent possible BGP route flapping from
affecting the network.
After the upgrade or maintenance, run the undo shutdown command to restore the BGP peer
sessions; otherwise, BGP functions will be affected.
When the memory usage reaches the overload threshold, if a BGP peer continues sending
BGP routes, the device restarts and performs an active/standby switchover. In this case, the
system becomes unstable. After BGP memory protection is configured, the device does not
receive routes and reports alarms when the memory usage reaches the overload threshold.
If the BGP routes advertised by a device when the device is delivering ARP entries after a
restart are selected as optimal routes, traffic loss may occur. To prevent this problem, run the
advertise lowest-priority on-startup command before the device is restarted to configure
BGP to minimize the priorities of the BGP routes to be advertised. After the command is run,
the MED and Local_Pref of the BGP routes to be advertised are 4294967295 (maximum
value) and 0 (minimum value), respectively. The configuration prevents the BGP routes from
being preferentially selected. To restore the priorities of these BGP routes after ARP entries
are delivered, run the reset bgp advertise lowest-priority on-startup command.
NOTE
If the advertise lowest-priority on-startup command is run after BGP configurations are committed,
the configuration of this command takes effect only after the reboot command is run. If the advertise
lowest-priority on-startup command and BGP configurations are committed as a whole, the
configuration of this command takes effect immediately.
BGP is configured to minimize the priorities of the routes to be advertised to BGP peers when
the peers go Up from Down.
If the advertise lowest-priority all-address-family peer-up command is not run, BGP routes
with unchanged priorities are advertised to peers when the peers go Up from Down. After the
peers receive the routes, traffic may be switched back to the original paths. Consequently,
lengthy packet loss may occur. To address this problem, run the advertise lowest-priority all-
address-family peer-up command. After the command is run, routes advertised to the peers
carry the lowest priorities (largest MED value and smallest Local_Pref value) until delay
expires.
NOTE
To restore the priorities of the routes to be advertised to BGP peers when the peers go Up from Down,
run the reset bgp advertise lowest-priority all-address-family peer-up command.
----End
Context
During the configuration of BGP peers, if the AS number of the specified peer is the same as
the local AS number, an IBGP peer is configured. If the AS number of the specified peer is
different from the local AS number, an EBGP peer is configured. To enhance the stability of
BGP connections, you are advised to use the reachable loopback interface addresses to
establish BGP connections.
When loopback interface addresses are used to establish a BGP connection, run the peer
connect-interface command on both ends of the BGP connection to ensure the correctness of
interfaces and addresses on the TCP connection. If the command is run on only one end, the
BGP connection may fail to be established.
When loopback interface addresses are used to establish an EBGP connection, the peer ebgp-
max-hop command with hop-count greater than or equal to 2 must be run. Otherwise, the
EBGP connection cannot be established.
To perform the same configuration on a large number of peers, configure a BGP peer group
according to 9.6.4 (Optional) Configuring a BGP Peer Group to reduce the configuration
workload.
Procedure
Step 1 Run system-view
A source interface and a source IP address are specified for the peer to establish a TCP
connection.
By default, BGP uses the interface that is directly connected to the peer to establish a TCP
connection.
NOTE
After peer connect-interface is configured for an EBGP peer, the supernet routes received from the
EBGP peer are all in inactive state.
The TCP MSS value used when the local device establishes TCP connections with a peer or
peer group is configured.
You can run the peer tcp-mss command to configure a TCP MSS value used for TCP
connection establishment so that it is used to encapsulate BGP packets when the path MTU is
unavailable. Such configuration improves network performance.
The maximum number of hops allowed for the establishment of an EBGP connection is set.
By default, the maximum number of hops allowed for an EBGP connection is 1. That is, an
EBGP connection must be established on a directly connected physical link.
NOTE
If a BGP peer is configured on an IPv4 unicast network, steps 8 and 9 are not required. If a BGP peer is
configured on an IPv4 multicast network and an IPv6 unicast network, steps 8 and 9 are required.
----End
Context
A large BGP network has a large number of peers. It is difficult to configure and maintain
these peers. You can add the BGP peers with the same configurations to a BGP peer group
and then configure the BGP peers in batches. This simplifies peer management and improves
route advertisement efficiency.
NOTE
l If a function is configured on a peer and its peer group, the function configured on the peer takes
precedence over that configured on the peer group.
l When loopback interface or Layer 3 sub-interface addresses are used to establish a BGP connection, you
are advised to perform step 6 on both ends of the BGP connection simultaneously to ensure the correct
establishment of the connection. If step 6 is performed on only one end, the BGP connection may fail to
be established (the CE6810LI does not support Layer 3 sub-interfaces).
l When loopback interfaces are used to establish an EBGP connection, step 7 is required and hop-count in
the peer ebgp-max-hop command must be greater than or equal to 2. Otherwise, the EBGP connection
cannot be established.
Procedure
Step 1 Run system-view
NOTE
The AS number of an IBGP peer group is the local AS number. Therefore, step 4 is not required.
NOTE
To add an EBGP peer to a peer group, configure the EBGP peer according to 9.6.3 Configuring BGP
Peers and then perform step 5.
To add an IBGP peer to a peer group, perform step 5. The system creates an IBGP peer in the BGP view
and sets its AS number as the AS number of the peer group.
NOTE
A source interface and a source IP address are specified for the peer to establish a TCP
connection.
By default, the outbound interface of a BGP packet serves as the source interface of the BGP
packet.
The maximum number of hops allowed for the establishment of an EBGP connection is set.
By default, the maximum number of hops allowed for an EBGP connection is 1. That is, an
EBGP connection must be established on a directly connected physical link.
NOTE
If a BGP peer group is configured on an IPv4 unicast network, steps 9 and 10 are not required. If a BGP
peer group is configured on an IPv4 multicast network and an IPv6 unicast network, steps 9 and 10 are
required.
----End
Context
BGP cannot discover routes and needs to import routes such as IGP routes into BGP routing
tables so that the imported routes can be transmitted within an AS or between ASs. BGP
imports routes in either import or network mode:
l In import mode, BGP imports IGP routes, including RIP, OSPF, and IS-IS routes, into
BGP routing tables based on protocol type. To ensure the validity of imported IGP
routes, BGP can also import static routes and direct routes in import mode.
l In network mode, BGP imports the routes in the IP routing table one by one into BGP
routing tables. The network mode is more accurate than the import mode.
Procedure
l In import mode
a. Run system-view
The system view is displayed.
b. Run bgp { as-number-plain | as-number-dot }
The BGP view is displayed.
c. Enter the corresponding address family view based on network type to configure
BGP devices on networks.
n Run ipv4-family unicast
The BGP-IPv4 unicast address family view is displayed.
n Run ipv4-family multicast
The BGP-IPv4 multicast address family view is displayed.
n Run ipv4-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv4 address family view is displayed.
n Run ipv6-family [ unicast ]
The BGP-IPv6 unicast address family view is displayed.
n Run ipv6-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv6 address family view is displayed.
d. Run import-route protocol [ process-id ] [ med med | route-policy route-policy-
name ] *
BGP is configured to import routes of other routing protocols.
e. (Optional) Run default-route imported
BGP is allowed to import default routes from the local IP routing table.
By default, BGP does not add default routes to BGP routing tables.
f. Run commit
The configuration is committed.
l In network mode
a. Run system-view
The system view is displayed.
b. Run bgp { as-number-plain | as-number-dot }
The BGP view is displayed.
c. Enter the corresponding address family view based on network type to configure
BGP devices on networks.
n Run ipv4-family unicast
BGP is configured to import routes from the IPv4 or IPv6 routing table one by one.
e. Run commit
----End
Procedure
l Run the display bgp peer [ verbose ] command to check information about all BGP
peers.
l Run the display bgp peer ipv4-address { log-info | verbose } command to check
information about the specified BGP peer.
l Run the display bgp routing-table [ ipv4-address [ { mask | mask-length } [ longer-
prefixes ] ] ] command to check BGP routing information.
l Run the display bgp group [ group-name ] command to check information about the
specified BGP peer group.
l Run the display bgp multicast peer [ [ peer-address ] verbose | peer-address
{ statistics | verbose } ] command to check information about the specified MBGP peer.
l Run the display bgp multicast group [ group-name ] command to check information
about an MBGP peer group.
l Run the display bgp multicast network command to check the routing information that
MBGP advertises.
l Run the display bgp multicast routing-table [ ip-address [ mask-length [ longer-
prefixes ] | mask [ longer-prefixes ] ] ] command to check the MBGP routing
information of a specified network in the MBGP routing table.
----End
Pre-configuration Tasks
Configuring connection authentication, BGP GTSM, and RPKI for BGP peers can improve
BGP network security.
Before configuring BGP security, complete the following task:
Configuration Procedure
You can perform the following configuration tasks as required. The following configuration
tasks (excluding the task of Verifying the BGP Security Configuration) can be performed in
any sequence.
Context
BGP uses TCP as the transmission protocol, and considers a packet valid as long as the source
address, destination address, source port, destination port, and TCP sequence number of the
packet are correct. However, most parameters in a packet may be easily obtained by attackers.
To protect BGP from attacks, use MD5 authentication or keychain authentication between
BGP peers to reduce the possibility of attacks. The MD5 algorithm is easy to configure and
generates a single password that can only be manually changed.
If simple is selected during the configuration of the MD5 authentication password, the
password is saved in the configuration file in plain text. This brings security risks. It is
recommended that you select cipher to save the password in cipher text. MD5 authentication
has potential security risks.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run bgp { as-number-plain | as-number-dot }
The BGP view is displayed.
Step 3 Run peer { ipv4-address | group-name | ipv6-address } password { cipher cipher-password |
simple simple-password }
The MD5 authentication password is set.
NOTE
l To prevent the MD5 password set on BGP peers from being decrypted, update the MD5 password
periodically.
l BGP MD5 authentication and BGP keychain authentication are mutually exclusive, and only either
of them can be configured for a BGP peer.
----End
Context
BGP uses TCP as the transmission protocol, and considers a packet valid as long as the source
address, destination address, source port, destination port, and TCP sequence number of the
packet are correct. However, most parameters in a packet may be easily obtained by attackers.
To protect BGP from attacks, use MD5 authentication or keychain authentication between
BGP peers to reduce the possibility of attacks. The keychain algorithm is complex to
configure and generates a set of passwords. Keychain authentication allows automatically
changing a password based on the configuration. Therefore, keychain authentication applies
to networks requiring high security.
NOTE
Procedure
Step 1 Run system-view
NOTE
l You must configure keychain authentication on both ends of the BGP connection. Encryption
algorithms and passwords configured on both ends must be the same; otherwise, the TCP connection
cannot be established between BGP peers and BGP messages cannot be transmitted. SHA256 and
HMAC-SHA256 encryption algorithms are recommended in keychain authentication.
l BGP MD5 authentication and BGP keychain authentication are mutually exclusive, and only either
of them can be configured for a BGP peer.
----End
Context
To protect a device against the attacks of forged BGP packets, you can configure GTSM to
check whether the TTL value in the IP packet header is within the specified range. If the TTL
value of a packet is within the specified range, the packet is allowed to pass through.
Otherwise, the packet is discarded to protect the device.
Procedure
Step 1 Run system-view
NOTE
The configurations of GTSM and peer ebgp-max-hop affect the TTL values of BGP packets, which
may cause a conflict between TTL values. Therefore, you can configure only either of the two functions
for a peer or peer group.
----End
Procedure
l Run the display bgp peer verbose command to check detailed authentication
information about the specified BGP peer.
----End
Pre-configuration Tasks
Configuring a route reflector and a confederation on an IBGP network can simplify IBGP
network connections.
Before simplifying IBGP network connections, complete the following configuration task:
Configuration Procedure
Perform the following configuration tasks in any sequence as required.
Context
To ensure the connectivity between IBGP peers within an AS, you need to establish full-mesh
connections between the IBGP peers. When there are many IBGP peers, it is costly to
establish a fully-meshed network. A route reflector (RR) can solve this problem.
A cluster ID can help prevent routing loops between multiple RRs within a cluster and
between clusters. When a cluster has multiple RRs, the same cluster ID must be configured
for all the RRs within the cluster.
If full-mesh IBGP connections are established between clients of multiple RRs, route
reflection between clients is not required and wastes bandwidth resources. In this case,
prohibit route reflection between clients to reduce the network burden.
Procedure
Step 1 Run system-view
Step 3 Enter the corresponding address family view based on network type to configure BGP devices
on networks.
l Run ipv4-family unicast
The BGP-IPv4 unicast address family view is displayed.
l Run ipv4-family multicast
The BGP-IPv4 multicast address family view is displayed.
l Run ipv4-family vpnv4 [ unicast ]
The BGP-VPNv4 address family view is displayed.
l Run ipv4-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv4 address family view is displayed.
l Run ipv6-family [ unicast ]
The BGP-IPv6 unicast address family view is displayed.
l Run ipv6-family vpnv6 [ unicast ]
The BGP-VPNv6 address family view is displayed.
NOTE
The routing-table rib-only command can be executed only in the BGP view, BGP-IPv4 unicast address
family view, and BGP-IPv6 unicast address family view.
----End
Context
A confederation divides an AS into sub-ASs. Within each sub-AS, IBGP peers establish full-
mesh connections or have an RR configured. Sub-ASs establish EBGP connections. On a
large BGP network, configuring a confederation can reduce the number of IBGP connections,
simplify routing policy management, and improve route advertisement efficiency.
Other devices may implement the confederation not in accordance with RFC 3065. You can
configure confederation compatibility to make standard devices compatible with nonstandard
devices.
NOTE
BGP peers within a BGP confederation do not change the next hop of BGP routes to their local IP
addresses before advertising the routes to each other, unless the peer next-hop-local command is run.
Procedure
Step 1 Run system-view
A confederation ID is configured.
An old speaker that has a 2-byte AS number cannot be in the same confederation with a new
speaker that has a 4-byte AS number. Otherwise, a routing loop may occur. This is because
the AS4_Path attribute does not support confederations.
----End
Pre-configuration Tasks
BGP has many route attributes. These attributes can be configured to change the route
selection result.
Before configuring BGP route attributes, complete the following task:
l Configuring Basic BGP Functions
Configuration Procedure
Perform the following configuration tasks as required. The following configuration tasks
(excluding the task of Verifying the BGP Route Selection and Load Balancing Configuration)
can be performed in any sequence. For detailed route selection rules, see 9.2.5 BGP Route
Selection Rules and Load Balancing.
Context
The routing protocols may share and select routing information because switches may run
multiple dynamic routing protocols at the same time. The system sets a default priority for
each routing protocol. When multiple routing protocols are used to select routes, the route
selected by the routing protocol with a higher priority takes effect.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run bgp { as-number-plain | as-number-dot }
The BGP view is displayed.
Step 3 Enter the corresponding address family view based on network type to configure BGP devices
on networks.
l Run ipv4-family unicast
The BGP-IPv4 unicast address family view is displayed.
l Run ipv4-family multicast
The BGP-IPv4 multicast address family view is displayed.
l Run ipv4-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv4 address family view is displayed.
l Run ipv6-family [ unicast ]
The BGP-IPv6 unicast address family view is displayed.
l Run ipv6-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv6 address family view is displayed.
Step 4 Run preference { external internal local | route-policy route-policy-name }
The BGP priority is set.
The default BGP priority is 255.
NOTE
You cannot use the peer route-policy command on BGP peers to apply routing policies to set the BGP
priority.
----End
Context
When an Autonomous System Boundary Router (ASBR) forwards the route learned from an
EBGP peer to an IBGP peer, the ASBR does not change the next hop of the route by default.
When the IBGP peer receives this route, it finds the next hop unreachable, sets the route to
inactive, and does not use this route to guide traffic forwarding. To enable the IBGP peer to
use this route to guide traffic forwarding, configure the ASBR to set its IP address as the next
hop of the route when the ASBR forwards this route to the IBGP peer. After the IBGP peer
receives the route from the ASBR, it finds the next hop of the route reachable, sets the route
to active, and uses this route to guide traffic forwarding.
When a BGP route changes, BGP needs to iterate the indirect next hop of the route again. If
no restriction is imposed on the iterated route, BGP may iterate the next hop to an incorrect
forwarding path, causing traffic loss. To prevent traffic loss, configure routing policy-based
route iteration.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run bgp { as-number-plain | as-number-dot }
The BGP view is displayed.
Step 3 Enter the corresponding address family view based on network type to configure BGP devices
on networks.
l Run ipv4-family unicast
NOTE
The nexthop recursive-lookup route-policy route-policy-name command does not take effect for the
routes received from directly connected EBGP peers.
----End
Context
The PrefVal attribute is a Huawei proprietary attribute and is valid only on the device where it
is configured. When a BGP routing table contains multiple routes to the same destination,
BGP prefers the route with the highest PrefVal.
Procedure
Step 1 Run system-view
Step 3 Enter the corresponding address family view based on network type to configure BGP devices
on networks.
l Run ipv4-family unicast
The BGP-IPv4 unicast address family view is displayed.
l Run ipv4-family multicast
The BGP-IPv4 multicast address family view is displayed.
l Run ipv4-family vpnv4 [ unicast ]
The BGP-VPNv4 address family view is displayed.
l Run ipv4-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv4 address family view is displayed.
l Run ipv6-family [ unicast ]
The BGP-IPv6 unicast address family view is displayed.
l Run ipv6-family vpnv6 [ unicast ]
The BGP-VPNv6 address family view is displayed.
l Run ipv6-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv6 address family view is displayed.
The PrefVal attribute is configured for all the routes learned from a specified peer.
----End
Context
The Local_Pref attribute is used to determine the optimal route for outgoing traffic of an AS.
When a BGP device obtains multiple routes to the same destination address but with different
next hops from different IBGP peers, the BGP device prefers the route with the highest
Local_Pref value.
Procedure
Step 1 Run system-view
Step 3 Enter the corresponding address family view based on network type to configure BGP devices
on networks.
l Run ipv4-family unicast
The BGP-IPv4 unicast address family view is displayed.
l Run ipv4-family multicast
The BGP-IPv4 multicast address family view is displayed.
l Run ipv4-family vpnv4 [ unicast ]
The BGP-VPNv4 address family view is displayed.
l Run ipv4-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv4 address family view is displayed.
l Run ipv6-family [ unicast ]
The BGP-IPv6 unicast address family view is displayed.
l Run ipv6-family vpnv6 [ unicast ]
The BGP-VPNv6 address family view is displayed.
l Run ipv6-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv6 address family view is displayed.
----End
Context
The AS_Path attribute records all the ASs that a route passes through from the source to the
destination in the vector order. You can configure the AS_Path attribute to implement flexible
route selection.
l By default, BGP compares the AS_Path lists of routes and prefers the route. When the
AS_Path attribute is not required in route selection, configure BGP not to compare the
AS_Path lists of routes during route selection.
l By default, BGP detects routing loops based on AS number. However, to ensure correct
route transmission on a hub-and-spoke network, you need to configure all the BGP peers
that VPN routes advertised from a hub CE to a spoke CE pass through to accept the
routes with a repeated AS number.
l Public AS numbers can be used on the Internet, but private AS numbers cannot because
they may cause routing loops. To prevent routing loops, configure the AS_Path attribute
to carry only public AS numbers in EBGP Update messages.
l When the AS_Path attribute is reconstructed or summarized routes are generated, you
can set the maximum number of AS numbers in the AS_Path attribute. Then a BGP
device checks whether the number of AS numbers in the AS_Path attribute of a route
exceeds the maximum value. If so, the BGP device discards the route.
l A device usually supports only one BGP process. This indicates that a device supports
only one AS number. In some cases, for example, when network migration changes an
AS number, you can set a fake AS number to ensure successful network migration.
l BGP checks the first AS number in the AS_Path list that is carried in the Update
message sent by an EBGP peer. If the first AS number specifies the AS where the EBGP
peer resides, BGP accepts the Update message. Otherwise, BGP rejects the Update
message and interrupts the EBGP connection. If you do not want BGP to check the first
AS number, disable BGP from checking the first AS number.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run route-policy route-policy-name { deny | permit } node node
A node is configured for a route-policy, and the view of the route-policy is displayed.
Step 3 (Optional) Configure matching rules for the route-policy to change only the community
attributes of the routes that meet matching rules.
By default, all routes meet matching rules. For details, see 10.7.2 (Optional) Configuring if-
match Clauses.
Step 4 Run apply as-path { { as-number-plain | as-number-dot } &<1-10> { additive | overwrite |
delete } | none overwrite }
Step 7 Enter the corresponding address family view based on network type to configure BGP devices
on networks.
l Run ipv4-family unicast
The BGP-IPv4 unicast address family view is displayed.
l Run ipv4-family multicast
The BGP-IPv4 multicast address family view is displayed.
l Run ipv4-family vpnv4 [ unicast ]
The BGP-VPNv4 address family view is displayed.
l Run ipv4-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv4 address family view is displayed.
l Run ipv6-family [ unicast ]
The BGP-IPv6 unicast address family view is displayed.
l Run ipv6-family vpnv6 [ unicast ]
The BGP-VPNv6 address family view is displayed.
l Run ipv6-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv6 address family view is displayed.
The import-route and network commands cannot be executed in the BGP-VPNv4 address family view
or BGP-VPNv6 address family view.
l Run peer { ipv4-address | group-name | ipv6-address } route-policy route-policy-name
export
The AS_Path attribute is added to the routes advertised to BGP peers or peer groups.
l Run peer { ipv4-address | group-name | ipv6-address } route-policy route-policy-name
import
The AS_Path attribute is added to the routes received from BGP peers or peer groups.
l Run import-route protocol [ process-id ] [ med med | route-policy route-policy-name ]
*
The AS_Path attribute is added to the routes imported by BGP in import mode.
l Run network { ipv4-address [ mask | mask-length ] | ipv6-address prefix-length }
[ route-policy route-policy-name ]
The AS_Path attribute is added to the routes imported by BGP in network mode.
Step 9 (Optional) Run any of the following commands to configure the AS_Path attribute as
required.
l Run bestroute as-path-ignore
BGP is configured not to compare the AS_Path attributes of routes during route
selection.
By default, BGP compares the AS_Path attributes of routes during route selection.
l Run peer { ipv4-address | group-name | ipv6-address } allow-as-loop [ number ]
Repeated local AS numbers are allowed in routes.
By default, repeated local AS numbers are not allowed.
l Run peer { group-name | ipv4-address | ipv6-address } public-as-only [ force
[ replace ] [ include-peer-as ] | limited [ replace ] [ include-peer-as ] ]
BGP is configured to carry only public AS numbers in the AS_Path attribute in an EBGP
Update message.
By default, the AS_Path attribute can carry both public and private AS numbers in an
EBGP Update message.
l Return to the BGP view to configure the AS_Path attribute.
a. Run quit
Return to the BGP view.
b. (Optional) Run any of the following commands to configure the AS_Path attribute
as required.
n Run as-path-limit [ as-path-limit-num ]
The maximum number of AS numbers in the AS_Path attribute is set.
By default, the maximum number of AS numbers in the AS_Path attribute is
255.
n Run peer { ipv4-address | group-name | ipv6-address } local-as { as-number-
plain | as-number-dot } [ dual-as ] [ prepend-global-as ] [ prepend-local-as ]
A fake AS number is configured for an EBGP peer group.
The peer local-as command can be used to hide the actual AS number of a
BGP device. EBGP peers in other ASs will use the fake AS number of this
BGP device to set up EBGP peer relationships with this device.
By default, EBGP peers establish a connection using the actual AS number.
n Run undo check-first-as
BGP is configured not to check the first AS number in the AS_Path list that is
carried in the Update message sent by an EBGP peer.
By default, BGP checks the first AS number in the AS_Path list that is carried
in the Update message sent by an EBGP peer.
NOTE
----End
Context
The multi-exit discriminator (MED) helps determine the optimal route for incoming traffic of
an AS. It is similar to the metric used in IGP. When a BGP device obtains multiple routes to
the same destination address but with different next hops from EBGP peers, the BGP device
selects the route with the smallest MED value as the optimal route.
Procedure
Step 1 Run system-view
Step 3 Enter the corresponding address family view based on network type to configure BGP devices
on networks.
l Run ipv4-family unicast
The BGP-IPv4 unicast address family view is displayed.
l Run ipv4-family multicast
The BGP-IPv4 multicast address family view is displayed.
l Run ipv4-family vpnv4 [ unicast ]
The BGP-VPNv4 address family view is displayed.
l Run ipv4-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv4 address family view is displayed.
l Run ipv6-family [ unicast ]
The BGP-IPv6 unicast address family view is displayed.
l Run ipv6-family vpnv6 [ unicast ]
The BGP-VPNv6 address family view is displayed.
l Run ipv6-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv6 address family view is displayed.
BGP is allowed to compare the MED values of routes received from EBGP peers in any
AS.
By default, BGP compares only the MEDs of the routes received from EBGP peers
within the same AS.
l Run bestroute med-plus-igp [ igp-multiplier igp-multiplier | med-multiplier med-
multiplier ] *
The sums of MED multiplied by a MED multiplier and IGP cost multiplied by an IGP
cost multiplier are compared.
By default, the MED and IGP cost of each route are used as separate route selection
criteria.
Step 5 Run commit
The configuration is committed.
----End
Context
The Community attribute is a private BGP route attribute. It is transmitted between BGP
peers and is not restricted within an AS. The Community attribute allows a group of BGP
devices in multiple ASs to share the same routing policies, which simplifies routing policy
applications and facilitates routing policy management and maintenance. A BGP device can
add or change the community attributes of routes to be advertised.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run route-policy route-policy-name { deny | permit } node node
A node is configured for a route-policy, and the view of the route-policy is displayed.
Step 3 (Optional) Configure matching rules for the route-policy to change only the community
attributes of the routes that meet matching rules.
By default, all routes meet matching rules. For details, see 10.7.2 (Optional) Configuring if-
match Clauses.
Step 4 Run either of the following commands to configure the Community attribute.
l Run apply community { community-number | aa:nn | internet | no-advertise | no-
export | no-export-subconfed } &<1-32> [ additive ]
Common community attributes are configured for BGP routes.
NOTE
You can run this command to configure a maximum of 32 community attributes at a time.
l Run apply extcommunity { rt { as-number:nn | ipv4-address:nn } } &<1-16>
[ additive ]
An extended community attribute (route-target) is configured.
Step 7 Enter the corresponding address family view based on network type to configure BGP devices
on networks.
l Run ipv4-family unicast
The BGP-IPv4 unicast address family view is displayed.
l Run ipv4-family multicast
The BGP-IPv4 multicast address family view is displayed.
l Run ipv4-family vpnv4 [ unicast ]
The BGP-VPNv4 address family view is displayed.
l Run ipv4-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv4 address family view is displayed.
l Run ipv6-family [ unicast ]
The BGP-IPv6 unicast address family view is displayed.
l Run ipv6-family vpnv6 [ unicast ]
The BGP-VPNv6 address family view is displayed.
l Run ipv6-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv6 address family view is displayed.
The import-route and network commands cannot be executed in the BGP-VPNv4 address family view
or BGP-VPNv6 address family view.
l Run peer { ipv4-address | group-name | ipv6-address } route-policy route-policy-name
export
The Community attribute is added to the routes advertised to BGP peers or peer groups.
l Run peer { ipv4-address | group-name | ipv6-address } route-policy route-policy-name
import
The Community attribute is added to the routes received from BGP peers or peer groups.
l Run import-route protocol [ process-id ] route-policy route-policy-name
The Community attribute is added to the routes imported by BGP in import mode.
l Run network { ipv4-address [ mask | mask-length ] | ipv6-address prefix-length route-
policy route-policy-name
The Community attribute is added to the routes imported by BGP in network mode.
NOTE
Step 9 is required only when the Community attribute needs to be added to the routes advertised to BGP
peers or peer groups.
Step 9 (Optional) Allow BGP to advertise community attributes when BGP adds community
attributes to the routes advertised to BGP peers or peer groups.
l Run peer { ipv4-address | group-name | ipv6-address } advertise-community
BGP is allowed to advertise community attributes to BGP peers or peer groups.
By default, BGP does not advertise community attributes to any peer or peer group.
l Run peer { ipv4-address | group-name | ipv6-address } advertise-ext-community
BGP is allowed to advertise extended community attributes to BGP peers or peer groups.
By default, BGP does not advertise extended community attributes to any peer or peer
group.
----End
Context
On large networks, there may be multiple valid routes to the same destination. BGP, however,
advertises only the optimal route to its peers. This may result in unbalanced traffic on
different routes. Configuring BGP load balancing enables traffic to be load balanced and
network congestion to be reduced.
Equal-cost BGP routes can be generated for traffic load balancing only when the first eight
route attributes described in "BGP Route Selection Policies" are the same. Change load
balancing rules by adjusting some configurations, for example, ignoring the comparison of the
AS_Path attribute or IGP metric attribute. When adjusting these configurations, ensure that
these configurations do not result in routing loops.
Local cross routes and routes imported between public network and VPN instances do not
support load balancing.
NOTE
If BGP load balancing is configured, the local device changes the next-hop address of routes to its
address when advertising routes to IBGP peer groups, regardless of whether the peer next-hop-local
command is used.
Procedure
Step 1 Run system-view
NOTE
The BGP-IPv4 unicast address family view is used as an example, and you can also configure load
balancing in the BGP view, BGP-IPv4 unicast address family view, BGP-IPv6 unicast address family
view, BGP-VPN instance IPv4 address family view, BGP multi-instance VPN instance IPv4 address
family view, or BGP-VPN instance IPv6 address family view.
NOTE
On a public network, if the routes to the same destination implement load balancing, the system will
determine the optimal route type. If the optimal routes are IBGP routes, only IBGP routes carry out load
balancing. If the optimal routes are EBGP routes, only EBGP routes carry out load balancing. This
means that load balancing cannot be implemented among IBGP and EBGP routes with the same
destination address.
Configuring BGP not to compare the AS_Path attributes or IGP metric attributes of the routes
to be used for load balancing may cause routing loops.
The address family views supported by the preceding commands are different. When running any of the
commands, ensure that the command is run in the correct address family view.
Change load balancing rules based on network requirements and exercise caution when running the
commands.
----End
Usage Scenario
In a scenario with an RR and clients, if the RR has multiple routes to the same destination
(with the same prefix), the RR selects an optimal route from these routes and then sends only
the optimal route to its clients. Therefore, the clients have only one route to the destination. If
a link along this route fails, route convergence takes a long time, which cannot meet the
requirements for high reliability.
To address this issue, deploy the BGP ADD-PATH feature on the RR. With BGP ADD-PATH,
the RR can send two or more routes with the same prefix to a specified IBGP peer. These
routes can back up each other or load-balance traffic, which ensures high reliability in data
transmission. The BGP ADD-PATH feature does not affect BGP route selection rules.
NOTE
Enable BGP ADD-PATH on the RR, enable the RR to send ADD-PATH routes to a specified
IBGP peer, configure the number of routes that the RR can send to the IBGP peer, and enable
the IBGP peer to receive BGP ADD-PATH routes from the RR so that such routes are
available to the IBGP peer. In Figure 9-17, you can enable BGP ADD-PATH on the RR and
enable SwitchA to receive BGP ADD-PATH routes from the RR. Then SwitchA can receive
two routes destined for [Link]/32, with next hops of [Link] and [Link]. The two routes can
back up each other or load-balance traffic.
AS 65008
[Link]/24
SwitchC
[Link]/32
SwitchA SwitchD
RR
AS 65009
[Link]/24
SwitchB
Pre-configuration Tasks
Before configuring BGP ADD-PATH, configure basic BGP functions.
Procedure
l Perform the following steps on the RR:
a. Run system-view
The system view is displayed.
b. Run bgp as-number
The BGP view is displayed.
c. Run bestroute add-path path-number path-number
BGP ADD-PATH is enabled, and the number of routes that the RR can select is
configured.
d. Run peer { ipv4-address1 | group-name1 } capability-advertise add-path send
The RR is enabled to send ADD-PATH routes to the specified IBGP peer
(SwitchA).
Procedure
l Run the display bgp routing-table different-origin-as command to check the routes
with the same destination address but different origin ASs.
l Run the display bgp routing-table regular-expression as-regular-expression command
to check information about routes that match the AS regular expression.
l Run the display bgp routing-table [ ipv4-address [ { mask | mask-length } [ longer-
prefixes ] ] ] command to check routing information in a BGP routing table.
l Run the display bgp routing-table community [ community-number | aa:nn | internet |
no-advertise | no-export | no-export-subconfed ] &<1-33> [ whole-match ] command
to check routing information with the specified BGP community.
l Run the display bgp routing-table community-filter { { community-filter-name | basic-
community-filter-number } [ whole-match ] | advanced-community-filter-number }
command to check information about routes matching a specified BGP community filter.
l Run the display bgp multicast routing-table [ ip-address [ mask-length [ longer-
prefixes ] | mask [ longer-prefixes ] ] ] command to check the MBGP routing table.
l Run the display bgp multicast routing-table statistics command to check statistics
about the MBGP routing table.
----End
Pre-configuration Tasks
Controlling the receiving and advertisement of BGP routes can reduce the routing table size
and improve network security.
Before controlling the receiving and advertisement of BGP routes, complete the following
task:
l Configuring Basic BGP Functions
Configuration Procedure
Figure 9-18 Flowchart of controlling the receiving and advertisement of BGP routes
Required steps
Context
Before controlling the receiving and advertisement of BGP routes, configure routing policies
or filters of routing policies for route selection. For details, see "10 Routing Policy
Configuration" in the CloudEngine 8800, 7800, 6800, and 5800 Series Switches
Configuration Guide - IP Routing.
Context
There are usually a large number of routes in a BGP routing table. Transmitting a great deal of
routing information brings a heavy load to devices. Routes to be advertised need to be
controlled to address this problem. You can configure devices to advertise only routes that
these devices want to advertise or routes that their peers require. Multiple routes to the same
destination may exist and traverse different ASs. Routes to be advertised need to be filtered in
order to direct routes to specific ASs.
Procedure
l Configure a BGP device to advertise routes to all peers or peer groups.
You can configure a BGP device to filter routes to be advertised.
a. Run system-view
The system view is displayed.
b. Run bgp as-number
The BGP view is displayed.
c. Enter the corresponding address family view based on network type to configure
BGP devices on networks.
n Run ipv4-family unicast
The BGP-IPv4 unicast address family view is displayed.
n Run ipv4-family multicast
The BGP-IPv4 multicast address family view is displayed.
n Run ipv4-family vpnv4 [ unicast ]
The BGP-VPNv4 address family view is displayed.
n Run ipv4-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv4 address family view is displayed.
n Run ipv6-family [ unicast ]
The BGP-IPv6 unicast address family view is displayed.
n Run ipv6-family vpnv6 [ unicast ]
The BGP-VPNv6 address family view is displayed.
d. Perform either of the following operations to configure the BGP device to advertise
routes to all peers or peer groups:
If an ACL has been referenced in the filter-policy command but no VPN instance is
specified in the ACL rule, BGP will filter routes including public and private network routes
in all address families. If a VPN instance is specified in the ACL rule, only the data traffic
from the VPN instance will be filtered, and no route of this VPN instance will be filtered.
e. Run commit
The routing policy applied in the peer route-policy export command does not support a
specific interface as one matching rule. That is, the routing policy does not support the if-
match interface command.
e. Run commit
The configuration is committed.
----End
Context
When a BGP device is attacked or network configuration errors occur, the BGP device will
receive a large number of routes from its peer. As a result, many device resources are
consumed. Therefore, the administrator must limit the resources used by the device based on
network planning and device capacity. BGP provides peer-based route control to limit the
number of routes to be sent by a peer. This addresses the preceding problem.
Procedure
l Configure a BGP device to receive routes from all its peers or peer groups.
a. Run system-view
The system view is displayed.
b. Run bgp { as-number-plain | as-number-dot }
The BGP view is displayed.
c. Enter the corresponding address family view based on network type to configure
BGP devices on networks.
n Run ipv4-family unicast
The BGP-IPv4 unicast address family view is displayed.
n Run ipv4-family multicast
The BGP-IPv4 multicast address family view is displayed.
n Run ipv4-family vpnv4 [ unicast ]
The BGP-VPNv4 address family view is displayed.
n Run ipv4-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv4 address family view is displayed.
n Run ipv6-family [ unicast ]
The BGP-IPv6 unicast address family view is displayed.
n Run ipv6-family vpnv6 [ unicast ]
The BGP-VPNv6 address family view is displayed.
If an ACL has been referenced in the filter-policy command but no VPN instance is
specified in the ACL rule, BGP will filter routes including public and private network routes
in all address families. If a VPN instance is specified in the ACL rule, only the data traffic
from the VPN instance will be filtered, and no route of this VPN instance will be filtered.
e. Run commit
The configuration is committed.
l Configure a BGP device to receive routes from a specific peer or peer group.
a. Run system-view
The system view is displayed.
b. Run bgp as-number
The BGP view is displayed.
c. Enter the corresponding address family view based on network type to configure
BGP devices on networks.
n Run ipv4-family unicast
The BGP-IPv4 unicast address family view is displayed.
n Run ipv4-family multicast
The BGP-IPv4 multicast address family view is displayed.
n Run ipv4-family vpnv4 [ unicast ]
The BGP-VPNv4 address family view is displayed.
n Run ipv4-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv4 address family view is displayed.
n Run ipv6-family [ unicast ]
The BGP-IPv6 unicast address family view is displayed.
n Run ipv6-family vpnv6 [ unicast ]
The BGP-VPNv6 address family view is displayed.
n Run ipv6-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv6 address family view is displayed.
d. Perform any of the following operations to configure the BGP device to filter the
routes received from a specific peer or peer group:
n To filter routes based on an ACL, run the peer { group-name | ipv4-address |
ipv6-address } filter-policy { acl-number | acl-name acl-name | acl6-number |
acl6-name acl6-name } import command.
n To filter routes based on an IP prefix list, run the peer { ipv4-address | group-
name } ip-prefix ip-prefix-name import or the peer { group-name | ipv6-
address } ipv6-prefix ipv6-prefix-name import command.
n To filter routes based on an AS_Path filter, run the peer { ipv4-address |
group-name | ipv6-address } as-path-filter { as-path-filter-number | as-path-
filter-name } import command.
n To filter routes based on a route-policy, run the peer { ipv4-address | group-
name | ipv6-address } route-policy route-policy-name import command.
NOTE
The routing policy applied in the peer route-policy import command does not support a
specific interface as one matching rule. That is, the routing policy does not support the if-
match interface command.
If the number of routes received by the local device exceeds the upper limit and the
peer route-limit command is used for the first time, the local device and its peer
reestablish the peer relationship, regardless of whether alert-only is set.
The maximum number of routes that can be received from the peer or peer group is
set.
f. Run commit
----End
Context
After changing a BGP import policy, you must reset BGP connections for the new import
policy to take effect. This, however, interrupts these BGP connections temporarily. BGP
route-refresh allows the system to softly reset BGP connections to refresh a BGP routing table
without tearing down any BGP connection. If a device's peer does not support route-refresh,
configure the device to remain all routing updates received from the peer so that the device
can refresh its routing table without tearing down the BGP connection with the peer.
Procedure
l If a device's peer supports route-refresh, configure the device to softly reset the BGP
connection with the peer and update the BGP routing table.
a. Run system-view
The system view is displayed.
b. Run bgp { as-number-plain | as-number-dot }
The BGP view is displayed.
If the peer keep-all-routes command is used on the device for the first time, the
sessions between the device and its peers are reestablished.
The refresh bgp command takes effect when the peer keep-all-routes command is
used on the device supporting route-refresh.
Procedure
l Run the display ip as-path-filter [ as-path-filter-number | as-path-filter-name ]
command to check information about a configured AS_Path filter.
l Run the display ip community-filter [ basic-comm-filter-num | adv-comm-filter-num |
comm-filter-name ] command to check information about a configured community filter.
l Run the display ip extcommunity-filter [ basic-extcomm-filter-num | advanced-
extcomm-filter-num | extcomm-filter-name ] command to check information about a
configured extended community filter.
l Run the display bgp routing-table as-path-filter { as-path-filter-number | as-path-
filter-name } command to check information about routes matching a specified AS_Path
filter.
l Run the display bgp routing-table community-filter { { community-filter-name | basic-
community-filter-number } [ whole-match ] | advanced-community-filter-number }
command to check information about routes matching a specified BGP community filter.
l Run the display bgp routing-table peer ipv4-address received-routes [ active ]
[ statistics ] command to check information about routes received by a BGP device from
its peers.
l Run the display bgp multicast routing-table different-origin-as command to check
information about MBGP routes with different origin ASs.
l Run the display bgp multicast routing-table regular-expression as-regular-expression
to check information about MBGP routes matching the AS regular expression.
l Run the display bgp multicast routing-table as-path-filter { as-path-filter-number | as-
path-filter-name } command to check information about MBGP routes matching the
AS_Path filter.
l Run the display bgp multicast routing-table community-filter { { community-filter-
name | basic-community-filter-number } [ whole-match ] | advanced-community-filter-
Pre-configuration Tasks
You can configure BGP timers, disable rapid EBGP connection reset, and configure BGP
route dampening to speed up BGP network convergence and improve BGP security.
Before adjusting the BGP network convergence speed, complete the following task:
l Configuring Basic BGP Functions
Configuration Procedure
You can perform the following configuration tasks as required. The following configuration
tasks (excluding the task of Verifying the BGP Network Convergence Speed Adjustment
Configuration) can be performed in any sequence.
Context
After BGP initiates a TCP connection, the ConnectRetry timer will be stopped if the TCP
connection is established successfully. If the first attempt to establish a TCP connection fails,
BGP tries again to establish the TCP connection after the ConnectRetry timer expires.
l Setting a short ConnectRetry interval reduces the period BGP waits between attempts to
establish a TCP connection. This speeds up the establishment of the TCP connection.
l Setting a long ConnectRetry interval suppresses routing flapping caused by peer
relationship flapping.
A ConnectRetry timer can be configured either for all peers or peer groups, or for a specific
peer or peer group. A ConnectRetry timer configured for a specific peer takes precedence
over that configured for the peer group of this peer. In addition, a ConnectRetry timer
configured for a specific peer or peer group takes precedence over that configured for all
peers or peer groups.
Procedure
l Configure a BGP ConnectRetry timer for all peers or peer groups.
a. Run system-view
The system view is displayed.
----End
Context
Keepalive messages are used by BGP to maintain peer relationships.
l If short Keepalive time and holdtime are set, BGP can detect a link fault quickly. This
speeds up BGP network convergence, but increases the number of Keepalive messages
on the network and loads of devices, and consumes more network bandwidth resources.
l If long Keepalive time and holdtime are set, the number of Keepalive messages on the
network is reduced, loads of devices are reduced, and less network bandwidth is
consumed. If the Keepalive time is too long, BGP is unable to detect link status changes
in a timely manner. This is unhelpful for implementing rapid BGP network convergence
and may cause many packets to be lost.
Keepalive and hold timers can be configured either for all peers or peer groups, or for a
specific peer or peer group. Keepalive and hold timers configured for a specific peer take
precedence over those configured for the peer group of this peer. In addition, Keepalive and
hold timers configured for a specific peer or peer group take precedence over those
configured for all peers or peer groups.
Changing timer values using the timer command or the peer timer command interrupts BGP
peer relationships between switchs.
Setting the Keepalive time to 20s is recommended. If the Keepalive time is smaller than 20s,
sessions between peers may be closed.
Procedure
l Configure BGP timers for all peers or peer groups.
a. Run system-view
The proper maximum interval at which Keepalive messages are sent is one third the
holdtime. By default, the Keepalive time is 60s and the holdtime is 180s.
d. Run commit
The Keepalive and hold timers are configured for a specific peer or peer group.
The proper maximum interval at which Keepalive messages are sent is one third the
holdtime. By default, the Keepalive time is 60s and the holdtime is 180s.
d. Run commit
----End
Context
BGP does not periodically update a routing table. When BGP routes change, BGP updates the
changed BGP routes in the BGP routing table by sending Update messages.
l If a short Update message interval is set, BGP can fast detect route changes. This speeds
up BGP network convergence, but increases the number of Update messages on the
network and loads of devices, and consumes more network bandwidth resources.
l If a long Update message interval is set, the number of Update messages on the network
is reduced, loads of devices are reduced, and less network bandwidth is consumed. This
avoids network flapping. If the Update message interval is too long, BGP is unable to
detect route changes in a timely manner. This is unhelpful for implementing rapid BGP
network convergence and may cause many packets to be lost.
Procedure
Step 1 Run system-view
Step 3 Enter the corresponding address family view based on network type to configure BGP devices
on networks.
l Run ipv4-family unicast
The BGP-IPv4 unicast address family view is displayed.
l Run ipv4-family multicast
The BGP-IPv4 multicast address family view is displayed.
l Run ipv4-family vpnv4 [ unicast ]
The BGP-VPNv4 address family view is displayed.
l Run ipv4-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv4 address family view is displayed.
l Run ipv6-family [ unicast ]
The BGP-IPv6 unicast address family view is displayed.
l Run ipv6-family vpnv6 [ unicast ]
The BGP-VPNv6 address family view is displayed.
l Run ipv6-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv6 address family view is displayed.
By default, the interval at which Update messages are sent to IBGP peers is 15s, and the
interval at which Update messages are sent to EBGP peers is 30s.
----End
Context
Rapid EBGP connection reset is enabled by default. This allows BGP to immediately respond
to a fault on an interface and delete the direct EBGP sessions on the interface without waiting
for the hold timer to expire and implements rapid BGP network convergence.
If the status of an interface used to establish an EBGP connection changes frequently, the
EBGP session will be deleted and reestablished repeatedly, causing network flapping. Rapid
EBGP connection reset can be disabled in such a situation. BGP will delete direct EBGP
sessions on the interface until the hold timer expires. This suppresses BGP network flapping
and reduces network bandwidth consumption.
Procedure
Step 1 Run system-view
NOTE
Rapid EBGP connection reset enables BGP to quickly respond to interface faults but does not enable
BGP to quickly respond to interface recovery. After the interface recovers, BGP uses its state machine to
restore relevant sessions.
Rapid EBGP connection reset is disabled in a situation where the status of an interface used to establish
an EBGP connection changes frequently. If the status of the interface becomes stable, run the ebgp-
interface-sensitive command to enable rapid EBGP connection reset to implement rapid BGP network
convergence.
----End
Context
A route is considered to be flapping when it repeatedly appears and then disappears in the
routing table. BGP generally applies to complex networks where routes change frequently.
Frequent route flapping consumes lots of bandwidths and CPU resources and even affects
normal network operation. BGP route dampening prevents frequent route flapping.
BGP can differentiate routes based on policies and use different route dampening parameters
to suppress different routes. For example, on a network, you can set a long suppression time
for routes with a long mask and set a short suppression time for routes with a short mask
(such as 8-bit mask).
Procedure
Step 1 Run system-view
Step 3 Enter the corresponding address family view based on network type to configure BGP devices
on networks.
l Run ipv4-family unicast
The BGP-IPv4 unicast address family view is displayed.
l Run ipv4-family multicast
The BGP-IPv4 multicast address family view is displayed.
l Run ipv4-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv4 address family view is displayed.
l Run ipv6-family [ unicast ]
The BGP-IPv6 unicast address family view is displayed.
l Run ipv6-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv6 address family view is displayed.
NOTE
----End
Usage Scenario
If a large number of routes are iterated to the same next hop that flaps frequently, the system
will be busy processing changes of these routes, which consumes excessive system resources
and leads to high CPU usage. To address this problem, configure BGP iteration suppression in
case of next hop flapping.
By default, BGP iteration suppression in case of next hop flapping is enabled. After this
function is enabled, BGP calculates the penalty value that starts from 0 by comparing the
flapping interval with configured intervals if next hop flapping occurs. When the penalty
value exceeds 10, BGP suppresses route iteration to the corresponding next hop.
Procedure
Step 1 Run system-view
Step 3 Enter the corresponding address family view based on network type to configure BGP devices
on networks.
l Run ipv4-family unicast
The BGP-IPv4 unicast address family view is displayed.
l Run ipv4-family vpnv4 [ unicast ]
The BGP-VPNv4 address family view is displayed.
l Run ipv4-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv4 address family view is displayed.
l Run ipv6-family [ unicast ]
The BGP-IPv6 unicast address family view is displayed.
l Run ipv6-family vpnv6 [ unicast ]
The BGP-VPNv6 address family view is displayed.
l Run ipv6-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv6 address family view is displayed.
If you do not care about whether the system is busy processing route selection and
advertisement and the possible high CPU usage, run the nexthop recursive-lookup restrain
disable command to disable BGP iteration suppression in case of next hop flapping.
The intervals for increasing, retaining, and clearing the penalty value are configured for BGP
iteration suppression in case of next hop flapping.
By default, the intervals for increasing, retaining, and clearing the penalty value for BGP
iteration suppression in case of next hop flapping are 60s, 120s, and 600s, respectively.
----End
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run bgp { as-number-plain | as-number-dot }
The BGP view is displayed.
Step 3 (Optional) Enter the corresponding address family view based on network type to configure
BGP devices on networks.
l Run ipv4-family unicast
The BGP-IPv4 unicast address family view is displayed.
l Run ipv4-family multicast
The BGP-IPv4 multicast address family view is displayed.
l Run ipv4-family vpnv4 [ unicast ]
The BGP-VPNv4 address family view is displayed.
l Run ipv4-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv4 address family view is displayed.
l Run ipv6-family [ unicast ]
The BGP-IPv6 unicast address family view is displayed.
l Run ipv6-family vpnv6 [ unicast ]
The BGP-VPNv6 address family view is displayed.
l Run ipv6-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv6 address family view is displayed.
If none of the following commands is run, the BGP-IPv4 unicast address family view is
displayed by default.
Step 4 Run slow-peer detection threshold threshold-value
Slow peer detection is enabled.
By default, slow peer detection is enabled.
threshold threshold-value specifies a slow peer detection threshold. If the difference between
the time taken to send packets to BGP peer 1 and the shortest time taken to send packets to
BGP peer 2 is greater than the threshold threshold-value, the local device considers BGP
peer 1 as a slow peer and removes it from the update peer-group. If threshold threshold-value
is not specified in the command, the default value (300s) is used.
----End
Procedure
l Run the display bgp peer [ verbose ] command to check information about all BGP
peers.
l Run the display bgp group [ group-name ] command to check information about the
specified BGP peer group.
l Run the display bgp routing-table dampened command to check dampened BGP
routes.
l Run the display bgp routing-table dampening parameter command to check
configured BGP route dampening parameters.
l Run the following commands to check route flapping statistics:
– display bgp routing-table flap-info [ regular-expression as-regular-expression ]
– display bgp routing-table flap-info [ as-path-filter { as-path-filter-number | as-
path-filter-name } | network-address [ { mask | mask-length } [ longer-match ] ] ]
l Run the display bgp multicast routing-table dampened command to check dampened
MBGP routes.
l Run the display bgp multicast routing-table dampening parameter command to
check MBGP route dampening parameters.
l Run the following commands to check statistics about flapping MBGP routes:
– display bgp multicast routing-table flap-info [ ip-address [ mask [ longer-
match ] | mask-length [ longer-match ] ] | as-path-filter { as-path-filter-number |
as-path-filter-name } ]
– display bgp multicast routing-table flap-info regular-expression as-regular-
expression
l Run the display bgp slow-peer command to check information about slow BGP peers.
----End
Pre-configuration Tasks
You can configure BFD for BGP, BGP Auto FRR, and BGP GR to speed up BGP network
convergence and improve BGP reliability.
Before configuring BGP reliability, complete the following task:
l Configuring Basic BGP Functions
Configuration Procedure
You can perform the following configuration tasks as required. The following configuration
tasks can be performed in any sequence.
Context
BGP periodically sends Keepalive messages to its peers to detect the status of its peers. It
takes more than 1 second for this detection mechanism to detect a fault. When data is
transmitted at gigabit rates, long-time fault detection will cause packet loss. This cannot meet
high reliability requirements of carrier-class networks. BFD for BGP can solve this problem.
BFD is a millisecond-level fault detection mechanism. It can detect faults on the link between
BGP peers within 50 ms. Therefore, BFD speeds up BGP route convergence, ensures fast link
switching, and reduces traffic loss.
When a peer joins a peer group on which BFD is enabled, BFD also takes effect on the peer
and a BFD session is created on the peer. To prevent BFD from taking effect on the peer, run
the peer bfd block command.
By default, Huawei devices establish multi-hop IBGP sessions with each other. When a
Huawei device communicates with a non-Huawei device that establishes a single-hop IBGP
session by default, you are advised to configure only association between IGP and BFD or
association between IBGP and BFD.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run bfd
Global BFD is enabled on the local device.
Step 3 Run quit
Return to the system view.
Step 4 Run bgp { as-number-plain | as-number-dot }
The BGP view is displayed.
Step 5 Run peer { group-name | ipv4-address | ipv6-address } bfd enable [ single-hop-prefer ]
BFD is configured for the peer or peer group, and default BFD parameters are used to
establish BFD sessions.
If BFD is configured for a peer group, BFD sessions are created for the peers on which the
peer bfd block command is not used.
Step 6 Run peer { group-name | ipv4-address | ipv6-address } bfd { min-tx-interval min-tx-interval
| min-rx-interval min-rx-interval | detect-multiplier multiplier } *
BFD session parameters are configured.
Step 7 (Optional) Run peer { ipv4-address | ipv6-address } bfd block
The peer is disabled from inheriting the BFD function of the peer group to which the peer
belongs.
NOTE
----End
Context
On a traditional IP network, it often takes the routing system several seconds to complete
route convergence after a link fault is detected. This convergence speed cannot meet
requirements of the services that require a low delay and low packet loss rate because it may
lead to service interruption. For example, Voice over Internet Protocol (VoIP) services are
only tolerant of millisecond-level interruption. BGP Auto Fast Reroute (FRR) implements
route convergence at the millisecond level after a fault is detected at the physical layer or link
layer. BGP Auto FRR reduces the impact of link faults on services.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 3 Enter the corresponding address family view based on network type to configure BGP devices
on networks.
l Run ipv4-family unicast
The BGP-IPv4 unicast address family view is displayed.
l Run ipv4-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv4 address family view is displayed.
l Run ipv6-family [ unicast ]
The BGP-IPv6 unicast address family view is displayed.
l Run ipv6-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv6 address family view is displayed.
----End
Context
BGP restart causes peer relationship reestablishment and traffic interruption. Graceful restart
(GR) ensures uninterrupted traffic interruption in the case of BGP restart.
NOTE
Currently, devices support only the GR helper function, and the GR restarter function is implemented
using non-stop routing (NSR). NSR does not need to be configured.
Procedure
Step 1 Run system-view
----End
Pre-configuration Tasks
On IPv4 networks, BGP supports automatic route summarization and manual route
summarization. Manual route summarization takes precedence over automatic route
summarization.
Before configuring BGP route summarization, complete the following task:
l Configuring Basic BGP Functions
Procedure
l Configure automatic route summarization.
a. Run system-view
The system view is displayed.
b. Run bgp { as-number-plain | as-number-dot }
NOTE
The command summarizes the routes imported by BGP. These routes can be direct routes, static
routes, RIP routes, OSPF routes, or IS-IS routes. The command, however, is invalid for the routes
imported using the network command.
e. Run commit
The configuration is committed.
l Configure IPv4 manual route summarization.
a. Run system-view
The system view is displayed.
b. Run bgp { as-number-plain | as-number-dot }
The BGP view is displayed.
c. Enter the corresponding address family view based on network type to configure
BGP devices on networks.
n Run ipv4-family unicast
The BGP-IPv4 unicast address family view is displayed.
n Run ipv4-family multicast
The BGP-IPv4 multicast address family view is displayed.
n Run ipv4-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv4 address family view is displayed.
d. Perform any of the following operations to configure manual route summarization:
n To advertise the summarized routes and specific routes, run the aggregate
ipv4-address { mask | mask-length } command.
n To advertise only the summarized routes, run the aggregate ipv4-address
{ mask | mask-length } detail-suppressed command.
n To advertise the summarized routes and specific routes that meet the specified
route-policy, run the aggregate ipv4-address { mask | mask-length } suppress-
policy route-policy-name command.
n To advertise the summarized routes of which the AS_Set attribute helps detect
routing loops, run the aggregate ipv4-address { mask | mask-length } as-set
command.
n To set attributes for the summarized routes, run the aggregate ipv4-address
{ mask | mask-length } attribute-policy route-policy-name command.
n To summarize the specific routes that meet the specified route-policy, run the
aggregate ipv4-address { mask | mask-length } origin-policy route-policy-
name command.
NOTE
IPv4 manual route summarization is valid for the routes in the local BGP routing table. For
example, if the local BGP routing table does not contain routes with mask longer than 16 bits,
such as [Link]/24, BGP will not generate an aggregated route for it even if the aggregate
[Link] 16 command is used.
e. Run commit
The configuration is committed.
l Configure IPv6 manual route summarization.
a. Run system-view
The system view is displayed.
b. Run bgp { as-number-plain | as-number-dot }
The BGP view is displayed.
c. Enter the corresponding address family view based on network type to configure
BGP devices on networks.
n Run ipv6-family [ unicast ]
The BGP-IPv6 unicast address family view is displayed.
n Run ipv6-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv6 address family view is displayed.
d. Perform any of the following operations to configure manual route summarization:
n To advertise the summarized routes and specific routes, run the aggregate
ipv6-address { mask | mask-length } command.
n To advertise only the summarized routes, run the aggregate ipv6-address
{ mask | mask-length } detail-suppressed command.
n To advertise the summarized routes and specific routes that meet the specified
route-policy, run the aggregate ipv6-address { mask | mask-length } suppress-
policy route-policy-name command.
n To advertise the summarized routes of which the AS_Set attribute helps detect
routing loops, run the aggregate ipv6-address { mask | mask-length } as-set
command.
n To set attributes for the summarized routes, run the aggregate ipv6-address
{ mask | mask-length } attribute-policy route-policy-name command.
n To summarize the specific routes that meet the specified route-policy, run the
aggregate ipv6-address { mask | mask-length } origin-policy route-policy-
name command.
NOTE
IPv6 manual route summarization is valid for the routes in the local BGP routing table. For
example, if the local BGP routing table does not contain routes with mask longer than 64 bits,
such as fc00:1::1/128, BGP will not generate an aggregated route for it even if the aggregate
fc00:1::1 64 command is used.
e. Run commit
The configuration is committed.
----End
Context
If a BGP device needs to send multiple routes to its peer, the BGP device can be configured to
send only a default route with the local address as the next-hop address to its peer, regardless
of whether there are default routes in the local routing table. This function reduces the number
of network routes and saves memory and network resources.
Default routes are commonly used on a network that meets the following conditions:
l Each device has multiple EBGP peers and receives all routes on the network from each
EBGP peer.
l There are multiple route reflectors (RRs), and each RR receives all routes on the
network.
If load balancing is not implemented on the network, a BGP peer receives at most one copy of
active routes on the network. If load balancing is implemented on the network, the number of
active routes received by a BGP peer will be increased by multiple times, causing the number
of routes on the network to sharply increase. To greatly reduce the number of routes on such a
network, configure a BGP device to advertise only default routes to its BGP peer and use
default routes for traffic load balancing.
Before configuring BGP to send default routes to peers, complete the following task:
Procedure
Step 1 Run system-view
Step 3 Enter the corresponding address family view based on network type to configure BGP devices
on networks.
l Run ipv4-family unicast
The BGP-IPv4 unicast address family view is displayed.
l Run ipv4-family multicast
The BGP-IPv4 multicast address family view is displayed.
Step 4 Run either of the following commands to configure a BGP device to send default routes to a
peer or peer group.
l Run peer { group-name | ipv4-address | ipv6-address } default-route-advertise [ route-
policy route-policy-name ] [ conditional-route-match-all { ipv4-address1 { mask1 |
mask-length1 } } &<1-4> | conditional-route-match-any { ipv4-address2 { mask2 |
mask-length2 } } &<1-4> ]
NOTE
The conditional-route-match-all and conditional-route-match-any keywords are not supported in the IPv4
multicast address family view or the IPv6 address family view.
----End
Pre-configuration Tasks
Multiprotocol BGP (MP-BGP) enables BGP to support IPv4 unicast networks, IPv4 multicast
networks, and IPv6 unicast networks.
Procedure
Step 1 Run system-view
BGP is started, the local AS number is specified, and the BGP view is displayed.
Step 3 Enter the corresponding address family view based on network type to configure BGP devices
on networks.
l Run ipv4-family unicast
The BGP-IPv4 unicast address family view is displayed.
l Run ipv4-family vpnv4
The BGP-VPNv4 address family view is displayed.
l Run ipv4-family vpn-instance vpn-instance-name
The BGP-VPN instance IPv4 address family view is displayed.
l Run ipv4-family multicast
The BGP-IPv4 multicast address family view is displayed.
l Run ipv6-family [ unicast ]
The BGP-IPv6 unicast address family view is displayed.
NOTE
Different extended BGP functions must be configured in their respective address family views, while
common BGP functions are configured in the BGP view.
----End
NOTE
Pre-configuration Tasks
Before configuring BMP, configure basic BGP functions.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run bmp
BMP is started and the BMP view is displayed.
Step 3 (Optional) Run statistics-timer time
An interval is set, at which the router sends BGP running statistics to a monitoring server.
Configure the interval based on the network stability requirements. If BGP requires high
stability, configure a small interval. However, if the router sends BGP running statistics
frequently, a large amount of bandwidth resources will be consumed.
The default interval is 3600s. Retaining the default value is recommended.
Step 4 (Optional) Run route-mode { pre-policy | post-policy }
Whether statistics about all received routes or only accepted routes are sent to the monitoring
server is set.
By default, statistics about only the accepted routes (routes that match the import policy) are
sent to the monitoring server.
NOTE
If you specify pre-policy in the command, run the keep-all-routes command or the peer keep-all-
routes command in the BGP view to save the routes carried in the BGP Update messages that are
advertised by all BGP peers or peer groups after BGP connections are established.
NOTE
After configuring BMP session parameters, run the reset bmp session command in the user view to
reset the BMP session for the new BMP session parameters to take effect.
----End
Context
Running the reset bgp command to reset BGP connections will interrupt BGP peer
relationships between BGP devices. Exercise caution when you use this command.
When the BGP routing policy changes, for example, the switch does not support the route-
refresh capability, reset BGP connections to make the modification take effect.
Procedure
l To reset all BGP connections, run the reset bgp all command in the user view.
l To reset the BGP connection with a specified AS, run the reset bgp { as-number-plain |
as-number-dot } command in the user view.
l To reset the BGP connection with a specified peer, run the reset bgp ipv4-address
command in the user view.
l To reset all EBGP connections, run the reset bgp external command in the user view.
l To reset the BGP connection with a specified peer group, run the reset bgp group
group-name command in the user view.
l To reset all IBGP connections, run the reset bgp internal command in the user view.
l To reset the MBGP connection with a specified peer, run the reset bgp multicast peer-
address command in the user view.
l To reset all MBGP connections, run the reset bgp multicast all command in the user
view.
l To reset the MBGP connection with all the peers in a specified peer group, run the reset
bgp multicast group group-name command in the user view.
l To reset all external connections, run the reset bgp multicast external command in the
user view.
l To reset all internal connections, run the reset bgp multicast internal command in the
user view.
----End
Context
BGP statistics cannot be restored after being cleared. Exercise caution when you clear BGP
statistics.
Procedure
l To clear route flapping statistics, run the reset bgp flap-info [ regexp as-path-regexp |
as-path-filter { as-path-filter-number | as-path-filter-name } | network-address [ mask |
mask-length ] ] command in the user view.
l To clear route flapping statistics on a specified peer, run the reset bgp ipv4-address flap-
info command in the user view.
l To clear route dampening statistics and release suppressed routes, run the reset bgp
dampening [ ipv4-address [ mask | mask-length ] ] command in the user view.
l To clear MBGP route dampening statistics, run the reset bgp multicast dampening [ ip-
address [ mask | mask-length ] ] command in the user view.
l To clear MBGP route flapping statistics, run the reset bgp multicast flap-info [ ip-
address [ mask | mask-length ] | as-path-filter { as-path-list-number | as-path-list-
name } | regrexp regrexp ] command in the user view.
----End
Networking Requirements
As shown in Figure 9-19, BGP runs between Switches; an EBGP connection is established
between SwitchA and SwitchB; IBGP full-mesh connections are established between
SwitchB, SwitchC, and SwitchD.
10GE1/0/1 SwitchC
10GE1/0/2 10GE1/0/2 VLANIF20
VLANIF50 10GE1/0/1 VLANIF2010.1.3.2/24 10GE1/0/2
[Link]/8 VLANIF10 [Link]/24 VLANIF40
[Link]/24 [Link]/24
Configuration Roadmap
The configuration roadmap is as follows:
1. Configure IBGP connections between SwitchB, SwitchC, and SwitchD.
2. Configure an EBGP connection between SwitchA and SwitchB.
Procedure
Step 1 Configure the VLAN to which each interface belongs.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchA
[*HUAWEI] commit
[~SwitchA] vlan batch 10 50
[*SwitchA] interface 10ge 1/0/1
[*SwitchA-10GE1/0/1] port link-type trunk
[*SwitchA-10GE1/0/1] port trunk allow-pass vlan 10
[*SwitchA-10GE1/0/1] quit
[*SwitchA] interface 10ge 1/0/2
[*SwitchA-10GE1/0/2] port link-type trunk
[*SwitchA-10GE1/0/2] port trunk allow-pass vlan 50
[*SwitchA-10GE1/0/2] quit
[*SwitchA] commit
The configurations of SwitchB, SwitchC, and SwitchD are similar to the configuration of
SwitchA, and are not mentioned here.
Step 2 Configure VLANIF interfaces and assign IP addresses to the VLANIF interfaces.
[~SwitchA] interface vlanif 10
[*SwitchA-Vlanif10] ip address [Link] 24
[*SwitchA-Vlanif10] quit
[*SwitchA] interface vlanif 50
[*SwitchA-Vlanif50] ip address [Link] 8
[*SwitchA-Vlanif50] quit
[*SwitchA] commit
The configurations of SwitchB, SwitchC, and SwitchD are similar to the configuration of
SwitchA, and are not mentioned here.
Step 3 Configure IBGP connections.
# Configure SwitchB.
[~SwitchB] bgp 65009
[*SwitchB-bgp] router-id [Link]
[*SwitchB-bgp] peer [Link] as-number 65009
[*SwitchB-bgp] peer [Link] as-number 65009
[*SwitchB-bgp] quit
[*SwitchB] commit
# Configure SwitchC.
[~SwitchC] bgp 65009
[*SwitchC-bgp] router-id [Link]
[*SwitchC-bgp] peer [Link] as-number 65009
[*SwitchC-bgp] peer [Link] as-number 65009
[*SwitchC-bgp] quit
[*SwitchC] commit
# Configure SwitchD.
[~SwitchD] bgp 65009
[*SwitchD-bgp] router-id [Link]
[*SwitchD-bgp] peer [Link] as-number 65009
[*SwitchD-bgp] peer [Link] as-number 65009
[*SwitchD-bgp] quit
[*SwitchD] commit
# Configure SwitchB.
[~SwitchB] bgp 65009
[~SwitchB-bgp] peer [Link] as-number 65008
[*SwitchB-bgp] quit
[*SwitchB] commit
The preceding command output shows that BGP connections have been established between
SwitchB and other Switches.
Step 5 Configure SwitchA to advertise route [Link]/8.
# Configure SwitchA to advertise route [Link].
[~SwitchA] bgp 65008
[~SwitchA-bgp] ipv4-family unicast
[~SwitchA-bgp-af-ipv4] network [Link] [Link]
[*SwitchA-bgp-af-ipv4] quit
[*SwitchA-bgp] quit
[*SwitchA] commit
The preceding command output shows that SwitchC has learned the route to destination
[Link] in AS 65008. The route, however, is invalid because the next hop [Link] of this
route is unreachable.
Step 6 Configure BGP to import direct routes.
# Configure SwitchB.
[~SwitchB] bgp 65009
[~SwitchB-bgp] ipv4-family unicast
[*SwitchB-bgp-af-ipv4] import-route direct
[*SwitchB-bgp-af-ipv4] quit
[*SwitchB-bgp] quit
[*SwitchB] commit
The preceding command output shows that the route to destination [Link] becomes valid
because the next-hop address of this route is the address of SwitchA.
# Run the ping [Link] command on SwitchC.
[~SwitchC] ping [Link]
PING [Link]: 56 data bytes, press CTRL_C to break
Reply from [Link]: bytes=56 Sequence=1 ttl=254 time=31 ms
Reply from [Link]: bytes=56 Sequence=2 ttl=254 time=47 ms
Reply from [Link]: bytes=56 Sequence=3 ttl=254 time=31 ms
Reply from [Link]: bytes=56 Sequence=4 ttl=254 time=16 ms
Reply from [Link]: bytes=56 Sequence=5 ttl=254 time=31 ms
----End
Configuration Files
l Configuration file of SwitchA
#
sysname SwitchA
#
vlan batch 10 50
#
interface Vlanif10
ip address [Link] [Link]
#
interface Vlanif50
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 50
#
bgp 65008
router-id [Link]
peer [Link] as-number 65009
#
ipv4-family unicast
network [Link]
peer [Link] enable
#
return
bgp 65009
router-id [Link]
peer [Link] as-number 65009
peer [Link] as-number 65009
peer [Link] as-number 65008
#
ipv4-family unicast
import-route direct
peer [Link] enable
peer [Link] enable
peer [Link] enable
#
return
l Configuration file of SwitchC
#
sysname SwitchC
#
vlan batch 20 40
#
interface Vlanif20
ip address [Link] [Link]
#
interface Vlanif40
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 20
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 40
#
bgp 65009
router-id [Link]
peer [Link] as-number 65009
peer [Link] as-number 65009
#
ipv4-family unicast
peer [Link] enable
peer [Link] enable
#
return
l Configuration file of SwitchD
#
sysname SwitchD
#
vlan batch 30 40
#
interface Vlanif30
ip address [Link] [Link]
#
interface Vlanif40
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 30
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 40
#
bgp 65009
router-id [Link]
peer [Link] as-number 65009
peer [Link] as-number 65009
#
ipv4-family unicast
peer [Link] enable
peer [Link] enable
#
return
Networking Requirements
As shown in Figure 9-20, there are two ASs: 65008 and 65009. SwitchA belongs to AS
65008, and SwitchB, SwitchC, and SwitchD belong to AS 65009. A routing Protocol is
required to exchange the routing information between the two ASs.
10 LA
AN 1/0/3
0
G NIF
V
IF3
AS 65009
E1 5
AS 65008
0 10GE
/0 0
/2 V
SwitchC
VL
10 LA
G NIF
AN 0/3
E1 5
IF3
VL E1/
/0 0
/2
10GE1/0/1
G
VLANIF10
10
10GE1/0/2 10GE1/0/2
10GE1/0/1 10GE1/0/1
VLANIF20 VLANIF20
VLANIF40 VLANIF40
Table 9-8
VLANIF20 FC00:0:0:100::2/64
VLANIF30 FC00:0:0:93::1/64
VLANIF40 FC00:0:0:91::1/64
VLANIF50 FC00:0:0:92::1/64
VLANIF50 FC00:0:0:92::2/64
Configuration Roadmap
The configuration roadmap is as follows:
1. Configure IBGP connections between SwitchB, SwitchC, and SwitchD.
2. Configure an EBGP connection between SwitchA and SwitchB.
Procedure
Step 1 Add interfaces to VLANs.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchA
[*HUAWEI] commit
[~SwitchA] vlan batch 10 20
[*SwitchA] interface 10ge 1/0/1
[*SwitchA-10GE1/0/1] port link-type trunk
[*SwitchA-10GE1/0/1] port trunk allow-pass vlan 10
[*SwitchA-10GE1/0/1] quit
[*SwitchA]interface 10ge 1/0/2
[*SwitchA-10GE1/0/2] port link-type trunk
[*SwitchA-10GE1/0/2] port trunk allow-pass vlan 20
[*SwitchA-10GE1/0/2] quit
[*SwitchA] commit
The configurations of SwitchB, SwitchC, and SwitchD are similar to the configuration of
SwitchA, and are not mentioned here.
Step 2 Enable the IPv6 forwarding capability, and assign an IPv6 address for each interface. The
following is the configuration of SwitchA. The configurations of other Switches are similar to
the configuration of SwitchA, and are not mentioned here.
[~SwitchA] interface vlanif 10
[*SwitchA-Vlanif10] ipv6 enable
[*SwitchA-Vlanif10] ipv6 address fc00:0:0:80::1/64
[*SwitchA-Vlanif10] quit
[*SwitchA] interface vlanif 20
[*SwitchA-Vlanif20] ipv6 enable
[*SwitchA-Vlanif20] ipv6 address fc00:0:0:100::2/64
[*SwitchA-Vlanif20] quit
[*SwitchA] commit
# Configure SwitchC.
[~SwitchC] bgp 65009
[*SwitchC-bgp] router-id [Link]
[*SwitchC-bgp] peer fc00:0:0:93::1 as-number 65009
[*SwitchC-bgp] peer fc00:0:0:92::2 as-number 65009
[*SwitchC-bgp] ipv6-family unicast
[*SwitchC-bgp-af-ipv6] peer fc00:0:0:93::1 enable
# Configure SwitchD.
[~SwitchD] bgp 65009
[*SwitchD-bgp] router-id [Link]
[*SwitchD-bgp] peer fc00:0:0:91::1 as-number 65009
[*SwitchD-bgp] peer fc00:0:0:92::1 as-number 65009
[*SwitchD-bgp] ipv6-family unicast
[*SwitchD-bgp-af-ipv6] peer fc00:0:0:91::1 enable
[*SwitchD-bgp-af-ipv6] peer fc00:0:0:92::1 enable
[*SwitchD-bgp-af-ipv6] network fc00:0:0:92:: 64
[*SwitchD-bgp-af-ipv6] network fc00:0:0:91:: 64
[*SwitchD-bgp-af-ipv6] quit
[*SwitchD-bgp] quit
[*SwitchD] commit
# Configure SwitchB.
[~SwitchB] bgp 65009
[~SwitchB-bgp] peer fc00:0:0:100::2 as-number 65008
[*SwitchB-bgp] ipv6-family unicast
[*SwitchB-bgp-af-ipv6] peer fc00:0:0:100::2 enable
[*SwitchB-bgp-af-ipv6] network fc00:0:0:100:: 64
[*SwitchB-bgp-af-ipv6] quit
[*SwitchB-bgp] quit
[*SwitchB] commit
The preceding information shows that the BGP4+ connections between SwitchB and other
Switches are set up.
# Display the routing table of SwitchA.
The routing table shows that SwitchA has learned the route from AS 65009. AS 65008 and
AS 65009 can exchange their routing information.
----End
Configuration Files
l Configuration file of SwitchA
#
sysname SwitchA
#
vlan batch 10 20
#
interface Vlanif10
ipv6 enable
ipv6 address FC00:0:0:80::1/64
#
interface Vlanif20
ipv6 enable
ipv6 address FC00:0:0:100::2/64
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
bgp 65008
router-id [Link]
peer FC00:0:0:100::1 as-number 65009
#
ipv4-family unicast
#
ipv6-family unicast
network FC00:0:0:80:: 64
network FC00:0:0:100:: 64
peer FC00:0:0:100::1 enable
#
return
l Configuration file of SwitchB
#
sysname SwitchB
#
vlan batch 20 30 40
#
interface Vlanif20
ipv6 enable
ipv6 address FC00:0:0:100::1/64
#
interface Vlanif30
ipv6 enable
ipv6 address FC00:0:0:93::1/64
#
interface Vlanif40
ipv6 enable
ipv6 address FC00:0:0:91::1/64
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 40
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
interface 10GE1/0/3
port link-type trunk
port trunk allow-pass vlan 30
#
bgp 65009
router-id [Link]
peer FC00:0:0:91::2 as-number 65009
peer FC00:0:0:93::2 as-number 65009
peer FC00:0:0:100::2 as-number 65008
#
ipv4-family unicast
#
ipv6-family unicast
network FC00:0:0:91:: 64
network FC00:0:0:93:: 64
network FC00:0:0:100:: 64
peer FC00:0:0:91::2 enable
peer FC00:0:0:93::2 enable
peer FC00:0:0:100::2 enable
#
return
l Configuration file of SwitchC
#
sysname SwitchC
#
vlan batch 30 50
#
interface Vlanif30
ipv6 enable
ipv6 address FC00:0:0:93::2/64
#
interface Vlanif50
ipv6 enable
ipv6 address FC00:0:0:92::1/64
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 50
#
interface 10GE1/0/3
port link-type trunk
port trunk allow-pass vlan 30
#
bgp 65009
router-id [Link]
peer FC00:0:0:92::2 as-number 65009
peer FC00:0:0:93::1 as-number 65009
#
ipv4-family unicast
#
ipv6-family unicast
network FC00:0:0:92:: 64
network FC00:0:0:93:: 64
peer FC00:0:0:92::2 enable
peer FC00:0:0:93::1 enable
#
return
Networking Requirements
As shown in Figure 9-21, the receiver receives VoD information in multicast mode. The
receiver and the source reside in different ASs. Multicast routing information needs to be
transmitted between ASs.
AS100 AS200
SwitchD
Loopback0
10GE1/0/2
10GE1/0/1
10GE1/0/1
10GE1/0/3
SwitchC Loopback0
10GE1/0/2
Receiver
MBGP peers
Loopback0 - [Link]/32
Loopback0 - [Link]/32
Loopback0 - [Link]/32
Loopback0 - [Link]/32
Configuration Roadmap
The configuration roadmap is as follows:
1. Configure MBGP peers for inter-AS multicast transmission.
2. Configure the routes advertised by MBGP.
3. Enable the multicast function on each switch.
4. Configure basic PIM-SM functions on each switch in ASs and enable IGMP on receiver-
side interfaces.
5. Configure a BSR boundary on the interfaces that connect to two ASs.
6. Configure MSDP peers to transmit inter-domain multicast source information.
Procedure
Step 1 Assign IP addresses to the interfaces on each switch and configure OSPF in ASs.
# Configure IP addresses and masks for the interfaces on each switch according to Figure
9-21 and configure OSPF on the switches in ASs. Ensure that SwitchB, SwitchC, and
SwitchD can communicate with the receiver at the network layer, learn routes to the loopback
interfaces of each other, and dynamically update routes using a unicast routing protocol.
Configure OSPF process 1. The configuration procedure is not mentioned here.
Step 2 Configure BGP, enable the MBGP protocol, and configure MBGP peers.
# Configure BGP and the MBGP peer on SwitchA.
[~SwitchA] bgp 100
[*SwitchA-bgp] peer [Link] as-number 200
[*SwitchA-bgp] ipv4-family multicast
[*SwitchA-bgp-af-multicast] peer [Link] enable
[*SwitchA-bgp-af-multicast] quit
[*SwitchA-bgp] quit
[*SwitchA] commit
[*SwitchB-bgp] quit
[*SwitchB] commit
Step 4 Enable multicast on all switches and PIM-SM on all interfaces. Enable IGMP on the
interfaces connected to the receivers (VLANIF 102 on SwitchC in this example).
# Configure SwitchA.
[~SwitchA] multicast routing-enable
[*SwitchA] interface vlanif 100
[*SwitchA-Vlanif100] pim sm
[*SwitchA-Vlanif100] quit
[*SwitchA] interface vlanif 101
[*SwitchA-Vlanif101] pim sm
[*SwitchA-Vlanif101] quit
[*SwitchA] commit
# Configure SwitchB.
[~SwitchB] multicast routing-enable
[*SwitchB] interface vlanif 100
[*SwitchB-Vlanif100] pim sm
[*SwitchB-Vlanif100] quit
[*SwitchB] interface vlanif 200
[*SwitchB-Vlanif200] pim sm
[*SwitchB-Vlanif200] quit
[*SwitchB] interface vlanif 300
[*SwitchB-Vlanif300] pim sm
[*SwitchB-Vlanif300] quit
[*SwitchB] commit
# Configure SwitchC.
[~SwitchC] multicast routing-enable
[*SwitchC] interface vlanif 400
[*SwitchC-Vlanif400] pim sm
[*SwitchC-Vlanif400] quit
[*SwitchC] interface vlanif 102
[*SwitchC-Vlanif102] pim sm
[*SwitchC-Vlanif102] igmp enable
[*SwitchC-Vlanif102] quit
[*SwitchC] interface vlanif 300
[*SwitchC-Vlanif300] pim sm
[*SwitchC-Vlanif300] quit
[*SwitchC] commit
# Configure SwitchD.
[~SwitchD] multicast routing-enable
[*SwitchD] interface vlanif 400
[*SwitchD-Vlanif400] pim sm
[*SwitchD-Vlanif400] quit
[*SwitchD] interface vlanif 200
[*SwitchD-Vlanif200] pim sm
[*SwitchD-Vlanif200] quit
[*SwitchD] commit
[*SwitchB-pim] quit
[*SwitchB] commit
Step 6 Configure a BSR boundary on the interfaces that connect to two ASs.
# Configure SwitchA.
[~SwitchA] msdp
[*SwitchA-msdp] peer [Link] connect-interface vlanif100
[*SwitchA-msdp] quit
[*SwitchA] commit
# Configure SwitchB.
[~SwitchB] msdp
[*SwitchB-msdp] peer [Link] connect-interface vlanif100
[*SwitchB-msdp] quit
[*SwitchB] commit
# Run the display bgp multicast peer command to view the MBGP peer relationship
between switches. For example, information about the MBGP peer relationship on SwitchA is
as follows:
[~SwitchA] display bgp multicast peer
BGP local router ID : [Link]
Local AS number : 100
Total number of peers : 1 Peers in established state : 1
Peer V AS MsgRcvd MsgSent OutQ Up/Down State PrefRcv
[Link] 4 200 82 75 0 00:30:29 Established 17
The preceding information shows that SwitchA has established an MBGP peer relationship
with SwitchB in AS 200.
# Run the display msdp brief command to view information about the MSDP peer
relationship between switches. For example, brief information about the MSDP peer
relationship on SwitchB is as follows:
[~SwitchB] display msdp brief
MSDP Peer Brief Information of VPN-Instance: public net
---------------------------------------------------------------------------------
The preceding information shows that SwitchB has established an MSDP peer relationship
with Switch in AS 100.
----End
Configuration Files
l Configuration file of SwitchA
#
sysname SwitchA
#
vlan batch 100 to 101
#
multicast routing-enable
#
interface Vlanif100
ip address [Link] [Link]
pim bsr-boundary
pim sm
#
interface Vlanif101
ip address [Link] [Link]
pim sm
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 100
#
interface 10GE1/0/2
port default vlan 101
#
interface LoopBack0
ip address [Link] [Link]
pim sm
#
pim
c-bsr LoopBack0
c-rp LoopBack0
#
bgp 100
peer [Link] as-number 200
#
ipv4-family unicast
import-route direct
peer [Link] enable
#
ipv4-family multicast
peer [Link] enable
#
msdp
peer [Link] connect-interface Vlanif100
#
return
interface Vlanif300
ip address [Link] [Link]
pim sm
#
interface Vlanif400
ip address [Link] [Link]
pim sm
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 400
#
interface 10GE1/0/2
port default vlan 102
#
interface 10GE1/0/3
port link-type trunk
port trunk allow-pass vlan 300
#
interface LoopBack0
ip address [Link] [Link]
pim sm
#
ospf 1
area [Link]
network [Link] [Link]
network [Link] [Link]
network [Link] [Link]
network [Link] [Link]
#
bgp 200
peer [Link] as-number 200
peer [Link] as-number 200
#
ipv4-family unicast
import-route ospf 1
peer [Link] enable
peer [Link] enable
#
ipv4-family multicast
import-route ospf 1
peer [Link] enable
peer [Link] enable
#
return
l Configuration file of SwitchD
#
sysname SwitchD
#
vlan batch 200 400
#
multicast routing-enable
#
interface Vlanif200
ip address [Link] [Link]
pim sm
#
interface Vlanif400
ip address [Link] [Link]
pim sm
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 400
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 200
#
interface LoopBack0
ip address [Link] [Link]
#
ospf 1
area [Link]
network [Link] [Link]
network [Link] [Link]
network [Link] [Link]
#
bgp 200
peer [Link] as-number 200
peer [Link] as-number 200
#
ipv4-family unicast
import-route ospf 1
peer [Link] enable
peer [Link] enable
#
ipv4-family multicast
import-route ospf 1
peer [Link] enable
peer [Link] enable
#
return
10GE1/0/1
VLANIF10
AS 65008 [Link]/24
SwitchB
10GE1/0/1
VLANIF10
10GE1/0/2
[Link]/24
EBGP VLANIF30
SwitchA IBGP [Link]/24
AS 65009
10GE1/0/2 10GE1/0/2
VLANIF20 EBGP
VLANIF30
[Link]/24 [Link]/24
10GE1/0/1 SwitchC
VLANIF20
[Link]/24
Configuration Roadmap
The configuration roadmap is as follows:
Procedure
Step 1 Configure the VLAN to which each interface belongs.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchA
[*HUAWEI] commit
[~SwitchA] vlan batch 10 20
[*SwitchA] interface 10ge 1/0/1
[*SwitchA-10GE1/0/1] port link-type trunk
[*SwitchA-10GE1/0/1] port trunk allow-pass vlan 10
[*SwitchA-10GE1/0/1] quit
[*SwitchA] interface 10ge 1/0/2
[*SwitchA-10GE1/0/2] port link-type trunk
[*SwitchA-10GE1/0/2] port trunk allow-pass vlan 20
[*SwitchA-10GE1/0/2] quit
[*SwitchA] commit
The configurations of SwitchB and SwitchC are similar to the configuration of SwitchA, and
are not mentioned here.
Step 2 Configure VLANIF interfaces and assign IP addresses to the VLANIF interfaces.
[~SwitchA] interface vlanif 10
[*SwitchA-Vlanif10] ip address [Link] 24
[*SwitchA-Vlanif10] quit
[*SwitchA] interface vlanif 20
[*SwitchA-Vlanif20] ip address [Link] 24
[*SwitchA-Vlanif20] quit
[*SwitchA] commit
The configurations of SwitchB and SwitchC are similar to the configuration of SwitchA, and
are not mentioned here.
# Configure SwitchA.
[~SwitchA] bgp 65008
[*SwitchA-bgp] router-id [Link]
[*SwitchA-bgp] peer [Link] as-number 65009
[*SwitchA-bgp] peer [Link] as-number 65009
[*SwitchA-bgp] quit
[*SwitchA] commit
# Configure SwitchB.
[~SwitchB] bgp 65009
[*SwitchB-bgp] router-id [Link]
[*SwitchB-bgp] peer [Link] as-number 65008
[*SwitchB-bgp] peer [Link] as-number 65009
[*SwitchB-bgp] ipv4-family unicast
[*SwitchB-bgp-af-ipv4] network [Link] [Link]
[*SwitchB-bgp-af-ipv4] quit
[*SwitchB-bgp] quit
[*SwitchB] commit
# Configure SwitchC.
Route Flags: R -
relay, D - download to fib, T - to vpn-instance, B - black hole
route
------------------------------------------------------------------------------
Routing Table :
_public_
Destinations : 12 Routes :
12
In the BGP routing table, there are two valid routes to destination [Link]/24. The route with
next-hop address [Link] is the optimal route because the router ID of SwitchB is the
smallest.
Step 4 Configure load balancing.
# Configure SwitchA.
[~SwitchA] bgp 65008
[~SwitchA-bgp] ipv4-family unicast
[~SwitchA-bgp-af-ipv4] maximum load-balancing 2
[*SwitchA-bgp-af-ipv4] quit
[*SwitchA-bgp] quit
[*SwitchA] commit
Route Flags: R -
relay, D - download to fib, T - to vpn-instance, B - black hole
route
------------------------------------------------------------------------------
Routing Table :
_public_
Destinations : 12 Routes :
13
In the BGP routing table, BGP route [Link]/24 has two next hops: [Link] and
[Link]. Both of them are optimal routes.
# Set the MED value for the route sent from SwitchB to SwitchA using a route-policy.
[~SwitchB] route-policy 10 permit node 10
[*SwitchB-route-policy] apply cost 100
[*SwitchB-route-policy] quit
[*SwitchB] bgp 65009
[*SwitchB-bgp] peer [Link] route-policy 10 export
[*SwitchB-bgp] quit
[*SwitchB] commit
Route Flags: R -
relay, D - download to fib, T - to vpn-instance, B - black hole
route
------------------------------------------------------------------------------
Routing Table :
_public_
Destinations : 26 Routes :
26
In the BGP routing table, the MED value of the route with next hop [Link] (SwitchB) is
100, and the MED value of the route with next hop [Link] is 0. Therefore, the route with
the smaller MED value is preferred.
----End
Configuration Files
l Configuration file of SwitchA
#
sysname SwitchA
#
vlan batch 10 20
#
interface Vlanif10
ip address [Link] [Link]
#
interface Vlanif20
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
bgp 65008
router-id [Link]
peer [Link] as-number 65009
peer [Link] as-number 65009
#
ipv4-famlily unicast
maximum load-balancing 2
peer [Link] enable
peer [Link] enable
#
return
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 30
#
bgp 65009
router-id [Link]
peer [Link] as-number 65009
peer [Link] as-number 65008
#
ipv4-family unicast
default med 100
network [Link] [Link]
peer [Link] enable
peer [Link] enable
peer [Link] route-policy 10 export
#
route-policy 10 permit node 10
apply cost 100
#
return
l Configuration file of SwitchC
#
sysname SwitchC
#
vlan batch 20 30
#
interface Vlanif20
ip address [Link] [Link]
#
interface Vlanif30
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 20
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 30
#
bgp 65009
router-id [Link]
peer [Link] as-number 65009
peer [Link] as-number 65008
#
ipv4-family unicast
network [Link] [Link]
peer [Link] enable
peer [Link] enable
#
return
Networking Requirements
As shown in Figure 9-23, eight Switches need to form an IBGP network. Full-mesh BGP
connections have been established between SwitchB, SwitchD, and SwitchE. Users require
that the IBGP network be formed without interrupting full-mesh BGP connections between
SwitchB, SwitchD, and SwitchE and require simplified device configuration and
management.
AS 65010
10GE1/0/3
10GE1/0/1 10GE1/0/2
SwitchA
Configuration Roadmap
The configuration roadmap is as follows:
1. Configure SwitchB as the route reflector of Cluster1 and SwitchD and SwitchE as the
clients of SwitchB. Prohibit communication between the clients to form an IBGP
network without interrupting full-mesh BGP connections between SwitchB, SwitchD,
and SwitchE.
2. Configure SwitchC as the route reflector of Cluster2 and SwitchF, SwitchG, and
SwitchH as the clients of SwitchC to simplify device configuration and management.
Procedure
Step 1 Configure the VLAN to which each interface belongs.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchA
[*HUAWEI] commit
[~SwitchA] vlan batch 10 30 100
[*SwitchA] interface 10ge 1/0/1
[*SwitchA-10GE1/0/1] port link-type trunk
[*SwitchA-10GE1/0/1] port trunk allow-pass vlan 10
[*SwitchA-10GE1/0/1] quit
[*SwitchA] interface 10ge 1/0/2
[*SwitchA-10GE1/0/2] port link-type trunk
[*SwitchA-10GE1/0/2] port trunk allow-pass vlan 30
[*SwitchA-10GE1/0/2] quit
[*SwitchA] interface 10ge 1/0/3
[*SwitchA-10GE1/0/3] port link-type trunk
[*SwitchA-10GE1/0/3] port trunk allow-pass vlan 100
[*SwitchA-10GE1/0/3] quit
[*SwitchA] commit
The configurations of SwitchB, SwitchC, SwitchD, SwitchE, SwitchF, SwitchG, and SwitchH
are similar to the configuration of SwitchA, and are not mentioned here.
Step 2 Configure VLANIF interfaces and assign IP addresses to the VLANIF interfaces.
[~SwitchA] interface vlanif 10
[*SwitchA-Vlanif10] ip address [Link] 24
[*SwitchA-Vlanif10] quit
[*SwitchA] interface vlanif 30
[*SwitchA-Vlanif30] ip address [Link] 24
[*SwitchA-Vlanif30] quit
[*SwitchA] interface vlanif 100
[*SwitchA-Vlanif100] ip address [Link] 24
[*SwitchA-Vlanif100] quit
[*SwitchA] commit
The configurations of SwitchB, SwitchC, SwitchD, SwitchE, SwitchF, SwitchG, and SwitchH
are similar to the configuration of SwitchA, and are not mentioned here.
Step 3 Configure IBGP connections between clients, non-clients, and route reflectors.
# Configure SwitchF.
[~SwitchF] bgp 65010
[*SwitchF-bgp] router-id [Link]
[*SwitchF-bgp] peer [Link] as-number 65010
[*SwitchF-bgp] quit
[*SwitchF] commit
# Configure SwitchB.
[~SwitchB] bgp 65010
[*SwitchB–bgp] router-id [Link]
[*SwitchB–bgp] group in_rr internal
[*SwitchB–bgp] peer [Link] group in_rr
[*SwitchB–bgp] peer [Link] group in_rr
[*SwitchB–bgp] ipv4-family unicast
[*SwitchB–bgp-af-ipv4] peer in_rr reflect-client
[*SwitchB–bgp-af-ipv4] undo reflect between-clients
[*SwitchB–bgp-af-ipv4] reflector cluster-id 1
[*SwitchB–bgp-af-ipv4] commit
[~SwitchB–bgp-af-ipv4] quit
# Configure SwitchC.
[~SwitchC] bgp 65010
[*SwitchC-bgp] router-id [Link]
[*SwitchC-bgp] group in_rr internal
[*SwitchC-bgp] peer [Link] group in_rr
[*SwitchC-bgp] peer [Link] group in_rr
[*SwitchC-bgp] peer [Link] group in_rr
[*SwitchC-bgp] ipv4-family unicast
[*SwitchC-bgp-af-ipv4] peer in_rr reflect-client
[*SwitchC-bgp-af-ipv4] reflector cluster-id 2
[*SwitchC-bgp-af-ipv4] commit
[~SwitchC-bgp-af-ipv4] quit
In the BGP routing table, you can see that SwitchD has learned from SwitchB the route
advertised from SwitchA, and see the Originator_ID and Cluster_List attributes of the route.
----End
Configuration Files
l Configuration file of SwitchA
#
sysname SwitchA
#
vlan batch 10 30 100
#
interface Vlanif10
ip address [Link] [Link]
#
interface Vlanif30
ip address [Link] [Link]
#
interface Vlanif100
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 30
#
interface 10GE1/0/3
port link-type trunk
port trunk allow-pass vlan 100
#
bgp 65010
router-id [Link]
peer [Link] as-number 65010
peer [Link] as-number 65010
#
ipv4-family unicast
network [Link] [Link]
peer [Link] enable
peer [Link] enable
#
return
#
bgp 65010
router-id [Link]
peer [Link] as-number 65010
peer [Link] as-number 65010
group in_rr internal
peer [Link] as-number 65010
peer [Link] group in_rr
peer [Link] as-number 65010
peer [Link] group in_rr
peer [Link] as-number 65010
peer [Link] group in_rr
#
ipv4-family unicast
reflector cluster-id 2
peer [Link] enable
peer [Link] enable
peer in_rr enable
peer in_rr reflect-client
peer [Link] enable
peer [Link] group in_rr
peer [Link] enable
peer [Link] group in_rr
peer [Link] enable
peer [Link] group in_rr
#
return
NOTE
The configuration files of the other switches are similar to the configuration file of SwitchD, and are not
mentioned here.
FC
10 NI ::1
0
VL :0:10 10G NIF4 ::2/6
GE F4 /64 /0/1
4
0:0
00 AN 0/2
/6
A
4
1/ 0
00 AN 0/1
0:1 IF30
10 ::2/6
::1
FC VL E1/
0:1 IF30
0/
01
VL E1/
10GE1/0/1
1
01
G
2
VLANIF10
FC
10
:0:
FC00:0:0:1::1/64
:0:
00
VL :0:10
E
10GE1/0/2
:0
A
1
FC
VLANIF20
FC00:0:0:100::1/64
2
0
10GE1/0/2
SwitchA VLANIF20 SwitchB
4
FC00:0:0:100::2/64 SwitchD
Configuration Roadmap
The configuration roadmap is as follows:
1. Configure basic BGP4+ functions to allow BGP neighbors to communicate.
2. Configure SwitchC as a route reflector so that no IBGP connection needs to be
established between SwitchB and SwitchD. This simplifies the configuration.
Procedure
Step 1 Add interfaces to VLANs.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchA
[*HUAWEI] commit
[~SwitchA] vlan batch 10 20
[*SwitchA] interface 10ge 1/0/1
[*SwitchA-10GE1/0/1] port link-type trunk
[*SwitchA-10GE1/0/1] port trunk allow-pass vlan 10
[*SwitchA-10GE1/0/1] quit
[*SwitchA]interface 10ge 1/0/2
[*SwitchA-10GE1/0/2] port link-type trunk
[*SwitchA-10GE1/0/2] port trunk allow-pass vlan 20
[*SwitchA-10GE1/0/2] quit
[*SwitchA] commit
Step 2 Enable the IPv6 forwarding capability, and assign an IPv6 address for each interface. The
following is the configuration of SwitchA. The configurations of other Switches are similar to
the configuration of SwitchA, and are not mentioned here.
[~SwitchA] interface vlanif 10
[*SwitchA-Vlanif10] ipv6 enable
[*SwitchA-Vlanif10] ipv6 address fc00:0:0:1::1/64
[*SwitchA] interface vlanif 20
[*SwitchA-Vlanif20] ipv6 enable
[*SwitchA-Vlanif20] ipv6 address fc00:0:0:100::1/64
[*SwitchA-Vlanif20] quit
[*SwitchA] commit
# Configure SwitchA.
[~SwitchA] bgp 100
[*SwitchA-bgp] router-id [Link]
[*SwitchA-bgp] peer fc00:0:0:100::2 as-number 200
[*SwitchA-bgp] ipv6-family unicast
[*SwitchA-bgp-af-ipv6] peer fc00:0:0:100::2 enable
[*SwitchA-bgp-af-ipv6] network fc00:0:0:1:: 64
[*SwitchA-bgp-af-ipv6] network fc00:0:0:100:: 64
[*SwitchA-bgp-af-ipv6] quit
[*SwitchA-bgp] quit
[*SwitchA] commit
# Configure SwitchB.
[~SwitchB] bgp 200
[*SwitchB-bgp] router-id [Link]
[*SwitchB-bgp] peer fc00:0:0:100::1 as-number 100
[*SwitchB-bgp] peer fc00:0:0:101::1 as-number 200
[*SwitchB-bgp] ipv6-family unicast
[*SwitchB-bgp-af-ipv6] peer fc00:0:0:100::1 enable
[*SwitchB-bgp-af-ipv6] peer fc00:0:0:101::1 enable
[*SwitchB-bgp-af-ipv6] network fc00:0:0:100:: 64
[*SwitchB-bgp-af-ipv6] network fc00:0:0:101:: 64
[*SwitchB-bgp-af-ipv6] quit
[*SwitchB-bgp] quit
[*SwitchB] commit
# Configure SwitchC.
[~SwitchC] bgp 200
[*SwitchC-bgp] router-id [Link]
[*SwitchC-bgp] peer fc00:0:0:101::2 as-number 200
[*SwitchC-bgp] peer fc00:0:0:102::2 as-number 200
[*SwitchC-bgp] ipv6-family unicast
[*SwitchC-bgp-af-ipv6] peer fc00:0:0:101::2 enable
[*SwitchC-bgp-af-ipv6] peer fc00:0:0:102::2 enable
[*SwitchC-bgp-af-ipv6] network fc00:0:0:101:: 64
[*SwitchC-bgp-af-ipv6] network fc00:0:0:102:: 64
[*SwitchC-bgp-af-ipv6] quit
[*SwitchC-bgp] quit
[*SwitchC] commit
# Configure SwitchD.
[~SwitchD] bgp 200
[*SwitchD-bgp] router-id [Link]
[*SwitchD-bgp] peer fc00:0:0:102::1 as-number 200
[*SwitchD-bgp] ipv6-family unicast
[*SwitchD-bgp-af-ipv6] peer fc00:0:0:102::1 enable
[*SwitchD-bgp-af-ipv6] network fc00:0:0:102:: 64
[*SwitchD-bgp-af-ipv6] quit
[*SwitchD-bgp] quit
[*SwitchD] commit
MED : 0 PrefVal : 0
Label :
Path/Ogn : i
*> Network : FC00:0:0:102:: PrefixLen : 64
NextHop : :: LocPrf :
MED : 0 PrefVal : 0
Label :
Path/Ogn : i
i
NextHop : FC00:0:0:102::1 LocPrf : 100
MED : 0 PrefVal : 0
Label :
Path/Ogn : i
The routing tables show that SwitchD and SwitchB have learned the routing information
advertised by SwitchA from SwitchC.
----End
Configuration Files
l Configuration file of SwitchA
#
sysname SwitchA
#
vlan batch 10 20
#
interface Vlanif10
ipv6 enable
ipv6 address FC00:0:0:1::1/64
#
interface Vlanif20
ipv6 enable
ipv6 address FC00:0:0:100::1/64
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
bgp 100
router-id [Link]
peer FC00:0:0:100::2 as-number 200
#
ipv4-family unicast
#
ipv6-family unicast
network FC00:0:0:1:: 64
network FC00:0:0:100:: 64
peer FC00:0:0:100::2 enable
#
return
interface Vlanif40
ipv6 enable
ipv6 address FC00:0:0:102::2/64
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 40
#
bgp 200
router-id [Link]
peer FC00:0:0:102::1 as-number 200
#
ipv4-family unicast
#
ipv6-family unicast
network FC00:0:0:102:: 64
peer FC00:0:0:102::1 enable
#
return
Networking Requirements
As shown in Figure 9-25, there are multiple BGP switches in AS 200. It is required that the
number of IBGP connections be reduced.
AS 200
AS 65002 AS 65003
SwitchB SwitchC
10GE1/0/1 10GE1/0/1
10GE1/0/2
10GE1/0/1 SwitchD
AS 100 10GE1/0/1
10GE1/0/5
10GE1/0/2 10GE1/0/3
10GE1/0/4
SwitchA
10GE1/0/2
10GE1/0/1
SwitchF 10GE1/0/1 10GE1/0/2
SwitchE
AS 65001
Configuration Roadmap
The configuration roadmap is as follows:
1. Configure a BGP confederation on each switch in AS 200 to divide AS 200 into three
sub-ASs: AS 65001, AS 65002, and AS 65003. Three switches in AS 65001 establish
full-mesh IBGP connections to reduce the number of IBGP connections.
Procedure
Step 1 Configure the VLAN to which each interface belongs.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchA
[*HUAWEI] commit
[~SwitchA] vlan batch 10 20 30 40 60
[*SwitchA] interface 10ge 1/0/1
[*SwitchA-10GE1/0/1] port link-type trunk
[*SwitchA-10GE1/0/1] port trunk allow-pass vlan 10
[*SwitchA-10GE1/0/1] quit
[*SwitchA] interface 10ge 1/0/2
[*SwitchA-10GE1/0/2] port link-type trunk
[*SwitchA-10GE1/0/2] port trunk allow-pass vlan 20
[*SwitchA-10GE1/0/2] quit
[*SwitchA] interface 10ge 1/0/3
[*SwitchA-10GE1/0/3] port link-type trunk
The configurations of SwitchB, SwitchC, SwitchD, SwitchE, and SwitchF are similar to the
configuration of SwitchA, and are not mentioned here.
Step 2 Configure VLANIF interfaces and assign IP addresses to the VLANIF interfaces.
[~SwitchA] interface vlanif 10
[*SwitchA-Vlanif10] ip address [Link] 24
[*SwitchA-Vlanif10] quit
[*SwitchA] interface vlanif 20
[*SwitchA-Vlanif20] ip address [Link] 24
[*SwitchA-Vlanif20] quit
[*SwitchA] interface vlanif 30
[*SwitchA-Vlanif30] ip address [Link] 24
[*SwitchA-Vlanif30] quit
[*SwitchA] interface vlanif 40
[*SwitchA-Vlanif40] ip address [Link] 24
[*SwitchA-Vlanif40] quit
[*SwitchA] interface vlanif 60
[*SwitchA-Vlanif60] ip address [Link] 24
[*SwitchA-Vlanif60] quit
[*SwitchA] commit
The configurations of SwitchB, SwitchC, SwitchD, SwitchE, and SwitchF are similar to the
configuration of SwitchA, and are not mentioned here.
Step 3 Configure a BGP confederation.
# Configure SwitchA.
[~SwitchA] bgp 65001
[*SwitchA-bgp] router-id [Link]
[*SwitchA-bgp] confederation id 200
[*SwitchA-bgp] confederation peer-as 65002 65003
[*SwitchA-bgp] peer [Link] as-number 65002
[*SwitchA-bgp] peer [Link] as-number 65003
[*SwitchA-bgp] ipv4-family unicast
[*SwitchA-bgp-af-ipv4] peer [Link] next-hop-local
[*SwitchA-bgp-af-ipv4] peer [Link] next-hop-local
[*SwitchA-bgp-af-ipv4] commit
[~SwitchA-bgp-af-ipv4] quit
[~SwitchA-bgp] quit
# Configure SwitchB.
[~SwitchB] bgp 65002
[*SwitchB-bgp] router-id [Link]
[*SwitchB-bgp] confederation id 200
[*SwitchB-bgp] confederation peer-as 65001 65003
[*SwitchB-bgp] peer [Link] as-number 65001
[*SwitchB-bgp] commit
[~SwitchB-bgp] quit
# Configure SwitchC.
[~SwitchC] bgp 65003
[*SwitchC-bgp] router-id [Link]
[*SwitchC-bgp] confederation id 200
[*SwitchC-bgp] confederation peer-as 65001 65002
# Configure SwitchA.
[~SwitchA] bgp 65001
[~SwitchA-bgp] peer [Link] as-number 65001
[*SwitchA-bgp] peer [Link] as-number 65001
[*SwitchA-bgp] ipv4-family unicast
[*SwitchA-bgp-af-ipv4] peer [Link] next-hop-local
[*SwitchA-bgp-af-ipv4] peer [Link] next-hop-local
[*SwitchA-bgp-af-ipv4] commit
[~SwitchA-bgp-af-ipv4] quit
[~SwitchA-bgp] quit
# Configure SwitchD.
[~SwitchD] bgp 65001
[*SwitchD-bgp] router-id [Link]
[*SwitchD-bgp] peer [Link] as-number 65001
[*SwitchD-bgp] peer [Link] as-number 65001
[*SwitchD-bgp] commit
[~SwitchD-bgp] quit
# Configure SwitchE.
[~SwitchE] bgp 65001
[*SwitchE-bgp] router-id [Link]
[*SwitchE-bgp] peer [Link] as-number 65001
[*SwitchE-bgp] peer [Link] as-number 65001
[*SwitchE-bgp] commit
[~SwitchE-bgp] quit
# Configure SwitchA.
[~SwitchA] bgp 65001
[*SwitchA-bgp] peer [Link] as-number 100
[*SwitchA-bgp] commit
[~SwitchA-bgp] quit
# Configure SwitchF.
[~SwitchF] bgp 100
[*SwitchF-bgp] router-id [Link]
[*SwitchF-bgp] peer [Link] as-number 200
[*SwitchF-bgp] ipv4-family unicast
[*SwitchF-bgp-af-ipv4] network [Link] [Link]
[*SwitchF-bgp-af-ipv4] commit
[~SwitchF-bgp-af-ipv4] quit
[~SwitchF-bgp] quit
----End
Configuration Files
l Configuration file of SwitchA
#
sysname SwitchA
#
vlan batch 10 20 30 40 60
#
interface Vlanif10
ip address [Link] [Link]
#
interface Vlanif20
ip address [Link] [Link]
#
interface Vlanif30
ip address [Link] [Link]
#
interface Vlanif40
ip address [Link] [Link]
#
interface Vlanif60
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
interface 10GE1/0/3
port link-type trunk
port trunk allow-pass vlan 30
#
interface 10GE1/0/4
port link-type trunk
port trunk allow-pass vlan 40
#
interface 10GE1/0/5
port link-type trunk
port trunk allow-pass vlan 60
#
bgp 65001
router-id [Link]
confederation id 200
confederation peer-as 65002 65003
peer [Link] as-number 65002
peer [Link] as-number 65003
peer [Link] as-number 65001
peer [Link] as-number 65001
peer [Link] as-number 100
#
ipv4-family unicast
peer [Link] enable
peer [Link] next-hop-local
peer [Link] enable
peer [Link] next-hop-local
peer [Link] enable
peer [Link] next-hop-local
peer [Link] enable
peer [Link] next-hop-local
peer [Link] enable
#
return
l Configuration file of SwitchB
#
sysname SwitchB
#
vlan batch 10
#
interface Vlanif10
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
bgp 65002
router-id [Link]
confederation id 200
confederation peer-as 65001 65003
peer [Link] as-number 65001
#
ipv4-family unicast
peer [Link] enable
#
return
l Configuration file of SwitchC
#
sysname SwitchC
#
vlan batch 20
#
interface Vlanif20
Networking Requirements
As shown in Figure 9-26, EBGP connections are established between SwitchB and SwitchA,
and between SwitchB and SwitchC. It is required that AS 20 not advertise the routes
advertised by AS 10 to AS 30.
10GE1/0/2 10GE1/0/1
VLANIF20 VLANIF10
[Link]/24 [Link]/24
AS 10 SwitchA
10GE1/0/2 10GE1/0/3
VLANIF20 VLANIF30
[Link]/24 [Link]/24
10GE1/0/3
SwitchB VLANIF30 SwitchC
AS 20 [Link]/24 AS 30
Configuration Roadmap
The configuration roadmap is as follows:
1. Configure a route-policy on SwitchA to advertise the No_Export attribute so that AS 20
does not advertise the routes advertised by AS 10 to AS 30.
Procedure
Step 1 Configure the VLANs to which interfaces belong and assign IP addresses to VLANIF
interfaces.
# Configure SwitchC.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchC
[*HUAWEI] commit
[~SwitchC] vlan 30
[*SwitchC-vlan30] quit
[*SwitchC] interface 10ge 1/0/3
[*SwitchC-10GE1/0/3] port link-type trunk
[*SwitchC-10GE1/0/3] port trunk allow-pass vlan 30
[*SwitchC-10GE1/0/3] quit
[*SwitchC] interface vlanif 30
[*SwitchC-Vlanif30] ip address [Link] [Link]
[*SwitchC-Vlanif30] quit
[*SwitchC] commit
The configurations of SwitchA and SwitchB are similar to the configuration of SwitchC, and
are not mentioned here.
Step 2 Configure EBGP connections.
# Configure SwitchA.
[~SwitchA] bgp 10
[*SwitchA-bgp] router-id [Link]
[*SwitchA-bgp] peer [Link] as-number 20
[*SwitchA-bgp] ipv4-family unicast
[*SwitchA-bgp-af-ipv4] network [Link] [Link]
[*SwitchA-bgp-af-ipv4] commit
[~SwitchA-bgp-af-ipv4] quit
# Configure SwitchB.
[~SwitchB] bgp 20
[*SwitchB-bgp] router-id [Link]
[*SwitchB-bgp] peer [Link] as-number 10
[*SwitchB-bgp] peer [Link] as-number 30
[*SwitchB-bgp] commit
[~SwitchB-bgp] quit
# Configure SwitchC.
[~SwitchC] bgp 30
[*SwitchC-bgp] router-id [Link]
[*SwitchC-bgp] peer [Link] as-number 20
[*SwitchC-bgp] commit
[~SwitchC-bgp] quit
The preceding command output shows that SwitchB has advertised the received route to
SwitchC in AS 30.
# View the BGP routing table of SwitchC.
[~SwitchC] display bgp routing-table
BGP Local router ID is [Link]
Status codes: * - valid, > - best, d - damped, h - history,
i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
Total Number of Routes: 1
Network NextHop MED LocPrf PrefVal Path/Ogn
*> [Link]/24 [Link] 0 20 10i
The preceding command output shows that SwitchC has learned the route to [Link]/24 from
SwitchB.
Step 3 Configure the BGP Community attribute.
# Configure a route-policy on SwitchA to prevent SwitchB from advertising the routes
advertised by SwitchA to AS 30.
[~SwitchA] route-policy comm_policy permit node 10
[*SwitchA-route-policy] apply community no-export
[*SwitchA-route-policy] commit
[~SwitchA-route-policy] quit
[*SwitchA-bgp-af-ipv4] commit
In the BGP routing table of SwitchB, you can view the configured Community attribute.
There is no route to [Link]/24 in the BGP routing table of SwitchC.
----End
Configuration Files
l Configuration file of SwitchA
#
sysname SwitchA
#
vlan batch 10 20
#
interface Vlanif10
ip address [Link] [Link]
#
interface Vlanif20
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
bgp 10
router-id [Link]
peer [Link] as-number 20
#
ipv4-family unicast
network [Link] [Link]
peer [Link] enable
peer [Link] route-policy comm_policy export
peer [Link] advertise-community
#
route-policy comm_policy permit node 10
apply community no-export
#
return
#
interface Vlanif30
ip address [Link] [Link]
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
interface 10GE1/0/3
port link-type trunk
port trunk allow-pass vlan 30
#
bgp 20
router-id [Link]
peer [Link] as-number 10
peer [Link] as-number 30
#
ipv4-family unicast
peer [Link] enable
peer [Link] enable
#
return
Networking Requirements
As shown in Figure 9-27, PE1 and PE2 belong to AS 100. PE2 needs to advertise only the
routes that match the import policy of PE1 without having to maintain export policies.
10GE1/0/1
AS 100
VLANIF10
[Link]/24
10GE1/0/1
PE1 VLANIF10 PE2
[Link]/24
Configuration Roadmap
The configuration roadmap is as follows:
1. Configure prefix-based BGP ORF so that PE2 can advertise only the routes that match
the import policy of PE1 without having to maintain export policies.
Procedure
Step 1 Configure the VLANs to which interfaces belong and assign IP addresses to VLANIF
interfaces.
# Configure PE1.
<HUAWEI> system-view
[~HUAWEI] sysname PE1
[*HUAWEI] commit
[~PE1] vlan 10
[*PE1-vlan10] quit
[*PE1] interface 10ge 1/0/1
[*PE1-10GE1/0/1] port link-type trunk
[*PE1-10GE1/0/1] port trunk allow-pass vlan 10
[*PE1-10GE1/0/1] quit
[*PE1] interface vlanif 10
[*PE1-Vlanif10] ip address [Link] [Link]
[*PE1-Vlanif10] quit
[*PE1] commit
The configuration of PE2 is similar to that of PE1 and is not mentioned here.
Step 2 Configure IPv4 unicast neighbors.
# Configure PE1.
[~PE1] bgp 100
[*PE1-bgp] peer [Link] as-number 100
[*PE1-bgp] commit
[~PE1-bgp] quit
The configuration of PE2 is similar to that of PE1 and is not mentioned here.
Step 3 Apply the prefix-based import policy on PE1.
# Configure PE1.
[~PE1] ip ip-prefix 1 permit [Link] 24 greater-equal 32
[*PE1] bgp 100
[*PE1-bgp] peer [Link] ip-prefix 1 import
[*PE1-bgp] commit
[~PE1-bgp] quit
# Configure PE2.
[~PE2] ip route-static [Link] [Link] NULL0
[*PE2] ip route-static [Link] [Link] NULL0
[*PE2] ip route-static [Link] [Link] NULL0
[*PE2] bgp 100
[*PE2-bgp] import-route static
[*PE2-bgp] commit
[~PE2-bgp] quit
When prefix-based BGP ORF is disabled, PE2 sends three routes [Link], [Link], and
[Link], but PE1 accepts only one route [Link] because PE1 applies the prefix-based import
policy to the three routes.
Step 4 Enable prefix-based BGP ORF.
# Configure PE1.
[~PE1] bgp 100
[~PE1-bgp] peer [Link] capability-advertise orf ip-prefix both
[*PE1-bgp] commit
[~PE1-bgp] quit
# Configure PE2.
[~PE2] bgp 100
[~PE2-bgp] peer [Link] capability-advertise orf ip-prefix both
[*PE2-bgp] commit
[~PE2-bgp] quit
After prefix-based BGP ORF is enabled, PE2 sends only one route [Link] based on the
prefix-based import policy provided by PE1.
----End
Configuration Files
l Configuration file of PE1
#
sysname PE1
#
vlan batch 10
#
interface Vlanif10
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
bgp 100
peer [Link] as-number 100
#
ipv4-family unicast
peer [Link] enable
peer [Link] ip-prefix 1 import
peer [Link] capability-advertise orf ip-prefix both
#
ip ip-prefix 1 index 10 permit [Link] 24 greater-equal 32 less-equal 32
#
return
l Configuration file of PE2
#
sysname PE2
#
vlan batch 10
#
interface Vlanif10
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
bgp 100
peer [Link] as-number 100
#
ipv4-family unicast
import-route static
peer [Link] enable
peer [Link] capability-advertise orf ip-prefix both
#
ip route-static [Link] [Link] NULL0
ip route-static [Link] [Link] NULL0
ip route-static [Link] [Link] NULL0
#
return
Networking Requirements
As shown in Figure 9-28, BGP is configured on all Switches. SwitchA resides in AS 100,
SwitchB resides in AS 200, and SwitchC resides in AS 300. EBGP runs between SwitchC and
SwitchA, and between SwitchC and SwitchB. SwitchC must apply different route dampening
policies to routes of different EBGP peers to suppress unstable routes and improve network
stability.
10GE1/0/2 10GE1/0/1
VLANIF20 VLANIF40
[Link]/24 [Link]/24
AS 200 SwitchB
10GE1/0/2 10GE1/0/1
VLANIF20 VLANIF10 10GE1/0/2
[Link]/24 AS 300 [Link]/24 VLANIF30
[Link]/8
10GE1/0/1
SwitchC VLANIF10 SwitchA
[Link]/24 AS 100
Configuration Roadmap
The configuration roadmap is as follows:
Procedure
Step 1 Configure the VLAN to which each interface belongs.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchA
[*HUAWEI] commit
[~SwitchA] vlan batch 10 30
[*SwitchA] interface 10ge 1/0/1
[*SwitchA-10GE1/0/1] port link-type trunk
[*SwitchA-10GE1/0/1] port trunk allow-pass vlan 10
[*SwitchA-10GE1/0/1] quit
[*SwitchA] interface 10ge 1/0/2
[*SwitchA-10GE1/0/2] port link-type trunk
[*SwitchA-10GE1/0/2] port trunk allow-pass vlan 30
[*SwitchA-10GE1/0/2] quit
[*SwitchA] commit
The configurations of SwitchB and SwitchC are similar to the configuration of SwitchA, and
are not mentioned here.
Step 2 Configure VLANIF interfaces and assign IP addresses to the VLANIF interfaces.
[~SwitchA] interface vlanif 10
[*SwitchA-Vlanif10] ip address [Link] 24
[*SwitchA-Vlanif10] quit
[*SwitchA] interface vlanif 30
[*SwitchA-Vlanif30] ip address [Link] 8
[*SwitchA-Vlanif30] quit
[*SwitchA] commit
The configurations of SwitchB and SwitchC are similar to the configuration of SwitchA, and
are not mentioned here.
Step 3 Configure BGP connections.
# Configure SwitchA.
[~SwitchA] bgp 100
[*SwitchA-bgp] router-id [Link]
[*SwitchA-bgp] peer [Link] as-number 300
[*SwitchA-bgp] ipv4-family unicast
[*SwitchA-bgp-af-ipv4] network [Link] [Link]
[*SwitchA-bgp-af-ipv4] commit
[~SwitchA-bgp-af-ipv4] quit
[~SwitchA-bgp] quit
# Configure SwitchB.
[~SwitchB] bgp 200
[*SwitchB-bgp] router-id [Link]
[*SwitchB-bgp] peer [Link] as-number 300
[*SwitchB-bgp] ipv4-family unicast
[*SwitchB-bgp-af-ipv4] network [Link] [Link]
[*SwitchB-bgp-af-ipv4] commit
[~SwitchB-bgp-af-ipv4] quit
[~SwitchB-bgp] quit
# Configure SwitchC.
[~SwitchC] bgp 300
[*SwitchC-bgp] router-id [Link]
[*SwitchC-bgp] peer [Link] as-number 100
[*SwitchC-bgp] peer [Link] as-number 200
[*SwitchC-bgp] commit
[~SwitchC-bgp] quit
The preceding command output shows that the status of BGP connections of SwitchC is
Established.
Step 4 Configure a BGP route dampening policy.
# Configure an IP prefix list prefix-a on SwitchC to allow routes with prefix [Link]/8 to pass
through.
[~SwitchC] ip ip-prefix prefix-a index 10 permit [Link] 8
[*SwitchC] commit
# Configure an IP prefix list prefix-b on SwitchC to allow routes with prefix [Link]/24 to
pass through.
[~SwitchC] ip ip-prefix prefix-b index 20 permit [Link] 24
[*SwitchC] commit
----End
Configuration Files
l Configuration file of SwitchA
#
sysname SwitchA
#
vlan batch 10 30
#
interface Vlanif10
ip address [Link] [Link]
#
interface Vlanif30
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 30
#
bgp 100
router-id [Link]
peer [Link] as-number 300
#
ipv4-family unicast
network [Link] [Link]
peer [Link] enable
#
return
#
sysname SwitchB
#
vlan batch 20 40
#
interface Vlanif20
ip address [Link] [Link]
#
interface Vlanif40
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 40
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
bgp 200
router-id [Link]
peer [Link] as-number 300
#
ipv4-family unicast
network [Link] [Link]
peer [Link] enable
#
return
l Configuration file of SwitchC
#
sysname SwitchC
#
vlan batch 10 20
#
interface Vlanif10
ip address [Link] [Link]
#
interface Vlanif20
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
bgp 300
router-id [Link]
peer [Link] as-number 100
peer [Link] as-number 200
#
ipv4-family unicast
dampening route-policy dampen-policy
peer [Link] enable
peer [Link] enable
#
route-policy dampen-policy permit node 10
if-match ip-prefix prefix-a
apply dampening 10 1000 2000 5000
#
route-policy dampen-policy permit node 20
if-match ip-prefix prefix-b
apply dampening 10 800 3000 10000
#
ip ip-prefix prefix-a index 10 permit [Link] 8
ip ip-prefix prefix-b index 20 permit [Link] 24
#
return
Networking Requirements
As shown in Figure 9-29, SwitchA belongs to AS 100, and SwitchB and SwitchC belong to
AS 200. EBGP connections are established between SwitchA and SwitchB, and between
SwitchA and SwitchC.
Service traffic is transmitted along the primary link SwitchA→SwitchB. The link
SwitchA→SwitchC→SwitchB functions as the backup link.
Use BFD to monitor the BGP peer relationship between SwitchA and SwitchB. When a fault
occurs on the link between SwitchA and SwitchB, BFD can rapidly detect the fault and notify
BGP. Then traffic is transmitted on the backup link.
10GE1/0/2 10GE1/0/3
VLANIF20 SwitchB VLANIF40
AS 100 [Link]/24 [Link]/24
10GE1/0/2
VLANIF20
[Link]/24 10GE1/0/1
VLANIF30
EBGP
SwitchA [Link]/24
AS 200 IBGP
10GE1/0/1 10GE1/0/2
EBGP
VLANIF10 VLANIF30
[Link]/24 [Link]/24
10GE1/0/1
VLANIF10
SwitchC
[Link]/24
Configuration Roadmap
The configuration roadmap is as follows:
1. Configure basic BGP functions on each switch.
2. Configure the MED attribute to control route selection.
3. Enable BFD on SwitchA and SwitchB.
Procedure
Step 1 Configure the VLAN to which each interface belongs.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchA
[*HUAWEI] commit
[~SwitchA] vlan batch 10 20
[*SwitchA] interface 10ge 1/0/1
[*SwitchA-10GE1/0/1] port link-type trunk
[*SwitchA-10GE1/0/1] port trunk allow-pass vlan 10
[*SwitchA-10GE1/0/1] quit
[*SwitchA] interface 10ge 1/0/2
[*SwitchA-10GE1/0/2] port link-type trunk
[*SwitchA-10GE1/0/2] port trunk allow-pass vlan 20
[*SwitchA-10GE1/0/2] quit
[*SwitchA] commit
The configurations of SwitchB and SwitchC are similar to the configuration of SwitchA, and
are not mentioned here.
Step 2 Configure VLANIF interfaces and assign IP addresses to the VLANIF interfaces.
[~SwitchA] interface vlanif 10
[*SwitchA-Vlanif10] ip address [Link] 24
[*SwitchA-Vlanif10] quit
[*SwitchA] interface vlanif 20
[*SwitchA-Vlanif20] ip address [Link] 24
[*SwitchA-Vlanif20] quit
[*SwitchA] commit
The configurations of SwitchB and SwitchC are similar to the configuration of SwitchA, and
are not mentioned here.
Step 3 Configure basic BGP functions, establish EBGP connections between SwitchA and SwitchB
and between SwitchA and SwitchC, and establish an IBGP connection between SwitchB and
SwitchC.
# Configure SwitchA.
[~SwitchA] bgp 100
[*SwitchA-bgp] router-id [Link]
[*SwitchA-bgp] peer [Link] as-number 200
[*SwitchA-bgp] peer [Link] as-number 200
[*SwitchA-bgp] commit
[~SwitchA-bgp] quit
# Configure SwitchB.
[~SwitchB] bgp 200
[*SwitchB-bgp] router-id [Link]
[*SwitchB-bgp] peer [Link] as-number 100
[*SwitchB-bgp] peer [Link] as-number 200
[*SwitchB-bgp] import-route direct
[*SwitchB-bgp] commit
[~SwitchB-bgp] quit
# Configure SwitchC.
[~SwitchC] bgp 200
[*SwitchC-bgp] router-id [Link]
[*SwitchC-bgp] peer [Link] as-number 100
[*SwitchC-bgp] peer [Link] as-number 200
[*SwitchC-bgp] commit
[~SwitchC-bgp] quit
# View the BGP peer status on SwitchA, finding that BGP peers have been established.
<SwitchA> display bgp peer
BGP local router ID : [Link]
Local AS number : 100
Total number of peers : 2 Peers in established state : 2
Peer V AS MsgRcvd MsgSent OutQ Up/Down State PrefRcv
[Link] 4 200 2 5 0 00:01:25 Established 0
[Link] 4 200 2 4 0 00:00:55 Established 0
# Set the MED values for the routes sent from SwitchB and SwitchC to SwitchA using a
route-policy.
# Configure SwitchB.
[~SwitchB] route-policy 10 permit node 10
[*SwitchB-route-policy] apply cost 100
[*SwitchB-route-policy] commit
[~SwitchB-route-policy] quit
[~SwitchB] bgp 200
[~SwitchB-bgp] peer [Link] route-policy 10 export
[*SwitchB-bgp] commit
# Configure SwitchC.
[~SwitchC] route-policy 10 permit node 10
[*SwitchC-route-policy] apply cost 150
[*SwitchC-route-policy] commit
[~SwitchC-route-policy] quit
[~SwitchC] bgp 200
[~SwitchC-bgp] peer [Link] route-policy 10 export
[*SwitchC-bgp] commit
In the BGP routing table, you can view that the next-hop address of the route to [Link]/24
is [Link], and traffic is transmitted on the primary link SwitchA→SwitchB.
Step 5 Configure BFD, and set the interval for sending BFD packets, the interval for receiving BFD
packets, and the local detection multiplier.
# Enable BFD on SwitchA, and set the minimum intervals for sending and receiving BFD
packets to 100 ms and the local detection multiplier to 4.
[~SwitchA] bfd
[*SwitchA-bfd] quit
[*SwitchA] bgp 100
[*SwitchA-bgp] peer [Link] bfd enable
[*SwitchA-bgp] peer [Link] bfd min-tx-interval 100 min-rx-interval 100
detect-multiplier 4
[*SwitchA-bgp] commit
# Enable BFD on SwitchB, and set the minimum intervals for sending and receiving BFD
packets to 100 ms and the local detection multiplier to 4.
[~SwitchB] bfd
[*SwitchB-bfd] quit
[*SwitchB] bgp 200
[*SwitchB-bgp] peer [Link] bfd enable
[*SwitchB-bgp] peer [Link] bfd min-tx-interval 100 min-rx-interval 100
detect-multiplier 4
[*SwitchB-bgp] commit
In the BGP routing table, you can view that the backup link SwitchA→SwitchC→SwitchB
takes effect after the primary link fails, and the next-hop address of the route to [Link]/24
becomes [Link].
----End
Configuration Files
l Configuration file of SwitchA
#
sysname SwitchA
#
router id [Link]
#
vlan batch 10 20
#
bfd
#
interface Vlanif10
ip address [Link] [Link]
#
interface Vlanif20
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
bgp 100
router-id [Link]
peer [Link] as-number 200
peer [Link] bfd min-tx-interval 100 min-rx-interval 100 detect-
multiplier 4
peer [Link] bfd enable
peer [Link] as-number 200
#
ipv4-family unicast
peer [Link] enable
peer [Link] enable
#
return
l Configuration file of SwitchB
#
sysname SwitchB
#
router id [Link]
#
vlan batch 20 30 40
#
bfd
#
interface Vlanif20
ip address [Link] [Link]
#
interface Vlanif30
ip address [Link] [Link]
#
interface Vlanif40
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 30
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
interface 10GE1/0/3
port link-type trunk
port trunk allow-pass vlan 40
#
bgp 200
router-id [Link]
peer [Link] as-number 200
peer [Link] as-number 100
peer [Link] bfd min-tx-interval 100 min-rx-interval 100 detect-
multiplier 4
peer [Link] bfd enable
#
ipv4-family unicast
import-route direct
peer [Link] enable
peer [Link] enable
peer [Link] route-policy 10 export
#
route-policy 10 permit node 10
apply cost 100
#
return
l Configuration file of SwitchC
#
sysname SwitchC
#
router id [Link]
#
vlan batch 10 30
#
bfd
#
interface Vlanif10
ip address [Link] [Link]
#
interface Vlanif30
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 30
#
bgp 200
router-id [Link]
peer [Link] as-number 200
peer [Link] as-number 100
#
ipv4-family unicast
network [Link] [Link]
peer [Link] enable
peer [Link] enable
peer [Link] route-policy 10 export
#
route-policy 10 permit node 10
apply cost 150
#
return
Networking Requirements
As shown in Figure 9-30, SwitchA belongs to AS 100, and SwitchB and SwitchC belong to
AS 200. SwitchA establishes EBGP connections with both SwitchB and SwitchC.
Service traffic is forwarded along the primary link SwitchA→SwitchB. The link
SwitchA→SwitchC→SwitchB is used as a backup. Customers require that a fault on the
primary link be detected in milliseconds so that service traffic can be fast switched to the
backup link if the primary link fails.
10GE1/0/3
FC00:0:0:7::1/64
10GE1/0/2
FC00:0:0:8::2/64
EBGP
AS 100 10GE1/0/1 SwitchB 10GE1/0/1
FC00:0:0:8::1/64
FC00:0:0:9::1:1/64
SwitchA IBGP
AS 200
10GE1/0/2
FC00:0:0:10::1/64 10GE1/0/1
FC00:0:0:9::1:2/64
EBGP
10GE1/0/2
FC00:0:0:10::2/64
SwitchC
Configuration Roadmap
The configuration roadmap is as follows:
1. Configure basic BGP4+ functions on all switches so that they can establish BGP peer
relationships with each other.
2. Configure MED-based route selection on SwitchA and SwitchB to forward traffic on the
primary link between SwitchA and SwitchB.
3. Enable BFD on SwitchA and SwitchB to detect faults in milliseconds so that service
traffic can be fast switched to the backup link if the primary link fails.
Procedure
Step 1 Configure IPv6 addresses for interfaces of all switches. The configuration details are not
provided here.
Step 2 Configure basic BGP4+ functions, establish EBGP connections between SwitchA and
SwitchB and between SwitchA and SwitchC, and establish an IBGP connection between
SwitchB and SwitchC.
# Configure SwitchA.
[~SwitchA] bgp 100
[*SwitchA-bgp] router-id [Link]
[*SwitchA-bgp] peer fc00:0:0:8::2 as-number 200
[*SwitchA-bgp] peer fc00:0:0:10::2 as-number 200
[*SwitchA-bgp] ipv6-family unicast
[*SwitchA-bgp-af-ipv6] peer fc00:0:0:8::2 enable
[*SwitchA-bgp-af-ipv6] peer fc00:0:0:10::2 enable
[*SwitchA-bgp-af-ipv6] commit
[~SwitchA-bgp-af-ipv6] quit
[~SwitchA-bgp] quit
# Configure SwitchB.
[~SwitchB] bgp 200
[*SwitchB-bgp] router-id [Link]
[*SwitchB-bgp] peer fc00:0:0:8::1 as-number 100
[*SwitchB-bgp] peer fc00:0:0:9::1:2 as-number 200
[*SwitchB-bgp] ipv6-family unicast
[*SwitchB-bgp-af-ipv6] peer fc00:0:0:8::1 enable
[*SwitchB-bgp-af-ipv6] peer fc00:0:0:9::1:2 enable
[*SwitchB-bgp-af-ipv6] network fc00:0:0:7:: 64
[*SwitchB-bgp-af-ipv6] commit
[~SwitchB-bgp-af-ipv6] quit
[~SwitchB-bgp] quit
# Configure SwitchC.
[~SwitchC] bgp 200
[*SwitchC-bgp] router-id [Link]
[*SwitchC-bgp] peer fc00:0:0:10::1 as-number 100
[*SwitchC-bgp] peer fc00:0:0:9::1:1 as-number 200
[*SwitchC-bgp] ipv6-family unicast
[*SwitchC-bgp-af-ipv6] peer fc00:0:0:10::1 enable
[*SwitchC-bgp-af-ipv6] peer fc00:0:0:9::1:1 enable
[*SwitchC-bgp-af-ipv6] commit
[~SwitchC-bgp-af-ipv6] quit
[~SwitchC-bgp] quit
# Run the display bgp ipv6 peer command on SwitchA. The command output shows that
BGP peer relationships have been established.
# Configure SwitchC.
[~SwitchC] route-policy 10 permit node 10
[*SwitchC-route-policy] apply cost 150
[*SwitchC-route-policy] quit
[*SwitchC] bgp 200
[*SwitchC-bgp] ipv6-family unicast
[*SwitchC-bgp-af-ipv6] peer fc00:0:0:10::1 route-policy 10 export
[*SwitchC-bgp-af-ipv6] quit
[*SwitchC-bgp] quit
[*SwitchC] commit
In the BGP routing table, you can view that the next-hop address of the route to
FC00:0:0:7::1/64 is FC00:0:0:8::2, and traffic is transmitted on the primary link
SwitchA→SwitchB.
Step 4 Configure BFD, and set the intervals at which BFD packets are sent and received and the
local detection multiplier.
# Configure BFD on SwitchA, and set the minimum intervals for sending and receiving BFD
packets to both 100 ms and the local detection multiplier to 4.
[~SwitchA] bfd
[*SwitchA-bfd] quit
[*SwitchA] bgp 100
[*SwitchA-bgp] peer fc00:0:0:8::2 bfd enable
[*SwitchA-bgp] peer fc00:0:0:8::2 bfd min-tx-interval 100 min-rx-interval 100
detect-multiplier 4
[*SwitchA-bgp] quit
[*SwitchA] commit
# Configure BFD on SwitchB, and set the minimum intervals for sending and receiving BFD
packets to both 100 ms and the local detection multiplier to 4.
[~SwitchB] bfd
[*SwitchB-bfd] quit
[*SwitchB] bgp 200
[*SwitchB-bgp] peer fc00:0:0:8::1 bfd enable
[*SwitchB-bgp] peer fc00:0:0:8::1 bfd min-tx-interval 100 min-rx-interval 100
detect-multiplier 4
[*SwitchB-bgp] commit
[~SwitchB-bgp] quit
--------------------------------------------------------------------------------
# Run the shutdown command on 10GE1/0/2 of SwitchB to simulate a primary link fault.
[~SwitchB] interface 10ge 1/0/2
[~SwitchB-10GE1/0/2] shutdown
[*SwitchB-10GE1/0/2] commit
In the BGP routing table, you can view that the backup link SwitchA-SwitchC-SwitchB
transmits traffic after the primary link fails, and the next-hop address of the route to
FC00:0:0:7::1/64 becomes FC00:0:0:10::2.
----End
Configuration Files
l Configuration file of SwitchA
#
sysname SwitchA
#
bfd
#
interface 10GE1/0/1
undo portswitch
ipv6 enable
ipv6 address FC00:0:0:8::1/64
#
interface 10GE1/0/2
undo portswitch
ipv6 enable
ipv6 address FC00:0:0:10::1/64
#
bgp 100
router-id [Link]
peer FC00:0:0:8::2 as-number 200
peer FC00:0:0:8::2 bfd min-tx-interval 100 min-rx-interval 100 detect-
multiplier 4
peer FC00:0:0:8::2 bfd enable
peer FC00:0:0:10::2 as-number 200
#
ipv4-family unicast
#
ipv6-family unicast
peer FC00:0:0:8::2 enable
peer FC00:0:0:10::2 enable
#
return
Networking Requirements
As shown in Figure 9-31, SwitchA belongs to AS 100; SwitchB, SwitchC, and SwitchD
belong to AS 200 and establish IBGP connections. Routes from SwitchA to SwitchD must
have backup forwarding information so that traffic can be fast switched to the backup link
after a fault is detected. This improves network reliability.
10GE1/0/1 SwitchB
AS 200
AS 100 VLANIF10
[Link]/24
10GE1/0/1 10GE1/0/1
VLANIF10 10GE1/0/2 VLANIF30
[Link]/24 VLANIF30 [Link]/24
[Link]/24
SwitchA SwitchD
10GE1/0/2 10GE1/0/2
10GE1/0/2
VLANIF20 VLANIF40
VLANIF40
[Link]/24 [Link]/24
[Link]/24
10GE1/0/1
VLANIF20
[Link]/24
SwitchC
Configuration Roadmap
The configuration roadmap is as follows:
1. Configure a route-policy on SwitchB and SwitchC to change the MED values of routes
to SwitchD to facilitate route selection.
2. Configure BGP Auto FRR on SwitchA so that traffic can be fast switched to the backup
link when a fault is detected.
Procedure
Step 1 Configure the VLAN to which each interface belongs.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchA
[*HUAWEI] commit
[~SwitchA] vlan batch 10 20
[*SwitchA] interface 10ge 1/0/1
[*SwitchA-10GE1/0/1] port link-type trunk
[*SwitchA-10GE1/0/1] port trunk allow-pass vlan 10
[*SwitchA-10GE1/0/1] quit
[*SwitchA] interface 10ge 1/0/2
[*SwitchA-10GE1/0/2] port link-type trunk
[*SwitchA-10GE1/0/2] port trunk allow-pass vlan 20
[*SwitchA-10GE1/0/2] quit
[*SwitchA] commit
The configurations of SwitchB, SwitchC, and SwitchD are similar to the configuration of
SwitchA, and are not mentioned here.
Step 2 Configure VLANIF interfaces and assign IP addresses to the VLANIF interfaces.
[~SwitchA] interface vlanif 10
[*SwitchA-Vlanif10] ip address [Link] 24
[*SwitchA-Vlanif10] quit
[*SwitchA] interface vlanif 20
[*SwitchA-Vlanif20] ip address [Link] 24
[*SwitchA-Vlanif20] quit
[*SwitchA] commit
The configurations of SwitchB, SwitchC, and SwitchD are similar to the configuration of
SwitchA, and are not mentioned here.
Step 3 Establish EBGP connections between SwitchA and SwitchB, and between SwitchA and
SwitchC, and establish IBGP connections between SwitchD and SwitchB, and between
SwitchD and SwitchC.
# Configure SwitchA.
<SwitchA> system-view
[~SwitchA] bgp 100
[*SwitchA-bgp] router-id [Link]
[*SwitchA-bgp] peer [Link] as-number 200
[*SwitchA-bgp] peer [Link] as-number 200
[*SwitchA-bgp] commit
The configurations of SwitchB and SwitchC are similar to the configuration of SwitchA, and
are not mentioned here.
# Configure SwitchD.
<SwitchD> system-view
[~SwitchD] bgp 200
[*SwitchD-bgp] router-id [Link]
[*SwitchD-bgp] peer [Link] as-number 200
[*SwitchD-bgp] peer [Link] as-number 200
[*SwitchD-bgp] commit
The configurations of SwitchB and SwitchC are similar to the configuration of SwitchD, and
are not mentioned here.
Step 4 Configure a route-policy on SwitchB and SwitchC so that routes to SwitchD have different
MED values.
# Configure a route-policy on SwitchB.
<SwitchB> system-view
[~SwitchB] route-policy rtb permit node 10
[*SwitchB-route-policy] apply cost 80
[*SwitchB-route-policy] quit
[*SwitchB] bgp 200
[*SwitchB-bgp] ipv4-family unicast
[*SwitchB-bgp-af-ipv4] peer [Link] route-policy rtb export
[*SwitchB-bgp-af-ipv4] commit
[~SwitchB-bgp-af-ipv4] quit
Destination: [Link]/32
Protocol: EBGP Process ID: 0
Preference: 255 Cost: 80
NextHop: [Link] Neighbour: [Link]
State: Active Adv Age: 00h00m12s
Tag: 0 Priority: low
Label: NULL QoSInfo: 0x0
IndirectID: 0x4
RelayNextHop: [Link] Interface: Vlanif10
TunnelID: 0x0 Flags: D
The MED value of the route learned from SwitchB is smaller. Therefore, SwitchA selects the
path SwitchA→SwitchB→SwitchD as the route to [Link]/32. Because FRR is not
configured, no backup forwarding information is available.
Step 5 Enable BGP Auto FRR on SwitchA, and check the routing information.
# Enable BGP Auto FRR on SwitchA.
<SwitchA> system-view
[~SwitchA] bgp 100
[~SwitchA-bgp] ipv4-family unicast
[~SwitchA-bgp-af-ipv4] auto-frr
[*SwitchA-bgp-af-ipv4] commit
[~SwitchA-bgp-af-ipv4] quit
# After the configuration, run the display ip routing-table verbose command on SwitchA to
check the routing information.
<SwitchA> display ip routing-table [Link] 32 verbose
Route Flags: R -
relay, D - download to fib, T - to vpn-instance, B - black hole route
------------------------------------------------------------------------------
Routing Table : _public_
Summary Count : 1
Destination: [Link]/32
Protocol: EBGP Process ID: 0
Preference: 255 Cost: 80
NextHop: [Link] Neighbour: [Link]
State: Active Adv Age: 00h52m45s
Tag: 0 Priority: low
Label: NULL QoSInfo: 0x0
IndirectID: 0x4
RelayNextHop: [Link] Interface: Vlanif10
TunnelID: 0x0 Flags: D
BkNextHop: [Link] BkInterface: Vlanif20
BkLabel: NULL SecTunnelID: 0x0
BkPETunnelID: 0x0 BkPESecTunnelID: 0x0
BkIndirectID: 0x2
The preceding command output shows that SwitchA has a backup next hop and a backup
outbound interface for the route to [Link]/32.
----End
Configuration Files
l Configuration file of SwitchA
#
sysname SwitchA
#
vlan batch 10 20
#
interface Vlanif10
ip address [Link] [Link]
#
interface Vlanif20
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 20
#
bgp 100
router-id [Link]
peer [Link] as-number 200
peer [Link] as-number 200
#
ipv4-family unicast
peer [Link] enable
peer [Link] enable
auto-frr
#
return
#
vlan batch 20 40
#
interface Vlanif20
ip address [Link] [Link]
#
interface Vlanif40
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 20
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 40
#
bgp 200
router-id [Link]
peer [Link] as-number 100
peer [Link] as-number 200
#
ipv4-family unicast
peer [Link] enable
peer [Link] enable
peer [Link] route-policy rtc export
#
route-policy rtc permit node 10
apply cost 120
#
return
Routing policies, when applied to routing information, change the paths through which
network traffic passes.
Definition
Routing policies are used to filter routes and set route attributes. By changing the attributes of
a route, a route policy can change the path that network traffic passes through.
Purpose
When advertising, receiving, and importing routes, routing protocols implement certain
policies to filter routes and change the attributes of the routes based on the following
networking requirements:
Benefits
Routing policies offer the following benefits:
l System resources are saved by controlling the size of the routing table.
l Network security is improved by controlling the route receiving, advertising and
importing.
l Network performance is improved by modifying the attributes of routes for proper traffic
planning.
Routing
policy
Succeed in
If match matching all Apply Successfully
clauses. Matching Permit
Node 1 If match Apply pass the
mode
…… …… routing policy.
Fail to match Deny
a clause. Denied
……
Succeed in
matching all
If match Matching Permit Apply Successfully
clauses.
Node N If match mode Apply pass the
…… …… routing policy.
Fail to match
Deny
a clause. Denied
Denied
Figure 10-1 shows that a routing policy consists of N nodes (N ≥ 1). Each node has its own
set of if-match clauses that must be matched in order to accept a policy. The if-match clauses
define matching rules related to route attributes and six filters. The system checks routes in
the nodes of a routing policy in ascending order of node IDs.
When a route matches all if-match clauses in a node, the route enters the matching mode
without other nodes checking. The two supported matching modes are:
l permit: A route is permitted, and actions defined by apply clauses are performed on the
route to set its attributes.
l deny: A route is denied.
If a route does not match any if-match clause in a node, the route is passed to the next node.
If the route does not match all of the If-match clauses in any one of the nodes, the route is
filtered out.
Filters
The six filters specified in if-match clauses in a routing policy are access control list (ACL),
IP prefix list, AS_Path filter, community filter, extended community filter, and route
distinguisher (RD) filter. These filters have their own matching rules and modes and can be
used independently to filter routes in specific situations. The following offers a brief
explanation to each of these filters.
ACL
ACLs filter routes based on the inbound interface, source or destination IP address, source or
destination port number, and protocol of packets. They can be used independently when
routing protocols advertise and receive routes. The if-match clauses in a routing policy
support only basic ACLs.
ACLs can be used in not only a routing policy but other scenarios. For details, see
"Understanding ACLs" in the Configuration Guide - Security - ACL Configuration.
IP Prefix List
IP prefix lists filter routes based on the IP prefixes of the source IP address, destination IP
address, and next-hop IP address of packets. They can be used independently when routing
protocols advertise and receive routes.
Each IP prefix list consists of multiple indexes, and each index matches a node. An IP prefix
list checks routes in the nodes of a routing policy in ascending order of node IDs. If a route
matches one node, the route is not checked by additional nodes. If a route does not match any
one of the nodes, the route is filtered out.
The IP prefix list supports exact matching or matching within a specified mask length.
NOTE
When an IP address is [Link] (a wildcard address), all routes in the mask length range are permitted or
denied.
AS_Path Filter
The AS_Path filter uses the AS_Path attribute of BGP to filter routes. It can be used
independently when BGP advertises and receives routes.
The AS_Path attribute records all ASs that a BGP route passes through. For details about the
AS_Path attribute, see "Understanding BGP - BGP Concepts" in the Configuration Guide - IP
Routing - BGP Configuration.
Community Filter
The community filter uses the community attribute of BGP to filter routes. It can be used
independently when BGP advertises and receives routes.
The BGP community attribute identifies a group of routes with the same properties. For
details about the community attribute, see "Understanding BGP - BGP Concepts" in the
Configuration Guide - IP Routing - BGP Configuration.
Extended Community Filter
The extended community filter uses the extended community attribute of BGP to filter routes.
It can be used independently when VPN targets are used to identify routes in a VPN.
Currently, the extended community filter applies only to the VPN target attribute in a VPN.
On a BGP/MPLS IP VPN, VPN targets are used to control the advertising and receiving of
VPN routing information between sites. For details about the VPN target attribute, see
"Understanding BGP/MPLS IP VPN - Concepts" in the Configuration Guide - VPN - BGP/
MPLS IP VPN Configuration.
RD Filter
The RD filter uses the RD attribute in a VPN to filter routes. It can be used independently
when the RD attribute is used to identify routes in a VPN.
A VPN instance uses RDs to separate address spaces and distinguish the IP prefixes with the
same address space. For details about the RD attribute, see "Understanding BGP/MPLS IP
VPN - Concepts" in the Configuration Guide - VPN - BGP/MPLS IP VPN Configuration.
Figure 10-2 Networking diagram for filtering received and advertised routes
RouterC
OSPF Internet
[Link]/24
[Link]/24
[Link]/24
[Link]/24
RouterB [Link]/24
RouterA
RouterD
The following two approaches can be used to meet the preceding network requirements:
l Use IP prefix lists.
– Configure an IP prefix list on RouterA and configure the IP prefix list as an export
policy of RouterA to be used by OSPF.
– Configure another IP prefix list on RouterC and configure the IP prefix list as an
import policy of RouterC to be used by OSPF.
l Use routing policies.
– Configure a routing policy (the matching rules can be the IP prefix list, cost, or
route tag) on RouterA and configure this routing policy as an export policy of
RouterA to be used by OSPF.
Figure 10-3 Networking diagram for transparently transmitting routes of other protocols
through an OSPF AS
RouterA RouterB
IS-IS RIP-2
OSPF
IS-IS
RIP-2
RouterC RouterD
To meet the preceding requirements, configure a routing policy on RouterA to set a tag for the
imported IS-IS routes. RouterD then identifies the IS-IS routes from OSPF routes based on
the tag.
Licensing Requirements
Routing policy is a basic feature of a switch and is not under license control.
Version Requirements
CE8868EI V200R005C10
CE8861EI V200R005C10
CE8860EI V100R006C00
CE8850-32CQ-EI V200R002C50
CE8850-64CQ-EI V200R005C00
CE7850EI V100R003C00
CE7855EI V200R001C00
CE6810EI V100R003C00
CE6850EI V100R001C00
CE6850-48S6Q-HI V100R005C00
CE6850-48T6Q-HI/CE6850U-HI/ V100R005C10
CE6851HI
CE6855HI V200R001C00
CE6856HI V200R002C50
CE6857EI V200R005C10
CE6860EI V200R002C50
CE6865EI V200R005C00
CE6870-24S6CQ-EI/ V200R001C00
CE6870-48S6CQ-EI
CE6870-48T6CQ-EI V200R002C50
CE6875EI V200R003C00
CE6880EI V200R002C50
CE5880EI V200R005C10
CE5810EI V100R002C00
CE5850EI V100R001C00
CE5850HI V100R003C00
CE5855EI V100R005C10
Feature Limitations
In versions earlier than V200R002C50, the CE5855EI does not support IPv6. However,
interfaces on a CE5855EI provide the IPv6 capability when the switch functions as a leaf
switch in a super virtual fabric (SVF) system and the SVF forwarding mode is set to
centralized or hybrid. In V200R002C50 and later versions, the CE5855EI supports IPv6.
The CE6810LI does not support IPv4 or IPv6 Layer 3 forwarding. After the IPv4 or IPv6
function is enabled on an interface of the CE6810LI, the configured IPv4 or IPv6 address can
only be used to manage the switch.
Pre-configuration Tasks
Before configuring filters, configure routing protocols.
Configuration Procedure
Configure each of the filters in any sequence based on network requirements.
Context
Configuring IP prefix lists controls the advertising and receiving of routes based on the
destination address.
If an IP prefix list is not used together with the if-match clauses in a routing policy, you must
set at least one node to the permit mode in the IP prefix list. If no node is set to the permit
mode, all routes are filtered out.
Procedure
Step 1 Configure an IPv4 prefix list.
1. Run system-view
----End
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ip as-path-filter { as-path-filter-number | as-path-filter-name } [ index index-number ]
{ permit | deny } regular-expression
An AS_Path filter is configured.
In the preceding command, regular-expression indicates that the AS_Path filter uses a regular
expression to define matching rules. For details about regular expressions, see "Overview of
CLIs" in CloudEngine 8800, 7800, 6800, and 5800 Series Switches - Configuration Guide -
Basic Configuration.
Step 3 Run commit
The configuration is committed.
----End
example, a company branch needs to receive routes only from its headquarters and from
branches in adjacent countries. In this case, you can configure different community attributes
for the branches. Routes in the original branch can then be managed based on community
attributes, without considering IP prefixes and AS numbers of routes in different countries.
Community filters are classified into basic and advanced community filters. An advanced
community filter supports regular expressions and is more flexible than a basic community
filter.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ip community-filter
A community filter is configured.
l To configure a basic community filter, run the ip community-filter { basic comm-filter-
name | basic-comm-filter-num } [ index index-number ] { permit | deny } [ community-
number | aa:nn | internet | no-export-subconfed | no-advertise | no-export ] &<1-20>
command.
l To configure an advanced community filter, run the ip community-filter { advanced
comm-filter-name | adv-comm-filter-num } [ index index-number ] { permit | deny }
regular-expression command.
In the preceding command, regular-expression indicates that the community filter uses a
regular expression to define matching rules. For details about regular expressions, see
"Overview of CLIs" in CloudEngine 8800, 7800, 6800, and 5800 Series Switches -
Configuration Guide - Basic Configuration.
Step 3 Run commit
The configuration is committed.
----End
Procedure
Step 1 Run system-view
The system view is displayed.
----End
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run ip rd-filter rd-filter-number { deny | permit } route-distinguisher &<1-10>
An RD filter is configured.
Step 3 Run commit
The configuration is committed.
----End
Pre-configuration Tasks
Each node of a routing policy can have a unique set of if-match and apply clauses.
Configuration Procedure
Before configuring the if-match and apply clauses, you must configure a routing policy. You
can configure the if-match and apply clauses in any sequence based on network
requirements.
Context
A routing policy can consist of multiple matching rules and actions.
You must set at least one node to the permit mode in a routing policy; otherwise, all routes
are filtered out.
Procedure
Step 1 Run system-view
When a routing policy is used to filter routes, it checks nodes in the routing policy in
ascending order according to node ID. Therefore, it starts route matching from the smallest
node ID. If a route matches a node in the routing policy, the system does not continue to
check other nodes. If a route fails to match all the nodes in the routing policy, the route is
filtered out.
----End
Context
An if-match clause defines matching rules related to route filters and attributes in a routing
policy.
If no if-match clause is configured in a node of a routing policy, all routes match this node. If
one or more if-match clauses are configured in a node, the relationship between the clauses is
"AND". This means that a route matches this node only when it matches all the if-match
clauses in this node.
If multiple if-match as-path-filter, if-match community-filter, if-match extcommunity-
filter, if-match interface, or if-match route-type clauses are configured, the relationship
between these clauses is "OR", such as if multiple if-match as-path-filter clauses are
configured in a node. The relationship of the five clauses independently is "AND", and the
relationship between these clauses and other if-match clauses is also "AND".
NOTE
If an if-match clause defines a filter that is not configured, all routes match this if-match clause by
default.
The if-match acl and if-match ip-prefix commands cannot be used together in the same node. When
both the commands are used in a node, the most recently configured one overrides the previously
configured one.
Procedure
Step 1 Run system-view
The system view is displayed.
Step 2 Run route-policy route-policy-name { permit | deny } node node
The routing policy view is displayed.
Step 3 Configure if-match clauses in any sequence for the routing policy based on network
requirements.
l Run if-match acl { acl-number | acl-name }
An if-match clause is configured to match the basic ACL.
l Run if-match as-path-filter { as-path-filter-number &<1-16> | as-path-filter-name }
An if-match clause is configured to match AS_Path filters.
l Run either of the following commands as required to configure an if-match clause to
match community filters:
– if-match community-filter { basic-comm-filter-num [ whole-match ] | adv-comm-
filter-num } &<1-16>
– if-match community-filter comm-filter-name [ whole-match ]
l Run if-match extcommunity-filter { { basic-extcomm-filter-num | adv-extcomm-filter-
num } &<1-16> | extcomm-filter-name }
An if-match clause is configured to match extended community filters.
l Run if-match extcommunity-list soo extcomm-filter-name
An if-match clause is configured to match the SoO extended community attribute.
----End
Context
An apply clause specifies the action of setting attributes for routes that have matched a
routing policy node. If a node does not have an apply clause configured, the node will only
filter routes. If one or more apply clauses are configured in a node, all the apply clauses are
applied to routes that match the node.
Procedure
Step 1 Run system-view
Step 3 According to network requirements, configure apply clauses for the routing policy.
l Run apply as-path { { as-number-plain | as-number-dot } &<1-10> { additive |
overwrite | delete } | none overwrite }
An apply clause is configured to set the AS_Path attribute of BGP routes.
l Run apply comm-filter { basic-comm-filter-number | adv-comm-filter-number | comm-
filter-name } delete
An apply clause is configured to delete the specified community attribute of BGP routes.
NOTE
To delete several community attributes, you can run the ip community-filter command several
times to configure these community attributes in a community filter one by one, and then apply a
routing policy with the apply comm-filter delete command configured to delete all community
attributes in the community filter.
l Run apply community none
An apply clause is configured to delete all community attributes of BGP routes.
l Run apply community { community-number | aa:nn | internet | no-advertise | no-
export | no-export-subconfed } &<1-32> [ additive ]
An apply clause is configured to set the community attributes of BGP routes.
l Run apply cost { [ apply-type ] cost | inherit }
An apply clause is configured to set the route cost.
l Run apply cost-type { external | internal | type-1 | type-2 | internal-inc-ibgp }
An apply clause is configured to set the cost type of routes.
l Run apply dampening half-life-reach reuse suppress ceiling
An apply clause is configured to set the dampening parameters of EBGP routes.
l Run apply extcommunity { rt { as-number:nn | ipv4-address:nn } } &<1-16>
[ additive ]
An apply clause is configured to set the RT extended community attributes of BGP
routes.
l Run apply extcommunity soo { source-of-origin } &<1-16> additive
An apply clause is configured to set the SoO extended community attributes of BGP
routes.
l Run apply ip-address next-hop { ipv4-address | peer-address }
An apply clause is configured to set the next-hop address of IPv4 routes.
l Run apply isis { level-1 | level-1-2 | level-2 }
An apply clause is configured to set the IS-IS route level.
l Run apply local-preference [ + | - ] preference
An apply clause is configured to set the local preference of BGP routes.
l Run apply mpls-lablel
An apply clause is configured to set the MPLS label.
l Run apply origin { egp { as-number-plain | as-number-dot } | igp | incomplete }
An apply clause is configured to set the origin attribute of BGP routes.
----End
Procedure
l Run the display route-policy [ route-policy-name ] command to verify the configuration
of the routing policy.
----End
Context
The IP prefix list statistics cannot be restored after being cleared. Exercise caution when
running these commands.
Procedure
l Run the reset ip ip-prefix [ ip-prefix-name ] command in the user view to clear IPv4
prefix list statistics.
l Run the reset ip ipv6-prefix [ ipv6-prefix-name ] command in the user view to clear
IPv6 prefix list statistics.
----End
examples, protocol or hardware replacement examples, and industry application examples, see
the Typical Configuration Examples.
Figure 10-4 Networking diagram for filtering the received and advertised routes
SwitchC
10GE1/0/1
VLANIF20
10GE1/0/2 [Link]/24
VLANIF20 10GE1/0/1
[Link]/24 VLANIF10 SwitchA
[Link]/24
OSPF SwitchB [Link]/24 [Link]/24
10GE1/0/1 [Link]/24
10GE1/0/3 VLANIF10 [Link]/24
VLANIF30 [Link]/24 [Link]/24
[Link]/24 10GE1/0/1
VLANIF30
[Link]/24
SwitchD
Configuration Roadmap
The configuration roadmap is as follows:
1. Configure a routing policy on SwitchA and apply the routing policy during route
advertisement. When routes are advertised, the routing policy allows SwitchA to provide
routes from network segments [Link]/24, [Link]/24, and [Link]/24 for
SwitchB, and allows devices on the OSPF network to access only the three network
segments.
2. Configure a routing policy on SwitchC and apply the routing policy during route
importing. When routes are imported, the routing policy allows SwitchC to receive only
the routes from, and therefore access, the network segment [Link]/24.
Procedure
Step 1 Add interfaces to VLANs.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchA
[*HUAWEI] commit
[~SwitchA] vlan 10
[*SwitchA-vlan10] quit
[*SwitchA] interface 10ge 1/0/1
[*SwitchA-10GE1/0/1] port link-type trunk
[*SwitchA-10GE1/0/1] port trunk allow-pass vlan 10
[*SwitchA-10GE1/0/1] quit
[*SwitchA] commit
The configurations of SwitchB, SwitchC, and SwitchD are similar to the configuration of
SwitchA, and are not described here.
Step 2 Assign IP addresses to VLANIF interfaces.
[~SwitchA] interface vlanif 10
[*SwitchA-Vlanif10] ip address [Link] 24
[*SwitchA-Vlanif10] quit
[*SwitchA] commit
The configurations of SwitchB, SwitchC, and SwitchD are similar to the configuration of
SwitchA, and are not described here.
Step 3 Configure basic OSPF functions.
# Configure SwitchA.
[~SwitchA] ospf
[*SwitchA-ospf-1] area 0
[*SwitchA-ospf-1-area-[Link]] network [Link] [Link]
[*SwitchA-ospf-1-area-[Link]] quit
[*SwitchA-ospf-1] quit
[*SwitchA] commit
# Configure SwitchB.
[~SwitchB] ospf
[*SwitchB-ospf-1] area 0
[*SwitchB-ospf-1-area-[Link]] network [Link] [Link]
[*SwitchB-ospf-1-area-[Link]] network [Link] [Link]
[*SwitchB-ospf-1-area-[Link]] network [Link] [Link]
[*SwitchB-ospf-1-area-[Link]] quit
[*SwitchB-ospf-1] quit
[*SwitchB] commit
# Configure SwitchC.
[~SwitchC] ospf
[*SwitchC-ospf-1] area 0
[*SwitchC-ospf-1-area-[Link]] network [Link] [Link]
[*SwitchC-ospf-1-area-[Link]] quit
[*SwitchC-ospf-1] quit
[*SwitchC] commit
# Configure SwitchD.
[~SwitchD] ospf
[*SwitchD-ospf-1] area 0
[*SwitchD-ospf-1-area-[Link]] network [Link] [Link]
[*SwitchD-ospf-1-area-[Link]] quit
[*SwitchD-ospf-1] quit
[*SwitchD] commit
Step 4 Configure five static routes on SwitchA and import these routes into OSPF.
# Check the IP routing table on SwitchB. You will see that the five static routes are imported
into OSPF.
[~SwitchB] display ip routing-table
Proto: Protocol Pre: Preference
Route Flags: R -
relay, D - download to fib, T - to vpn-instance, B - black hole route
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 13 Routes : 13
Destination/Mask Proto Pre Cost Flags NextHop Interface
[Link]/8 Direct 0 0 D [Link] InLoopBack0
[Link]/32 Direct 0 0 D [Link] InLoopBack0
[Link]/24 O_ASE 150 1 D [Link] Vlanif10
[Link]/24 O_ASE 150 1 D [Link] Vlanif10
[Link]/24 O_ASE 150 1 D [Link] Vlanif10
[Link]/24 O_ASE 150 1 D [Link] Vlanif10
[Link]/24 O_ASE 150 1 D [Link] Vlanif10
[Link]/24 Direct 0 0 D [Link] Vlanif10
[Link]/32 Direct 0 0 D [Link] Vlanif10
[Link]/24 Direct 0 0 D [Link] Vlanif20
[Link]/32 Direct 0 0 D [Link] Vlanif20
[Link]/24 Direct 0 0 D [Link] Vlanif30
[Link]/32 Direct 0 0 D [Link] Vlanif30
# Configure a routing policy on SwitchA for advertising routes, and use the IP prefix list a2b
to filter routes.
[~SwitchA] ospf
[~SwitchA-ospf-1] filter-policy ip-prefix a2b export static
[*SwitchA-ospf-1] commit
# Check the IP routing table on SwitchB. You will see that SwitchB receives only three routes
defined in the IP prefix list a2b.
[~SwitchB] display ip routing-table
Proto: Protocol Pre: Preference
Route Flags: R -
relay, D - download to fib, T - to vpn-instance, B - black hole route
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 11 Routes : 11
# Configure a routing policy on SwitchC for receiving routes, and use the IP prefix list in to
filter routes.
[~SwitchC] ospf
[~SwitchC-ospf-1] filter-policy ip-prefix in import
[*SwitchC] commit
# Check the IP routing table on SwitchC. You will see that SwitchC receives only one route
defined in the IP prefix list in.
[~SwitchC] display ip routing-table
Proto: Protocol Pre: Preference
Route Flags: R -
relay, D - download to fib, T - to vpn-instance, B - black hole route
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 5 Routes : 5
----End
Configuration Files
l Configuration file of SwitchA
#
sysname SwitchA
#
vlan batch 10
#
interface Vlanif10
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
ospf 1
filter-policy ip-prefix a2b export static
import-route static
area [Link]
network [Link] [Link]
#
ip ip-prefix a2b index 10 permit [Link] 24
ip ip-prefix a2b index 20 permit [Link] 24
ip ip-prefix a2b index 30 permit [Link] 24
#
interface Vlanif30
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 30
#
ospf 1
area [Link]
network [Link] [Link]
#
return
Networking Requirements
In Figure 10-5, SwitchB exchanges routing information with SwitchA through OSPF, and
with SwitchC through IS-IS. A user wants SwitchB to import IS-IS routes into the OSPF
network. The user also wants the route to [Link]/24 that is imported into the OSPF
network to have a low preference and the route to [Link]/24 to have a tag, making it easy
to reference by a routing policy.
Figure 10-5 Networking diagram for applying a routing policy for importing routes
Configuration Roadmap
The configuration roadmap is as follows:
1. Configure a routing policy on SwitchB, set the cost of the route to [Link]/24 to 100,
and apply the routing policy when OSPF imports IS-IS routes. The routing policy allows
the route to [Link]/24 to have a low preference.
2. Configure the routing policy on SwitchB, set the tag of the route to [Link]/24 to 20,
and apply the routing policy when OSPF imports IS-IS routes. This allows the tag of the
route to [Link]/24 to take effect, making it easy to reference by a routing policy.
Procedure
Step 1 Add interfaces to VLANs.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchA
[*HUAWEI] commit
[~SwitchA] vlan 10
[*SwitchA-vlan10] quit
[*SwitchA] interface 10ge 1/0/1
[*SwitchA-10GE1/0/1] port link-type trunk
[*SwitchA-10GE1/0/1] port trunk allow-pass vlan 10
[*SwitchA-10GE1/0/1] quit
[*SwitchA] commit
The configurations of SwitchB and SwitchC are similar to the configuration of SwitchA, and
are not described here.
Step 2 Assign IP addresses to VLANIF interfaces.
[~SwitchA] interface vlanif 10
[*SwitchA-Vlanif10] ip address [Link] 24
[*SwitchA-Vlanif10] quit
[*SwitchA] commit
The configurations of SwitchB and SwitchC are similar to the configuration of SwitchA, and
are not described here.
Step 3 Configure IS-IS.
# Configure SwitchC.
[~SwitchC] isis
[*SwitchC-isis-1] is-level level-2
[*SwitchC-isis-1] network-entity 10.0000.0000.0001.00
[*SwitchC-isis-1] quit
[*SwitchC] interface vlanif 20
[*SwitchC-Vlanif20] isis enable
[*SwitchC-Vlanif20] quit
[*SwitchC] interface vlanif 30
[*SwitchC-Vlanif30] isis enable
[*SwitchC-Vlanif30] quit
[*SwitchC] interface vlanif 40
[*SwitchC-Vlanif40] isis enable
[*SwitchC-Vlanif40] quit
[*SwitchC] interface vlanif 50
[*SwitchC-Vlanif50] isis enable
[*SwitchC-Vlanif50] quit
[*SwitchC] commit
# Configure Switch B.
[~SwitchB] isis
[*SwitchB-isis-1] is-level level-2
[*SwitchB-isis-1] network-entity 10.0000.0000.0002.00
[*SwitchB-isis-1] quit
[*SwitchB] interface vlanif 20
[*SwitchB-Vlanif20] isis enable
[*SwitchB-Vlanif20] quit
[*SwitchB] commit
# Check the OSPF routing table on SwitchA. You will see the imported routes.
[~SwitchA] display ospf routing
Total Nets: 5
Intra Area: 1 Inter Area: 0 ASE: 4 NSSA: 0
# Check the OSPF routing table on SwitchA. You will see that the cost of the route to
[Link]/24 is 100, the tag of the route to [Link]/24 is 20, and other route attributes
remain unchanged.
[~SwitchA] display ospf routing
Total Nets: 5
Intra Area: 1 Inter Area: 0 ASE: 4 NSSA: 0
----End
Configuration Files
l Configuration file of SwitchA
#
sysname SwitchA
#
vlan batch 10
#
interface Vlanif10
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 10
#
ospf 1
area [Link]
network [Link] [Link]
#
return
area [Link]
network [Link] [Link]
#
route-policy isis2ospf permit node 10
if-match ip-prefix prefix-a
apply cost 100
#
route-policy isis2ospf permit node 20
if-match acl 2002
apply tag 20
#
route-policy isis2ospf permit node 30
#
ip ip-prefix prefix-a index 10 permit [Link] 24
#
return
11 PBR Configuration
Configuring policy-based routing (PBR) improves the network security and implements load
balancing.
NOTE
The CE6810LI does not support IPv4 or IPv6 Layer 3 forwarding. After the IPv4 or IPv6 function is
enabled on an interface of the CE6810LI, the configured IPv4 or IPv6 address can only be used to
manage the switch.
The CE6880EI does not support ACL-based simplified PBR.
The CE6880EI does not support IPv6-based PBR, and the CE5810EI, and CE6880EI do not support low
priority of the PBR.
NOTE
l The main differences between PBR and routing policy are as follows:
l PBR implements routing based on data packets. It routes data packets based on user-defined
policies instead of following the routes in the existing routing table.
l Routing policies implement routing based on routing information. Routing policies are used to
filter routes and set route attributes. You can change route attributes (including reachability) to
change a route over which network traffic is transmitted.
Purpose
Traditionally, to determine the routes used to forward packets, a device searches its IP routing
table based on the destination address carried in the packets. Currently, more users require
that devices route packets based on self-defined policies. PBR allows network administrators
to make user-defined policies to change packet routes based on source addresses, packet size,
and link quality in addition to destination addresses.
Benefits
PBR has the following advantages:
Implementation
PBR applies only to forwarded packets, but not to locally generated packets such as local ping
packets. PBR is valid only for IP packets.
The device does not support PBR-based tracert. When the device receives a tracert packet, it
discards the packet if it has only PBR but not a routing entry for the destination IP address of
the packet.
PBR is implemented based on the redirection action configured in a traffic behavior and takes
effect only on incoming packets of interfaces. By default, a device forwards packets to the
next hop found in its routing table. If PBR is configured, the device forwards packets to the
next hop specified by PBR. You can also specify a low priority for a policy-based route to
enable the device to forward packets matching PBR to the next hop/outbound interface of the
specific route in its routing table. When the specific route becomes invalid, the device
forwards packets to the next hop/outbound interface specified by PBR. When both the next
hop of the specific route and next hop specified by PBR become invalid, and the routing table
has default routes, the device continues forwarding packets according to the matching default
route.
When the device forwards packets to the next hop specified by PBR, the device triggers ARP
learning if it has no ARP entry corresponding to the IP address of the specified next hop. If
the device cannot learn this ARP entry, it forwards packets to the next hop found in the
routing table. If the device has this ARP entry, it forwards packets to the next hop specified by
PBR.
To address this issue, an efficient method is required to detect the redirection link quality in
PBR. Smart policy-based routing (SPBR) is such a method that is implemented using NQA
for PBR. NQA for PBR uses an NQA test instance to detect the link status and determine
whether PBR takes effect according to the test results. SPBR actively detects the link quality
and matches service requirements to select an optimal link to forward service data, preventing
network blackholes and flappings.
NQA for PBR binds an NQA test instance to PBR and uses the NQA test instance to detect
the redirection next-hop link status in PBR. According to the NQA test results, the system
determines whether the PBR configuration takes effect, preventing communication
interruptions and ensuring service quality. When configuring NQA for PBR, pay attention to
the following points:
l If no NQA test instance exist or the NQA test instance type is not ICMP, link detection
and the PBR configuration will fail.
l If an NQA test instance is bound to PBR successfully, and link detection is normal, PBR
takes effect.
l If an NQA test instance is bound to PBR successfully, but link detection fails
continuously, PBR automatically becomes ineffective.
l If an NQA test instance is bound to PBR successfully, and the link fault is rectified, PBR
automatically takes effect.
For details about NQA, see "NQA Configuration - Principles" in the Configuration Guide -
Network Management and Monitoring Configuration.
NOTE
Application Scenario
As shown in Figure 11-1, each access switch is connected to N clients. Network
administrators configure PBR on SwitchA to redirect packets from the previous forwarding
path SwitchA→SwitchB→RouterB (RouterA) to a new path SwitchA→SwitchC→RouterC
(RouterA) and bind an NQA test instance to PBR to detect the link status of the new path. If
the NQA test instance finds that the link of the new path is working properly, packets can be
forwarded normally. If the NQA test instance finds that the link of the new path is Down and
the number of detection times exceeds the specified value, the PBR configuration
automatically becomes ineffective, and packets are forwarded along the previous forwarding
path.
Network
RouterA
RouterB RouterC
SwitchB
SwitchC
SwitchA
Context
PBR can redirect the Layer 3 packets received on an interface to a specified next hop address.
By configuring the redirection action, the device redirects packets matching traffic
classification rules to the next hop address.
A traffic policy containing the redirection action can only be used in the inbound direction.
Pre-configuration Tasks
Before configuring PBR, complete the following tasks:
l Configure IP addresses and routing protocols for interfaces to ensure routing
connectivity.
Procedure
1. Configure a traffic classifier.
a. Run system-view
The system view is displayed.
b. Run traffic classifier classifier-name [ type { and | or } ]
A traffic classifier is created and the traffic classifier view is displayed, or the view
of an existing traffic classifier is displayed.
and is the logical operator between the rules in a traffic classifier, which means
that:
n If a traffic classifier contains ACL rules, packets match the traffic classifier
only if they match one ACL rule and all the non-ACL rules.
n If a traffic classifier does not contain any ACL rules, packets match the traffic
classifier only if they match all the rules in the classifier.
The logical operator or means that packets match a traffic classifier if they match
one or more rules in the classifier.
By default, the relationship between rules in a traffic classifier is or.
c. Run if-match
Matching rules are defined for the traffic classifier.
For details about matching rules in a traffic classifier, see "Configuring a Traffic
Classifier" in "MQC Configuration" of the CloudEngine 8800, 7800, 6800, and
5800 Series Switches Configuration Guide - QoS Configuration Guide.
d. Run commit
The configuration is committed.
e. Run quit
Exit from the traffic classifier view.
2. Configure a traffic behavior.
NOTE
l After the TRILL gateway function is configured, when the policy is applied in VLANIF
interface of a CE VLAN, the device does not support traffic action of PBR to specify the low-
precedence.
l The CE5810EI, and CE6880EI do not support traffic action of PBR to specify the low-
precedence.
l Only the CE6855HI, CE6856HI and CE7855EI can import VXLAN service traffic through
PBR. You are advised to run the redirect remote command to configure PBR.
this next hop will not participate in load balancing and the remaining
reachable next hops perform load balancing. If multiple next hops work
in active/standby mode, traffic will be automatically switched to the next
reachable next hop.
○ By default, if all the configured next hops are unreachable, packets are
forwarded according to the destination address. If the fail-action discard
parameter is configured, packets are discarded if all the configured next
hops are unreachable.
○ After you specify the low-precedence parameter, the device forwards
packets matching PBR to the next hop/outbound interface of the specific
route in its routing table. When the specific route becomes invalid, the
device forwards packets to the next hop/outbound interface specified by
PBR. When both the next hop of the specific route and next hop specified
by PBR become invalid, and the routing table has default routes, the
device continues forwarding packets according to the matching default
route.
n Run redirect remote [ vpn-instance vpn-instance-name ] ip-address [ track
nqa admin-name test-name [ reaction probe-failtimes fail-times ] ] [ exact ]
[ low-precedence [ source vpn-instance vpn-instance-name ] ]
The action that redirects packets to the remote next hop is created in the traffic
behavior.
○ To redirect packets to the IP address of the indirectly-connected next hop,
run the redirect remote command. When ip-address specifies the IP
address of the indirectly-connected next hop for redirection, the device
examines the IP routing table. If the IP routing table contains a route to
the IP address, the device forwards the packets according to the route.
○ If an NQA test instance is specified to detect the link for the redirection
next hop IP address and the number of NQA link detection failures is
larger than or equal to the configured maximum value, the current next
hop will be cancelled.
○ When exact is specified, the device redirects packets only when the IP
routing table contains the 32-bit host route matching ip-address. For
example, when redirect remote [Link] exact is configured, the IP
routing table of the device must contain a route to [Link]/32; otherwise,
the device cannot redirect packets.
○ After you specify the low-precedence parameter, the device forwards
packets matching PBR to the next hop/outbound interface of the specific
route in its routing table. When the specific route becomes invalid, the
device forwards packets to the next hop/outbound interface specified by
PBR. When both the next hop of the specific route and next hop specified
by PBR become invalid, and the routing table has default routes, the
device continues forwarding packets according to the matching default
route.
NOTE
After the TRILL gateway function is configured, when the policy is applied in VLANIF
interface of a CE VLAN, the device does not support traffic action of PBR to specify the
low-precedence.
c. Run commit
The configuration is committed.
d. Run quit
Exit from the traffic behavior view.
e. Run quit
Exit from the system view.
3. Configure a traffic policy.
a. Run system-view
The system view is displayed.
b. Run traffic policy policy-name
A traffic policy is created and the traffic policy view is displayed, or the view of an
existing traffic policy is displayed.
c. Run classifier classifier-name behavior behavior-name [ precedence precedence-
value ]
A traffic behavior is bound to a traffic classifier in the traffic policy.
d. Run commit
The configuration is committed.
e. Run quit
Exit from the traffic policy view.
f. Run quit
Exit from the system view.
4. Apply the traffic policy.
NOTE
l For details about the configuration guidelines of applying traffic policies in different views on
the CE switches excluding CE6870EI, see Licensing Requirements and Limitations for MQC
(CE Switches Excluding CE6870EI and CE6875EI).
l For details about the configuration guidelines of applying traffic policies in different views on
the CE6870EI, see Licensing Requirements and Limitations for MQC (CE6870EI and
CE6875EI).
l If a traffic policy needs to be applied to multiple VLANs and interfaces or multiple traffic
classifiers for matching packets from different source IP addresses need to be bound to the
same traffic policy, you are advised to add these VLANs, source IP addresses, and interfaces
to the same QoS group and apply the traffic policy to the QoS group.
– Applying a traffic policy to an interface
i. Run system-view
The system view is displayed.
ii. Run interface interface-type interface-number
The interface view is displayed.
NOTE
PBR for VXLAN packets on a VXLAN Layer 3 gateway takes effect only on BDIF
interfaces.
iii. Run traffic-policy policy-name inbound
A traffic policy is applied to the interface.
iv. Run commit
The configuration is committed.
– Applying a traffic policy to a VLAN
i. Run system-view
The system view is displayed.
ii. Run vlan vlan-id
The VLAN view is displayed.
iii. Run traffic-policy policy-name inbound
A traffic policy is applied to the VLAN.
After a traffic policy is applied, the system performs traffic policing for the
packets that belong to a VLAN and match traffic classification rules in the
inbound direction.
iv. Run commit
The configuration is committed.
– Applying a traffic policy to the system
i. Run system-view
The system view is displayed.
ii. Run traffic-policy policy-name global [ slot slot-id ] inbound
A traffic policy is applied to the system.
iii. Run commit
The configuration is committed.
– Applying a traffic policy in a VPN instance
i. Run system-view
The system view is displayed.
ii. (Optional) Run qos port-group group-id
A QoS interface group is created and its view is displayed.
iii. (Optional) Run group-member { interface-type interface-number1 [ to
interface-type interface-number2 ] }
Interfaces are added to the QoS interface group.
iv. (Optional) Run quit
Exit from the QoS interface group view.
v. Run ip vpn-instance vpn-instance-name
A VPN instance is created and its view is displayed.
vi. Run traffic-policy policy-name inbound [ exclude qos port-group group-id ]
The traffic policy is applied to the VPN instance.
vii. Run commit
The configuration is committed.
– Applying a traffic policy to a QoS group
i. Run system-view
The system view is displayed.
ii. Run qos group group-name
The QoS group view is displayed.
iii. Run the following commands as required.
l (Models excluding the CE6870EI and CE6880EI) Run the display system tcam match-
rules slot slot-id [ [ ingress | egress | group group-id ] | [ delay-time time-value ] ] *
command to display matched entries.
Pre-configuration Tasks
You can configure ACL-based simplified PBR to redirect Layer 3 packets that match ACL
rules to a specified next-hop IP address.
Before configuring ACL-based simplified PBR, complete the following tasks:
l Configure link layer attributes of interfaces to ensure proper operation of interfaces.
l Configure ACL rules.
Context
To control traffic that enters a network, configure an ACL rule to match packets based on
packet information including the source IP address, fragment flag, destination IP address,
source port number, and source MAC address, and then configure an ACL-based simplified
traffic policy to filter the packets that match the ACL rule. Compared with PBR, ACL-based
simplified PBR does not require a traffic classifier, traffic behavior, or traffic policy, resulting
in easy configuration. However, ACL-based simplified PBR matches packets only based on
ACL rules, so it does not support so many types of matching rules as a traffic policy.
If ACL-based simplified traffic policies are configured in the system view, VLAN view, and
interface view, the precedence of these policies is: interface view > VLAN view > system
view.
Procedure
l Configure redirection globally.
a. Run system-view
The system view is displayed.
b. Run the following commands as required.
n Run traffic-redirect acl { { { basic-acl | acl-name } | { advanced-acl | acl-
name } } | { l2-acl | acl-name } } * [ vpn-instance vpn-instance-name ]
nexthop ip-address [ track nqa admin-name test-name [ reaction probe-
failtimes fail-times ] ] [ fail-action discard ] global [ slotslot-id ] inbound
Packets are redirected to a specified next-hop IP address.
This action takes effect only in Layer 3 forwarding. By default, if the
configured next hop is unreachable, packets are forwarded based on their
destination address. If the fail-action discard parameter is configured, packets
are discarded if the configured next hop is unreachable.
n Run traffic-redirect acl { { { basic-acl | acl-name } | { advanced-acl | acl-
name } } | { l2-acl | acl-name } } * remote [ vpn-instance vpn-instance-
name ] ip-address [ track nqa admin-name test-name [ reaction probe-
failtimes fail-times ] ] [ exact ] global [ slot slot-id ] inbound
Packets are redirected to a remote next hop.
Follow-up Procedure
For the CE6870EI, if a low-priority traffic policy takes effect before you apply a high-priority
traffic policy, ACL rules may be slow to take effect. Consequently, service processing will be
delayed. You can run the traffic-policy fast-mode command in the system view to enable fast
delivery of ACLs. This ensures that ACL rules take effect rapidly and services can be
processed in real time.
Pre-configuration Tasks
Before configuring ACL6-based simplified PBR, complete the following tasks:
l Configure link layer attributes of interfaces to ensure proper operation of interfaces.
l Configure ACL6 rules.
Context
To control traffic that enters a network, configure an ACL6 rule to match packets based on
packet information including the source IP address, fragment flag, destination IP address,
source port number, and source MAC address, and then configure an ACL6-based simplified
traffic policy to filter the packets that match the ACL6 rule. Compared with PBR, ACL6-
based simplified PBR does not require a traffic classifier, traffic behavior, or traffic policy,
resulting in easy configuration. However, ACL6-based simplified PBR matches packets only
based on ACL6 rules, so it does not support so many types of matching rules as a traffic
policy.
If ACL6-based simplified traffic policies are configured in the system view, VLAN view, and
interface view, the precedence of these policies is: interface view > VLAN view > system
view.
Procedure
l Configure redirection globally.
a. Run system-view
This action takes effect only in Layer 3 forwarding. By default, if the configured
next hop is unreachable, packets are forwarded based on their destination address. If
the fail-action discard parameter is configured, packets are discarded if the
configured next hop is unreachable.
c. Run commit
Follow-up Procedure
For the CE6870EI, if a low-priority traffic policy takes effect before you apply a high-priority
traffic policy, ACL rules may be slow to take effect. Consequently, service processing will be
delayed. You can run the traffic-policy fast-mode command in the system view to enable fast
delivery of ACLs. This ensures that ACL rules take effect rapidly and services can be
processed in real time.
Network
RouterA RouterB
[Link]/24 [Link]/24
10GE1/0/3 10GE1/0/4
Switch
10GE1/0/1 10GE1/0/2
10GE1/0/2 10GE1/0/2
SwitchA SwitchB
10GE1/0/1 10GE1/0/1
Configuration Roadmap
Redirection is used to implement PBR so that Switch can provide differentiated services. The
configuration roadmap is as follows:
1. Create VLANs and configure interfaces so that Switch can connect to the external
network devices.
2. Configure a traffic classifier to classify packets based on VLAN IDs.
3. Configure a traffic behavior to redirect the packets with VLAN ID 100 to [Link]/24.
4. Configure a traffic policy, and bind the traffic classifier and traffic behavior to the traffic
policy. Apply the traffic policy to the inbound direction of 10GE1/0/1 on Switch to
implement PBR for tenant 1.
Procedure
Step 1 Create VLANs and configure interfaces and the default route to allow all packets to access the
external network devices through the gateway [Link]/24.
# Create VLAN 100 on SwitchA.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchA
[*HUAWEI] commit
[~SwitchA] vlan 100
[*SwitchA-vlan100] quit
[*SwitchA] commit
# Create VLAN 100, VLAN 200, VLAN 300, and VLAN 400 on Switch.
<HUAWEI> system-view
[~HUAWEI] sysname Switch
[*HUAWEI] commit
[~Switch] vlan batch 100 200 300 400
[*Switch] commit
# Create VLANIF 100, VLANIF 200, VLANIF 300, and VLANIF 400 on Switch and
configure IP addresses for them.
[~Switch] interface vlanif 100
[*Switch-Vlanif100] ip address [Link] 24
[*Switch-Vlanif100] quit
[*Switch] interface vlanif 200
# Configure the default route on Switch to allow all packets to access the external network
devices through the gateway [Link]/24.
[~Switch] ip route-static [Link] [Link] [Link]
[*Switch] commit
Step 4 Configure a traffic policy and apply the traffic policy to interfaces.
# Create a traffic policy p1 on the Switch and bind the traffic policy to the traffic classifier
and traffic behavior.
[~Switch] traffic policy p1
[*Switch-trafficpolicy-p1] classifier c1 behavior b1
[*Switch-trafficpolicy-p1] quit
[*Switch] commit
Classifier: c1
Type: OR
Behavior: b1
Redirect:
Redirect nexthop
[Link]
----End
Configuration Files
l Configuration file of Switch
#
sysname Switch
#
vlan batch 100 200 300 400
#
traffic classifier c1 type or
if-match vlan 100
#
traffic behavior b1
redirect nexthop [Link]
#
traffic policy p1
classifier c1 behavior b1 precedence 5
#
interface Vlanif100
ip address [Link] [Link]
#
interface Vlanif200
ip address [Link] [Link]
#
interface Vlanif300
ip address [Link] [Link]
#
interface Vlanif400
ip address [Link] [Link]
#
interface 10GE1/0/1
port link-type trunk
port trunk allow-pass vlan 100
traffic-policy p1 inbound
#
interface 10GE1/0/2
port link-type trunk
port trunk allow-pass vlan 200
#
interface 10GE1/0/3
port default vlan 300
#
interface 10GE1/0/4
port default vlan 400
#
ip route-static [Link] [Link] [Link]
#
return
#
return
Network
RouterA
RouterB RouterC
[Link]/24
[Link]/24
Area 0
10GE 1/0/2 10GE 1/0/2
[Link]/24 [Link]/24
SwitchB SwitchC
10GE 1/0/1
10GE 1/0/1
VLANIF 100
VLANIF 200
[Link]/24
[Link]/24
10GE 1/0/1
SwitchA
10GE 1/0/2
VLANIF 100
VLANIF 200
[Link]/24
[Link]/24
10GE 1/0/3
VLANIF 300
[Link]/24
10GE 1/0/1
VLANIF 300
[Link]/24
SwitchD
……
Configuration Roadmap
The configuration roadmap is as follows:
1. Create VLANs, configure interfaces, and enable OSPF on each switch to connect the
users to the external network device (RouterA).
2. Configure an ACL to match the packets with the source IP address [Link]/24.
3. Configure a traffic classifier to match the ACL so that SwitchA can differentiate packets.
4. Configure a traffic behavior to redirect the packets that match the ACL to [Link]/24.
5. Configure a traffic policy, bind the traffic classifier and traffic behavior to it, and apply it
to the inbound direction of 10GE1/0/3 on SwitchA to implement PBR.
Procedure
Step 1 Create VLANs, configure interfaces, and enable basic OSPF functions.
# Configure SwitchA.
# Create VLANs and add interfaces to respective VLANs on SwitchA.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchA
[*HUAWEI] commit
[~SwitchA] vlan batch 100 200 300
[*SwitchA] commit
[~SwitchA] interface 10ge 1/0/1
[~SwitchA-10GE1/0/1] port link-type trunk
[*SwitchA-10GE1/0/1] port trunk allow-pass vlan 100
[*SwitchA-10GE1/0/1] quit
[*SwitchA] interface 10ge1/0/2
[*SwitchA-10GE1/0/2] port link-type trunk
[*SwitchA-10GE1/0/2] port trunk allow-pass vlan 200
[*SwitchA-10GE1/0/2] quit
[*SwitchA] interface 10ge 1/0/3
[*SwitchA-10GE1/0/3] port link-type trunk
[*SwitchA-10GE1/0/3] port trunk allow-pass vlan 300
[*SwitchA-10GE1/0/3] quit
[*SwitchA] commit
# Configure SwitchB. The configurations of SwitchC and SwitchD are similar to that of
SwitchB, and are not mentioned here.
# Create VLANs and add interfaces to respective VLANs on SwitchB.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchB
[*HUAWEI] commit
[~SwitchB] vlan batch 100
[*SwitchB] quit
[*SwitchB] interface 10ge 1/0/1
[*SwitchB-10GE1/0/1] port link-type trunk
# Enable the NQA client and create an ICMP NQA test instance on SwitchA.
[~SwitchA] nqa test-instance admin icmp
[*SwitchA-nqa-admin-icmp] test-type icmp
[*SwitchA-nqa-admin-icmp] destination-address ipv4 [Link]
[*SwitchA-nqa-admin-icmp] frequency 10
[*SwitchA-nqa-admin-icmp] probe-count 2
[*SwitchA-nqa-admin-icmp] interval seconds 5
[*SwitchA-nqa-admin-icmp] timeout 4
[*SwitchA-nqa-admin-icmp] start now
[*SwitchA-nqa-admin-icmp] quit
[*SwitchA] commit
# Create an advanced ACL 3001 on SwitchA to allow packets with the source IP address
[Link]/24 to pass through.
[~SwitchA] acl 3001
[*SwitchA-acl4-advance-3001] rule permit ip source [Link] [Link]
[*SwitchA-acl4-advance-3001] quit
[*SwitchA] commit
Step 6 Configure a traffic policy and apply the traffic policy to an interface.
# Create a traffic policy p1 on SwitchA, and bind the traffic classifier and traffic behavior to
the traffic policy.
[~SwitchA] traffic policy p1
[*SwitchA-trafficpolicy-p1] classifier c1 behavior b1
[*SwitchA-trafficpolicy-p1] quit
[*SwitchA] commit
0
System busy operation number: 0 Connection fail number:
0
Operation sequence errors number: 0 RTT Status errors number:
0
Destination IP address:
[Link]
ACL's step is
5
Classifier:
c1
Type:
OR
Rule(s):
if-match acl
3001
Policy:
p1
Classifier:
c1
Type:
OR
Behavior:
b1
Redirect:
----End
Configuration Files
l SwitchA configuration file
#
sysname SwitchA
#
router id
[Link]
#
vlan batch 100 200
#
acl number
3001
if-match acl
3001
traffic behavior
b1
traffic policy
p1
interface
Vlanif100
ip address [Link]
[Link]
interface
Vlanif200
ip address [Link]
[Link]
interface
Vlanif300
ip address [Link]
[Link]
interface
GE1/0/1
port link-type
trunk
interface
GE1/0/2
port link-type
trunk
interface
GE1/0/3
port link-type
trunk
traffic-policy p1
inbound
ospf
1
area
[Link]
network [Link]
[Link]
network [Link]
[Link]
network [Link]
[Link]
test-type
icmp
destination-address ipv4
[Link]
interval seconds
5
timeout
4
probe-count
2
frequency
10
start
now
#
return
l SwitchB configuration file
#
sysname SwitchB
#
router id
[Link]
#
vlan batch 100
#
interface
Vlanif100
ip address [Link]
[Link]
interface
GE1/0/1
port link-type
trunk
interface
GE1/0/2
undo
portswitch
ip address [Link]
[Link]
ospf
1
area
[Link]
network [Link]
[Link]
network [Link]
[Link]
#
return
l SwitchC configuration file
#
sysname SwitchC
#
router id
[Link]
#
vlan batch 200
#
interface
Vlanif200
ip address [Link]
[Link]
interface
GE1/0/1
port link-type
trunk
interface
GE1/0/2
undo
portswitch
ip address [Link]
[Link]
ospf
1
area
[Link]
network [Link]
[Link]
network [Link]
[Link]
#
return
router id
[Link]
#
vlan batch 300
#
interface
Vlanif300
ip address [Link]
[Link]
interface
GE1/0/1
port link-type
trunk
ospf
1
area
[Link]
network [Link]
[Link]
#
return
Network
RouterA
RouterB RouterC
[Link]/24
[Link]/24
Area 0
10GE 1/0/2 10GE 1/0/2
[Link]/24 [Link]/24
SwitchB SwitchC
10GE 1/0/1
10GE 1/0/1
VLANIF 100
VLANIF 200
[Link]/24
[Link]/24
10GE 1/0/1
SwitchA
10GE 1/0/2
VLANIF 100
VLANIF 200
[Link]/24
[Link]/24
10GE 1/0/3
VLANIF 300
[Link]/24
10GE 1/0/1
VLANIF 300
[Link]/24
SwitchD
……
User 1 User 2 User N
Configuration Roadmap
The configuration roadmap is as follows:
1. Create VLANs, configure interfaces, and enable OSPF on each switch to connect the
users to the external network device (RouterA).
2. Configure an ACL to match the packets with the source IP address [Link]/24.
3. Configure an ACL-based simplified traffic policy to redirect the packets that match the
ACL to [Link]/24.
Procedure
Step 1 Create VLANs, add interfaces to VLANs, and configure basic OSPF functions.
# Configure SwitchA.
# Create VLANs and add interfaces to respective VLANs on SwitchA.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchA
[*HUAWEI] commit
[~SwitchA] vlan batch 100 200 300
[*SwitchA] commit
[~SwitchA] interface 10ge 1/0/1
[~SwitchA-10GE1/0/1] port link-type trunk
[*SwitchA-10GE1/0/1] port trunk allow-pass vlan 100
[*SwitchA-10GE1/0/1] quit
[*SwitchA] interface 10ge 1/0/2
[*SwitchA-10GE1/0/2] port link-type trunk
[*SwitchA-10GE1/0/2] port trunk allow-pass vlan 200
[*SwitchA-10GE1/0/2] quit
[*SwitchA] interface 10ge 1/0/3
[*SwitchA-10GE1/0/3] port link-type trunk
[*SwitchA-10GE1/0/3] port trunk allow-pass vlan 300
[*SwitchA-10GE1/0/3] quit
[*SwitchA] commit
# Configure SwitchB.
# Create VLANs and add interfaces to respective VLANs on SwitchB.
<HUAWEI> system-view
[~HUAWEI] sysname SwitchB
[*HUAWEI] commit
[~SwitchB] vlan batch 100
[*SwitchB] quit
[*SwitchB] interface 10ge 1/0/1
[*SwitchB-10GE1/0/1] port link-type trunk
# The configurations of SwitchC and SwitchD are similar to that of SwitchB, and are not
mentioned here.
# Create an advanced ACL 3001 on SwitchA to allow packets with the source IP address
[Link]/24 to pass through.
[~SwitchA] acl 3001
[*SwitchA-acl4-advance-3001] rule permit ip source [Link] [Link]
[*SwitchA-acl4-advance-3001] quit
[*SwitchA] commit
Step 3 Configure ACL-based simplified PBR to redirect packets to a specified remote next hop.
# Create an ACL-based simplified traffic policy on SwitchA. The traffic policy uses ACL
3001 to match packets.
ACL's step is
5
Total records :
1
-------------------------------------------------------------------------------
------------------------------------------------------------------------------
----End
Configuration files
l SwitchA configuration file
#
sysname SwitchA
#
router id
[Link]
#
vlan batch 100 200 300
#
acl number
3001
interface
Vlanif100
ip address [Link]
[Link]
interface
Vlanif200
ip address [Link]
[Link]
interface
Vlanif300
ip address [Link]
[Link]
interface
GE1/0/1
port link-type
trunk
interface
GE1/0/2
port link-type
trunk
interface
GE1/0/3
port link-type
trunk
traffic-policy p1
inbound
ospf
1
area
[Link]
network [Link]
[Link]
network [Link]
[Link]
network [Link]
[Link]
#
ip route-static [Link] [Link] [Link]
#
return
l SwitchB configuration file
#
sysname SwitchB
#
router id
[Link]
#
vlan batch 100
#
interface
Vlanif100
ip address [Link]
[Link]
interface
GE1/0/1
port link-type
trunk
interface
GE1/0/2
undo
portswitch
ospf
1
area
[Link]
network [Link]
[Link]
#
return
l SwitchC configuration file
#
sysname SwitchC
#
router id
[Link]
#
vlan batch 200
#
interface
Vlanif200
ip address [Link]
[Link]
interface
GE1/0/1
port link-type
trunk
interface
GE1/0/2
undo
portswitch
ospf
1
area
[Link]
network [Link]
[Link]
#
return
router id
[Link]
#
vlan batch 300
#
interface
Vlanif300
ip address [Link]
[Link]
interface
GE1/0/1
port link-type
trunk
ospf
1
area
[Link]
network [Link]
[Link]
#
return