Contenido

Introducción

Componentes Utilizados

Arquitectura de Iftask

Vigilar el funcionamiento del iftask

Bulkstats

Introducción

Este documento describe cómo vigilar el funcionamiento del iftask/NPU en los QvPC-DI.

Componentes Utilizados

La información en este documento se basa en los QvPC-DI.

La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.

Arquitectura de Iftask

el iftask es un proceso en los QvPC-DI. Activa las funciones planas del equipo del desarrollo de los datos (DPDK) en el indicador luminoso LED amarillo de la placa muestra gravedad menor virtual de la función de servicio (SF) y el indicador luminoso LED amarillo de la placa muestra gravedad menor virtual de la función de control (CF) para los puertos de red de los DI y los puertos del servicio. DPDK es una manera más eficiente de manejar la entrada-salida en los entornos virtualizados.

Los driveres de dispositivo de los reguladores del interfaz de red de alto rendimiento (NIC) ahora se mueven al userspace, eso evitan el Switches costoso del contexto (userspace/kernelspace).

Los drivers funcionados con en el modo ininterrumpible en el userspace, y los hilos tienen acceso directo a las colas de administración del tráfico HW/a los almacenadores intermediarios del anillo en estos driveres NIC.

La documentación sobre la arquitectura está disponible en:

Ultra mantiene la introducción de la plataforma (USP) ultra de la guía de administración del sistema de la plataforma del gateway.

Disponibilidad para diversas versiones.

La arquitectura profundizada del iftask (para SF) se considera en este diagrama:

Durante el despliegue, la cierta cantidad de unidades de procesamiento central virtuales (vCPU) se afecta un aparato estáticamente al proceso del iftask. Esto reduce la cantidad de memorias para las aplicaciones del userspace (sessmgr etc), pero aumenta grandemente el funcionamiento de la entrada-salida.

Esta asignación se hace vía el parámetro abajo en esa plantilla param.cfg que se asocie a cada SF/CF durante el despliegue:

- IFTASK_CORES (% de las memorias disponibles que se asignarán con el iftask)

- (IFTASK_CRYPTO_CORES - no discutido aquí)

- (IFTASK_MCDMA_CORES - no discutido aquí)

1. En un SF, el proceso del iftask internamente distribuirá sus memorias asignadas en:

