VxWorks Network

Programmer's Guide

5.4

Edition 1


Contents

1 Overview
1.1 Introduction
Supported Protocols and Utilities
1.1.1 Network
2 Configuring the VxWorks Network Stack
2.1 Introduction
2.1.1 The Data Link Layer
2.1.2 The MUX, TCP/IP, and Associated Protocols
2.1.3 Network Configuration Protocols
2.1.4 Routing Applications
2.1.5 Networking APIs
2.1.6 DNS, Domain Name System
2.1.7 SNTP, Simple Network Time Protocol
2.1.8 Remote Access Applications
2.2 Advice Concerning the Use of config.h and configAll.h
3 Data Link Layer Network Components
3.1 Introduction
3.2 Ethernet Driver Support
3.3 Serial Line IP Support
3.3.1 Serial Line Driver Configuration
3.4 PPP, the Point-to-Point Protocol for Serial Line IP
3.4.1 Reference Material on PPP
3.4.2 PPP Features
3.4.3 The Point-to-Point Protocol Compared to SLIP
3.4.4 An Overview of PPP
Encapsulation
Link Control Protocol (LCP)
Internet Protocol Control Protocol (IPCP)
Password Authentication Protocol (PAP)
Challenge-Handshake Authentication Protocol (CHAP)
3.4.5 PPP Configuration
Selecting PPP Options By Configuring VxWorks
Selecting PPP Options Using an Options Structure
Setting PPP Options Using an Options File
3.4.6 Using PPP
Initializing a PPP Link
Deleting a PPP Link
PPP Options
PPP Authentication
Connect and Disconnect Hooks
3.4.7 PPP with Tornado
PPP Link as an Additional Network Interface
PPP Link as a Network Back End for the Target Server
3.4.8 Troubleshooting PPP
Link Establishment
Authentication
3.5 Shared-Memory Network on the Backplane
3.5.1 The Backplane Shared-Memory Pool
Backplane Processor Numbers
The Shared-Memory Network Master: Processor 0
The Shared-Memory Anchor
The Shared-Memory Heartbeat
Shared-Memory Location
Shared Memory Size
On-Board and Off-Board Options
Test-and-Set to Shared Memory
3.5.2 Interprocessor Interrupts
3.5.3 Sequential Addressing
3.5.4 Shared-Memory Network Configuration
Example Configuration
Troubleshooting
3.6 Custom Interfaces
4 TCP/IP Under VxWorks
4.1 Introduction
4.1.1 MUX, an Interface between the Data Link and Network Layers
Attaching to the MUX
4.2 IP, Internet Protocol
4.2.1 Internet Addresses
4.2.2 Packet Routing
4.2.3 Network Byte Order
4.3 VxWorks Manual Network Configuration Utilities
4.3.1 Assigning Internet Addresses
4.3.2 Adding Gateways to a Network
4.3.3 Subnet Configuration
4.4 UDP, User Datagram Protocol
4.5 TCP, Transmission Control Protocol
4.6 Configuring the Network Stack
4.6.1 Network Protocol Scalability
4.6.2 Setting #defines for the IP, TCP, UDP, and ICMP Protocols
4.6.3 Network Memory Pool Configuration
4.6.4 Testing Network Connections
4.7 ARP and Proxy ARP for Transparent Subnets
4.7.1 ARP Introduction
4.7.2 Proxy ARP Overview
4.7.3 Routing Issues and the Proxy Server
4.7.4 Proxy ARP Protocol
4.7.5 Broadcast Datagrams
4.7.6 Special Configuration Needs for Multi-Homed Proxy Clients
4.7.7 Single-Tier Configuration for Shared-Memory Networks under Proxy ARP
4.7.8 Proxy ARP and Its Consequences for Subnet Configuration
5 Network Configuration Protocols
5.1 Introduction
5.2 DHCP, Dynamic Host Configuration Protocol
5.2.1 Configuring VxWorks to Include the DHCP Components
5.2.2 Configuring the DHCP Client
5.2.3 Configuring DHCP Servers
Configuring the Supported DHCP Server
Adding Entries to the Database of a Running DHCP Server
Storing and Retrieving Active Network Configurations
Configuring the Unsupported DHCP Server
5.2.4 Configuring the Supported DHCP Relay Agent
5.2.5 DHCP Within an Application
5.3 BOOTP, Bootstrap Protocol
5.3.1 BOOTP Configuration
About the BOOTP Database
Editing the BOOTP Database to Register a VxWorks Target
5.4 SNMP, Simple Network Management Protocol
6 Dynamic Routing Protocols
6.1 Introduction
6.2 RIP, Routing Information Protocol
6.2.1 VxWorks Includes Supplemental Debugging Routines for RIP
6.2.2 Configuring RIP
6.3 OSPF, Open Shortest Path First
6.3.1 Including OSPF in VxWorks
7 Networking APIs
7.1 Introduction
7.2 BSD Sockets
7.2.1 Stream Sockets (TCP)
7.2.2 Datagram Sockets (UDP)
Using a Datagram (UDP) Socket to Access IP Multicasting
7.3 Zbuf Sockets
7.3.1 Zbuf Calls to Send Existing Data Buffers
7.3.2 Manipulating the Zbuf Data Structure
Zbuf Byte Locations
Creating and Destroying Zbufs
Getting Data In and Out of Zbufs
Operations on Zbufs
Segments of Zbufs
Example: Manipulating Zbuf Structure
Limitations of the Zbuf Implementation
7.3.3 Zbuf Socket Calls
Standard Socket Calls and Zbuf Socket Calls
8 DNS: Domain Name System
8.1 Introduction
8.2 Domain Names
8.3 The VxWorks Resolver
8.3.1 Resolver Integration
8.3.2 Resolver Configuration
9 SNTP: A Time Protocol
9.1 Introduction
9.2 Using the SNTP Client
9.3 Using the SNTP Server
10 RPC: Remote Procedure Calls
10.1 Introduction
11 File Access Applications
11.1 Introduction
11.2 RSH and FTP
11.2.1 Allowing Remote File Access with RSH
11.2.2 Creating VxWorks Network Devices that use RSH or FTP
11.2.3 Setting the User ID for Remote File Access with RSH or FTP
11.2.4 File Permissions
11.3 NFS
11.3.1 VxWorks Target as Client
Creating VxWorks Network Devices that Use NFS
Setting the User ID for Remote File Access with NFS
11.3.2 VxWorks Target as Server
Initializing an NFS-Exportable File System
Exporting a File System through NFS
Properties of NFS-Exported File Systems
Limitations of the VxWorks NFS Server
11.4 TFTP
11.4.1 Host TFTP Server
11.4.2 VxWorks TFTP Server
11.4.3 VxWorks TFTP Client
12 rlogin and telnet: Host Access Applications
12.1 Introduction
12.2 rlogin
12.3 telnet
12.4 remLib
13 Booting over the Network
13.1 Introduction
13.2 About the Boot Program
13.2.1 How the Boot Program Gets Its Boot Parameters
13.2.2 The General Format of a Boot Line
13.2.3 Boot Parameters Needed for DHCP, BOOTP, and Network Device Initialization
13.2.4 Boot Parameters Returned from DHCP or BOOTP
13.2.5 Boot Parameters Needed to Set Up Remote File Access and Get the VxWorks Image
13.2.6 Optional Boot Parameters
13.3 Setting the VxWorks Boot Parameters
13.3.1 Supplying Boot Parameters Using #define Values
13.3.2 Supplying Boot Parameters Manually
13.3.3 Supplying Boot Parameters from a DHCP or BOOTP Server
13.4 Booting from the Ethernet
13.4.1 Troubleshooting
13.5 Booting from the Shared-Memory Network
13.6 Booting from the Serial Line
13.6.1 Booting VxWorks Using SLIP
13.6.2 Booting VxWorks Using PPP
14 Upgrading 4.3 BSD Network Drivers
14.1 Introduction
14.2 Structure of a 4.3 BSD Network Driver
14.2.1 Etherhook Routines Provides Access to Raw Packets
14.3 Upgrading to 4.4 BSD
14.3.1 Removing the xxOutput Routine
14.3.2 Changing the Transmit Startup Routine
14.3.3 Changes in Receiving Packets
14.3.4 Creating a Transmit Startup Routine
Index