Software Engineer responsible for designing and development of the network drivers for the High Performance Ethernet NIC. This role involves working closely with architecture, silicon design, and other software/firmware teams to architect, design, and implement scalable, high-performance applications. The engineer will contribute to software design, development, validation, and documentation, and collaborate with QA and customer support for product delivery and issue resolution.
Good To Have:- Experience with SR-IOV / virtio based Virtualization Implementation is desired.
- Hands-on experience with KTLS / DTLS Design and Implementation including HW offload of TLS, IPSec HW Offload using Linux XFRM framework are desirable.
- Good understanding of Network security threats (DoS / DDoS, MIM attacks), TPM.
- Good understanding of RDMA & RoCE protocol areas including the user space Verbs API, Linux RDMA core drivers, RoCE drivers, and the RoCE firmware development is desired.
- Good understanding of HW and OS interactions on Multi-host, Multi-Root and Network Partitioning (NPAR) deployments is highly desired.
- Exposure to virtualization technologies like Hypervisors, VirtIO, SRIOV, Virtual IOMMU, Memory Management is desired.
- CI/CD experience using Jenkins, Git is preferred.
Must Have:- Design and development of network driver for High Performance Ethernet NIC.
- Architect, design and implement scalable and high performance applications.
- Author and contribute in software design, development, validation, and documentation.
- Work with QA team to define high quality test cases, review tests and support release development cycle.
- Work closely with Customer Support Engineers on customer field issues and provide timely resolutions.
- Minimum Bachelor's Degree in Computer Science/ Electronics / Electrical Engineering.
- Overall 12+ years of experience in Linux Systems programming, Linux kernel, Linux Network Drivers, Linux Kernel Networking, Virtual Switching and Data center Networking.
- Experience delivering high-performance NIC drivers in Linux and firmware implementation to support multi-ring architecture.
- Strong PCIe NIC background to design optimal Rx/Tx data transfer over PCIe, Control and Data Path implementation of Firewall using iptables including offload of Firewall functionality.
- Good experience with one or more of fast path implementations - DPDK, eBPF, XDP.
- Excellent programming skills in C, C++ and Python. Proficiency in developing optimized code in both x86 and ARM64 compiler toolchains.
- Strong analytical, problem solving and debugging skills in a combined Software and Hardware environments.
- Excellent written and verbal communication skills, Ability to efficiently collaborate with multiple teams across geographically diverse areas.