Netra Data Plane Software Suite 2.0 User’s Guide
|
|
Netra Data Plane Software Suite 2.0 User’s Guide
820-3362-10
Figures
Tables
Preface
1. Netra Data Plane Software Suite Overview
Product Description
Supported Systems
Software Installation
Platform Firmware Prerequisites
To Check Your OpenBoot PROM Firmware Version
Package Dependencies
Package Installation Procedures
To Install the Software Into the Default Directory
To Install the Software in a Directory Other Than the Default
To Remove the Software
Building and Booting Reference Applications
.cshrc File and Required Compiler Path
Building Reference Application Instructions
To Boot an Application Image
Programming Methodology
Reusing Existing C Code
tejacc Compiler Basic Operation
tejacc Compiler Mechanics
tejacc Compiler Options
tejacc Compiler Configuration
tejacc Compiler and Netra DPS Interaction
Architecture Elements
Hardware Architecture API Overview
Hardware Architecture Elements
Architecture Relationships
Utility Functions
Advanced Hardware Architecture Elements
Software Architecture and Late-Binding API Overview
Late-Binding Elements
Other Elements
Utility Functions
User API Overview
Late-Binding API Overview
Netra DPS Runtime API Overview
Finite State Machine API Overview
Map API Overview
2. tejacc Basics
Command-Line Options
tejacc Command-Line Options
Optimization
Optimization Options
Context-Sensitive Generation
To Enable Optimization
Language
Language Characteristics
Include Files
Late-Binding Object Identifiers
3. Profiler
Profiler Introduction
How the Profiler Works
Groups and Events
Profiler Output
Profiler Examples
Profiler API
Profiler Configuration
Profiler Output Example
Profiling Application Performance
Profiling Metrics
Using the Profiler Script
Profiler Scripts
Usage
Raw Profile Data
Summarized Profile Data
Sun UltraSPARC T1 Processor Profiler Output
Sun UltraSPARC T2 Processor Profiler Output
Performance Parameters Calculations
Sun UltraSPARC T1 Processor
Sun UltraSPARC T2 Processor
To Use a Spreadsheet For Performance Analysis
4. Debugger
Debugger Introduction
Native Debugger
Debugging Configuration Code
Entering the Debugger
Native Debugger Commands
Displaying Help
Managing Breakpoints
Managing Program Execution
Displaying and Setting Memory
Managing Threads
Displaying Registers
Displaying Stack Trace
Resolving Symbols
GNU Project Debugger (GDB) Showcase Application
Configuring LDoms for GDB Showcase
To Configure LDoms Required to Run the GDB Demo
To Compile the GDB Showcase
To Configure the Solaris Domain for GDB
To Load the GDB Showcase Binary in the Netra DPS Domain
To Run the GDB Command
To Get GDB
To Create a GDB Showcase
5. Interprocess Communication Software
IPC Introduction
Programming Interfaces Overview
Configuring the Environment for IPC
Memory Management
IPC in the LDoms Environment
LDoms Channel Setup
IPC Channel Setup
Example Environment for UltraSPARC T1 Based Servers
Domains
primary
ldg1 - LWRTE
ldg2 - Control Plane Application
ldg3 - Solaris Control Domain
Virtual Data Plane Channels
Global Control Channel
Client Control Channel
Data Channel
IPC Channels
Example Environment for UltraSPARC T2 Based Servers
Reference Applications
Common Header
Solaris Utility Code
Forwarding Application
6. Remote Command-Line Interface
Remote Command-Line Interface Introduction
IPC Setup for Remote CLI
Accessing the Remote CLI
To access the CLI Console
Debugging Remotely
To Access the Netra DPS Debugger
Coredump Support
System Configuration
To Go to the sys Mode From the Remote CLI
7. Eclipse Development Environment
ADE Introduction
Starting the Eclipse-Based ADE GUI
To Start the Eclipse-Based ADE GUI
Creating a Teja Project
To Create a Project in the Same Directory as an Existing Teja Application
To Add the Graphic Files to a Project
Files and Viewers
Hardware Architecture Viewer
Software Architecture Viewer
Mapping Viewer
Build
To Compile the Teja Application in the Eclipse-Based ADE
8. Receive Packet Classification
Receive Packet Classification Introduction
Supported Networking Interfaces
Sun Multithreaded 10GbE and NIU Receive Packet Classifier
Hashing Based on Level 2, Level 3, and Level 4 Header Classification
Hash Key generation
Application
Classification Policy
Flow Match Based on Level 2, Level 3, and Level 4 Header Classification
Level 2 (L2) Classification
Level 3 and Level 4 (L3/L4) Classification
Applications
Classification Programming Interface
opcode
action
flow_spec
channel
ue or um
hd
flow_spec_ipv4_t
flow_spec_ipv6_t
flow_spec_l2_t
Examples
To Use Hash Flow
To Use TCAM Classification
9. Reference Applications
IP Packet Forwarding Application
Source Files
Compiling the ipfwd Application
Build Scripts
Build Script Arguments
Argument Descriptions
Build Example
To Run the ipfwd Application
Default Configurations
Default System Configuration
Default ipfwd Application Configuration
Other Options
Profiling
Radix Forwarding Algorithm
Bypassing the ipfwd Operation
Multiple Forward Port Destinations
Hash Policy for Spreading Traffic to Multiple DMA Channels
ipfwd Flow Configurations
Format
Radio Link Protocol Application
Compiling the RLP Application
Build Scripts
Build Script Arguments
Arguments Descriptions
Build Example
To Run the Application
Default Configurations
Default System Configuration
Default rlp Application Configuration
Other RLP Options
To Enable Profiling
To Bypass the rlp Operation
To Use One Global Memory Pool
To Run RLP on Four Ports for ipge
RLP Policy for Spreading Traffic to Multiple DMA Channels
To Enable an RLP Policy
IPSec Gateway Reference Application
IPSec Gateway Reference Application Architecture
IPSec Gateway Reference Application Capabilities
High-Level Packet Processing
Outbound Packets
Inbound Packets
Security Association (SA) Database and Security Policy Database
Outbound Packets and Inbound Packets
Static Security Policy Database (SPD) and Security Association Database (SAD)
SPD
SAD
Packet Encapsulation and De-encapsulation
Packet Encapsulation
Memory Pools
Pipelining
Source Code File Description
Reference Applications Configurations
IP with Encrypto and Decrypto
IPSec Gateway on Quad GE
IPSec Gateway on NIU 10G Interface (One Instance)
IPSec Gateway on NIU 10G Interface (Multiple Instances)
Flow Policy for Spreading Traffic to Multiple DMA Channels
To Enable a Flow Policy
10. Performance Tuning
Performance Tuning Introduction
UltraSPARC T1 Processor Overview
UltraSPARC T2 Processor Overview
Identifying Performance Issues
UltraSPARC T1 Performance
UltraSPARC T2 Performance
Optimization Techniques
Code Optimization
Pipelining
Parallelization
Mapping
Parking Idle Strands
Slowing Down Polling
Tuning Troubleshooting
What Is a Compute-Bound Versus a Memory-Bound Thread?
Cannot Reach Line Rate for Packets Smaller Than 300 Bytes
Cannot Scale Throughput to Multiple Ports
How Do I Achieve Line Rate for 64-byte Packets?
When Should I Consider Thread Placement?
Example RLP Exercise
Application Configuration
Configuration 1
Configuration 2
Using the Profiling API
Profiling Data
Metrics
Results
Configuration 1
Configuration 2
Analysis
Other Uses for Profiling
A. Tutorial
Application Code
Configuration Code
Build Process
To Create the Binary Image
Executing the Binary Image
To Execute the Binary Image
B. Frequently Asked Questions
Summary
General Questions
Configuration Questions
To Debug the Dynamic Libraries
Building Questions
Late-Binding Questions
Eclipse Questions
API and Application Questions
Optimization Questions
Legacy Code Integration Questions
Sun CMT Specific Questions
Address Resolution Protocol Questions
To Enable ARP in RLP
Glossary
Index
Netra Data Plane Software Suite 2.0 User’s Guide
|
820-3362-10
|
|
Copyright © 2008, Sun Microsystems, Inc. All Rights Reserved.