- Sondee los vCPU de los drivers del modo (PMD) (que hacen la actividad tx/rx/vnpu

- VCPU MCDMA, haciendo la transferencia de los paquetes del iftask al sessmgr y a la parte posterior

2. En un CF, no se requiere ningunos vCPU MCDMA, puesto que SF no están recibiendo los procesos del sessmgr.

El comando “iftask de la dotación física de la nube de la demostración” da más detalles sobre esto en su despliegue QVPC-DI:

[local]UGP# show cloud hardware iftask

Card 1:

Total number of cores on VM:      8

Number of cores for PMD only:     0

Number of cores for VNPU only:    0

Number of cores for PMD and VNPU: 2     <--  CF: 2 out of 8 cores are assigned to iftask PMD/VNPU

Number of cores for MCDMA:        0     <--  CF: no cores allocated to MCDMA as there is no sessmgr process on CF

Number of cores for Crypto:        0

Hugepage size:           2048 kB

Total hugepages:      3670016 kB

NPUSHM hugepages:           0 kB

CPU flags: avx sse sse2 ssse3 sse4_1 sse4_2

Poll CPU's: 1 2

KNI reschedule interval: 5 us

...

Card 3:

Total number of cores on VM:      8

Number of cores for PMD only:     0

Number of cores for VNPU only:    0

Number of cores for PMD and VNPU: 2     <-- SF: 2 out of 8 core are assigned to iftask PMD/VNPU

Number of cores for MCDMA: 1            <-- SF: 1 out of 8 cores is assigned to iftak MCDMA

Number of cores for Crypto: 0

Hugepage size: 2048 kB

Total hugepages: 4718592 kB

NPUSHM hugepages: 0 kB

CPU flags: avx sse sse2 ssse3 sse4_1 sse4_2

Poll CPU's: 1 2 3

KNI reschedule interval: 5 us

El comando “configuración de la nube de la demostración” dará más detalles en los parámetros usados:

[local]UGP# show cloud configuration

Card 1:

Config Disk Params:

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

CARDSLOT=1

CPUID=0

CARDTYPE=0x40010100

DI_INTERFACE=BOND:TYPE:ixgbevf-1,TYPE:ixgbevf-2

DI_INTERFACE_VLANID=2111

VNFM_INTERFACE=MAC:fa:16:3e:23:aa:e9

VNFM_PROXY_ADDRS=172.16.180.3,172.16.180.5,172.16.180.6

MGMT_INTERFACE=MAC:fa:16:3e:87:23:9b

VNFM_IPV4_ENABLE=true

VNFM_IPV4_DHCP_ENABLE=true

Local Params:

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

CARDSLOT=1

CARDTYPE=0x40010100

CPUID=0

...

Card 3:

Config Disk Params:

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

CARDSLOT=3

CPUID=0

CARDTYPE=0x42030100

DI_INTERFACE=BOND:TYPE:ixgbevf-1,TYPE:ixgbevf-2

SERVICE1_INTERFACE=BOND:TYPE:ixgbevf-3,TYPE:ixgbevf-4

SERVICE2_INTERFACE=BOND:TYPE:ixgbevf-5,TYPE:ixgbevf-6

DI_INTERFACE_VLANID=2111

VNFM_INTERFACE=MAC:fa:16:3e:29:c6:b7

IFTASK_CORES=30

VNFM_IPV4_ENABLE=true

VNFM_IPV4_DHCP_ENABLE=true

Local Params:

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

CARDSLOT=3

CARDTYPE=0x42010100

CPUID=0

Vigilar el funcionamiento del iftask

El proceso del iftask se puede vigilar de varias maneras.

Consolide la lista de comandos show:

show subscribers data-rate

show npumgr dinet utilization pps

show npumgr dinet utilization pps

show cloud monitor di-network summary

show cloud hardware iftask

show cloud configuration

show iftask stats summary

show port utilization table

show npu utilization table

show npumgr utilization information

show processes cpu

La información CPU del #show del comando prolija no dará la información sobre las memorias del iftask. Serán siempre mencionadas en la utilización del 100%.

En el ejemplo abajo, se espera la base 1,2,3 se asocia al iftask, y es mencionada en la utilización del 100%, esto.

Card 3, CPU 0:

Status                : Standby, Kernel Running, Tasks Running

Load Average          : 3.12, 3.12, 3.13 (3.95 max)

Total Memory          : 16384M

Kernel Uptime         : 4D 21H 56M

Last Reading:

CPU Usage All       : 1.9% user, 0.3% sys, 0.0% io, 0.0% irq, 97.8% idle

Core 0          : 5.8% user, 0.2% sys, 0.0% io, 0.0% irq, 94.0% idle

Core 1          : Not Averaged (Poll CPU)

Core 2          : Not Averaged (Poll CPU)

Core 3          : Not Averaged (Poll CPU)

Core 4          : 2.2% user, 0.2% sys, 0.0% io, 0.0% irq, 97.6% idle

Core 5          : 0.8% user, 0.5% sys, 0.0% io, 0.0% irq, 98.7% idle

Core 6          : 0.4% user, 0.5% sys, 0.0% io, 0.0% irq, 99.1% idle

Core 7          : 0.1% user, 0.3% sys, 0.0% io, 0.0% irq, 99.6% idle

Poll CPUs           : 3 (1, 2, 3)

Core 1          : 100.0% user, 0.0% sys, 0.0% io, 0.0% irq, 0.0% idle

Core 2          : 100.0% user, 0.0% sys, 0.0% io, 0.0% irq, 0.0% idle

Core 3          : 100.0% user, 0.0% sys, 0.0% io, 0.0% irq, 0.0% idle

Processes / Tasks   : 143 processes / 16 tasks

Network mcdmaN      : 0.002 kpps rx, 0.001 mbps rx, 0.002 kpps tx, 0.001 mbps tx

File Usage          : 1504 open files, 1627405 available

Memory Usage        : 7687M 46.9% used

Memory Details:

Static            : 330M kernel, 144M image

System            : 10M tmp, 0M buffers, 54M kcache, 79M cache

Process/Task      : 6963M (120M small, 684M huge, 6158M other)

Other             : 104M shared data

Free              : 8696M free

Usable            : 5810M usable (8696M free, 0M reclaimable, 2885M reserved by tasks)

La tabla de la utilización del npu del #show del comando dará un buen resumen en la utilización de cada base asociada al proceso del iftask (en cada indicador luminoso LED amarillo de la placa muestra gravedad menor).

Nota: Importante aquí es identificar si algunas memorias son constantemente más altas en la utilización que otras memorias.

[local]UGP# show npu utilization table

-------iftask-------

lcore     now   5min  15min

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

01/0/1      0%     0%     0%

01/0/2      0%     0%     0%

02/0/1      0%     0%     0%

02/0/2      2%     1%     0%

03/0/1      0%     0%     0%

03/0/2      0%     0%     0%

03/0/3      0%     0%     0%

04/0/1      0%     0%     0%

04/0/2      0%     0%     0%

04/0/3      0%     0%     0%

05/0/1      0%     0%     0%

05/0/2      0%     0%     0%

05/0/3      0%     0%     0%

Información de utilización del npumgr del #show del comando (comando oculto)

Este comando da más información sobre cada base del iftask, y qué está consumiendo la CPU en estas memorias.

Nota: Las memorias PMD están teniendo su CPU consumida en PortRX, PortTX, KNI, cifra.

Nota: Las memorias MCDMA están teniendo su CPU consumida por MCDMA.

Las memorias PMD y MCDMA tienen incluso carga.

En caso contrario, algunos que adaptaban pudieron ser requeridos (afectar un aparato más/menos MDMA quita el corazón por ejemplo).

******** show npumgr utilization information 3/0/0 *******

5-Sec Avg: lcore01| lcore02| lcore03| lcore04| lcore05| lcore06| lcore07| lcore08| lcore09| lcore10| lcore11| lcore12|

Idle:     41%|     47%|     73%|     62%|     48%|     49%|     69%|     71%|     49%|     64%|     48%|     69%|

PortRX:     32%|     36%|      0%|      0%|      0%|      0%|     31%|     29%|      0%|      0%|      0%|     31%|

PortTX:     16%|     18%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|

KniRX:      3%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|

McdmaRX:      0%|      0%|     11%|     15%|     22%|     21%|      0%|      0%|     20%|     14%|     20%|      0%|

Mcdma:      0%|      0%|      1%|      2%|      3%|      2%|      0%|      0%|      3%|      3%|      3%|      0%|

McdmaFlush:      0%|      0%|     15%|     21%|     27%|     27%|      0%|      0%|     27%|     18%|     28%|      0%|

Cipher:      7%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|

rx kbits/sec:  173914|  257249|  248543|  224081|  319973|  299437|  450992|  380112|  391400|  325099|  355809|  399515|

rx frames/sec:   30557|   36549|   37465|   32560|   46914|   43938|   70711|   54818|   58482|   47462|   53477|   58793|

tx kbits/sec:  169641|  251958|  253930|  228760|  326714|  305750|  440773|  372187|  399806|  331914|  363491|  391002|

tx frames/sec:   30551|   36524|   37465|   32560|   46914|   43938|   70681|   54785|   58483|   47462|   53477|   58749|

5-Min Avg: lcore01| lcore02| lcore03| lcore04| lcore05| lcore06| lcore07| lcore08| lcore09| lcore10| lcore11| lcore12|

Idle:     18%|     36%|     60%|     62%|     46%|     45%|     65%|     62%|     44%|     53%|     39%|     65%|

PortRX:     29%|     45%|      0%|      0%|      0%|      0%|     35%|     38%|      0%|      0%|      0%|     35%|

PortTX:     17%|     20%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|

KniRX:      3%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|

Kni:      1%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|

McdmaRX:      0%|      0%|     17%|     17%|     23%|     24%|      0%|      0%|     24%|     19%|     26%|      0%|

Mcdma:      0%|      0%|      2%|      2%|      3%|      3%|      0%|      0%|      4%|      3%|      4%|      0%|

McdmaFlush:      0%|      0%|     21%|     20%|     28%|     28%|      0%|      0%|     28%|     24%|     30%|      0%|

Cipher:     32%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|

rx kbits/sec:  217296|  297699|  261605|  268546|  389380|  397101|  479195|  528945|  438931|  360583|  454262|  468575|

rx frames/sec:   39194|   42022|   40122|   40086|   58217|   59507|   80931|   76094|   67224|   54592|   68565|   67013|

tx kbits/sec:  211773|  291616|  267373|  274308|  397747|  405655|  467493|  517944|  448590|  368412|  464116|  458868|

tx frames/sec:   39182|   41998|   40122|   40086|   58217|   59507|   80895|   76058|   67224|   54592|   68565|   66973|

15-Min Avg: lcore01| lcore02| lcore03| lcore04| lcore05| lcore06| lcore07| lcore08| lcore09| lcore10| lcore11| lcore12|

Idle:     22%|     37%|     60%|     61%|     45%|     46%|     64%|     64%|     44%|     49%|     41%|     66%|

PortRX:     33%|     43%|      0%|      0%|      0%|      0%|     36%|     36%|      0%|      0%|      0%|     34%|

PortTX:     18%|     20%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|

KniRX:      4%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|

McdmaRX:      0%|      0%|     16%|     16%|     24%|     24%|      0%|      0%|     24%|     22%|     25%|      0%|

Mcdma:      0%|      0%|      2%|      2%|      3%|      3%|      0%|      0%|      4%|      4%|      4%|      0%|

McdmaFlush:      0%|      0%|     21%|     20%|     28%|     28%|      0%|      0%|     28%|     26%|     30%|      0%|

Cipher:     23%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|      0%|

rx kbits/sec:  225682|  297062|  267631|  272770|  419821|  405286|  489633|  511100|  476834|  401810|  467134|  466549|

rx frames/sec:   39670|   42772|   40892|   40834|   62740|   61170|   83540|   76519|   72158|   60242|   70707|   67961|

tx kbits/sec:  220089|  290875|  273510|  278639|  428840|  414080|  477557|  500037|  487201|  410421|  477298|  456711|

tx frames/sec:   39657|   42748|   40892|   40834|   62740|   61170|   83504|   76484|   72158|   60242|   70707|   67925|

@ tick 896633 (+ve-skew-cnt=123633, -ve-skew-cnt=0), failed samples 0

Ordena la utilización pps del dinet del npumgr del #show, los bbps de la utilización del dinet del npumgr del #show y la tabla de la utilización de puertos del #show

Proporcionan a la información sobre la carga en los puertos de los DI, y a los puertos de los servicios.

El funcionamiento real depende de NIC's/CPU y de la asignación CPU al iftask.

[local]UGP# show npumgr dinet utilization pps

------ Average DINet Port Utilization (in kpps) ------

Port   Type                       Current           5min             15min

Rx      Tx      Rx       Tx       Rx     Tx

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

1/0  Virtual Ethernet          0       0        0       0        0       0

2/0  Virtual Ethernet          0       0        0       0        0       0

3/0  Virtual Ethernet          0       0        0       0        0       0

4/0  Virtual Ethernet          0       0        0       0        0       0

5/0  Virtual Ethernet          0       0        0       0        0       0

[local]UGP# show npumgr dinet utilization bps

------ Average DINet Port Utilization (in mbps) ------

Port   Type                       Current           5min             15min

Rx      Tx      Rx       Tx       Rx     Tx

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

1/0  Virtual Ethernet          1       1        1       1        1       1

2/0  Virtual Ethernet          1       0        1       0        1       0

3/0  Virtual Ethernet          0       0        0       0        0       0

4/0  Virtual Ethernet          0       0        0       0        0       0

5/0  Virtual Ethernet          0       0        0       0        0       0

[local]UGP# show port utilization table

------ Average Port Utilization (in mbps) ------

Port   Type                       Current           5min             15min

Rx      Tx      Rx       Tx       Rx     Tx

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

1/1  Virtual Ethernet          0       0        0       0        0       0

2/1  Virtual Ethernet          0       0        0       0        0       0

3/10 Virtual Ethernet          0       0        0       0        0       0

3/11 Virtual Ethernet          0       0        0       0        0       0

4/10 Virtual Ethernet          0       0        0       0        0       0

4/11 Virtual Ethernet          0       0        0       0        0       0

5/10 Virtual Ethernet          0       0        0       0        0       0

5/11 Virtual Ethernet          0       0        0       0        0       0

Resumen de la di-red del monitor de la nube del #show del comando

Este comando vigila la salud de la red de los DI. Los indicadores luminosos LED amarillo de la placa muestra gravedad menor están enviando los latidos del corazón el uno al otro, y se vigila la pérdida. En un sistema saludable, no se señala ninguna pérdida.

[local]UGP# show cloud monitor di-network summary

Card 3 Heartbeat Results:

ToCard   Health   5MinLoss   60MinLoss

1      Good       0.00%      0.00%

2      Good       0.00%      0.00%

4      Good       0.00%      0.00%

5      Good       0.00%      0.00%

Card 4 Heartbeat Results:

ToCard   Health   5MinLoss   60MinLoss

1      Good       0.00%      0.00%

2      Good       0.00%      0.00%

3      Good       0.00%      0.00%

5      Good       0.00%      0.00%

Card 5 Heartbeat Results:

ToCard   Health   5MinLoss   60MinLoss

1      Good       0.00%      0.00%

2      Good       0.00%      0.00%

3      Good       0.00%      0.00%

4      Good       0.00%      0.00%

Resumen stats del iftask del #show del comando

Con cargas más altas NPU, puede ser que sea posible que el tráfico está consiguiendo caído.

Para evaluar esto, el resumen de resultado stats del iftask del #show del comando puede ser tomado.

Nota: Los DESCARTES pueden ser no-cero.

Nota: el resto de los contadores no deben incrementar.

[local]VPC# show iftask stats summary^M

Thursday January 18 16:01:29 IST 2018

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

Counter                               SF3         SF4         SF5         SF6         SF7         SF8         SF9         SF10         SF11         SF12         ___TOTAL___

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

svc_rx                       32491861127   16545600654   37041906441   37466889835   32762859630   34931554543   38861410897   16025531220   33566817747   32823851780  312518283874

svc_tx                       46024774071   14811663244   40316226774   39926898585   40803541378   48718868048   35252698559    1738016438    4249156512   40356388348  312198231957

di_rx                        42307187425   14637310721   40072487209   39584697117   41150445596   44534022642   31867253533    1731310419    4401095653   40711142205  300996952520

di_tx                        28420090751   16267050562   36423298668   36758561246   32731606974   30366650898   35201117980   16009902791   33536789041   32815316570  298530385481

__ALL_DROPS__                    1932492           252         17742        790473         11228        627018        844812         60402             0        460830       4745249

svc_tx_drops                           0             0             0             0             0             0             0             0             0             0             0

di_rx_drops                            0             1             0             0            49           113           579         30200             0          4888         35830

di_tx_drops                            0             0             0             0             0             0             0             0             0             0             0

sw_rss_enq_drops                       0             0             0             0             0             0             0             0             0             0             0

kni_thread_drops                       0             0             0             0             0             0             0             0             0             0             0

kni_drops                              0             1             0             0             0             0           124         30200             0             0         30325

mcdma_drops                            0             0             0           168            80        194535        758500             0             0         11628        964911

mux_deliver_hop_drops                  0             0             0             0             0             0             0             0             0          1019          1019

mux_deliver_drops                      0             0             0             0             0             0             0             0             0             0             0

mux_xmit_failure_drops                 0             3             0             0             0             0             7             2             0             0            12

mc_dma_thread_enq_drops                0             0             0             0            49           113           580             0             0          3457          4199

sw_tx_egress_enq_drops           1904329             0             0        787971          9004        429214         85022             0             0        429810       3645350

cpeth0_drops                           0             0             0             0             0             0             0             0             0             0             0

mcdma_summary_drops                28163           247         17742          2334          2046          3043             0             0             0         10028         63603

fragmentation_err                      0             0             0             0             0             0             0             0             0             0             0

reassembly_err                         0             0             0             0             0             0             0             0             0             0             0

reassembly_ring_enq_err                0             0             0             0             0             0             0             0             0             0             0

__DISCARDS__                    20331090       9051092      23736055      23882896      23807520      24231716      24116576       8944291      22309474      20135799      20135799

Bulkstats

El esquema de Bulkstat se desarrolla para QPVC-DI relacionado con el funcionamiento a iftask/dinet. Esto es útil para vigilar el dinet, los puertos del servicio, y la utilización del npu de una perspectiva del funcionamiento/de la carga:

card schema iftask-dinet format EMS,IFTASKDINET,%date%,%time%,%dinet-rxpkts-curr%,%dinet-txpkts-curr%,%dinet-rxpkts-5minave%,%dinet-txpkts-5minave%,%dinet-rxpkts-15minave%,%dinet-txpkts-15minave%,%dinet-txdrops-curr%,%dinet-txdrops-5minave%,%dinet-txdrops-15minave%,%npuutil-now%

file 2

port schema iftask-port format EMS,IFTASKPORT,%date%,%time%,%util-rxpkts-curr%,%util-txpkts-curr%,%util-rxpkts-5min%,%util-txpkts-5min%,%util-rxpkts-15min%,%util-txpkts-15min%,%util-txdrops-curr%,%util-txdrops-5min%,%util-txdrops-15min%

file 3

card schema npu-util format EMS,NPUUTIL,%date%,%time%,%npuutil-now%,%npuutil-5minave%,%npuutil-15minave%,%npuutil-rxbytes-5secave%,%npuutil-txbytes-5secave%,%npuutil-rxbytes-5minave%,%npuutil-txbytes-5minave%,%npuutil-rxbytes-15minave%,%npuutil-txbytes-15minave%,%npuutil-rxpkts-5secave%,%npuutil-txpkts-5secave%,%npuutil-rxpkts-5minave%,%npuutil-txpkts-5minave%,%npuutil-rxpkts-15minave%,%npuutil-txpkts-15minave%