1. Appaji Koppula
Mobile: +91 9379447820
Email: appajikoppula@gmail.com
Approved H1B VISA available till September 2016
Professional Experience:
Software development experience in networking domain for 10 years
Good understanding of Linux & Unix platforms
Experience in C programming and algorithms
Debugging tools development experience
Excellent Communication, troubleshooting, problem solving and analytical skills
with ability to learn and adapt to new projects and technical skills in short time
Software Proficiency:
Operating systems : Linux, FreeBSD
Languages : C, C++
Networking Protocols : TCP/IP, IPv6, DNSRD, IPIP
Code Management : CVS, Perforce
Work Experience: 10 years
January 2013 – Till date : Cisco Systems, Bangalore
December 2009 – January 2013 : Citrix R&D India Pvt Ltd, Bangalore
January 2008 – December 2009 : Juniper Networks, Bangalore
December 2004 – January 2008 : Intoto Software(I) Pvt. Ltd., Hyderabad
(Now acquired by Freescale)
Education Qualifications:
Qualification Institute Year
MS (Software Systems) BITS, Pilani 2012-2013
MBA (IT & Systems) Icfai University, Hyderabad 2007-2012
B.E (CSE) Muffakham Jah College of Engineering,
Hyderabad, affiliated to Osmania University
2000-04
Intermediate Rama Krishna Sahakara Jr.Kalasala, Guntur,
Andhra Pradesh
1997-99
S.S.C. Geeta Gurukulam, Dachepallli, Guntur,
Andhra Pradesh
1997
1
2. 1) January 2013 – Till date
Designation : Senior Software Development Engineer
Company : Cisco Systems, Bangalore
Company Profile : Cisco Systems is a networking giant, which provides routers,
security and cloud solutions, etc.
Team Worked in – XR-Netinfra: Netinfra provides infrastructure needed for L2, L3 and
L4 layers on IOS-XR.
Project#1 Fallback VRF support for IOS-XR
Virtual routing and forwarding (VRF) is a technology included in IP (Internet Protocol)
network routers that allows multiple instances of a routing table to exist in a router and
work simultaneously. Fallback VRF is a mechanism where traffic can fallback to, in case
the route lookup does not match any entry in that VRF table.
Responsibilities: Design, coding, implementation, unit testing and maintenance.
Project#2 Hub PE support for IOS-XR
Selective VRF Download (SVD) is an idea is to download only those prefixes and labels
to a line card that are actively required to forward traffic through that line card. When
SVD is enabled, only local VRF tables would be downloaded on the line cards.
In HUB PE scenarios, the customers needed an option to disable SVD for particular
VRFs.
Responsibilities: Design, coding, implementation, unit testing and maintenance.
Project#3 SRLG name mapping support for IOS-XR
Shared Risk Link Groups (SRLGs) refer to situations where links in a network share a
common fiber. If one link fails, other links in the group may fail too. Links in the group
have a shared risk.
Earlier SRLG values were used everywhere in configuration and show output. But SRLG
values were not very meaningful. When engineers troubleshoot SRLG related issues, they
have to correlate the value to the optical link segment. A meaningful SRLG name that
can represent the optical link segment will be more useful. The changes were done to
support both name and value infrastructures for SRLG.
Responsibilities: Design, coding, implementation, unit testing and maintenance.
2
3. 2) December 2009 – January 2013
Designation : Senior Software Development Engineer
Company : Citrix R&D India Pvt Ltd, Bangalore
Company Profile : Citrix NetScaler makes apps and cloud-based services run much
faster by offloading app and database servers, accelerating app and service performance,
and integrating security. Deployed in front of web and database servers, NetScaler
combines high-speed load balancing and content switching, data compression, content
caching, SSL acceleration, network optimization, application visibility and application
security on a single, comprehensive platform.
Team Worked in – Life Cycle Maintenance (LCM): LCM is a new team that is being
formed to handle escalations that come to the engineering teams (at the L3 level).
Additionally, the focus will be on the overall quality and troubleshooting aspects of
NetScaler products.
Responsibilities :
• Primarily focusing on sustenance of Netscaler product. Working on complex
issues in multiple areas such as Load Balancing, SSL, TCP/IP, routing, High
Availability, platform and system related issues; primarily focusing on customer
issues.
• Improvements in the areas of diagnosability in the multiple areas of the product.
• Development and enhancements of tools like Callhome feature, Techsupport,
Constant Profiler, and scripts to detect the familiar issues, etc.
Callhome is feature to flag the customer and report to Citrix directly if
configured about any familiar errors like hardware failures, memory failures,
known traps, tight loops, connectivity failures, etc. This runs as a daemon
which will interact with multiple processes and if it finds any severe issue
with the box, then it collects the Techsupport archive and upload it to Citrix
servers without intervention of customer. This feature in turn uses several
tools like Techsupport and automated scripts. This feature is implemented in
C, Perl and shell scripting.
Constant Profiler, a feature to run profiler at all times, as soon as the
NetScaler device comes up. At the boot time, the profiler is invoked and it
keeps running as a daemon. Any time, if any of the Processing Engines
(which run as different processes on different cores on an ncore architecture;
each process is pinned to single core) associated CPU exceeds 90%, the
profiler captures the data into a set of files. The data contains the instructions
getting executed in that process at a regular intervals of time and also the time
of capture. This data is useful to analyze any tight loops in the packet
processing path, stress traffic analysis, etc.
3
4. Techsupport is a generic, platform independent tool written in Perl to collect
all the relevant files (Configuration files, core files, relevant log files,
Constant Profiler output, etc), Netscaler CLI standard command outputs
(show, stat commands) and other relevant data from customer box to debug
the issue locally. Invoking this script will collect all information and generate
a single compressed file, which can be uploaded to Citrix for debugging.
Implementation and maintenance of automated scripts (shell scripts) to find
the known errors at the customer scenarios. If a bug is found with specific
characters at one customer site, then there is every chance that the bug would
be seen at many other customer sites. To avoid the duplicate effort for such
issues, scripts are automated to handle familiar error cases. These scripts can
be run on live box as well as Techsupport output.
4
5. 3) January 2008 – December 2009
Designation : Member of Technical Staff-II
Company : Juniper Networks, Bangalore
Company Profile : Juniper Networks, Inc. is one of the market leaders in
manufacturing of Routers and Network security devices. Juniper Networks, Inc. engages
in the design, development, and sale of products and services that provide network
infrastructure, which creates environment for accelerating the deployment of services and
applications over a single Internet Protocol (IP) based network
Team Worked in - Intrusion Detection and Prevention (IDP) : Juniper Networks
intrusion detection and prevention products provide comprehensive inline protection
from worms, Trojans, spyware and other malware. By accurately identifying application
traffic, they ensure continuous availability of business-critical applications.
Project#1 IDP on Viking
Software : C Language
OS : Junos
Duration : 6 months
Description :
Viking is a high-end platform for banking, govt. agencies and other large enterprises.
This project made IDP (which was previously supported only on Linux) available on
JUNOS, Juniper’s proprietary operating system. This effort resulted in the separation of
control plane from data plane in IDP and made the IDP module platform independent.
Responsibilities : Enhancements and Maintenance.
Project#2 IDP Support on SRX Branch Platforms
Software : C Language
OS : Junos
Duration : 12 months
Description :
Loki, Narfi, Vidar and Valhalla platforms come under SRX Branch platforms.
Loki is a low-end platform, which has netlogic hardware DFA, used for small and
medium enterprises. This project involved transition from software DFA to hardware
DFA for the pattern matching in IDP. As part of this project, we needed to design method
for creating a pattern file in the format that can be interpreted by the netlogic compiler.
The netlogic compiler in turn converts the pattern file to a format recognized by the
netlogic hardware.
Vidar and Valhalla are medium and high end platforms.
Responsibilities : Design, Porting, Unit testing and Maintenance.
5
6. 4) December 2004 – January 2008
Designation : Software Engineer
Company : Intoto Software(I) Pvt. Ltd., Hyderabad
Company Profile : Intoto is a leading software Original Design Manufacturer
(ODM) of integrated security, wireless and voice software platforms for networking and
communications equipment. It offers a variety of security products like VPN, Firewall,
VoIP (Voice over IP), PCQ, IIPS, Cable Home, Router, etc.
Project#1 IP in IP
Software : C Language
OS : Linux
Duration : 5 months
Description :
IP in IP module specifies a method by which an IP datagram may be encapsulated
(carried as payload) within an IP datagram. Here tunnel interfaces are created to
encapsulate and decapsulate the packets at the tunnel endpoints Encapsulation alters the
normal IP routing for datagrams, by delivering them to an intermediate destination that
would otherwise not be selected based on the Destination IP Address field in the original
IP header.
Once the encapsulated datagram arrives at this intermediate destination node(one of the
tunnel endpoints), it is decapsulated, yielding the original IP datagram, which is then
delivered to the destination indicated by the original(inner) Destination Address
field.IPinIP tunnels can be configured through Command Line and GUI . Clustering
support is provided for this module. Transaction support in CLI for this module is also
provided.
Responsibilities : Design, Coding, Unit Testing and Maintenance
Project#2 6to4 Tunneling
Software : C Language
OS : VxWorks
Duration : 2 months
Responsibilities : Design, Coding, Unit Testing and Documentation
Description : 6to4 is an encapsulation technique that allows IPv6 packets to be
transmitted over an IPv4 network. It is used when an end site or end user wants to
connect to the IPv6 internet using their existing IPv4 connection. Existing interfaces
provided by the VxWorks library are used to provide 6to4 support.
Responsibilities : Design, Coding, Unit Testing and Maintenance
6
7. Project#3 Portmap Database
Software : C Language
OS : Linux
Duration : 3 months
Description : PortMap is designed to facilitate an application to listen on
multiple ports, instead of actually running new processes and listening on multiple ports.
During run-time, the administrator may choose to add or modify the Portmap record
creating an impression that the service/application is running on the newly configured
port. Another application/use of PortMap Database would be like if an ALG registers a
port number-protocol pair with the PortMap module, whenever a packet is received on
that port with the specified protocol, then PortMap module helps to find out the ALG that
needs to process that packet.
Responsibilities : Design, Coding, Unit Testing and Maintenance
Project#4 IPv6 and SMP support
Software : C Language
OS : Linux
Duration : 4 months
Description :
This involved in identifying various existing modules that had to be modified / enhanced
to be compliant with IPv6 & SMP As part of this project, the relevant changes are done
for the modules namely Policy groups, Snet, Message throttler and Syslog messages .
Also XML (GUI) support was provided for the mentioned modules.
Responsibilities : Coding, Unit Testing and Maintenance
Project#5 DNSRD
Software : C Language
OS : Linux
Duration : 5 months
Description : This is Intoto’s proprietary DNS Resolver Daemon for resolving
Domain Names to both IPv4 as well as IPv6 Addresses. This service runs on the
iGateway® router and functions as a server for relay clients i.e. clients in the corp
network. Also, any other modules (in the router) that need the same service have to
register the domain names with this daemon through loopback socket. DNSRD stores
each domain name that is resolved into a cache. Before the query resolution process is
triggered, the cache will be searched first. This module can be configured through a
Command Line Interface or through XML interface.
7
8. Responsibilities : Enhancements and Maintenance
Enhancements like provision of Kernel Cache, Supporting events for Uspace-Kspace
communication within DNSRD module and for communication with other modules,GUI
Support and bug-fixing.
Appaji Koppula
8