Curso de Data Plane Development Kit (DPDK) para tu equipo de redes
Aprende con el curso de Data Plane Development Kit (DPDK) para empresas hasta 100% bonificado, a medida para tu organización.
Totalmente práctico y aplicable
Formación en Data Plane Development Kit (DPDK) a medida
100% bonificable a través de FUNDAE
Curso TUTORIZADO por expertos
Modalidad Aula Virtual Personalizada
Curso de Data Plane Development Kit (DPDK) en Aula Virtual Personalizada
Nuestra modalidad AVP es una formación en directo, práctica y 100% adaptada a vuestro equipo. No trabajamos con contenidos genéricos: diseñamos la formación en función de vuestro nivel, objetivos, procesos internos y necesidades reales de aplicación.
Solicitar informaciónTemario 100% a medida
Creamos el temario desde cero a partir de vuestras necesidades, nivel del equipo y objetivos concretos, priorizando aquellos contenidos que realmente aporten valor en el día a día.
Proyectos personalizados
Durante la formación trabajaremos con archivos, ejemplos, informes o procesos similares a los que utiliza vuestro equipo, para que el aprendizaje sea directamente aplicable al puesto de trabajo.
Sesiones en directo con consultor experto
Un formador especialista imparte las clases en tiempo real, resolviendo dudas, revisando casos concretos y adaptando el ritmo de la formación a la evolución del grupo.
Calendario adaptado a vuestra disponibilidad
Definimos conjuntamente fechas, horarios y duración de las sesiones para facilitar la asistencia del equipo y minimizar el impacto en la operativa diaria de la empresa.
Curso de Data Plane Development Kit (DPDK) hasta 100% Bonificable a través de FUNDAE
Tu bonificación paso a paso
Forma a tu equipo sin costes mediante la bonificación estatal.
Este programa de Data Plane Development Kit (DPDK) para empresas es subvencionable hasta el 100%.
- Potencia las habilidades de edición y automatización de tus profesionales.
- Accede a una formación avanzada en Data Plane Development Kit (DPDK) práctica y orientada a resultados.
- Prepara a tu equipo para los retos documentales del entorno laboral actual.
- Gestionamos gratis tu bonificación de este curso corporativo de Data Plane Development Kit (DPDK) ante FUNDAE.
Calcula tu bonificación
Revisamos tu caso
Preparamos la gestión
Tu equipo realiza el curso
Aplicas la bonificación
La formación que decides
te devuelve dinero
Todos nuestros cursos son bonificables a través de FUNDAE.
Gestionamos toda la documentación por ti.
Calcula tu crédito aproximado
Crédito bonificable estimado
420€*
*Cálculo orientativo
Enfoque técnico completo
Impulsa a tu equipo con el curso Data Plane Development Kit (DPDK) A Medida, bonificable por FUNDAE, mejora rendimiento y despliegue en NFV. Pide información.
Preparado para entornos empresariales Incluye seguridad, observabilidad, hardening, troubleshooting, CI/CD, documentación, mantenimiento y operación de aplicaciones DPDK.
Aplicable a NFV, telco, edge y ciberseguridad Sirve para VNFs, firewalls, routers software, gateways, packet brokers, probes, IPsec, tráfico de alto volumen y plataformas de red.
Combina desarrollo y sistemas Une programación C/C++, Linux, NICs, drivers, kernel bypass, virtualización, contenedores y arquitectura de bajo nivel.
Actualizado al ecosistema oficial El temario se apoya en la documentación vigente de DPDK 26.03.0, incluyendo Programmer’s Guide, Linux Getting Started Guide, Testpmd, drivers y release notes.
Personaliza el temario al 100% para tu equipo
Diseñamos una formación a medida utilizando los documentos y flujos de trabajo reales de tu empresa.
Nueva Plataforma
de E-learningFormación en directo con plataforma de apoyo para reforzar el aprendizaje
Acceso a las grabaciones
Los alumnos podrán revisar las sesiones grabadas para repasar conceptos clave, recuperar explicaciones concretas o reforzar aquellos contenidos que necesiten después de la clase en directo.
Recursos formativos
Materiales, sesiones grabadas y documentación de apoyo quedan centralizados en la plataforma para que el equipo pueda consultarlos durante y después de la formación.
Confirmación de asistencia
La plataforma permite registrar y confirmar la asistencia de los participantes, facilitando el seguimiento de la formación y la gestión documental necesaria para la bonificación FUNDAE.
Ejercicios prácticos
Después de la formación en directo, los alumnos podrán acceder a ejercicios prácticos para aplicar lo trabajado en clase y consolidar el aprendizaje con actividades guiadas.
Acceso a las grabaciones
Los alumnos podrán revisar las sesiones grabadas para repasar conceptos clave, recuperar explicaciones concretas o reforzar aquellos contenidos que necesiten después de la clase en directo.
Recursos formativos
Materiales, sesiones grabadas y documentación de apoyo quedan centralizados en la plataforma para que el equipo pueda consultarlos durante y después de la formación.
Confirmación de asistencia
La plataforma permite registrar y confirmar la asistencia de los participantes, facilitando el seguimiento de la formación y la gestión documental necesaria para la bonificación FUNDAE.
Ejercicios prácticos
Después de la formación en directo, los alumnos podrán acceder a ejercicios prácticos para aplicar lo trabajado en clase y consolidar el aprendizaje con actividades guiadas.
Practica y mejora con nuestra plataforma
Una plataforma practica, con IA integrada y pensada para que mejores desarrollando. Se adapta a tu ritmo, te corrige al instante y te muestra tu progreso real.
Correccion magica
Feedback inteligente
Aprende de cada acierto y fallo con explicaciones claras
Temario del curso
Encuentra todo el temario del curso aquí.
¿Qué es Data Plane Development Kit (DPDK)?
Preparar una visión práctica del recorrido de un paquete desde la NIC hasta una aplicación en user space.
Comparar una aplicación Linux tradicional con sockets frente a una aplicación DPDK con polling y RX/TX burst.
Instalar dependencias mínimas, compilar DPDK y validar que el entorno de laboratorio responde correctamente.
Reservar hugepages y comprobar su disponibilidad antes de ejecutar cualquier aplicación.
Identificar la NIC o interfaz virtual que se usará en laboratorio y revisar su compatibilidad.
Enlazar una interfaz a VFIO, UIO o driver compatible según el caso de uso y permisos.
Ejecutar una sample app sencilla para verificar EAL, lcores, memoria y puertos disponibles.
Lanzar `testpmd` para observar puertos, colas, estadísticas, forwarding modes y comandos interactivos.
Generar tráfico controlado y validar recepción, reenvío, contadores, errores y throughput inicial.
Cerrar el bloque entendiendo el flujo completo: entorno, memoria, driver, puerto, cola, mbuf, burst y forwarding.
Diferenciar plano de control, plano de gestión y plano de datos en una arquitectura de red.
Entender por qué el procesamiento de paquetes a alta velocidad exige reducir interrupciones, copias y cambios de contexto.
Analizar el coste de sockets tradicionales, pila de red del kernel, interrupciones y buffers intermedios.
Explicar el modelo de polling y sus implicaciones en latencia, CPU dedicada, consumo y rendimiento.
Diferenciar throughput, packet rate, latency, jitter, drops, cache misses y utilización de CPU.
Identificar escenarios donde DPDK aporta valor: NFV, edge, firewalls, packet brokers, probes, gateways y telco.
Reconocer escenarios donde DPDK puede ser excesivo frente a sockets, XDP/eBPF o networking convencional.
Comparar DPDK con XDP, AF_XDP, netmap, PF_RING y soluciones de aceleración hardware.
Entender cómo el diseño de aplicación condiciona rendimiento tanto como la tecnología elegida.
Crear criterios para decidir cuándo aplicar DPDK en un proyecto real.
Comprender la arquitectura por librerías: EAL, mempool, mbuf, ring, ethdev, hash, LPM, timer, telemetry y utilidades.
Entender el papel de Environment Abstraction Layer como capa base de inicialización, memoria, lcores, PCI, logs y servicios.
Diferenciar librerías core, device libraries, protocol libraries, high-level libraries y utility libraries.
Revisar cómo las aplicaciones enlazan contra DPDK y usan APIs de librerías específicas.
Entender la relación entre aplicación, EAL, PMD, NIC, colas RX/TX y buffers mbuf.
Separar fast path, slow path, control path y configuración inicial.
Identificar estructuras críticas: `rte_mbuf`, `rte_mempool`, `rte_ring`, `rte_eth_dev`, `rte_flow` y `rte_lcore`.
Analizar cómo DPDK organiza código, headers, drivers, examples, apps, lib y build system.
Revisar las categorías actuales de documentación oficial: Programmer’s Guide, drivers, Testpmd, tools, release notes y platform guides.
Crear un mapa conceptual de componentes para orientar el resto del curso.
Instalar compiladores, Meson, Ninja, Python, pyelftools, libnuma y herramientas de desarrollo.
Revisar versión de kernel, glibc, configuración HUGETLBFS y soporte de la distribución.
Configurar hugepages de 2 MB y 1 GB según laboratorio, CPU, memoria y uso esperado.
Montar `hugetlbfs` y validar memoria disponible por socket NUMA.
Configurar IOMMU, VFIO y permisos para ejecución segura de aplicaciones DPDK.
Usar `dpdk-devbind.py` para consultar, enlazar y desenlazar interfaces de red.
Revisar diferencias entre `vfio-pci`, `igb_uio`, `uio_pci_generic` y drivers bifurcated.
Preparar CPU isolation, `isolcpus`, `nohz_full`, `rcu_nocbs` y afinidad cuando se busque rendimiento estable.
Ajustar BIOS/UEFI, C-states, turbo, SMT, HPET y opciones de energía si el caso lo requiere.
Documentar una checklist reproducible de host DPDK para laboratorio y producción.
Obtener el código fuente de DPDK y revisar versiones, ramas, LTS y compatibilidad.
Compilar con Meson y Ninja, configurando buildtype, drivers, examples y opciones relevantes.
Instalar DPDK system-wide o usar build local según laboratorio, CI o entorno productivo.
Usar `pkg-config` para compilar aplicaciones propias contra DPDK.
Crear un proyecto C/C++ mínimo con `meson.build`, includes, link flags y estructura limpia.
Diferenciar compilación de DPDK, compilación de examples y compilación de aplicaciones externas.
Activar o desactivar drivers y librerías según dependencias, hardware y tamaño de binario.
Revisar warnings, ABI, API, deprecations y cambios entre versiones.
Crear scripts de build reproducibles para entornos de desarrollo y CI.
Preparar una plantilla corporativa de aplicación DPDK reutilizable.
Inicializar EAL con `rte_eal_init` y comprender qué ocurre durante el arranque.
Usar parámetros EAL para definir lcores, memoria, file-prefix, PCI allow/block list y dispositivos virtuales.
Diferenciar main lcore, worker lcores, service cores y threads auxiliares.
Asignar lcores por máscara, lista, mapping y afinidad explícita.
Gestionar memoria por socket NUMA y evitar asignaciones cruzadas innecesarias.
Configurar logs, telemetría, hugepages, IOVA mode, multiprocess y runtime directory.
Entender cómo DPDK descubre buses PCI, vdevs, devices y drivers disponibles.
Gestionar errores de inicialización frecuentes: hugepages, permisos, IOMMU, drivers, EAL args y puertos.
Crear una capa propia de configuración para no hardcodear parámetros críticos.
Establecer un patrón de arranque robusto para aplicaciones productivas.
Entender `rte_mbuf` como estructura central para representar paquetes y metadatos.
Crear mempools con tamaño, cache per-core, socket ID, private data y mbuf size adecuados.
Analizar cómo el mbuf referencia datos de paquete, headroom, pkt_len, data_len, ol_flags y offloads.
Manipular headers Ethernet, VLAN, IPv4, IPv6, TCP, UDP y payload usando offsets correctos.
Gestionar cadenas de mbufs para jumbo frames, segmentación o paquetes multi-segmento.
Evitar fugas de mbufs por no liberar paquetes descartados, errores o ramas excepcionales.
Medir uso de mempool, agotamiento, cache y comportamiento bajo carga.
Diseñar pools separados por puerto, socket, tipo de tráfico o pipeline cuando sea necesario.
Revisar implicaciones de cache, alineación, prefetch y TLB en buffers de paquetes.
Crear utilidades seguras para inspección, clonación, prepend, append, trim y free de paquetes.
Entender `rte_ring` como FIFO lockless para comunicación multi-producer/multi-consumer.
Diseñar pipelines donde un core recibe, otro procesa y otro transmite.
Comparar run-to-completion frente a pipeline por rings.
Configurar tamaño de ring, single/multi producer, single/multi consumer y burst operations.
Medir backpressure, ocupación, drops y latencia introducida por rings.
Evitar rings innecesarios cuando el coste supera el beneficio.
Usar rings para handoff entre fast path, slow path, logging, control o workers especializados.
Diseñar estrategias para evitar colas llenas, starvation y bloqueo indirecto.
Integrar rings con telemetría y métricas internas de aplicación.
Crear un patrón de pipeline reproducible para procesamiento multi-core.
Entender `rte_ethdev` como API común para interactuar con NICs y Poll Mode Drivers.
Configurar puertos con número de colas RX/TX, descriptors, offloads, MTU, RSS y promiscuous mode.
Diferenciar capabilities del puerto, configuración solicitada y configuración realmente soportada.
Crear RX queues y TX queues por lcore, socket y patrón de tráfico.
Usar burst APIs para recibir y enviar paquetes de forma eficiente.
Gestionar link status, link speed, duplex, autonegociación y eventos de puerto.
Consultar estadísticas básicas, extended stats y errores de cola.
Evaluar diferencias entre PMDs físicos, virtuales, software y bifurcated drivers.
Ajustar descriptor rings y thresholds según NIC, tráfico y latencia.
Crear una capa de abstracción interna para inicializar puertos de forma consistente.
Usar `testpmd` como herramienta principal para validar puertos, PMDs, forwarding modes y offloads.
Ejecutar modos de forwarding como io, mac, macswap, rxonly, txonly, flowgen o csum.
Consultar estadísticas, errores, xstats, colas, configuración de puerto y estado de link.
Probar RSS, checksum offload, VLAN, MTU, promiscuous, multicast y configuración de colas.
Crear reglas `rte_flow` desde testpmd para validar clasificación y steering hardware.
Usar `dpdk-devbind.py`, `dpdk-hugepages.py`, telemetry clients y herramientas auxiliares.
Comparar resultados de testpmd con la aplicación propia para aislar problemas.
Diseñar pruebas rápidas de laboratorio antes de culpar a la NIC, el driver o el código.
Documentar comandos habituales por tipo de NIC y caso de uso.
Crear una guía interna de troubleshooting basada en herramientas DPDK.
Diseñar bucles de recepción y transmisión con `rte_eth_rx_burst` y `rte_eth_tx_burst`.
Elegir burst size adecuado equilibrando throughput, latencia, cache y ocupación de CPU.
Procesar paquetes en lotes evitando llamadas innecesarias por paquete.
Liberar paquetes no transmitidos cuando `tx_burst` devuelve menos de lo solicitado.
Separar fast path de lógica de configuración, logging, métricas y control.
Evitar locks, malloc, printf, syscalls y operaciones pesadas dentro del fast path.
Usar prefetch, branch prediction y acceso lineal a memoria en procesamiento crítico.
Diseñar error handling ligero sin romper rendimiento.
Medir drops RX, drops TX, retries, backpressure y comportamiento con tráfico realista.
Crear un patrón base de fast path productivo, simple y medible.
Parsear Ethernet, VLAN, QinQ, IPv4, IPv6, ARP, TCP, UDP, ICMP y protocolos comunes.
Modificar MAC source/destination, VLAN tags, TTL, DSCP, puertos y campos de cabecera.
Recalcular checksums por software o activar offloads cuando el hardware lo soporta.
Implementar forwarding L2, L3, MAC learning básico, routing estático y rewrite de headers.
Gestionar MTU, jumbo frames, fragmentación, GSO/GRO y límites de tamaño.
Aplicar filtros por dirección, protocolo, puerto, VLAN o prefijo IP.
Crear counters por flujo, puerto, protocolo o política.
Evitar errores de alineación, endianess, offsets y headers variables.
Preparar utilidades de parsing reutilizables y testeables.
Construir una miniaplicación de forwarding con reglas y métricas.
Usar hash tables para lookup rápido de sesiones, flows, reglas o estados.
Aplicar Toeplitz hash y RSS para distribuir tráfico entre colas y cores.
Implementar LPM para decisiones de routing IPv4 e IPv6.
Explorar FIB/RIB para estructuras de forwarding más avanzadas.
Usar ACL library para clasificación por múltiples campos de paquete.
Diseñar tablas de reglas con prioridad, máscara, wildcard y acción.
Gestionar updates de reglas sin interrumpir el fast path.
Medir coste de lookup y elegir estructura según cardinalidad, volatilidad y tipo de clave.
Evitar estructuras de datos genéricas que no escalan a packet rate alto.
Crear un motor de clasificación básico con acciones configurables.
Entender `rte_flow` como API genérica para programar clasificación y steering en hardware compatible.
Crear patrones de match por Ethernet, VLAN, IPv4, IPv6, TCP, UDP, VXLAN o metadata.
Definir acciones: queue, drop, mark, count, RSS, encap, decap o modificación si la NIC lo soporta.
Validar reglas antes de crearlas y gestionar errores específicos de PMD.
Diseñar reglas por prioridad, grupo y tabla según capacidades del dispositivo.
Usar `testpmd` para prototipar reglas antes de integrarlas en código.
Diferenciar lo que se puede hacer en hardware de lo que debe quedar en software.
Gestionar lifecycle de reglas: create, destroy, flush, update y fallback.
Medir impacto de steering hardware en CPU, latencia y distribución por colas.
Crear una estrategia de compatibilidad entre NICs con capacidades distintas.
Identificar offloads disponibles: checksum, TSO, VLAN strip/insert, RSS, LRO/GRO, scatter-gather y timestamping.
Consultar capabilities del puerto antes de activar offloads.
Configurar offloads en puerto, cola y mbuf según API y PMD.
Usar flags de mbuf para indicar trabajo que debe realizar el hardware.
Validar resultados con testpmd, tráfico controlado y captura externa.
Medir ahorro real de CPU frente a complejidad añadida.
Evitar asumir que todas las NICs soportan las mismas capacidades.
Diseñar fallbacks por software cuando un offload no está disponible.
Documentar matriz de offloads soportados por hardware de la empresa.
Incorporar offloads a una estrategia de rendimiento y portabilidad.
Asignar lcores, colas, mempools y puertos respetando socket NUMA.
Evitar que un core procese paquetes con memoria asignada en otro socket sin necesidad.
Usar hugepages para reducir presión de TLB y mejorar acceso a memoria.
Medir cache misses, LLC misses, branch misses, cycles, instructions y packet rate con herramientas de profiling.
Ajustar burst size, descriptor count, prefetch distance y per-core cache.
Diseñar estructuras cache-friendly con alineación, padding y minimización de false sharing.
Separar datos hot path y cold path.
Usar `rte_prefetch`, branch hints y procesamiento vectorizado cuando sea apropiado.
Comparar rendimiento con paquetes pequeños, medianos, jumbo y mezclas realistas.
Crear una metodología de tuning reproducible basada en hipótesis, métrica y cambio controlado.
Diseñar aplicaciones run-to-completion donde cada core procesa un paquete de principio a fin.
Crear pipelines por etapas usando rings, workers especializados y colas intermedias.
Evaluar Eventdev para programación basada en eventos, scheduling, prioridades y distribución.
Usar Graph Library para componer nodos reutilizables de procesamiento de paquetes.
Entender que la Graph Library abstrae funciones como nodos enlazados en grafos reutilizables y monitorizables.
Comparar latencia, throughput, balanceo y mantenibilidad entre modelos.
Diseñar nodos o etapas para parsing, clasificación, forwarding, encapsulación y métricas.
Evitar pipelines sobrediseñados que añaden colas y latencia sin mejorar throughput.
Documentar criterios para elegir modelo según aplicación y hardware.
Implementar una variante simple de cada modelo para comparar comportamiento.
Entender soporte multi-process de DPDK y sus implicaciones en memoria compartida.
Crear procesos primarios y secundarios con `file-prefix`, hugepages y recursos comunes.
Compartir mempools, rings, puertos, tablas o estructuras entre procesos.
Diseñar procesos de control separados del fast path cuando mejora seguridad o mantenibilidad.
Gestionar lifecycle, reinicio, errores y limpieza de procesos secundarios.
Evitar corrupción o inconsistencia por acceso concurrente mal coordinado.
Usar IPC, rings o mecanismos propios para comunicación entre procesos.
Documentar límites de multi-process según PMD, driver y aplicación.
Medir coste de IPC y diseño multi-proceso.
Crear un ejemplo de arquitectura control-plane/data-plane con procesos separados.
Entender virtio-user, vhost-user, vhost library y su papel en VNFs.
Configurar tráfico entre VM, host y aplicación DPDK mediante vhost/virtio.
Usar SR-IOV para exponer VFs a máquinas virtuales o contenedores.
Comparar passthrough, virtio, vhost-user, representor ports y bifurcated drivers.
Integrar DPDK con Open vSwitch, VPP, VNFs y arquitecturas NFV.
Gestionar aislamiento, seguridad y permisos en entornos virtualizados.
Medir rendimiento de VM-to-VM, VM-to-host, host-to-NIC y service chaining.
Diseñar despliegues con NUMA alignment entre VM, VF, CPU y memoria.
Evitar configuraciones cloud que impiden hugepages, IOMMU o acceso directo a NIC.
Documentar patrones de despliegue para laboratorio, NFV y edge.
Preparar contenedores con DPDK, librerías, permisos, capabilities y dispositivos expuestos.
Montar hugepages dentro de contenedores y validar asignación por pod.
Usar `vfio-pci`, SR-IOV device plugin o mecanismos equivalentes para exponer NICs.
Configurar CPU pinning, hugepage requests, privileged mode y seguridad mínima necesaria.
Diseñar imágenes reproducibles con binarios DPDK y configuración externa.
Integrar aplicaciones DPDK con CNI, Multus, SR-IOV y networking de Kubernetes cuando proceda.
Gestionar logs, métricas, health checks y readiness de aplicaciones data-plane.
Evitar que el scheduler coloque workloads DPDK sin alineación NUMA o CPU exclusiva.
Diseñar despliegues actualizables sin cortar tráfico crítico.
Crear manifiestos base para laboratorios cloud-native con DPDK.
Diseñar políticas de QoS por flujo, clase, puerto, VLAN, DSCP o servicio.
Usar APIs de metering y policing cuando el hardware o PMD lo soporta.
Configurar shaping, scheduling, prioridades y colas de tráfico.
Aplicar traffic management para jerarquías de colas, nodos, perfiles y tasas.
Medir drops por política, uso de colas y cumplimiento de perfiles.
Separar QoS por software y QoS offloaded a NIC.
Diseñar reglas para limitar abuso, priorizar tráfico crítico o aislar clientes.
Integrar QoS con clasificación, `rte_flow`, counters y reporting.
Evitar políticas que penalizan rendimiento por complejidad excesiva.
Crear un caso de control de tráfico empresarial con métricas claras.
Implementar filtrado L3/L4 mediante ACL, hash, tablas de sesiones y políticas.
Crear un firewall stateful básico con seguimiento de flujos y expiración.
Usar cryptodev para operaciones criptográficas cuando se requiere aceleración.
Entender IPsec Packet Processing Library y su relación con Security Library.
Diseñar políticas de cifrado, autenticación, túneles y offload según hardware.
Medir coste de crypto en CPU y comparar software frente a aceleración.
Integrar clasificación, counters, logs y drops por política de seguridad.
Evitar decisiones inseguras por priorizar únicamente throughput.
Crear trazabilidad de reglas, cambios, métricas y eventos relevantes.
Diseñar un laboratorio de gateway seguro con DPDK, sin exponer tráfico productivo.
Explorar DMA Device Library para operaciones de copia y movimiento de datos aceleradas.
Revisar compressiondev para compresión/descompresión cuando el caso de uso lo justifica.
Usar regexdev para inspección de patrones en tráfico o payload con hardware compatible.
Entender rawdev como interfaz para dispositivos no encajados en clases estándar.
Conocer ML device library como interfaz específica de dispositivos ML dentro del ecosistema DPDK.
Evaluar qué librerías especializadas son relevantes para telecom, seguridad, storage, observabilidad o edge.
Diseñar pruebas de capacidad antes de adoptar aceleradores específicos.
Evitar acoplar una aplicación al hardware si se necesita portabilidad.
Crear abstracciones internas para habilitar o deshabilitar aceleradores según entorno.
Documentar límites, dependencias, drivers y métricas de cada acelerador usado.
Usar logs de DPDK con niveles, tipos y configuración adecuada.
Consultar estadísticas de puertos, colas, xstats y counters propios.
Activar telemetry para exponer métricas de runtime y diagnóstico.
Crear métricas de aplicación: paquetes procesados, drops, latencia, errores, colas, flows y reglas.
Usar trace library para eventos internos cuando se necesita análisis detallado.
Capturar tráfico con pcap/pcapng, mirror, sampleo o integración controlada.
Evitar logging pesado dentro del fast path.
Correlacionar métricas de DPDK con métricas del sistema: CPU, NUMA, memoria, IRQs, PCIe y NIC.
Diseñar dashboards operativos para aplicaciones DPDK en producción.
Crear una estrategia de observabilidad que permita detectar degradación antes de caída.
Crear tests unitarios para parsing, clasificación, reglas, acciones y estructuras de datos.
Ejecutar unit tests DPDK y pruebas propias con Meson.
Usar sanitizers, AddressSanitizer y herramientas de análisis cuando el entorno lo permita.
Probar con tráfico sintético, pcaps, generadores y escenarios reproducibles.
Validar rendimiento con paquetes de 64B, IMIX, jumbo frames y perfiles realistas.
Crear pruebas de regresión para reglas, drops, modificaciones de headers y forwarding.
Usar GDB, perf, valgrind selectivo, heap tracking y dumps cuando sea necesario.
Evitar pruebas que solo validan throughput sin comprobar corrección funcional.
Integrar build, tests, lint y ejecución controlada en CI/CD.
Crear una matriz de calidad para laboratorio, staging y producción.
Definir métricas: Mpps, Gbps, latency, p99, drops, CPU cycles/packet, cache misses y throughput sostenido.
Usar generadores de tráfico como TRex, MoonGen, pktgen, hardware testers o entornos autorizados.
Separar benchmarking funcional, benchmarking de rendimiento y benchmarking de estrés.
Aislar variables: CPU frequency, NIC, driver, burst, NUMA, hugepages, colas, MTU y tráfico.
Medir con `perf`, flamegraphs, PMU, xstats, telemetry y contadores internos.
Comparar testpmd frente a aplicación propia para identificar overhead de lógica.
Analizar efectos de RSS, número de colas, número de cores y distribución de tráfico.
Evitar resultados engañosos por tráfico irreal, caché caliente o ausencia de pérdidas.
Documentar cada prueba con configuración, versión, hardware, tráfico y resultados.
Crear un informe de rendimiento defendible para dirección técnica o cliente.
Aplicar mínimo privilegio para usuarios, grupos, VFIO, hugepages y dispositivos.
Evitar ejecución como root cuando se pueda configurar permisos seguros.
Proteger `/dev/vfio`, hugepage mounts, sockets telemetry y archivos runtime.
Gestionar secretos, certificados, claves y configuración fuera del binario.
Revisar riesgos de DMA y necesidad de IOMMU.
Auditar interfaces enlazadas a DPDK para evitar desconectar servicios del host por error.
Separar redes de laboratorio, staging y producción.
Crear controles de cambio para reglas, puertos, drivers y configuraciones críticas.
Mantener dependencias actualizadas y revisar release notes por vulnerabilidades o cambios incompatibles.
Preparar procedimientos de rollback si una versión o configuración degrada el servicio.
Separar configuración, inicialización, fast path, control path, métricas y shutdown.
Diseñar módulos internos: ports, queues, memory, parser, classifier, actions, telemetry y config.
Crear configuración declarativa para puertos, reglas, lcores, colas, NUMA y features.
Implementar reload controlado de reglas o tablas sin parar el tráfico si el caso lo requiere.
Gestionar señales, cleanup, estadísticas finales y liberación de recursos.
Añadir health checks, readiness, watchdogs y mecanismos de recuperación.
Diseñar gestión de errores sin comprometer rendimiento.
Crear paquetes de despliegue reproducibles con binario, configuración, scripts y documentación.
Evitar aplicaciones monolíticas imposibles de probar o extender.
Definir criterios de producción: rendimiento, seguridad, observabilidad, soporte y mantenibilidad.
Diseñar VNFs como firewall, NAT, DPI, router, gateway, load balancer o packet broker.
Integrar DPDK con service chaining, SR-IOV, OVS-DPDK, VPP o plataformas NFV.
Analizar requisitos telco: baja latencia, throughput sostenido, alta disponibilidad y observabilidad.
Preparar topologías edge donde el procesamiento se realiza cerca de la fuente de tráfico.
Gestionar sincronización con control plane, provisioning, reglas dinámicas y APIs de gestión.
Diseñar despliegues multi-tenant con aislamiento de tráfico y recursos.
Considerar CPU pinning, NUMA, hugepages, VFs y colas por tenant o servicio.
Medir rendimiento bajo carga realista y cambios de reglas.
Diseñar estrategias de alta disponibilidad, failover y rolling upgrade.
Crear una arquitectura de referencia NFV/edge basada en DPDK.
Identificar cuándo conviene combinar DPDK con pila Linux, XDP/eBPF, tc, iptables/nftables o userspace networking.
Diseñar interfaces de control con Netlink, REST, gRPC, CLI o archivos de configuración.
Integrar captura o mirroring para análisis con tcpdump, Wireshark, Zeek, Suricata o sistemas SIEM.
Combinar eBPF para observabilidad o prefiltrado cuando el diseño lo justifica.
Evitar duplicar funciones que el kernel ya resuelve mejor para ciertos escenarios.
Usar TAP, KNI legacy alternatives, virtio-user o mecanismos equivalentes para interacción controlada.
Diseñar rutas de tráfico híbridas entre kernel y DPDK.
Gestionar routing, ARP/ND, vecinos y control plane fuera del fast path cuando sea necesario.
Documentar límites de responsabilidad entre Linux y DPDK.
Crear una estrategia híbrida que no sacrifique rendimiento ni operabilidad.
Entender que el foco práctico suele estar en Linux, pero DPDK dispone de guías para Linux, FreeBSD y Windows en la documentación oficial.
Revisar cross-compilation para ARM, RISC-V, LoongArch u otras arquitecturas cuando el proyecto lo requiera.
Ajustar optimizaciones según x86, ARM, NUMA, cache, instrucciones SIMD y plataforma.
Evaluar PMDs disponibles por NIC, proveedor, SoC o entorno virtual.
Diseñar código portable evitando dependencias innecesarias de una NIC concreta.
Gestionar diferencias de compilador, toolchain, endianess y capabilities.
Preparar builds por arquitectura en CI/CD.
Validar rendimiento por plataforma, no asumir resultados equivalentes.
Documentar hardware soportado, drivers, firmware, kernel y configuración.
Crear una matriz de compatibilidad para productos basados en DPDK.
Revisar release notes antes de actualizar DPDK en proyectos reales.
Entender el impacto de deprecations, ABI/API changes, drivers, librerías y toolchain.
Crear estrategia de versiones: upstream reciente, LTS, vendor-supported o versión congelada.
Probar build, tests, rendimiento y drivers tras cada actualización.
Mantener parches propios lo más pequeños posible para facilitar upgrades.
Evaluar compatibilidad con PMDs, NICs, firmware y distribución Linux.
Documentar diferencias entre versión de laboratorio y producción.
Crear pipeline de validación para nuevas versiones de DPDK.
Planificar rollback si una actualización afecta rendimiento o estabilidad.
Mantener conocimiento interno sobre release cadence, soporte y riesgos de cambio.
Diseñar una aplicación DPDK completa orientada a un caso realista: L2/L3 forwarder, firewall, packet broker, probe o gateway.
Preparar host Linux con hugepages, VFIO, lcores, NUMA, NIC o interfaz virtual y configuración reproducible.
Implementar inicialización EAL, mempools, puertos, colas RX/TX, parsing y forwarding básico.
Añadir clasificación por protocolo, IP, puerto, VLAN o reglas cargadas desde configuración.
Incorporar counters, telemetry, logs controlados y estadísticas por puerto, cola, regla y acción.
Aplicar optimización de fast path: burst, prefetch, NUMA, cache, offloads y reducción de overhead.
Validar funcionamiento con testpmd, tráfico sintético, pcaps y pruebas de error.
Medir rendimiento con metodología clara y comparar cambios de configuración.
Preparar despliegue con scripts, documentación, seguridad, rollback y troubleshooting.
Presentar la solución final como aplicación data-plane profesional, medible, mantenible y preparada para evolución.
Pensado para quienes deben dominar Data Plane Development Kit (DPDK) en su día a día
Desarrolladores C/C++ de sistemas y redes
Profesionales que necesitan crear aplicaciones de plano de datos, VNFs, firewalls, load balancers, packet brokers, analizadores, gateways, probes o servicios de red con procesamiento intensivo de paquetes.
Ingenieros de redes, telecomunicaciones y NFV
Perfiles que trabajan con tráfico de alto rendimiento, virtualización de funciones de red, routers software, edge, 5G, telco cloud, SR-IOV, vhost/virtio y arquitecturas packet processing.
Equipos de sistemas, cloud e infraestructura
Profesionales que deben preparar hosts Linux, hugepages, NUMA, CPU isolation, VFIO, IOMMU, drivers, contenedores, Kubernetes o entornos bare metal para aplicaciones DPDK.
Equipos de ciberseguridad y network security
Perfiles que quieren construir o entender firewalls, IDS/IPS, packet capture, traffic inspection, IPsec, regex, crypto acceleration, filtrado, clasificación y procesamiento de tráfico a alta velocidad.
Arquitectos de plataforma y rendimiento
Profesionales que necesitan diseñar arquitecturas de baja latencia, alto throughput, afinidad CPU, cache efficiency, offloads hardware, benchmarking, profiling y observabilidad del data plane.
DevOps, SRE y platform engineers
Equipos responsables de automatizar despliegue, monitorización, tuning, CI/CD, testing, trazabilidad, seguridad y operación de aplicaciones DPDK en entornos corporativos.
Empresas que ya han formado a sus equipos
Experiencias reales de equipos que ya han trabajado con nosotros.
+16
años de liderazgo
+3.500
empresas formadas
Nuestra empresa decidió contratar formación con Imagina aprovechando los créditos de FUNDAE, y fue una gran decisión. La modalidad online nos permitió adaptar los horarios a nuestro equipo. La formación ha sido práctica, clara y útil para el día a día. Es sencillo de gestionar y los resultados son excepcionales.
Hugo Gutiérrez
Analista Financiero
Gracias a Imagina, la eficiencia de nuestras sesiones de capacitación ha mejorado drásticamente. Es sencillo de usar y los resultados son excepcionales.
Luis Martínez
Administrativo
Gracias al aula virtual de Imagina siempre son capaces de adaptar los cursos a nuestras necesidades. El contenido fue muy completo y práctico.
Elena Pérez
Responsable de Recursos Humanos
Mejor de lo esperado, la modalidad online se adapta a nuestros horarios. La ayuda con la bonificación FUNDAE hizo todo más fácil. Práctico y necesario.
Alejandro Sánchez
Director de Operaciones
Nuestra empresa decidió contratar formación con Imagina aprovechando los créditos de FUNDAE, y fue una gran decisión. La modalidad online nos permitió adaptar los horarios a nuestro equipo. La formación ha sido práctica, clara y útil para el día a día. Es sencillo de gestionar y los resultados son excepcionales.
Hugo Gutiérrez
Analista Financiero
Gracias a Imagina, la eficiencia de nuestras sesiones de capacitación ha mejorado drásticamente. Es sencillo de usar y los resultados son excepcionales.
Luis Martínez
Administrativo
Gracias al aula virtual de Imagina siempre son capaces de adaptar los cursos a nuestras necesidades. El contenido fue muy completo y práctico.
Elena Pérez
Responsable de Recursos Humanos
Mejor de lo esperado, la modalidad online se adapta a nuestros horarios. La ayuda con la bonificación FUNDAE hizo todo más fácil. Práctico y necesario.
Alejandro Sánchez
Director de Operaciones
480.000 alumnos formados en Imagina
Resolvemos todas tus dudas sobre nuestra formación en Data Plane Development Kit (DPDK)
Explora las respuestas a las preguntas que guian a nuestra comunidad. Aqui encontraras claridad sobre como funciona todo, desde el acceso hasta los detalles de los cursos. Si buscas respuestas, este es el lugar para comenzar.
DPDK, Data Plane Development Kit, es un conjunto de librerías, drivers y herramientas para crear aplicaciones de procesamiento rápido de paquetes en user space. La documentación oficial lo describe como un framework para fast packet processing en aplicaciones de data plane.
Es ambos. DPDK exige entender redes, NICs, Linux, memoria, CPU y programación C/C++. El curso combina desarrollo de aplicaciones con preparación y operación del entorno.
Sí. DPDK está pensado principalmente para desarrollo de bajo nivel en C, por lo que el alumno debe tener base previa en C/C++, punteros, memoria y compilación.
Se puede preparar parte del laboratorio en VM, pero para rendimiento real y trabajo con NICs, VFIO, SR-IOV o NUMA conviene usar servidor físico o entorno cloud/bare metal compatible.
DPDK usa hugepages para grandes pools de memoria de buffers de paquetes; la documentación oficial indica que su uso mejora rendimiento al reducir presión de TLB frente a páginas estándar de 4 KB.
Un Poll Mode Driver permite a la aplicación DPDK trabajar con dispositivos de red mediante polling y colas RX/TX, evitando el modelo clásico basado en interrupciones para maximizar rendimiento.
Sí. Testpmd es una herramienta central del curso para validar puertos, drivers, colas, forwarding modes, offloads, estadísticas y reglas `rte_flow`.
Sí. Se trabajan vhost/virtio, SR-IOV, representor ports, contenedores, Kubernetes, hugepages, CPU pinning y despliegues NFV/cloud-native.
No. Es avanzado y técnico. Refuerza fundamentos, pero está orientado a profesionales con experiencia previa en Linux, redes, sistemas o desarrollo.
Sí. Al tratarse de formación corporativa orientada a empresa, puede bonificarse hasta el 100% mediante FUNDAE según el crédito disponible y las condiciones aplicables de la organización.
¿Tienes dudas?
Estamos aqui para ayudarte
DPDK, Data Plane Development Kit, es un conjunto de librerías, drivers y herramientas para crear aplicaciones de procesamiento rápido de paquetes en user space. La documentación oficial lo describe como un framework para fast packet processing en aplicaciones de data plane.
¿Tienes dudas?
Estamos aqui para ayudarte
Es ambos. DPDK exige entender redes, NICs, Linux, memoria, CPU y programación C/C++. El curso combina desarrollo de aplicaciones con preparación y operación del entorno.
¿Tienes dudas?
Estamos aqui para ayudarte
Sí. DPDK está pensado principalmente para desarrollo de bajo nivel en C, por lo que el alumno debe tener base previa en C/C++, punteros, memoria y compilación.
¿Tienes dudas?
Estamos aqui para ayudarte
Se puede preparar parte del laboratorio en VM, pero para rendimiento real y trabajo con NICs, VFIO, SR-IOV o NUMA conviene usar servidor físico o entorno cloud/bare metal compatible.
¿Tienes dudas?
Estamos aqui para ayudarte
DPDK usa hugepages para grandes pools de memoria de buffers de paquetes; la documentación oficial indica que su uso mejora rendimiento al reducir presión de TLB frente a páginas estándar de 4 KB.
¿Tienes dudas?
Estamos aqui para ayudarte
Un Poll Mode Driver permite a la aplicación DPDK trabajar con dispositivos de red mediante polling y colas RX/TX, evitando el modelo clásico basado en interrupciones para maximizar rendimiento.
¿Tienes dudas?
Estamos aqui para ayudarte
Sí. Testpmd es una herramienta central del curso para validar puertos, drivers, colas, forwarding modes, offloads, estadísticas y reglas `rte_flow`.
¿Tienes dudas?
Estamos aqui para ayudarte
Sí. Se trabajan vhost/virtio, SR-IOV, representor ports, contenedores, Kubernetes, hugepages, CPU pinning y despliegues NFV/cloud-native.
¿Tienes dudas?
Estamos aqui para ayudarte
No. Es avanzado y técnico. Refuerza fundamentos, pero está orientado a profesionales con experiencia previa en Linux, redes, sistemas o desarrollo.
¿Tienes dudas?
Estamos aqui para ayudarte
Sí. Al tratarse de formación corporativa orientada a empresa, puede bonificarse hasta el 100% mediante FUNDAE según el crédito disponible y las condiciones aplicables de la organización.
¿Tienes dudas?
Estamos aqui para ayudarte
Diseñemos hoy el curso que tu empresa necesita
Cuéntanos tus objetivos de negocio y prepararemos una propuesta formativa bonificable totalmente ad hoc