Kshitij Soni

Senior System Software Engineer at Nvidia | Ex-Broadcom

Bengaluru, Karnataka, India

About

Senior System Software Engineer with ~10 years of experience in firmware, system software, and hardware-software bringup. Currently building secure firmware for next-generation GPUs, with deep expertise in PCIe, RTOS, IPC, and system-level debugging across pre- and post-silicon phases. Passionate about solving complex low-level problems, owning bring-up challenges, and mentoring engineers.

Experience

  • Senior System Software Engineer at NVIDIA
    Jul 2021 - Present · 5 yrs 1 mo

  • Broadcom Limited (6 yrs 1 mo)
    • R & D Software Engineer 3
      Feb 2017 - Jun 2021 · 4 yrs 5 mos

      • Member of Firmware team responsible for development, maintenance, enhancement and bug fixing for 10G/40G/100G/200G converged Network adapters. • Develop, enhance and debug new and existing low-level real-time firmware in Embedded C • Design and implement protocols to enhance subsystem communications • Specify, design, and implement functionality and behaviours of embedded subsystems • Familiar with the embedded microprocessor design process: compilers, debuggers, IDE and source code control • Worked on RTOS (NUCLEUS RTOS) and multithreading for multiple ARM co-processors based NIC board • Debugging and troubleshooting hardware related issues such as DMA, hardware resource management, PCI level errors, RX/TX Engine related issues. Previous Role: --------------- • Member of driver team responsible for development, maintenance, enhancement and bug fixing for NIC and RoCE drivers for 10G/40G/100G/200G converged Network adapters for ESXI 6.0/6.5 OS and Linux OS • Interacting with Firmware team for specific FW Bugs reported as driver issues and bringing them to conclusion. • Debugging and bug fixing in the firmware • Worked on Design documents and developer testing documents • Designing the mailbox command architecture for Broadcom NIC cards • Upstream submission and getting driver inbox in ESXi OS. • Design and developed a kernel driver (character) which can be used to interact between userspace and the firmware. • Design and automation of build environment/system for all the distros • Supported ESXi (VMWare)/Linux/Windows Application development teams to test and bug fix in NIC management tools • ESXi NIC Configuration Tool: Developed a management application tool to set and get various high end parameters e.g. Link speed/duplex, EEE, DCB, NVM, FEC etc. • Worked with internal PQA team for reproducing and revalidating several driver bugs in Broadcom NICs’ high speed NIC and virtualizations features like LRO, SR-IOV, VxLAN, Geneve, DCB, FW dump, NPAR etc.

    • Junior Software Engineer
      Jun 2016 - Jan 2017 · 8 mos

      • Vmware L2 Driver Development: Maintenance, enhancement and Bug fixing for ESXi 6.0/6.5 based kernel NIC driver bnxtnet. • VMWare/Linux system level application development to configure and getting miscellaneous information from NIC card • Supported Vmware/Linux/Windows Application development teams to test and bug fix in NIC management tools • Interacting with Firmware team for specific FW Bugs reported as L2 driver issues and bringing them to conclusion. • Worked with internal PQA team for reproducing and revalidating several driver bugs • Good knowledge of IOVP networking Test suits automation and internals of many test scripts. This helped in reproduction of automation issues using simple manual steps. • Exposure to high end Enterprise infrastructure Servers from Dell (Dell R720/730) and HP (ProLiant Gen 8/ Gen 9). Worked with HW RAID configuration, network boot and boot from removable media including IDRAC/ILO based remote management. • Have beginner’s awareness about internals of Linux L2 driver bnxt_en for broadcom NIC product line • Have intermediate knowledge of firmware development and debugging • Worked on Diagnostic tool for NIC in Linux with TCL scripts

    • Software Development Intern
      Jun 2015 - May 2016 · 1 yr

      • Completed a thesis on “Tuning for performance of 40Gbps NIC card in Linux and VMWare” during Internship. • Developed and debugged few features of ESXi VMKAPI and Linux L2 drivers for high speed (40/50Gbps) Broadcom NetXtreme-C/E Ethernet controllers. • Worked on tuning, debugging and unit testing below developed features of high speed NIC cards: - TSO (TCP Segmentation Offload) - LRO (Large Receive Offload)/ GRO(Generic Receive Offload) - RSS (Receive Side Scaling) - RFS (Receive Flow Steering) - VLAN Offload - VxLAN Offload - SRIOV (Single Route I/O Virtualization) - NIC Partitioning (NPAR) • Worked on virtualization components of VMWare such as vSwitch, Distributed vSwitch, vmknic, vnics etc. • Also worked on virtualization technologies in Linux i.e. virtualization using KVM.