SlideShare a Scribd company logo
1 of 6
Profile
A software professional with 12 years of experience in networking software and hardware drivers,
FreeBSD TCP/IP stack programming, Linux Kernel and KLM programming, IPSec software and
hardware drivers. I am known for my insatiable hunger for in-depth understanding of system and
networking software. Solving complex problems, designing data structures for scale and performance,
debugging difficult issues, diving deeper to get a simplified view of a given system has helped me gain
good technical background and grow into an individual who is able to design, implement solutions for
complex problems independently.
Experience Summary
• 12 years of experience in software architecture and development of networking and security
platforms and protocols
• 1 year and 3 months in scale and optimization of Cisco Nexus 7000 software handling ACL
and QoS policies for customers like IBM softlayer, Facebook, Rackspace, Daimler, China
Telecom and Telus. Time reduction from 15 minutes to 700 milli-seconds delivered for
Rackspace customer for their ACL policies. Time reduction from 9 minutes to 4 minutes
delivered for Facebook for their QoS policies. Time reduction from 8 minutes to 22 seconds
delivered for another customer who used a very large QoS policy. I have delivered 12 scale
optimizations during this time for various customers.
• 11 months in co-simulation/ASIC verification for QoS feature for Ethernet, IP, MPLS, EoMPLS,
VPLS, IP GRE tunneling, LISP, OTV and basic MPLS forwarding on the next generation
forwarding engine for Nexus 7000, a data center switch
• 1 year in design and development for Queuing support on Nexus 2000 for Ethernet, IP and
FCoE
• 2 years of experience in Layer 3 forwarding features for a data center switch Nexus 7000 in
Cisco
• 2 years of experience in Linux kernel programming and FreeBSD TCP/IP stack programming
for a WAN acceleration product in Juniper networks. The focus was primarily on scaling the
WAN acceleration device.
• 6 months in porting a IPSec VPN client to a ARM based ucLinux router for Cisco systems
• 3 months in designing a IP Packet interceptor for a IOS router for Cisco systems
• 2 years in bug-fixing (Crypto h/w accelerator drivers, IPSec Raw driver and MPC based
Ethernet drivers) for Cisco routers
• 1 year in developing automation scripts for Wireless Access points
Employment History
• Technical Lead, Nexus 7000, Data Center Business unit, Cisco Systems, Bangalore, India
(May 2010 till date)
• Senior Software Engineer, Wan Acceleration Business unit, Juniper Networks, Bangalore,
India
(April 2008-April 2010)
• Senior Software Engineer, HCL Technologies, Cisco Offshore Development center, Chennai,
India
(Dec 2002-March 2008)
GUNASEKARAN S
S4, Pearl Regal Apartments,
39/1, Doopanahalli Main Road,
Indira Nagar,
Bangalore – 560008
Email: gunasekaran.s@gmail.com
Phone: +1 408 477 6820
+91 9731153847
Education
• 78% in Master of Computer Application (May 2002) Madurai Kamaraj University, Madurai
• 83% in Bachelor of Science (Mathematics) (Apr 1999) Vivekananda College, Chennai.
Technologies
• IPv4, IPv6, MPLS data plane forwarding, Access Control list and Quality of Service
• Linux Kernel and KLM programming
• FreeBSD TCP/IP stack programming
• Data Center architecture
• Hardware crypto accelerator for IPSec
• Ethernet drivers on MPC
Projects
Cisco Systems, Bangalore
• Scale and optimization for ACL and QoS policies on Nexus 7000 Oct 2013 till date
This project is to improve the scale and optimization of software handling ACL and
QoS policies. During this time I have delivered 12 optimizations for scale issues that customers
like IBM softlayer, Facebook, Rackspace, Daimler, China Telecom were facing.
0) Time reduction from 15 minutes to 1 second delivered for Rackspace customer for their
ACL policies.
1) Time reduction from 9 minutes to 4 minutes delivered for Facebook for their QoS policies.
2) Time reduction from 8 minutes to 22 seconds delivered for another customer who used a
very large QoS policy.
• Queuing support for FCoE over FEX on Nexus 2000 Jul 2013 to Sep 2013
The project is to add queuing support for FCoE over FEX on the Nexus 2000 device
also knows as Fabric extender. This support allows enabling priority based flow control and
pause behavior for FCoE frames.
• Queuing support for IP and Ethernet on Nexus 2000 Jun 2012 to July 2013
The project is to add queuing support on the Nexus 2000 device also knows as Fabric
extender. This support allows classifying packets based on Ethernet COS or IP DSCP and
differentiating control packets from data packets to provide different queuing treatment. The
queuing parameters like bandwidth, priority are enabled on the FEX device.
• ASIC verification for QoS feature and basic MPLS forwarding Jul 2011 to May 2012
The project is to do QoS ASIC verification using the RTL model for the next generation
Nexus 7000 forwarding engine. This project required understanding the forwarding pipeline in
detail for MPLS QoS and IP QoS. I found 8 issues with the RTL model and provided changes
to the pipeline logic for one particular issue. I learnt a lot in this project and my effort was much
appreciated as any issue in an ASIC after tape out is very expensive to fix. All QoS features for
Ethernet, basic IP, IP GRE tunneling, EoMPLS, VPLS, OTV, LISP, mVPN were verified using
RTL as part of this project.
• ACL capture for a data center switch Sep 2010 to Jun 2011
The project is to design ACL capture feature for a data center switch Nexus 7k. The
switch runs NXOS which is based on Linux and does Layer-2 and Layer-3 forwarding in
hardware. The switch contains an active and standby supervisor module and contains at most
18 packet forwarding line card modules. Supervisor module handles the control path; learning
routes using various routing protocols and programming the forwarding engine on the line
cards. Line card module handles the data path; all Layer 2 and Layer 3 forwarding.
This feature is to enable capturing packets using an ACL and redirecting it out on a
specified number of ports on one or more line cards.
I was given a top performance award for delivering this feature on time with good
quality.
• Enabling rate-limiter Jul 2010 to Aug 2010
This project is to design and implement a method to enable rate-limiter based on
various fields in Layer2 and Layer3 headers. This rate-limiter is used by the line cards to limit
the packets per second sent to the supervisor module. This limitation is needed to make sure
that the supervisor is not overwhelmed with packets from line cards as the supervisor handles
the packets in software.
Juniper Networks, Bangalore
• Design and Implementation of a zero copy network driver in Linux Jul 2009 to Apr 2010
The project was to design and implement a zero copy pseudo network driver in Linux
to be used by a WAN acceleration product from Juniper Networks running on a multi-cpu
system. This driver is used by a FreeBSD TCP/IP stack that runs in user space as a Linux
process. The WAN acceleration does not use the Linux TCP/IP stack and this user space
TCP/IP stack is used primarily for TCP proxy. All acceleration techniques are applied on the
TCP proxy flows. With this change the buffer to which the Ethernet frame gets DMA’ed into is
given to user space stack without any copy. I designed and implemented the zero-copy
infrastructure on the receive path. This involved changes to the e1000 and igb driver in Linux.
This improved the throughput of the TCP proxy flows by ~20%.
• Design to scale TCP Proxy flows Jul 2009 to Apr 2010
The project was to evaluate the design of the TCP proxy solution used for WAN
acceleration and come up with changes that would scale the number of TCP Proxy flows. It is
to be noted that acceleration is applied only on the TCP proxy flows processed by FreeBSD
stack. After the evaluation I proposed a change to the FreeBSD stack’s infrastructure inside
the user process. The change in design reduced the context switches, lock contention among
the FreeBSD user threads. Zero-copy where possible was added in the FreeBSD stack’s TX
path. Also changes were included to improve the memory utilization.
With all the above mentioned changes the number of proxy flows scaled from 1000 to
20000.
• Design and Implementation of compression over TCP Proxy Jul 2009 to Apr 2010
The project was to design and implement a memory-based compression service over
the TCP proxy. I designed the de-compressor for the service, reduced the memory footprint of
the service-memory based compression service generally consumes a lot of memory, and
introduced flow control for the compression service. The service was based on the freely
available LZO compression library.
With this service, the flows get accelerated by 25 to 50%.
• Memory Tuning and fixing buffer leaks in FreeBSD TCP/IP stack Sep 2008 to Jun 2009
To understand the UMA memory allocator used in FreeBSD stack and reduce the
internal fragmentation if any. The most frequently used memory-buffers in FreeBSD stack were
incurring 30% wastage of the buffers in internal fragmentation. This was fixed and it improved
in scaling the flows supported by FreeBSD stack.
I designed a tool to keep track of the buffers pushed from Linux kernel to the FreeBSD
stacks by assigning ownership to each buffer. As the buffer moves from the Ethernet driver to
the Linux kernel to the FreeBSD TCP/IP stack and then back to the Linux kernel it is tracked.
This tool helped in fixing almost all the buffer leaks in FreeBSD stack.
There were nasty corruption bugs in UMA zones. And it almost stopped the product
release. I provided a fix for these issues and the effort was very much appreciated.
• User space FreeBSD TCP/IP stack throughput scaling Aug 2008 to Sep 2008
This was my first scalability assignment after I joined Juniper. This effort was the first
in line of all the other scalability changes I worked on later. When I first looked at it, the user
stack was processing packets around 400Mbps on the receive side.
I changed the polling method and it improved the throughput to 600Mbps on the
receive side.
• Evaluation License infrastructure and Licensing framework Apr 2008 to Jul 2008
This was done immediately after I joined Juniper. I implemented a simple evaluation
license infrastructure and also ported the licensing framework from JUNOS.
HCL Technologies – Cisco Offshore Development Centre, Chennai
• Designing an IP Packet interceptor Jan 2008 to Mar 2008
The project was to design an interceptor driver that interfaces Cisco IOS router with a
Linux based network module. The router and the module form a distributed system with router
running Cisco IOS and the module running Linux. The interceptor will run on Cisco IOS router,
intercept IP Packets through the specified list of router interfaces, and divert those packets to
the network module. The network module will process the diverted packets and send the result
back to the router with the original packet. The interceptor then re-injects the packet back into
the switching path on the router and the packet is routed to the final destination.
• Porting Cisco IPSec VPN client Mar 2007 to Sep 2007
The project was to port Linux based Cisco VPN client software to a ucLinux based
Cisco router. The VPN client has two major components: RSA libraries used for all
cryptographic functions and the main VPN client which does IPSec/ISAKMP.
• IPSec HW crypto driver Sustenance Mar 2005 to Mar 2008
The project was to fix defects in HW crypto device drivers on IOS based Cisco routers.
I worked on crypto drivers for crypto hardware from the following vendors:
 Hifn
 Motorola
 Safenet
