SRv6 TE Policy Ping and Tracert

Overview

On a network with an SRv6 TE Policy deployed, the control plane (responsible for SRv6 TE Policy establishment) cannot detect failures to forward data over the SRv6 TE Policy, making network maintenance difficult. SRv6 TE Policy ping and tracert can be used to detect such failures and quickly locate faulty nodes. Both SRv6 TE Policy ping and tracert check network connectivity and host reachability, and SRv6 TE Policy tracert can also locate failure points.

SRv6 TE Policy Ping

As shown in Figure 1, DeviceA, DeviceB, and DeviceC are SRv6-capable. An SRv6 TE Policy is established between DeviceA and DeviceC

Figure 1 SRv6 TE Policy Ping/Tracert

The following describes the ping operation process when an SRv6 TE Policy ping operation is initiated on DeviceA:

  • If the End.OP SID in the SRv6 OAM extension is used to implement measurement:
  1. To initiate a ping operation, DeviceA obtains the bottom SID from the SID stack of a segment list to match an End.OP SID, encapsulates the matching End.OP SID and segment list into an SRH, and then constructs and sends an ICMPv6 Echo Request message.

    If the remote end-op command is not run, you need to specify an End.OP SID. Note that the remote end-op command does not take effect if the last SID of an SRv6 TE Policy segment list is an End.X SID or binding SID. In this case, you need to specify an End.OP SID when running the ping srv6-te policy command.

  2. After receiving the ICMPv6 Echo Request message, DeviceB forwards the message to DeviceC.
    • If SRv6 is enabled on DeviceB, DeviceB forwards the ICMPv6 Echo Request message based on the SRH.
    • If SRv6 is disabled on DeviceB, DeviceB forwards the ICMPv6 Echo Request message based on the route.
  3. After receiving the ICMPv6 Echo Request message, DeviceC checks whether the SID type is End.OP SID.
    • If the SID type is End.OP SID, DeviceC sends an ICMPv6 Echo Reply message to DeviceA. In this case, you can view detailed information about the ping operation on DeviceA.

    • If the SID type is not End.OP SID, DeviceC discards the ICMPv6 Echo Request message. In this case, a message is displayed on DeviceA, indicating that the ping operation times out.

  • If an End SID is used for the test:
  1. DeviceA initiates a ping operation, encapsulates the matched segment list into an SRH, and constructs and sends an ICMPv6 Echo Request message.

    To enable DeviceA to initiate a ping operation, run the remote end-op command or specify an End.OP SID to enable DeviceA to initiate a ping operation. Note that the remote end-op command does not take effect if the last SID of an SRv6 TE Policy segment list is an End.X SID or binding SID. In this case, you need to specify an End.OP SID or the destination parameter when running the ping srv6-te policy command.

  2. After receiving the ICMPv6 Echo Request message, DeviceB forwards the message to DeviceC.
    • If SRv6 is enabled on DeviceB, DeviceB forwards the ICMPv6 Echo Request message based on the SRH.
    • If SRv6 is disabled on DeviceB, DeviceB forwards the ICMPv6 Echo Request message based on the route.
  3. After receiving the ICMPv6 Echo Request message, DeviceC checks whether the SID type is End SID.
    • If the SID type is End SID, DeviceC sends an ICMPv6 Echo Reply message to DeviceA. In this case, you can view detailed information about the ping operation on DeviceA.

    • If the SID type is not End SID, DeviceC discards the ICMPv6 Echo Request message. In this case, a message is displayed on DeviceA, indicating that the ping operation times out.

SRv6 TE Policy Tracert

