Software Engineer, Network Drivers for High Speed Ethernet NIC

Broadcom

Job Description:

Job Description:

Software Engineer responsible for designing and development of the network drivers for the High Performance Ethernet NIC.

Responsibilities:
• As a Software Engineer, you will be responsible for the design and development of the network driver for the High Performance Ethernet NIC.
• Work closely with the Architecture teams, Silicon Design teams and other Software / Firmware teams to architect, design and implement scalable and high performance applications
• Author and contribute in software design, development, validation, and documentation to deliver high quality, high performance and functionally excellent products.
• Work with the QA team to define high quality test cases, review the tests and support through the release development cycle.
• Work closely with the Customer Support Engineers on any customer field issues and provide timely resolutions

Requirements:
• 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.
• Experience with SR-IOV / virtio based Virtualization Implementation is desired.
• Good experience with one or more of fast path implementations – DPDK, eBPF, XDP
• 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
• 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.
• 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
• Enthusiastic, Quick Learner and passionate about programming
• A team player with good Social Skills

R023649

To apply for this job please visit in.linkedin.com.

Scroll to Top