The crypto cards ranged from some supporting primitive crypto operations like
encryption (DES, 3DES, AES), hashing (SHA, MD5) and multi-precision arithmetic to hardware
that does IPSec completely.
• Ethernet driver Sustenance Jan 2005 to Mar 2005
The project was to fix defects on MPC860 and MPC8270 based Ethernet drivers and
IGMP snooping feature on Cisco routers.
• Porting scripts – SOHO routers Mar 2004 to Nov 2004
The project was to identify existing TCL scripts from the repository and port them for
IOS based Cisco SOHO routers. It involved finding scripts that are used on routers similar to
SOHO in functionality for the feature under test and modifying them so that it could be used for
regression on SOHO routers.
• Automation – Wireless Access Points Apr 2003 to Feb 2004
The project was to manually test and automate the various features supported on IOS
based 802.11 Cisco wireless access points. I was involved in manual verification, automation
design, scripting for the Wireless security (WEP, Cisco LEAP, and EAPoTLS) and Wireless
VLAN features. TCL and Expect were used for scripting.
References: Will be provided upon request.
encryption (DES, 3DES, AES), hashing (SHA, MD5) and multi-precision arithmetic to hardware
that does IPSec completely.
• Ethernet driver Sustenance Jan 2005 to Mar 2005
The project was to fix defects on MPC860 and MPC8270 based Ethernet drivers and
IGMP snooping feature on Cisco routers.
• Porting scripts – SOHO routers Mar 2004 to Nov 2004
The project was to identify existing TCL scripts from the repository and port them for
IOS based Cisco SOHO routers. It involved finding scripts that are used on routers similar to
SOHO in functionality for the feature under test and modifying them so that it could be used for
regression on SOHO routers.
• Automation – Wireless Access Points Apr 2003 to Feb 2004
The project was to manually test and automate the various features supported on IOS
based 802.11 Cisco wireless access points. I was involved in manual verification, automation
design, scripting for the Wireless security (WEP, Cisco LEAP, and EAPoTLS) and Wireless
VLAN features. TCL and Expect were used for scripting.
References: Will be provided upon request.

