Contenido

Introducción

Problema

Solución

Introducción

Este documento describe el evento de recarga de DDF cuando ocurrió el error de Verificación por redundancia cíclica (CRC). El evento se informa con la trampa DDFreload del protocolo simple de administración de red (SNMP). La trampa se introduce con la función CRC Error Restart Notification for Operation and Maintenance.

Problema

DDF Field-Programmable Gate Array (FPGA) es un motor DMA en DPC y DPC2. Los FPGA de DDF son susceptibles de recibir un CRC_ERROR. El controlador DDF FPGA decide si el error puede ser recuperado o no. Esta decisión se basa en el número de veces y la velocidad a la que se producen estos errores. Cuando el controlador decide que se pueden recuperar estos errores, indica al programa de la aplicación que se ha producido tal error.

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

El sessmgr cae con dhdr.bdh_magic puede verse aquí:

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

Solución

La recarga de DDF corrige el problema CRC_ERROR y normalmente no se requieren más acciones. Rara vez se informa del impacto del suscriptor después de la recarga de DDF en tal caso, la migración manual de la tarjeta corrige el problema del tráfico.

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

En la versión 21.19 (o posterior) se introduce una función adicional, la función monitorea la canalización interna del FPGA y activa la recuperación si se detectan problemas después de la recarga del DDF.