Cs NET

A compact, reliable, high-performance TCP/IP protocol stack designed for embedded applications, featuring dual IPv4 and IPv6 support.

 

Features

Key Features

Cs/NET stack includes the following features:

  • Supports multiple interfaces and multiple IP addresses per interface (multihoming)
  • Supports IPv4 and IPv6
  • BSD socket API supporting the most popular socket options, featuring a POSIX-like 'errno' error handling
  • Scalable to contain only required features and minimize memory footprint
  • SSL/TLS socket option
  • High performance/bandwidth

IPv6 Support

Cs/NET stack provides IPv6 support, allowing embedded devices to have unique IP addresses across the Internet1. With IPv6, your embedded device can take advantage of the new Neighbor Discovery Protocol (NDP), and superior multicast support

Switching to IPv6 is easy, and Cs/NET allows for simultaneous use of IPv4 and IPv6

Native support for IPv6 includes:

  • IPv6 Node
  • SLAAC (IPv6 stateless address autoconfiguration)
  • IPv6 Multicast (MLD)
  • Neighbor Discovery Protocol (NDP)
  • ICMPv6 (echo request/response)

1ISP must provide an IPv6 Global Unicast Address in order for Cs/NET to reach the Internet using IPv6 addressing

SSL Module

The SSL/TLS specification is the world's most widely implemented security protocol.

wolfSSL's Embedded SSL/TSL Library is ideal for IoT devices — such as medical equipment, industrial sensors, smart grid devices, and many others — that need to transport data securely over the Internet.

This efficient and reliable SSL module integrates smoothly with Cs/NET. wolfSSL supports industry standards up to the current TLS 1.3 and DTLS 1.3 protocol levels, is up to 20 times smaller than OpenSSL, and offers progressive ciphers such as ChaCha20, Curve25519, NTRU, and SHA-3. User benchmarking and feedback reports dramatically better performance when using wolfSSL over OpenSSL.