More Related Content

What's hot

Introduction to OpenFlow, SDN and NFV
Introduction to OpenFlow, SDN and NFVIntroduction to OpenFlow, SDN and NFV
Introduction to OpenFlow, SDN and NFV
Kingston Smiler
 
IRATI project presentation
IRATI project presentationIRATI project presentation
IRATI project presentation
Eleni Trouva
 
Virt july-2013-meetup
Virt july-2013-meetupVirt july-2013-meetup
Virt july-2013-meetup
nvirters
 
RINA motivation, introduction and IRATI goals. IEEE ANTS 2012
RINA motivation, introduction and IRATI goals. IEEE ANTS 2012RINA motivation, introduction and IRATI goals. IEEE ANTS 2012
RINA motivation, introduction and IRATI goals. IEEE ANTS 2012
Eleni Trouva
 
SDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingSDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center Networking
Thomas Graf
 

What's hot (20)

Software defined networking(sdn) vahid sadri
Software defined networking(sdn) vahid sadriSoftware defined networking(sdn) vahid sadri
Software defined networking(sdn) vahid sadri
 
IRATI Experimentation, US-EU FIRE Workshop
IRATI Experimentation, US-EU FIRE WorkshopIRATI Experimentation, US-EU FIRE Workshop
IRATI Experimentation, US-EU FIRE Workshop
 
