Contenido

Introducción

Background

Pasos para investigar

Paso 1. Observar los síntomas

KNI: Registros de falta de memoria

Errores de trayecto EGTPC

Paso 2. Comprobar la degradación del estado de la red DI

show session recovery status verbose

show cloud monitor di-network detail

show cloud monitor controlplane

show cloud monitor dataplane

Paso 3. Comprobar si el espacio de usuario KNI cae

show iftask stats

Paso 4. Compruebe los controladores de hardware

Summary

Introducción

Este documento describe cómo determinar si StarOS KNI: Out of Memory logs son causados por problemas en la aplicación StarOS o por controladores de hardware.

Background

El módulo Kernel Network Interface (KNI), dentro del proceso DPDK Internal Forwarder (IFTASK), es un mecanismo que permite a los programas de espacio de usuario recibir paquetes directamente desde una interfaz de red, evitando completamente la red Linux y la pila IP Linux.

KNI: se producen advertencias de limitación de velocidad de los registros sin memoria cuando hay un problema de contención de recursos que afecta al módulo KNI.

1. Los búferes de memoria no se borran en el nivel sin software específico (hardware), lo que provoca un desbordamiento del búfer.

2. Los grupos KNI, desde los cuales iftask asigna el buffer de mensajes para estos paquetes, se quedan sin espacio.

3. La función virtual solicita más paquetes, pero la función física responde que no tiene nada.

4. Una vez que se produce la condición KNI: Out of Memory, la tarea iftask entra en el grupo de memoria de respaldo para asignar y procesar el paquete más adelante. Si el grupo de respaldo también se queda sin memoria, el sistema descarta los paquetes.

5. Debido a que iftask no puede leer la ráfaga de paquetes que provienen del núcleo, el registro KNI: Out of Memory se genera en StarOS.

Desencadenantes de KNI: estado Sin memoria:

Los desencadenadores potenciales de la condición de desbordamiento de búfer pueden variar, como la ejecución de aplicaciones SFTP o SCP o una transferencia de archivos muy grande entre tarjetas CF y SF.

Pasos para investigar

Paso 1. Observar los síntomas

Paso 2. Comprobar la degradación del estado de la red DI

Paso 3. Comprobar si el espacio de usuario KNI cae

Paso 4. Compruebe los controladores de hardware

Paso 1. Observar los síntomas

Correlacione la temporización de los errores KNI: Out of Memory con otros síntomas, como pérdidas de paquetes o degradaciones de la capa de aplicación (errores de ruta egtpc).

KNI: Registros de falta de memoria

- En los Syslogs de StarOS, puede ver los logs que indican que la interfaz de red kernal no tiene memoria suficiente.

2023-Nov-16+09:18:03.205 [iftask 214701 error] [1/0/9602 <evlogd:0> evlgd_syslogd.c:236] [software internal system syslog] CPU[3/0]: Nov 16 14:18:03 iftask[7387]: KNI: Out of memory, kni port cpbond0, socket_id=0, total=-130952296, iter=27

- Si se agota la memoria de respaldo, puede ver mensajes de error que indican que la memoria del pool de respaldo también se agota.

RTE_LOG(ERR, KNI, "Out of memory from Backup pool, kni port %s, socket_id=%d, total=%d, iter=%d\n", kni->name, rte_socket_id(), kni->oom_backup_warn, i)

- En los registros IFTask, que se encuentran en el directorio tmp en el shell de depuración, puede observar los errores KNI: Out of Memory:

Wed Nov 15 17:20:30 2023 PID:7387 KNI: Out of memory, kni port cpbond0, socket_id=0, total=-759247296, iter=25

Errores de trayecto EGTPC

- Los picos en las fallas de trayectoria gtpc a varios peers pueden ocurrir con la causa Ninguna respuesta del peer puede ocurrir durante el tiempo de las pérdidas de paquetes.

2023-10-23T00:14:33.813+00:00 Nodename evlogd: [local-60sec33.780] [egtpmgr 143137 info] [6/0/12364 <egtpegmgr:3> egtpmgr_pm.c:905] [context: mme_ctx, contextID: 3]  [software internal system critical-info syslog] context: mme_ctx, service : mme_svc_egtp, self addr: <X.X.X.X>, GTP-C path failure for peer <Y.Y.Y.Y>, peer session count marked: 0, egtpmgr state SRP_SESS_STATE_ACTIVE