wolfSSL is powered by the wolfCrypt library. A version of the wolfCrypt cryptography library has been FIPS 140-2 validated (Certificate #3389), with FIPS 140-3 validation currently in progress!

Like our other available software modules, it is highly configurable and provided as ANSI C source code.

 

Specifications and RFC Compliance

Specifications

Cs/NET key specifications include the following:

Supported processors Wide-ranging support. Nearly every processor works with Cs/NET stack.
Related network applications DHCP Client, DNS Client, HTTP Client, HTTP Server, FTP Client, FTP  Server, MQTT Client, TFTP Client, TFTP Server, SMTP Client, SNTP Client, TELNET Server.
Real-time kernel A real-time kernel is required. Cs/OS2 or Cs/OS3 is recommended.
Transport layer TCP and/or UDP.
Protocols supported Multicast transmission and reception (IGMPv2), IPv6 Multicast (MLD), ICMPv6, ARP, Neighbor Discovery Protocol (NDP).
Interface type Ethernet (802.3 and Ethernet), Wi-Fi, Loopback.
Socket API Two sets of socket APIs: one proprietary and the other, a standard BSD socket with support for a POSIX-like 'errno' error handling.

 

Stack Compliance

Ixia's IxANVL test suite is used to validate the compliance of the stack with the networking RFCs. IxANVL is widely used by developers and manufacturers of networking equipment and Internet devices to validate protocol compliance and interoperability.

The table below lists the different RFCs supported by Cs/NET.

Transport
  • UDP (RFC #768)
  • TCP (RFC #793, #813, #879, #896, #2001, #2584, #2988, #6528)
  • TCP Congestion Control (RFC #5681)
  • TCP NewReno Fast Recovery Algorithm (RFC #6582)
  • TCP's Retransmission Timer (RFC #6298)
IPv4
  • Internet Protocol Specification (IPv4) (RFC #791, #950, #1071, #3927)
  • IP Datagram Reassembly Algorithms (RFC #815)
  • Ethernet Address Resolution Protocol (ARP) (RFC #826)
  • Internet Control Message Protocol Specification (ICMP) (RFC #792)
  • Host Extensions for IP Multicasting (RFC #1112)
  • Internet Group Management Protocol, Version 2 (IGMPv2) (RFC #2113)
IPv6
  • IPv6 Specification (RFC #2460, #2464, #4291)
  • IPv6 Node Requirements (RFC #4294)
  • Internet Control Message Protocol Version 6 (ICMPv6) (RFC #4443)
  • Neighbor Discovery for IP version 6 (NDP) (RFC #4861)
  • Multicast Listener Discovery (MLD) for IPv6 (RFC #2710)
  • Basic Socket Interface Extensions for IPv6 (RFC #3493)
  • Default Address Selection for Internet Protocol version 6 (RFC #3484)


Interface

Ethernet (RFC #894, #1042) 

 

TCP/IP Layers

Cs/NET requires the presence of a kernel for task scheduling and mutual exclusion. To meet this requirement, Weston Embedded Solutions provides source code to allow network applications to readily accommodate Cs/OS2 and Cs/OS3.

 

TCPIP Layers

 

Drivers

Drivers for Network Controllers

Cs/NET provides drivers for the following controllers:

Ethernet

Wi-Fi

PHY

The tables below show the list of hardware architectures for which controller support is provided. It also indicates its location indicating if it is part of the microcontroller (MCU), part of a field-programmable gate array (FPGA), or external to the device (External).

If you don’t see the driver you are looking for please contact us. We can give you the latest information on drivers we have available.

 

Ethernet

Cs/NET provides these Ethernet controller drivers:

Manufacturer Driver Device Family Location MAC Type
Altera TSE Stratix V, Stratix IV, Arria V, Arria II, Cyclone V, Cyclone IV & HardCopy IV FPGA Ethernet 10/100/1000
Altera HPS EMAC Altera SoC HPS Ethernet 10/100/1000
Atmel AT91RM9200 RM9200 MCU Ethernet 10/100
Atmel GEM ATSAMA5 MCU Ethernet 10/100/1000
Atmel MACB AVR32 MCU Ethernet 10/100
Atmel MACB_AP7000 AVR32 AP7000 MCU Ethernet 10/100
Davicom DM9000 - External Ethernet 10/100
Freescale FEC - MCU Ethernet 10/100
Freescale FEC_MPC55xx MPC55xx MCU Ethernet 10/100
Freescale MACNet Kinetis MCU Ethernet 10/100
STMicroelectronics
Fujitsu
NXP
GMAC STM32Fxxxx MB9BFD10T MB9BF610T MB9BF210T LPC185x LPC183x LPC435x LPC433x MCU Ethernet 10/100
Luminary Micro LM3S9Bxx LM3S9B9x MCU Ethernet 10/100
Luminary Micro LM3Sxxxx LM3Sxxxx MCU Ethernet 10/100
Microchip PIC32 PIC32MX6/7 MCU Ethernet 10/100
Microsemi A2Fx00 A2Fx00 MCU Ethernet 10/100
NXP LPCxxxx LPC17xx LPC23xx LPC24xx LPC32x0 MCU Ethernet 10/100
Renesas H8S2472 H8S2472 MCU Ethernet 10/100
Renesas RX-EtherC RX62N RX63N MCU Ethernet 10/100
Renesas RZ-EtherC RZ/A1 MCU Ethernet 10/100
Renesas SH-EtherC SH-Ether MCU Ethernet 10/100
SMSC LAN911x LAN911x External Ethernet 10/100
STMicroelectronics STM32Fxxx STM32Fxxx MCU Ethernet 10/100
STMicroelectronics STR912 STR912 MCU Ethernet 10/100
STMicroelectronics ETHMAC STM32H7xx MCU Ethernet 10/100
Texas Instruments OMAP-L1x OMAP-L137 OMAP-L138 MCU Ethernet 10/100
Toshiba TMPM369 TMPM369 MCU Ethernet 10/100
Xilinx EtherLite 6/7-Series Ultrascale Ultrascale+ FPGA Ethernet 10/100
Xilinx GEM Zynq-7000 MCU Ethernet 10/100/1000
Xilinx XPS_LL_TEMAC Virtex-5 LX, Virtex-5 LXT, Virtex-5 SXT, Virtex-4 FX, Virtex-4 LX, Virtex-4 SX, Spartan-6, Spartan-3A, Spartan-3A DSP, Spartan-3AN & Virtex-6 FPGA Ethernet 10/100/1000
µC/USBD CDC EEM Host CDC EEM External USB

 

Wi-Fi

Cs/NET provides these Wi-Fi controller drivers:

Manufacturer Driver Device Family Location MAC Type
Gainspan GS2xxx GS2xxx External WiFi – SPI
Qualcomm-Atheros QCA400x GT202 | QCA400x External WiFi – SPI
Redpine Signals RS9110n2x RS9110-N-11-2x-(xx) External Wi-Fi

 

PHY

Cs/NET provides these physical layer (PHY) drivers:

Manufacturer Driver PHY Chip Media Interface Media Interface Location
- Generic - (R)MII EMAC
Texas Instruments DP83848C DP83848C (R)MII EMAC
Texas Instruments DP83640 DP83640 (R)MII EMAC
AMD AM79C874 AM79C874 (R)MII EMAC
Marvell 88E1111 88E1111 GMII/RGMII/MII EMAC
Microchip KSZ9021RN/RL KSZ9021R GMII/RGMII/MII EMAC
Microchip KSZ8081RNB KSZ8081RNB (R)MII EMAC

 

Network Applications

DHCP Client

Dynamic Host Configuration Protocol – client

  • Transmit and receive option is supported
  • IPv4 Only
DNS Client

Domain Name System – client

  • Support IPv4 and IPv6
  • Auto-select best address
  • Integrated cache
FTP Client

File Transfer Protocol – client

  • Supports authentication
  • Transfer data stored in memory buffers or files (file system required)
  • Supports interfacing with TLS/SSL (Secure Sockets Layer)
  • Supports Implicit and Explicit FTPS
  • Supports mutual authentication via TLS
  • Supports ALPN and SNI TLS extensions
FTP Server

File Transfer Protocol – server

  • Single connection
  • Callback function is used to authenticate user
  • Supports any file system; a file system is required
  • Supports interfacing with TLS/SSL (Secure Sockets Layer)
HTTP Client

Hypertext Transfer Protocol – Web client

  • Full support for HTTP 1.1 (RFC 2616)
  • All HTTP methods supported (GET, POST, PUT, DELETE, HEAD, OPTIONS, and TRACE)
  • Support for WebSockets
  • Support for persistent connections
  • HTTP header field processing (HTTP cookies)
  • HTTP query string processing
  • Support multiple simultaneous connections with multiple HTTP servers
  • Supports interfacing with TLS/SSL (Secure Sockets Layer)
  • Supports mutual authentication via TLS
  • Supports ALPN and SNI TLS extensions
HTTP Server

Hypertext Transfer Protocol – Webserver

  • Supports multi-connection - up to 255 client connections
  • Supports any file system, or can be used via a static file system, which is provided
  • Highly customizable via hook functions
  • Include add-on for advanced functionalities such as Authentication Module and REST Framework
  • Supports interfacing with TLS/SSL (Secure Sockets Layer)
MQTT Client

MQTT messaging protocol

  • Supports multiple simultaneous connections with multiple MQTT brokers
  • Support for multiple messages in the air simultaneously
  • Unlimited number of connections and messages
  • Support for all Qualities of Service (QoS-0, QoS-1 & QoS-2)
  • Supports TLS/SSL (Secure Sockets Layer)
  • Supports mutual authentication via TLS
  • Supports ALPN and SNI TLS extensions
SMTP Client

Simple Network Time Protocol – client

  • Supports TLS/SSL (Secure Sockets Layer)
  • Supports authentication
SNTP Client

Simple Network Time Protocol – client

  • Supports IPv4 and IPv6
Telnet Server

Telnet – server

  • Integrated with Cs/Shell
  • Supports authentication with Cs/Common
  • Supports interfacing with TLS/SSL (Secure Sockets Layer)
TFTP Client

Trivial File Transfer Protocol – client

  • Data transferral and reception using memory buffers or files (file system required)
TFTP Server

Trivial File Transfer Protocol – server

  • Supports any file system; a file system is required

Licensing

Commercial License

Click here for more details

 

Technical Support

Technical Support Plan

Technical support services for any of the Cs/ software is readily available to all customers currently using or interested in the Cs/ family of RTOS components.

If you are currently without technical support for the Cs/OS software don’t go at it alone. Please contact us to learn how our Cs/OS product experts, with years of embedded software experience, can save you valuable engineering time and money.

Click here for more details

 

Consulting Services

Specialized Engineering Services

Do you need specialized assistance with your Cesium-based embedded project? Do you need real-time embedded software expertise for your mission critical application? For these or any other embedded software projects, help is available via our Consulting Services that are tailored to your unique needs. Please contact us with your requirements to learn how we can quickly deliver our expertise to your team.

Click here for more details

 

Reliable

Cesium software includes comprehensive documentation, full source code, powerful debugging features, and support for a huge range of CPU architectures.

Efficient

Cesium software offers unprecedented ease-of-use, a small memory footprint, remarkable energy efficiency, and all with a full suite of protocol stacks.

Trusted

Engineers across the world building industrial controls, medical devices, and aerospace systems know they can rely on Cesium software for the foundation of exceptional products.