Introduction to OpenFlow, SDN and NFV
Introduction to OpenFlow, SDN and NFVIntroduction to OpenFlow, SDN and NFV
Introduction to OpenFlow, SDN and NFV
 
1. RINA motivation - TF Workshop
1. RINA motivation - TF Workshop1. RINA motivation - TF Workshop
1. RINA motivation - TF Workshop
 
3. RINA use cases, results, benefits
3. RINA use cases, results, benefits3. RINA use cases, results, benefits
3. RINA use cases, results, benefits
 
Experimental evaluation of a RINA prototype - GC 2014
Experimental evaluation of a RINA prototype - GC 2014Experimental evaluation of a RINA prototype - GC 2014
Experimental evaluation of a RINA prototype - GC 2014
 
SDN Architecture & Ecosystem
SDN Architecture & EcosystemSDN Architecture & Ecosystem
SDN Architecture & Ecosystem
 
Modern Software Architecture
Modern Software Architecture Modern Software Architecture
Modern Software Architecture
 
SDN Networks Programming Languages
SDN Networks Programming LanguagesSDN Networks Programming Languages
SDN Networks Programming Languages
 
Update on IRATI technical work after month 6
Update on IRATI technical work after month 6Update on IRATI technical work after month 6
Update on IRATI technical work after month 6
 
Tutorial on SDN data plane evolution
Tutorial on SDN data plane evolutionTutorial on SDN data plane evolution
Tutorial on SDN data plane evolution
 
International SIP conference 2009
International SIP conference 2009International SIP conference 2009
International SIP conference 2009
 
RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7
RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7
RINA overview and ongoing research in EC-funded projects, ISO SC6 WG7
 
IRATI project presentation
IRATI project presentationIRATI project presentation
IRATI project presentation
 
What a difference 5 years make
What a difference 5 years makeWhat a difference 5 years make
What a difference 5 years make
 
Virt july-2013-meetup
Virt july-2013-meetupVirt july-2013-meetup
Virt july-2013-meetup
 
OpenFlow: What is it Good For?
OpenFlow: What is it Good For? OpenFlow: What is it Good For?
OpenFlow: What is it Good For?
 
RINA motivation, introduction and IRATI goals. IEEE ANTS 2012
RINA motivation, introduction and IRATI goals. IEEE ANTS 2012RINA motivation, introduction and IRATI goals. IEEE ANTS 2012
RINA motivation, introduction and IRATI goals. IEEE ANTS 2012
 
Open stack with_openflowsdn-torii
Open stack with_openflowsdn-toriiOpen stack with_openflowsdn-torii
Open stack with_openflowsdn-torii
 
SDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center NetworkingSDN & NFV Introduction - Open Source Data Center Networking
SDN & NFV Introduction - Open Source Data Center Networking
 

Viewers also liked

Presentation Slide
Presentation SlidePresentation Slide
Presentation Slide
LAI YI MEI
 
Purposive group session (with tea stall & small hotel owner)con
Purposive group session (with tea stall & small hotel owner)conPurposive group session (with tea stall & small hotel owner)con
Purposive group session (with tea stall & small hotel owner)con
Asraful Islam
 
Percentages of an amount
Percentages of an amountPercentages of an amount
Percentages of an amount
Libby Lawler
 
L1 Planning for Earthwork Construction
L1 Planning for Earthwork ConstructionL1 Planning for Earthwork Construction
L1 Planning for Earthwork Construction
Don W. Lewis
 
Ejercicios arte renacimiento.
Ejercicios arte renacimiento.Ejercicios arte renacimiento.
Ejercicios arte renacimiento.
Muchoarte
 

Viewers also liked (19)

Priorização do Transporte Público por Ônibus
Priorização do Transporte Público por ÔnibusPriorização do Transporte Público por Ônibus
Priorização do Transporte Público por Ônibus
 
Presentation Slide
Presentation SlidePresentation Slide
Presentation Slide
 
Costos del transporte público por buses en Brasil
Costos del transporte público por buses en BrasilCostos del transporte público por buses en Brasil
Costos del transporte público por buses en Brasil
 