Paso 2. Comprobar la degradación del estado de la red DI

Localice qué conexiones están experimentando la degradación. Cuando se observa de forma sostenida, los porcentajes más altos de caídas o pérdidas en las salidas de estado de la red DI pueden indicar problemas operativos o de configuración de la red DI, sobrecarga de tráfico o problemas de VM o host.

show session recovery status verbose

- Utilice las salidas show session recover status verbose para identificar qué tarjeta de función virtual sirve como tarjeta Demux.

******** show session recovery status verbose *******

Tuesday October 24 11:23:45 EDT 2023

Session Recovery Status:

Overall Status        : Ready For Recovery

Last Status Update    : 1 second ago

----sessmgr---  ----aaamgr----  demux

cpu state    active standby  active standby  active  status

---- -------  ------ -------  ------ -------  ------  -------------------------

3/0 Active   24     1        24     1        0       Good

4/0 Active   24     1        24     1        0       Good

5/0 Active   24     1        24     1        0       Good

6/0 Active   0      0        0      0        10      Good (Demux)

7/0 Active   24     1        24     1        0       Good

8/0 Active   24     1        24     1        0       Good

9/0 Active   24     1        24     1        0       Good

10/0 Active   24     1        24     1        0       Good

11/0 Active   24     1        24     1        0       Good

12/0 Standby  0      24       0      24       0       Good

show cloud monitor di-network detail

- Utilice las salidas "show cloud monitor di-network detail" para identificar qué conexiones de red DI entre tarjetas de función virtual tienen caídas en los latidos.

- Se muestran caídas en los latidos del corazón de las tarjetas CF y SF a la tarjeta SF 6. Las salidas de las tarjetas CF y SF a otras tarjetas CF y SF no muestran caídas de latido.

******** show cloud monitor di-network detail *******

Tuesday October 24 11:23:51 EDT 2023

Card 1 Heartbeat Results:

ToCard   Health     5Min-Loss     60Min-Loss

------   -------    ---------     ----------

…

6      Good        0.00%         0.66%

…

Card 2 Heartbeat Results:

…

6       Bad       14.67%         3.50%

…

Card 3 Heartbeat Results:

…

6       Bad        5.35%         2.69%

…

Card 4 Heartbeat Results:

…

6      Good        0.00%         0.00%

…

Card 5 Heartbeat Results:

…

6       Bad       18.57%         3.90%

…

Card 6 Heartbeat Results:

…

1      Good        0.00%         0.90%

2       Bad       12.63%         3.31%

3       Bad        2.90%         2.14%

4      Good        0.00%         0.00%

5       Bad       13.09%         3.30%

7      Good        0.00%         0.00%

8       Bad        2.91%         2.20%

9      Good        0.00%         0.93%

10       Bad       14.28%         3.38%

11       Bad        3.67%         2.09%

12      Good        0.00%         0.00%

…

Card 7 Heartbeat Results:

…

6      Good        0.00%         0.00%

…

Card 8 Heartbeat Results:

…

6       Bad        7.47%         2.85%

…

Card 9 Heartbeat Results:

…

6       Bad        0.00%         1.07%

…

Card 10 Heartbeat Results:

…

6       Bad       16.01%         3.73%

…

Card 11 Heartbeat Results:

…

6       Bad        7.47%         2.71%

…

Card 12 Heartbeat Results:

…

6      Good        0.00%         0.00%

show cloud monitor controlplane

- Utilice las salidas del plano de control show cloud monitor para identificar qué conexiones de red DI se han degradado.

******** show cloud monitor controlplane *******

Tuesday October 24 11:24:22 EDT 2023

Cards      15 Second Interval     5 Minute Interval    60 Minute Interval

Src  Dst    Xmit   Recv  Miss%    Xmit   Recv  Miss%    Xmit   Recv  Miss%

---  ---  ------ ------ ------  ------ ------ ------  ------ ------ ------

…

01   06      75     75   0.0%    1500   1500   0.0%   18000  17842   0.9%

…

02   06      75     75   0.0%    1500   1265  15.7%   18000  17546   2.5%

…

03   06      75     75   0.0%    1500   1396   6.9%   18000  17491   2.8%

