No relevant resource is found in the selected language.

This site uses cookies. By continuing to browse the site you are agreeing to our use of cookies. Read our privacy policy>Search

Reminder

To have a better experience, please upgrade your IE browser.

upgrade

Packet Loss Occurs on an NE40E After the ping Command Instead of the ping –r Command Is Run

Publication Date:  2019-03-27 Views:  36 Downloads:  0
Issue Description

When an NE40E V800R006C20SPC100 pings a third-party device, if the –r parameter is specified, packet loss does not occur. If the –r parameter is not specified, packet loss occurs.

A cpu-defend policy is used on the board in slot 1 of the NE40E. After the cpu-defend policy is deleted, the ping operation always succeeds.

Key configurations:
#
acl number 3341
 description ping-tracert
 rule 10 permit icmp icmp-type echo-reply
 rule 15 permit icmp icmp-type ttl-exceeded
 rule 20 permit icmp icmp-type port-unreachable
 rule 25 permit icmp icmp-type echo
#
cpu-defend policy 10
 process-sequence whitelist user-defined-flow blacklist
 user-defined-flow 22 acl 3341
 car user-defined-flow 22 cir 32 cbs 15000 
 priority user-defined-flow 22 low
#
slot 1 
 cpu-defend-policy 10
 load-balance hash-fields mpls payload-header
 undo load-balance dynamic-adjust enable
#

Handling Process

The differences between the result of the ping command with the –r parameter specified and that with the –r parameter not specified are as follows:
1. Packet encapsulation:
The length of the ping packet with the –r parameter specified is different from the length of the ping packet without the –r parameter specified. If the ping packet contains the –r parameter, option fields of 40 bytes are added to ICMP Request packets and ICMP Reply packets.
2. Internal implementation:
(1) If the ping packet carries the –r parameter and the IP header contains an option, such packet is forwarded over the channel provided for the packets with the IP header containing an option, instead of over user-defined flows.
If the ping packet does not carry the –r parameter and the IP header does not contain an option, such packet is forwarded over user-defined flows.

(2) For the pinged device, the ping packets carrying the –r parameter are sent to the board CPU and the ping packets not carrying the –r parameter experience the fast reply process.

 

Packet loss statistics on the CPU:

[~CBR-AGN-1.OE25]diagnose 
[~CBR-AGN-1.OE25-diagnose]display cpu-defend statistics-all slot 1
 Index                CarID     Packet-Info                   Passed Packets    Dropped Packets   
 ==================================================================================================
 15                   191       IPV4_ARP_REPLY                286               0                 
 15                   190       IPV4_ARP_REQUEST              22                0                 
 18                   25        LACP                          2544              0                 
 39                   31        IPV4_TTL_EXPIRED              1121852           118175            
 48                   248       TCPSYN                        1414              0                 
 50                   82        IPV4_ARP_MISS                 2290              0                 
 108                  146       TSU_4_OVER_6_TUNNEL_INDEX_MISS0                 1                 
 109                  160       LLDP                          7059              0                 
 128                  508       User-defined Flow 4           23713             0                 
 145                  491       User-defined Flow 21          709               0                 
 146                  490       User-defined Flow 22          161527          
  56882                        
<CBR-AGN-1.OE25>ping -c 1000 -m 50 116.251.66.225
  PING 116.251.66.225: 56  data bytes, press CTRL_C to break
    Reply from 116.251.66.225: bytes=56 Sequence=1 ttl=255 time=64 ms 
    ……………………
    Reply from 116.251.66.225: bytes=56 Sequence=1000 ttl=255 time=64 ms
  --- 116.251.66.225 ping statistics ---
    1000 packet(s) transmitted
    966 packet(s) received
    3.40% packet loss
    round-trip min/avg/max = 64/64/87 ms
[~CBR-AGN-1.OE25-diagnose]display cpu-defend statistics-all slot 1
 Index                CarID     Packet-Info                   Passed Packets    Dropped Packets   
 ==================================================================================================
 15                   191       IPV4_ARP_REPLY                286               0                 
 15                   190       IPV4_ARP_REQUEST              22                0                 
 18                   25        LACP                          2568              0                 
 39                   31        IPV4_TTL_EXPIRED              1131640           119154            
 48                   248       TCPSYN                        1425              0                 
 50                   82        IPV4_ARP_MISS                 2308              0                 
 108                  146       TSU_4_OVER_6_TUNNEL_INDEX_MISS0                 1                 
 109                  160       LLDP                          7119              0                 
 128                  508       User-defined Flow 4           23915             0                 
 145                  491       User-defined Flow 21          709               0                 
 146                  490       User-defined Flow 22          163882            
57411               

The differences and the cpu-defend configuration show that the reason for the discarding of ping packets not carrying the –r parameter is that the bandwidth of ICMP packets sent to the CPU exceeds the specified threshold (32K for User-defined Flow 22). After the cpu-defend policy is deleted, the bandwidth limitation is removed, and packet loss does not occur in the preceding scenario.
If the ping packets carry the –r parameter and the bandwidth is high (512K for public channels which are used when the IP header contains the option field), packet loss does not occur.

Root Cause


he internal processing mechanism for the ping packets with the –r parameter specified is different from that with the –r parameter not specified. If the ping packets do not carry the –r parameter, traffic is forwarded over user-defined flows (controlled by the global car user-defined-flow configuration). Packet loss occurs if the traffic rate exceeds the bandwidth of user-defined flows.



Solution
Delete the cpu-defend policy.
Suggestions

The processing mechanism of ping packets carrying the –r parameter is different from that not carrying the –r parameter. Huawei devices limit the mechanism of sending various protocol packets to the CPU. Pay attention to the bandwidth thresholds.

END