RTEMS Network User Manual (5.4-rc2). — RTEMS Networking User Manual 5.4-rc2 (21st August 2026) documentation

# RTEMS Network User Manual (5.4-rc2).

Copyrights and License

© 2018 Marçal Comajoan Cara
© 1988, 2015 On-Line Applications Research Corporation (OAR)

This document is available under the Creative Commons Attribution-ShareAlike 4.0 International Public License.

The authors have used their best efforts in preparing this material. These efforts include the development, research, and testing of the theories and programs to determine their effectiveness. No warranty of any kind, expressed or implied, with regard to the software or the material contained in this document is provided. No liability arising out of the application or use of any product described in this document is assumed. The authors reserve the right to revise this material and to make changes from time to time in the content hereof without obligation to notify anyone of such revision or changes.

The RTEMS Project is hosted at https://www.rtems.org. Any inquiries concerning RTEMS, its related support components, or its documentation should be directed to the RTEMS Project community.

RTEMS Online Resources

Home | https://www.rtems.org
Documentation | https://docs.rtems.org
Mailing Lists | https://lists.rtems.org
Bug Reporting | https://devel.rtems.org/wiki/Developer/Bug_Reporting
Git Repositories | https://git.rtems.org
Developers | https://devel.rtems.org

- 1. Preface
- 2. Network Task Structure and Data Flow
- 3. Networking Driver
  - 3.1. Introduction
  - 3.2. Learn about the network device
  - 3.3. Understand the network scheduling conventions
  - 3.4. Network Driver Makefile
  - 3.5. Write the Driver Attach Function
  - 3.6. Write the Driver Start Function.
  - 3.7. Write the Driver Initialization Function.
  - 3.8. Write the Driver Transmit Task
  - 3.9. Write the Driver Receive Task
  - 3.10. Write the Driver Interrupt Handler
  - 3.11. Write the Driver IOCTL Function
  - 3.12. Write the Driver Statistic-Printing Function
- 4. Using Networking in an RTEMS Application
  - 4.1. Makefile changes
    - 4.1.1. Including the required managers
    - 4.1.2. Increasing the size of the heap
  - 4.2. System Configuration
  - 4.3. Initialization
    - 4.3.1. Additional include files
    - 4.3.2. Network Configuration
    - 4.3.3. Network device configuration
    - 4.3.4. Network initialization
  - 4.4. Application Programming Interface
    - 4.4.1. Network Statistics
    - 4.4.2. Tapping Into an Interface
    - 4.4.3. Socket Options
    - 4.4.4. Adding an IP Alias
    - 4.4.5. Adding a Default Route
    - 4.4.6. Time Synchronization Using NTP
- 5. Testing the Driver
  - 5.1. Preliminary Setup
  - 5.2. Debug Output
  - 5.3. Monitor Commands
  - 5.4. Driver basic operation
  - 5.5. BOOTP/DHCP operation
  - 5.6. Stress Tests
    - 5.6.1. Giant packets
    - 5.6.2. Resource Exhaustion
    - 5.6.3. Cable Faults
    - 5.6.4. Throughput
- 6. Network Servers
  - 6.1. RTEMS FTP Daemon
    - 6.1.1. Configuration Parameters
    - 6.1.2. Initializing FTPD (Starting the daemon)
    - 6.1.3. Using Hooks
- 7. DEC 21140 Driver
  - 7.1. DEC 21240 Driver Introduction
  - 7.2. Document Revision History
  - 7.3. DEC21140 PCI Board Generalities
  - 7.4. RTEMS Driver Software Architecture
    - 7.4.1. Initialization phase
    - 7.4.2. Memory Buffer
    - 7.4.3. Receiver Thread
    - 7.4.4. Transmitter Thread
  - 7.5. Encountered Problems
  - 7.6. Netboot DEC driver
  - 7.7. List of Ethernet cards using the DEC chip
- 8. Command and Variable Index