Purposive group session (with tea stall & small hotel owner)con
Purposive group session (with tea stall & small hotel owner)conPurposive group session (with tea stall & small hotel owner)con
Purposive group session (with tea stall & small hotel owner)con
 
Taller#9 walter rojas hurtado 8°c
Taller#9 walter rojas hurtado 8°cTaller#9 walter rojas hurtado 8°c
Taller#9 walter rojas hurtado 8°c
 
Trabajo de economía, luis daniel reales
Trabajo de economía, luis daniel reales Trabajo de economía, luis daniel reales
Trabajo de economía, luis daniel reales
 
PPP around the World: Learning from the experience
PPP around the World: Learning from the experiencePPP around the World: Learning from the experience
PPP around the World: Learning from the experience
 
Percentages of an amount
Percentages of an amountPercentages of an amount
Percentages of an amount
 
1edit
1edit1edit
1edit
 
Chapter 22
Chapter 22Chapter 22
Chapter 22
 
Innovative Zoning Strategies Workshop - Transit Oriented Development
Innovative Zoning Strategies Workshop - Transit Oriented DevelopmentInnovative Zoning Strategies Workshop - Transit Oriented Development
Innovative Zoning Strategies Workshop - Transit Oriented Development
 
Diabetes
DiabetesDiabetes
Diabetes
 
Human Business Design SXSW
Human Business Design SXSWHuman Business Design SXSW
Human Business Design SXSW
 
L1 Planning for Earthwork Construction
L1 Planning for Earthwork ConstructionL1 Planning for Earthwork Construction
L1 Planning for Earthwork Construction
 
ArcGIS: mapas inteligentes para todos
ArcGIS: mapas inteligentes para todosArcGIS: mapas inteligentes para todos
ArcGIS: mapas inteligentes para todos
 
Ejercicios arte renacimiento.
Ejercicios arte renacimiento.Ejercicios arte renacimiento.
Ejercicios arte renacimiento.
 
Critical Path Method (CPM) & Network Analysis
Critical Path Method (CPM) & Network AnalysisCritical Path Method (CPM) & Network Analysis
Critical Path Method (CPM) & Network Analysis
 
DARPNotes_Fall2013
DARPNotes_Fall2013DARPNotes_Fall2013
DARPNotes_Fall2013
 
Neundenker
NeundenkerNeundenker
Neundenker
 

Similar to guna_2015.DOC

M1-C17-Armando una red.pptx
M1-C17-Armando una red.pptxM1-C17-Armando una red.pptx
M1-C17-Armando una red.pptx
Angel Garcia
 

Similar to guna_2015.DOC (20)

G rpc talk with intel (3)
G rpc talk with intel (3)G rpc talk with intel (3)
G rpc talk with intel (3)
 
Private Network Project for Colleges
Private Network Project for CollegesPrivate Network Project for Colleges
Private Network Project for Colleges
 
Santhosh resume
Santhosh resumeSanthosh resume
Santhosh resume
 
resume2
resume2resume2
resume2
 
Software Stacks to enable SDN and NFV
Software Stacks to enable SDN and NFVSoftware Stacks to enable SDN and NFV
Software Stacks to enable SDN and NFV
 
Network Virtualization using Shortest Path Bridging
Network Virtualization using Shortest Path Bridging Network Virtualization using Shortest Path Bridging
Network Virtualization using Shortest Path Bridging
 
ITN_Module_17.pptx
ITN_Module_17.pptxITN_Module_17.pptx
ITN_Module_17.pptx
 
pres_all_latest
pres_all_latestpres_all_latest
pres_all_latest
 
Future services on Janet
Future services on JanetFuture services on Janet
Future services on Janet
 
07 (IDNOG02) SDN Research activity in Institut Teknologi Bandung by Affan Bas...
07 (IDNOG02) SDN Research activity in Institut Teknologi Bandung by Affan Bas...07 (IDNOG02) SDN Research activity in Institut Teknologi Bandung by Affan Bas...
07 (IDNOG02) SDN Research activity in Institut Teknologi Bandung by Affan Bas...
 
VPN in Virtualized DataCenter
VPN in Virtualized DataCenterVPN in Virtualized DataCenter
VPN in Virtualized DataCenter
 
Prakash sahoo
Prakash sahooPrakash sahoo
Prakash sahoo
 
Panel with IPv6 CE Vendors
Panel with IPv6 CE VendorsPanel with IPv6 CE Vendors
Panel with IPv6 CE Vendors
 
Ieee ce.dcai
Ieee ce.dcaiIeee ce.dcai
Ieee ce.dcai
 
