Hardware-independent LCS is certifiable to DO-178B/C level A/B and employs the open-standards POSIX® API for networking and transport-layer protocol transactions.
For maximum safety, LCS segregates communications between and within LynxOS-178 RTOS partitions. For example, DO-178B/C level A transactions can be restricted to one partition of a system while DO-178B/C level B transactions are handled independently in another, and while uncertified communications are being controlled elsewhere.
For maximum flexibility, LCS can operate as a standalone dedicated Virtual Machine (VM) fully occupying its own partition, or it can be included as an adjunct to an application running within a LynxOS-178 partition. Multiple instances of the LCS TCP/IP stack can be used deterministically across a partitioned system without affecting each other.
Prior to the advent of LCS to help avionics developers meet DO-178B/C certification, the use of TCP/IP/UDP networking stacks between hardware platforms was often avoided due to the stacks’ complexity and the difficulty in getting them certified.
LCS is certifiable to DO-178B/C level A. With LCS, applications using TCP/IP now have a low-cost, low-risk path to standards certification. Meeting the strict requirements of standards such as DO-178B/C—and its European equivalent, ED-12B—can require enormous resources in terms of man-hours and cost.
The flexibility of LCS allows avionics applications to support networked systems such as ARINC 664 Aircraft Full-Duplex Exchange (AFDX) that communicate both inside and outside an aircraft’s internal systems.
LCS Software Architecture
Protocols certifiable in applications up to to DO-178B/C level A/B are IPv4, TCP/IP, UDP, ICMP, ARP, and IGMP.
Features can be configured on a per-partition basis and used per DO-178B/C certification level required. Likewise, Ethernet controllers may be shared or private, as desired.
Applications can communicate with other hardware nodes directly using the stack or they can communicate via ARINC 653 ports to a dedicated partition that uses a single instance of the stack to communicate with other processing nodes.
The LCS stack consists of:
- LCS networking daemon
- LCS proxy socket driver
- LCS networking controller drivers
The LCS proxy socket driver transmits socket system calls to the LCS networking daemon and passes the replies from the daemon to the user applications. The core functionality of the TCP/IP stack is implemented in the LCS networking daemon.
Fully Integrated with LynxOS-178 RTOS for Ease of Use
LCS is fully integrated with our LynxOS-178 RTOS, the only real-time operating system accepted by the FAA for use as a Reusable Software Component (RSC) in DO-178B/C certification. LCS uses the same open-standards POSIX API as LynxOS-178 for networking and transport-layer protocol transactions
The LCS TCP/IP supports the following POSIX system calls:
LCS supports the AF_INET POSIX socket address family. The socket types supported in the context of the family are:
- SOCK_STREAM for the TCP protocol
- SOCK_DGRAM for the UDP protocol
- SOCK_RAW for raw sockets
Also, LCS supports the SOCK_RAW socket type of the PF_ROUTE protocol family, with the following types of routing commands:
- RTM_GET – Report metrics and other route information
- RTM_ADD – Add a route
- RTM_DELETE – Delete a route
The following socket options are supported by LCS:
The LCS networking daemon provides the nonblocking socket mode.