As shown in Figure 1, the tracert operation process when an SRv6 TE Policy tracert operation is initiated on DeviceA is as follows:

  • If the End.OP SID in the SRv6 OAM extension is used to implement the test:
  1. To initiate a tracert operation to DeviceC, DeviceA obtains the bottom SID from the SID stack of a segment list to match an End.OP SID, encapsulates the matching End.OP SID and segment list into an SRH, constructs a UDP packet, encapsulates the SRH into the packet, and then forwards the packet. In this case, the value of the Hop Limit field (equivalent to the TTL field of IPv4) in the IPv6 packet header is initially set to 1 and decrements by 1 each time the packet passes through a device. When the value is 0, the packet is discarded, and an ICMPv6 Time Exceeded message is then sent to DeviceA.

    If the remote end-op command is not run, you need to specify an End.OP SID. Note that the remote end-op command does not take effect if the last SID of an SRv6 TE Policy segment list is an End.X SID or binding SID. In this case, you need to specify an End.OP SID when running the tracert srv6-te policy command.

  2. After receiving the UDP packet, DeviceB changes the value of the Hop Limit field to 0 and sends an ICMPv6 Time Exceeded message to DeviceA.
  3. After receiving the ICMPv6 Time Exceeded message from DeviceB, DeviceA increments the value of the Hop Limit field by 1 (the value now becomes 2) and continues to send the UDP packet.
  4. After receiving the UDP packet, DeviceB changes the value of the Hop Limit field to 1 and sends the packet to DeviceC.
    • If SRv6 is enabled on DeviceB, DeviceB forwards the UDP packet based on the SRH.
    • If SRv6 is disabled on DeviceB, DeviceB forwards the UDP packet based on the route.
  5. After receiving the UDP packet, DeviceC changes the value of the Hop Limit field to 0 and checks whether the SID type is End.OP SID.
    • If the SID type is End.OP SID, DeviceC sends an ICMPv6 Port Unreachable message to DeviceA. In this case, you can view detailed information about the tracert operation on DeviceA.

    • If the SID type is not End.OP SID, DeviceC discards the UDP packet. In this case, a message is displayed on DeviceA, indicating that the tracert operation times out.

  6. If multiple segment lists are available for the SRv6 TE Policy, steps 1 through 5 repeat until the test on each segment list is complete. This is because each segment list is tested one after the other.

  • If an End SID is used for the test:
  1. DeviceA initiates a tracert operation to DeviceC, encapsulates the matched segment list into an SRH, constructs a UDP packet, encapsulates the SRH into the packet, and forwards the packet. In this case, the value of the Hop Limit field (equivalent to the TTL field of IPv4) in the IPv6 packet header is initially set to 1 and decrements by 1 each time the packet passes through a device. When the value of the Hop Limit field is 0, the packet is discarded, and an ICMPv6 Time Exceeded message is then sent to DeviceA.

    To enable DeviceA to initiate a tracert operation, run the remote end-op command or specify an End.OP SID to enable DeviceA to initiate a tracert operation. Note that the remote end-op command does not take effect if the last SID of an SRv6 TE Policy segment list is an End.X SID or binding SID. In this case, you need to specify an End.OP SID or the destination parameter when running the tracert srv6-te policy command.

  2. After receiving the UDP packet, DeviceB changes the value of the Hop Limit field to 0 and sends an ICMPv6 Time Exceeded message to DeviceA.
  3. After receiving the ICMPv6 Time Exceeded message from DeviceB, DeviceA increments the value of the Hop Limit field by 1 (the value now becomes 2) and continues to send the UDP packet.
  4. After receiving the UDP packet, DeviceB changes the value of the Hop Limit field to 1 and sends the packet to DeviceC.
    • If SRv6 is enabled on DeviceB, DeviceB forwards the UDP packet based on the SRH.
    • If SRv6 is disabled on DeviceB, DeviceB forwards the UDP packet based on the route.
  5. After receiving the UDP packet, DeviceC changes the value of the Hop Limit field to 0 and checks whether the SID type is End SID.
    • If the SID type is End SID, DeviceC sends an ICMPv6 Port Unreachable message to DeviceA. In this case, you can view detailed information about the tracert operation on DeviceA.

    • If the SID type is not End SID, DeviceC discards the UDP packet. In this case, a message is displayed on DeviceA, indicating that the tracert operation times out.

  6. If multiple segment lists are available for the SRv6 TE Policy, steps 1 through 5 repeat until the test on each segment list is complete. This is because each segment list is tested one after the other.

Copyright © Huawei Technologies Co., Ltd.
Copyright © Huawei Technologies Co., Ltd.
< Previous topic