Contenu

Introduction

Problème

Solution

Introduction

Ce document décrit l'événement de rechargement DDF lorsque l'erreur CRC (Cyclic Redundancy Check) s'est produite. L'événement est signalé avec le déroutement DDFreload du protocole SNMP (Simple Network Management Protocol). Le déroutement est introduit avec la fonction CRC Error Restart Notification for Operation and Maintenance.

Problème

DDF Field-Programmable Gate Array (FPGA) est un moteur DMA sur DPC et DPC2. Les FPGA DDF sont susceptibles de recevoir un CRC_ERROR. Le pilote FPGA DDF décide si l'erreur peut être récupérée ou non. Cette décision est basée sur le nombre de fois et le taux auquel ces erreurs se produisent. Lorsque le pilote décide que ces erreurs peuvent être récupérées, il indique au programme d'application qu'une telle erreur s'est produite.

Thu Apr 01 02:54:09 2021 Internal trap notification 1332 (DDFreload) card 3 ddf-dev DDF1

2021-Apr-01+02:54:09.277 card 3-cpu1: Bad dheader magic number. previous=0xf1234567 (p[12345678.123456] mcdma: MDF/DDF FPGA 3 ch6 acket addr: 0xf2

2021-Apr-01+02:54:09.327 card 3-cpu0: [12345678.123789] DF2 Complex-0 Program DDF2 CAF_DF1_PROG_ERR error detected on SAD1234567

Les plantages de sessmgr avec dhdr.bdh_magic peuvent être observés ici :

Assertion failure at midplane/libsn_midplane.c:1845

Function: sn_midplane_dma_buffer_packet_get()

Expression: packet->dhdr.bdh_magic == 0x1974

Proclet: sessmgr (f=87000,i=40)

Process: card=3 cpu=1 arch=X pid=40961 cpu=~18% argv0=sessmgr

Crash time: 2021-Apr-28+14:54:10 UTC

Recent errno: 11 Resource temporarily unavailable

Build_number: 76955

Stack (2680@0x0xffd28000):

[ffffe430/X] __kernel_vsyscall() sp=0xffd28378

[0d0d4c67/X] sn_assert() sp=0xffd283d8

[0d1cef88/X] sn_midplane_dma_buffer_packet_get() sp=0xffd28478

[06b85352/X] sessmgr_med_data_receive() sp=0xffd284f8

[0d15cca4/X] sn_epoll_run_events() sp=0xffd28548

[0d16979a/X] sn_loop_run() sp=0xffd289f8

[0ce5bc25/X] main() sp=0xffd28a68

Solution

Le rechargement DDF corrige le problème CRC_ERROR et aucune autre action n'est généralement requise. Rarement l'impact de l'abonné est signalé après le rechargement du répartiteur principal (DDF) dans un tel cas, la migration manuelle de la carte corrige le problème de trafic.

# card migrate from <affected card> to <standby card>

Dans la version 21.19 (ou une version ultérieure), la fonctionnalité surveille le pipeline interne du FPGA et déclenche la récupération si des problèmes surviennent après le rechargement du DDF sont détectés.