Job Description
Ethernet Driver developer is responsible for ensuring Ethernet driver development / maintenance and feature migration over varying SoCs targeted towards different domains (Automotive / Home Router / IOT etc)
Key Responsibilities
- Develop, Customize and optimize Ethernet Drivers for specific chipsets, board variants.
- Kernel Integration: Interface the driver with the Linux network stack, including the NAPI (New API) subsystem, netdev, and sk_buff management for efficient packet processing
- Performance Tuning: Optimize Ethernet driver performance for high throughput, low latency, and minimal CPU utilization. Ensure high scalability and efficient packet handling.
- Debugging & Troubleshooting: Investigate, resolve complex network issues related to Ethernet drivers - latency problems, connectivity issues, and performance degradation.
- System Integration: Work closely with HW engineers, firmware developers, kernel team to ensure tight integration between the Ethernet driver and the underlying network stack.
- Leverage tools like Wireshark, tcpdump, and kernel logs for analysis.
- Platform Support: Develop drivers that support multiple platforms, including x86, ARM, and other custom SoCs (System on Chips)
Educational Qualifications
- Bachelors or Masters in Electronics, Electrical, or Computer Engineering.
Experience
- 5-10 years in Linux Device driver / Kernel development.
- Design, implement, and optimize Ethernet drivers for various HW platforms (NICs, switches, and embedded systems
- Expertise with NICs and platform-specific hardware, including PCIe and DMA, , and Interrupts (MSI/MSI-X)
- Debugging: Kernel debugging tools (e.g., GDB, kdb, WinDbg) and network analysis tools.
- Solid skills in C, Shell scripting, and Compilation environment
- Good knowledge of Linux Layer 2 / 3 Networking protocols
Nice-to-Have Skills
- Knowledge of Virtualization features such as SR-IOV (Single Root I/O Virtualization), VFIO and network function virtualization (NFV).
- Familiarity with advanced Ethernet technologies like RDMA (Remote Direct Memory Access), RoCE (RDMA over Converged Ethernet), or DPDK (Data Plane Development Kit)
- Contributions to open-source kernel projects.