…

04   06      75     75   0.0%    1500   1500   0.0%   18000  18000   0.0%

…

05   06      75     75   0.0%    1500   1267  15.5%   18000  17325   3.8%

…

06   01      75     75   0.0%    1500   1500   0.0%   18000  17823   1.0%

06   02      75     75   0.0%    1500   1301  13.3%   18000  17567   2.4%

06   03      75     75   0.0%    1500   1419   5.4%   18000  17561   2.4%

06   04      75     75   0.0%    1500   1500   0.0%   18000  18000   0.0%

06   05      75     75   0.0%    1500   1294  13.7%   18000  17579   2.3%

06   07      75     75   0.0%    1500   1500   0.0%   18000  18000   0.0%

06   08      75     75   0.0%    1500   1417   5.5%   18000  17565   2.4%

06   09      75     75   0.0%    1500   1500   0.0%   18000  17824   1.0%

06   10      75     75   0.0%    1500   1296  13.6%   18000  17573   2.4%

06   11      75     75   0.0%    1500   1422   5.2%   18000  17570   2.4%

06   12      75     75   0.0%    1500   1500   0.0%   18000  18000   0.0%

…

07   06      75     75   0.0%    1500   1500   0.0%   18000  18000   0.0%

…

08   06      75     75   0.0%    1500   1426   4.9%   18000  17545   2.5%

…

09   06      75     75   0.0%    1500   1500   0.0%   18000  17833   0.9%

…

10   06      75     75   0.0%    1500   1278  14.8%   18000  17369   3.5%

…

11   06      75     75   0.0%    1500   1408   6.1%   18000  17481   2.9%

…

12   06      75     75   0.0%    1500   1500   0.0%   18000  18000   0.0%

show cloud monitor dataplane

- Utilice las salidas del plano de datos show cloud monitor para identificar qué conexiones de red DI tienen degradaciones e identificar cualquier degradación unidireccional entre tarjetas de función virtual.

******** show cloud monitor dataplane *******

Tuesday October 24 11:21:46 EDT 2023

Cards      15 Second Interval     5 Minute Interval    60 Minute Interval

Src  Dst    Miss    Hit    Pct    Miss    Hit    Pct    Miss    Hit    Pct

---  ---  ------ ------ ------  ------ ------ ------  ------ ------ ------

…

06   01       0    150   0.0%       0   3000   0.0%       0  36000   0.0%

…

06   02       0    150   0.0%       0   3000   0.0%       0  36000   0.0%

…

06   03       0    150   0.0%       0   3000   0.0%       0  36000   0.0%

…

06   04       0    150   0.0%       0   3000   0.0%       0  36000   0.0%

…

06   05       1    149   0.7%       0   3001   0.0%       0  36000   0.0%

…

01   06       0    150   0.0%       0   3000   0.0%       0  36000   0.0%

02   06       0    150   0.0%     210   2790   7.0%    1015  34985   2.8%

03   06      31    119  20.7%     540   2460  18.0%     995  35005   2.8%

04   06      34    116  22.7%     554   2446  18.5%    1017  34983   2.8%

05   06       0    150   0.0%     213   2787   7.1%     991  35009   2.8%

07   06       0    150   0.0%       0   3000   0.0%     359  35641   1.0%

08   06      29    121  19.3%     546   2454  18.2%    1009  34991   2.8%

09   06       0    150   0.0%       0   3000   0.0%       0  36000   0.0%

10   06       0    150   0.0%     208   2792   6.9%     992  35008   2.8%

11   06      31    119  20.7%     548   2452  18.3%     993  35007   2.8%

12   06      34    116  22.7%     547   2453  18.2%    1001  34999   2.8%

…

06   07       0    150   0.0%       0   3000   0.0%       0  36000   0.0%

…

06   08       0    150   0.0%       0   3000   0.0%       0  36000   0.0%

…

06   09       0    150   0.0%       0   3000   0.0%       1  35999   0.0%

…

06   10       0    150   0.0%       0   3000   0.0%       0  36000   0.0%

…

06   11       0    150   0.0%       0   3000   0.0%       0  36000   0.0%

…

06   12       0    150   0.0%       0   3000   0.0%       0  36000   0.0%

Paso 3. Comprobar si el espacio de usuario KNI cae

show iftask stats

