Develop and maintain the high-performance packet processing applications using Data Plane Development Kit (DPDK) for networking and telecom products.
Perform low level debugging, profiling and performance analysis of DPDK Poll Mode Drivers (PMD), Libraries, Applications using the tools such as Linux perf, objdump, BPF Tools and GDB.
Analyze the customer's reported issues, reproduce them in controlled environments, and provide the root cause analysis using or developing the DPDK based applications and traffic patterns.
Conduct detailed code reviews, identify performance bottlenecks, and implement optimizations to improve throughput, latency, and CPU efficiency.
Evaluate upstream DPDK patches, do platform level impact analysis, create test scenarios, and execute the functional and performance regression test suites to ensure zero regressions and sustained performance benchmarks.
Optimize critical data paths using SIMD/Vector instructions (SSE/AVX/NEON) and leverage CPU micro architecture features for parallelism and cache efficiency.
Work closely with NIC Hardware (Intel, Mellanox and Broadcom), Accelerators, PCIe subsystems, and driver layers to ensure the optimal packet I/O performance.
Provide detailed documentation and training to QA and automation teams on evaluation of DPDK based applications and POCs.
Port and validate the DPDK based applications across heterogenous architectures (x86 and ARM), ensuring the performance evenness and platform stability.
Required Skills
Strong proficiency in C programming and data structures with a focus on system level and performance critical application development
In depth understanding of DPDK Architecture including EAL, Mempool, Mbuf, rings, PMDs, multicore packet processing models.
Solid knowledge of computer architecture (x86) including cache hierarchy, NUMA, Instruction level parallelism.
Hands on experience with Linux system programming, including process and thread management, memory access techniques, and synchronizations primitives.
Strong debugging and profiling skills on Linux systems using perf, GDB, BPF tools, and flame graphs.
Good understanding of Linux kernel internals, networking stack, Kernal and user space interactions.
Experience with PCIe, device drivers, High Speed NICs, Accelerators.
Familiarity with Linux system configuration and performance tuning (
sysfs, GRUB parameters, CPU Isolation, Hugepages)
Strong fundamentals in networking protocols: IPv4, IPv6, TCP, UDP, VLAN, GTP, NAT, ACLs, Routing and Switching.
Good to Have:
Knowledge of OpenVSwitch (OVS), SR-IOV, RSS, HW Offloads, NUMA, and Cache-aware application design.
Exposure to DPDK baseband, event dev, crypto and graph libraries.
Experience in telecom/data plane use cases – 5G UPF, vRAN, DPI, Load balancing and Packet Gateways.
Exposure to Kubernetes, Dockers and K8S Operators.