Chellappa Profile
Chellappa ProfileChellappa Profile
Chellappa Profile
 
M1-C17-Armando una red.pptx
M1-C17-Armando una red.pptxM1-C17-Armando una red.pptx
M1-C17-Armando una red.pptx
 
17 - Building small network.pdf
17 - Building small network.pdf17 - Building small network.pdf
17 - Building small network.pdf
 
NFV and SDN: 4G LTE and 5G Wireless Networks on Intel(r) Architecture
NFV and SDN: 4G LTE and 5G Wireless Networks on Intel(r) ArchitectureNFV and SDN: 4G LTE and 5G Wireless Networks on Intel(r) Architecture
NFV and SDN: 4G LTE and 5G Wireless Networks on Intel(r) Architecture
 
Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)
Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)
Dataplane networking acceleration with OpenDataplane / Максим Уваров (Linaro)
 
Performance of MPLS-based Virtual Private Networks and Classic Virtual Privat...
Performance of MPLS-based Virtual Private Networks and Classic Virtual Privat...Performance of MPLS-based Virtual Private Networks and Classic Virtual Privat...
Performance of MPLS-based Virtual Private Networks and Classic Virtual Privat...
 

guna_2015.DOC

  • 1. Profile A software professional with 12 years of experience in networking software and hardware drivers, FreeBSD TCP/IP stack programming, Linux Kernel and KLM programming, IPSec software and hardware drivers. I am known for my insatiable hunger for in-depth understanding of system and networking software. Solving complex problems, designing data structures for scale and performance, debugging difficult issues, diving deeper to get a simplified view of a given system has helped me gain good technical background and grow into an individual who is able to design, implement solutions for complex problems independently. Experience Summary • 12 years of experience in software architecture and development of networking and security platforms and protocols • 1 year and 3 months in scale and optimization of Cisco Nexus 7000 software handling ACL and QoS policies for customers like IBM softlayer, Facebook, Rackspace, Daimler, China Telecom and Telus. Time reduction from 15 minutes to 700 milli-seconds delivered for Rackspace customer for their ACL policies. Time reduction from 9 minutes to 4 minutes delivered for Facebook for their QoS policies. Time reduction from 8 minutes to 22 seconds delivered for another customer who used a very large QoS policy. I have delivered 12 scale optimizations during this time for various customers. • 11 months in co-simulation/ASIC verification for QoS feature for Ethernet, IP, MPLS, EoMPLS, VPLS, IP GRE tunneling, LISP, OTV and basic MPLS forwarding on the next generation forwarding engine for Nexus 7000, a data center switch • 1 year in design and development for Queuing support on Nexus 2000 for Ethernet, IP and FCoE • 2 years of experience in Layer 3 forwarding features for a data center switch Nexus 7000 in Cisco • 2 years of experience in Linux kernel programming and FreeBSD TCP/IP stack programming for a WAN acceleration product in Juniper networks. The focus was primarily on scaling the WAN acceleration device. • 6 months in porting a IPSec VPN client to a ARM based ucLinux router for Cisco systems • 3 months in designing a IP Packet interceptor for a IOS router for Cisco systems • 2 years in bug-fixing (Crypto h/w accelerator drivers, IPSec Raw driver and MPC based Ethernet drivers) for Cisco routers • 1 year in developing automation scripts for Wireless Access points Employment History • Technical Lead, Nexus 7000, Data Center Business unit, Cisco Systems, Bangalore, India (May 2010 till date) • Senior Software Engineer, Wan Acceleration Business unit, Juniper Networks, Bangalore, India (April 2008-April 2010) • Senior Software Engineer, HCL Technologies, Cisco Offshore Development center, Chennai, India (Dec 2002-March 2008) GUNASEKARAN S S4, Pearl Regal Apartments, 39/1, Doopanahalli Main Road, Indira Nagar, Bangalore – 560008 Email: gunasekaran.s@gmail.com Phone: +1 408 477 6820 +91 9731153847
  • 2. Education • 78% in Master of Computer Application (May 2002) Madurai Kamaraj University, Madurai • 83% in Bachelor of Science (Mathematics) (Apr 1999) Vivekananda College, Chennai. Technologies • IPv4, IPv6, MPLS data plane forwarding, Access Control list and Quality of Service • Linux Kernel and KLM programming • FreeBSD TCP/IP stack programming • Data Center architecture • Hardware crypto accelerator for IPSec • Ethernet drivers on MPC Projects Cisco Systems, Bangalore • Scale and optimization for ACL and QoS policies on Nexus 7000 Oct 2013 till date This project is to improve the scale and optimization of software handling ACL and QoS policies. During this time I have delivered 12 optimizations for scale issues that customers like IBM softlayer, Facebook, Rackspace, Daimler, China Telecom were facing. 0) Time reduction from 15 minutes to 1 second delivered for Rackspace customer for their ACL policies. 1) Time reduction from 9 minutes to 4 minutes delivered for Facebook for their QoS policies. 2) Time reduction from 8 minutes to 22 seconds delivered for another customer who used a very large QoS policy. • Queuing support for FCoE over FEX on Nexus 2000 Jul 2013 to Sep 2013 The project is to add queuing support for FCoE over FEX on the Nexus 2000 device also knows as Fabric extender. This support allows enabling priority based flow control and pause behavior for FCoE frames. • Queuing support for IP and Ethernet on Nexus 2000 Jun 2012 to July 2013 The project is to add queuing support on the Nexus 2000 device also knows as Fabric extender. This support allows classifying packets based on Ethernet COS or IP DSCP and differentiating control packets from data packets to provide different queuing treatment. The queuing parameters like bandwidth, priority are enabled on the FEX device. • ASIC verification for QoS feature and basic MPLS forwarding Jul 2011 to May 2012 The project is to do QoS ASIC verification using the RTL model for the next generation Nexus 7000 forwarding engine. This project required understanding the forwarding pipeline in detail for MPLS QoS and IP QoS. I found 8 issues with the RTL model and provided changes to the pipeline logic for one particular issue. I learnt a lot in this project and my effort was much appreciated as any issue in an ASIC after tape out is very expensive to fix. All QoS features for Ethernet, basic IP, IP GRE tunneling, EoMPLS, VPLS, OTV, LISP, mVPN were verified using RTL as part of this project.
  • 3. • ACL capture for a data center switch Sep 2010 to Jun 2011 The project is to design ACL capture feature for a data center switch Nexus 7k. The switch runs NXOS which is based on Linux and does Layer-2 and Layer-3 forwarding in hardware. The switch contains an active and standby supervisor module and contains at most 18 packet forwarding line card modules. Supervisor module handles the control path; learning routes using various routing protocols and programming the forwarding engine on the line cards. Line card module handles the data path; all Layer 2 and Layer 3 forwarding. This feature is to enable capturing packets using an ACL and redirecting it out on a specified number of ports on one or more line cards. I was given a top performance award for delivering this feature on time with good quality. • Enabling rate-limiter Jul 2010 to Aug 2010 This project is to design and implement a method to enable rate-limiter based on various fields in Layer2 and Layer3 headers. This rate-limiter is used by the line cards to limit the packets per second sent to the supervisor module. This limitation is needed to make sure that the supervisor is not overwhelmed with packets from line cards as the supervisor handles the packets in software. Juniper Networks, Bangalore • Design and Implementation of a zero copy network driver in Linux Jul 2009 to Apr 2010 The project was to design and implement a zero copy pseudo network driver in Linux to be used by a WAN acceleration product from Juniper Networks running on a multi-cpu system. This driver is used by a FreeBSD TCP/IP stack that runs in user space as a Linux process. The WAN acceleration does not use the Linux TCP/IP stack and this user space TCP/IP stack is used primarily for TCP proxy. All acceleration techniques are applied on the TCP proxy flows. With this change the buffer to which the Ethernet frame gets DMA’ed into is given to user space stack without any copy. I designed and implemented the zero-copy infrastructure on the receive path. This involved changes to the e1000 and igb driver in Linux. This improved the throughput of the TCP proxy flows by ~20%. • Design to scale TCP Proxy flows Jul 2009 to Apr 2010 The project was to evaluate the design of the TCP proxy solution used for WAN acceleration and come up with changes that would scale the number of TCP Proxy flows. It is to be noted that acceleration is applied only on the TCP proxy flows processed by FreeBSD stack. After the evaluation I proposed a change to the FreeBSD stack’s infrastructure inside the user process. The change in design reduced the context switches, lock contention among the FreeBSD user threads. Zero-copy where possible was added in the FreeBSD stack’s TX path. Also changes were included to improve the memory utilization. With all the above mentioned changes the number of proxy flows scaled from 1000 to 20000. • Design and Implementation of compression over TCP Proxy Jul 2009 to Apr 2010 The project was to design and implement a memory-based compression service over the TCP proxy. I designed the de-compressor for the service, reduced the memory footprint of the service-memory based compression service generally consumes a lot of memory, and introduced flow control for the compression service. The service was based on the freely available LZO compression library.
  • 4. With this service, the flows get accelerated by 25 to 50%. • Memory Tuning and fixing buffer leaks in FreeBSD TCP/IP stack Sep 2008 to Jun 2009 To understand the UMA memory allocator used in FreeBSD stack and reduce the internal fragmentation if any. The most frequently used memory-buffers in FreeBSD stack were incurring 30% wastage of the buffers in internal fragmentation. This was fixed and it improved in scaling the flows supported by FreeBSD stack. I designed a tool to keep track of the buffers pushed from Linux kernel to the FreeBSD stacks by assigning ownership to each buffer. As the buffer moves from the Ethernet driver to the Linux kernel to the FreeBSD TCP/IP stack and then back to the Linux kernel it is tracked. This tool helped in fixing almost all the buffer leaks in FreeBSD stack. There were nasty corruption bugs in UMA zones. And it almost stopped the product release. I provided a fix for these issues and the effort was very much appreciated. • User space FreeBSD TCP/IP stack throughput scaling Aug 2008 to Sep 2008 This was my first scalability assignment after I joined Juniper. This effort was the first in line of all the other scalability changes I worked on later. When I first looked at it, the user stack was processing packets around 400Mbps on the receive side. I changed the polling method and it improved the throughput to 600Mbps on the receive side. • Evaluation License infrastructure and Licensing framework Apr 2008 to Jul 2008 This was done immediately after I joined Juniper. I implemented a simple evaluation license infrastructure and also ported the licensing framework from JUNOS. HCL Technologies – Cisco Offshore Development Centre, Chennai • Designing an IP Packet interceptor Jan 2008 to Mar 2008 The project was to design an interceptor driver that interfaces Cisco IOS router with a Linux based network module. The router and the module form a distributed system with router running Cisco IOS and the module running Linux. The interceptor will run on Cisco IOS router, intercept IP Packets through the specified list of router interfaces, and divert those packets to the network module. The network module will process the diverted packets and send the result back to the router with the original packet. The interceptor then re-injects the packet back into the switching path on the router and the packet is routed to the final destination. • Porting Cisco IPSec VPN client Mar 2007 to Sep 2007 The project was to port Linux based Cisco VPN client software to a ucLinux based Cisco router. The VPN client has two major components: RSA libraries used for all cryptographic functions and the main VPN client which does IPSec/ISAKMP. • IPSec HW crypto driver Sustenance Mar 2005 to Mar 2008 The project was to fix defects in HW crypto device drivers on IOS based Cisco routers. I worked on crypto drivers for crypto hardware from the following vendors:  Hifn  Motorola  Safenet The crypto cards ranged from some supporting primitive crypto operations like
  • 5. encryption (DES, 3DES, AES), hashing (SHA, MD5) and multi-precision arithmetic to hardware that does IPSec completely. • Ethernet driver Sustenance Jan 2005 to Mar 2005 The project was to fix defects on MPC860 and MPC8270 based Ethernet drivers and IGMP snooping feature on Cisco routers. • Porting scripts – SOHO routers Mar 2004 to Nov 2004 The project was to identify existing TCL scripts from the repository and port them for IOS based Cisco SOHO routers. It involved finding scripts that are used on routers similar to SOHO in functionality for the feature under test and modifying them so that it could be used for regression on SOHO routers. • Automation – Wireless Access Points Apr 2003 to Feb 2004 The project was to manually test and automate the various features supported on IOS based 802.11 Cisco wireless access points. I was involved in manual verification, automation design, scripting for the Wireless security (WEP, Cisco LEAP, and EAPoTLS) and Wireless VLAN features. TCL and Expect were used for scripting. References: Will be provided upon request.
  • 6. encryption (DES, 3DES, AES), hashing (SHA, MD5) and multi-precision arithmetic to hardware that does IPSec completely. • Ethernet driver Sustenance Jan 2005 to Mar 2005 The project was to fix defects on MPC860 and MPC8270 based Ethernet drivers and IGMP snooping feature on Cisco routers. • Porting scripts – SOHO routers Mar 2004 to Nov 2004 The project was to identify existing TCL scripts from the repository and port them for IOS based Cisco SOHO routers. It involved finding scripts that are used on routers similar to SOHO in functionality for the feature under test and modifying them so that it could be used for regression on SOHO routers. • Automation – Wireless Access Points Apr 2003 to Feb 2004 The project was to manually test and automate the various features supported on IOS based 802.11 Cisco wireless access points. I was involved in manual verification, automation design, scripting for the Wireless security (WEP, Cisco LEAP, and EAPoTLS) and Wireless VLAN features. TCL and Expect were used for scripting. References: Will be provided upon request.