Education

Matriculation

B.D.S. day boarding school affiliated to PSEB, Amritsar

86.4%

2008

Diploma in CSE

Thapar Polytechnic college affiliated to PSBTE&IT, Patiala

73.5%

2008 - 2011

Bachelor of Engineering (B.E.) in CSE

Thapar University, Patiala

8.5 CGPA

2011 - 2014
Work Experiance
I have 5 years of experience in development in networking domain. My most of the work was in user space. Below is the timeline of my work with organisations:

Freescale Semiconductor

Software Engineer

During the service, I was involved in Ethernet features implementation and bug fixes on Freescale SoCs. I worked on both kernel space and userspace space projects. Those projects are below:

  • Network Applications Development Kit (NADK - Freescale Proprietary Project)
  • Application Specific Fastpath (ASF - Freescale Proprietary kernel Space Project)
  • 2014 - 2016

    NXP Semiconductors

    Sr. Software Engineer

    During the service, I was involved in implement various Ethernet drivers and upstream some of them apart of many bug fixes. I worked on NXP HW, simulation and emulation environment. Below are the major projects in which I have contributed:

  • Data Plane Development Kit (DPDK)
  • Open Data Plane (ODP)
  • Vector Packet Processing (VPP)
  • 2016-2019
    Projects
    Below is the list of projects that I have worked on with summary of my activities:

    Data Plane Development Kit (DPDK)

    About

    DPDK is an Open Source Data Plane Development Kit that consists of libraries to accelerate packet processing workloads running on a wide variety of CPU architectures.

    Team Size: 6
    Duration: 1.5 years
    Clients
    open source
    Skills/Tools
  • C language
  • GNU debugger
  • perf
  • Simulator and Emulator
  • Spirent Test Center, IXIA
  • Gcov
  • Wireshark

  • I was involved in design and implement two ethernet drivers and one crypto driver for NXPs network SoCs. Also, I have contributed in performance optimisations and enable features in ethernet drivers on customers demands. I have also worked in pre-silicon environment includes implement and verification of Ethernet drivers on simulator and emulator.


    Below are some features that I have implemented during my job :

  • Driver probing, intialisation/un-intialisation
  • Rx/Tx queues setup
  • MTU, promiscuous, multicast support
  • CRC, checksum, RSS hash offloads
  • Performance Optimisations

  • Upstream Activities:

  • Ethernet driver: ENETC.
  • Crypto driver: CAAM_JR
  • Open Data Plane (ODP)

    About

    Open Data Plane (ODP) is an open-source project which defines application programming interfaces (APIs) for portable high performance data plane applications.

    Team Size: 5
    Duration: 2 years
    Clients
    open source
    Skills/Tools
  • C language
  • GNU debugger
  • Spirent Test Center, IXIA
  • Wireshark
  • Gcov

  • During this project, I was involved in features implementation for NXPs network SoCs apart of many bug fixes. My Major contribution was in enablement of Scheduler Groups and Multi-Buffer pools features.


    I was involved in below activities :

  • Multi Buffer pool support
  • Scheduler Groups support
  • Timer Support
  • Interrupts Coalescing
  • Bug fixes
  • Performance Optimisations
  • Network Application Development kit (NADK)

    About

    It is a user space Linux based framework which provide programming interfaces to write network applications over Freescale SoCs

    Team Size: 6
    Duration: 8 months
    Clients
    Freescale Semiconductor
    Skills/Tools
  • C language
  • GNU debugger
  • Spirent Test Center
  • Wireshark
  • Gcov

  • During this project, I was involved in Unit testing and a developed a sanity unit test framwork purely in shell script to reduce the testing time.


    Below were some tasks :

  • Developed a loopback shell script to auto test all NADK applications without external traffic.
  • Unit testing
  • Internal releases support
  • Application Specific Fastpath (ASF)

    About

    It is a Linux Kernel module (Dynamically and statically loadable) to enhance data path processing for IPv4/IPv6 forwarding/firewall use cases over Freescale specific network SoCs. This module is tightly coupled with Linux network stack to receive network configuration. Module has two major components, first control module which is designed to interact with Linux Network stack and second which is designed to forward data traffic as per the network configuration.

    Team Size: 6
    Duration: 8 months
    Clients
    EDW, Cisco, Samsung
    Skills/Tools
  • C language
  • Spirent Test Center
  • Wireshark

  • I mainly worked on bug fixes and involved in customer support activities.


    Below are some of those activities :

  • Customer support
  • Namespaces support
  • bug fixes
  • Vector Packet Processing (VPP)

    About

    It is the open source version of Cisco Vector Packet Processing (VPP) technology: a high performance, packet-processing stack that can run on commodity CPUs.

    Team Size: 2
    Duration: 6 months
    Clients
    open source
    Skills/Tools
  • C language
  • GNU debugger
  • Spirent Test Center

  • My main task was to support VPP using DPDK plugin over NXPs SoCs


    I was involved in below activities :

  • Integrated DPDK driver/plugin for NXPs SoCs
  • customer support
  • vitroots.com

    About

    vitroots.com is a single page web application to analyse options for trading.

    Team Size: 2
    Duration: 6 months
    Clients
    vitroots.com
    Skills/Tools
  • Python language
  • Chrome Inspection Tools
  • MySQL
  • Vuejs
  • Vuetify Framework

  • This is a personal project, currently it is in its initial phase. I am involved in complete SDLC for this project.

    Personal details

    DOB: 04-09-1992

    Father Name: Bhupinder Singh

    Hometown: Amritsar, Punjab

    Current City: Noida, UP

    Email: singh.gagan@outlook.in