- Recopile los resultados de show iftask stats varias veces para verificar que las caídas de KNI no aumentan en el nivel de aplicación de espacio de usuario IFTASK (StarOS).

******** show iftask stats *******

Tuesday October 24 11:22:06 EDT 2023

…

CARD 6 STATS

---------------------------------------------------------------------------

Counters  SF6   SF6_PPS

---------------------------------------------------------------------------

svc_rx                          2587301598                      2203

svc_tx                          548969428                       295

di_rx                           2260147059                      2258

di_tx                           4072038717                      3966

__ALL_DROPS__                   0                               0

svc_tx_drops                    0                               0

di_rx_drops                     0                               0

di_tx_drops                     0                               0

sw_rss_enq_drops                0                               0

kni_thread_drops                0                               0

kni_drops                       0                               0

mcdma_drops                     0                               0

mux_deliver_hop_drops           0                               0

mux_deliver_drops               0                               0

mux_xmit_failure_drops          0                               0

mc_dma_thread_enq_drops         0                               0

sw_tx_egress_enq_drops          0                               0

cpeth0_drops                    0                               0

mcdma_summary_drops             0                               0

fragmentation_err               0                               0

reassembly_err                  0                               0

reassembly_ring_enq_err         0                               0

__DISCARDS__                    241984                          0

__BOND_DISCARDS__               55282718                        142

…

TOTAL STATS

---------------------------------------------------------------------------

Counters TOTAL  TOTAL_PPS

---------------------------------------------------------------------------

svc_rx                          27964563261                     24791

svc_tx                          36109966153                     30168

di_rx                           74133486629                     51929

di_tx                           73958155063                     50897

__ALL_DROPS__                   0                               0

svc_tx_drops                    0                               0

di_rx_drops                     0                               0

di_tx_drops                     0                               0

sw_rss_enq_drops                0                               0

kni_thread_drops                0                               0

kni_drops                       0                               0

mcdma_drops                     0                               0

mux_deliver_hop_drops           0                               0

mux_deliver_drops               0                               0

mux_xmit_failure_drops          0                               0

mc_dma_thread_enq_drops         0                               0

sw_tx_egress_enq_drops          0                               0

cpeth0_drops                    0                               0

mcdma_summary_drops             0                               0

fragmentation_err               0                               0

reassembly_err                  0                               0

reassembly_ring_enq_err         0                               0

__DISCARDS__                    2324968                         0

__BOND_DISCARDS__               55635534                        149

-----------------------------------------------------------------------------------------------

NDR is      100.0000

CONTINUE_TRAFFIC

-----------------------------------------------------------------------------------------------

Paso 4. Compruebe los controladores de hardware

Con la capa de aplicación libre de culpa, céntrese en los controladores subyacentes en el nivel de hardware para abordar los errores KNI: Out of Memory.

Debido a que el controlador de hardware sin software específico asigna una cierta cantidad de búfer para cada función virtual, los problemas de contención de recursos suelen ser el resultado de una discordancia de controladores o de controladores defectuosos en el nivel de hardware. El controlador de hardware defectuoso que asignó los búferes necesarios para una aplicación no liberó la memoria.

Si se está utilizando software o hardware de virtualización de terceros (no de Cisco), investigue las versiones y los controladores para detectar posibles discrepancias o defectos de compatibilidad.

Summary

Para determinar si los errores KNI: Out of Memory, son causados por procesos de nivel de aplicación o por controladores de hardware subyacentes, verifique si hay evidencia de degradación de la red DI y caídas de KNI del espacio de usuario. Si existe degradación de la red DI sin una degradación KNI del espacio de usuario correspondiente, se puede concluir que la causa está en el nivel de hardware. KNI: Los errores de Memoria insuficiente con descodificación a nivel de hardware indican controladores de hardware defectuosos.

Una descarga del nodo y una recarga de los equipos host en los que reside la función virtual StarOS de nivel de aplicación afectada pueden borrar temporalmente los búferes de memoria en el equipo subyacente, lo que resulta en una reducción temporal de errores y pérdidas de paquetes. ¡Sin embargo, esta no es una solución permanente! Pérdidas de paquetes y KNI: los errores de Memoria agotada se repiten cuando la condición de desbordamiento del búfer se repite en el controlador de hardware defectuoso.