Skip navigation

emNet PPP/PPPoE

The emNet PPP implementation is an optional extension which can be seamlessly integrated into your TCP/IP application. It combines a maximum of performance with a small memory footprint. The PPP implementation allows an embedded system to connect via Point to Point Protocol to a network.

  • Low memory footprint
  • Support PAP authentication protocol
  • Support for PPP over Ethernet

Relevant Parts

The PPP module implements the relevant parts of the following Request For Comments (RFC).

RFC#Description
[RFC 1334]PPP Authentication Protocols Direct download: ftp://ftp.rfc-editor.org/in-notes/rfc1334.txt
[RFC 1661]The Point-to-Point Protocol (PPP) Direct download: ftp://ftp.rfc-editor.org/in-notes/rfc1661.txt
[RFC 1994]PPP Challenge Handshake Authentication Protocol (CHAP) Direct download: ftp://ftp.rfc-editor.org/in-notes/rfc1994.txt
[RFC 2516]A Method for Transmitting PPP Over Ethernet (PPPoE) Direct download: ftp://ftp.rfc-editor.org/in-notes/rfc2516.txt

Requirements

The emNet PPP implementation requires the emNet TCP/IP stack. Your modem has to be able to be configured to respond in the format “<CR><LF><Response>“.

PPP Backgrounds

The Point to Point Protocol is a link layer protocol for establishing a direct connection between two network nodes.

Application layerApplication layer protocol:
SMTP
Transport layerTranport layer protocol:
TCP
Network layerNetwork layer protocol:
IP
Link layerLink layer protocol:
PPP, PPPoE

Using PPP, an emNet application can establish a PPP connection to a PPP server. The handshaking mechanism includes normally an authentication process. The current version of emNet supports the the following authentication schemes:

  • PAP - Password Authentication Protocol

PPP Resource Usage

The ROM usage depends on the compiler options, the compiler version and the used CPU. The memory requirements of the PPP modules presented in the tables below have been measured on an ARM7 system. Details about the further configuration can be found in the sections of the specific example.

The resource usage of a typical PPP scenario without network interface and one modem connected via RS232 has been measured.

ROM Usage on an ARM7 System

The following resource usage has been measured on an ARM7 system using IAR Embedded Workbench V6.30.6, Thumb mode, no interwork, size optimization.

Add-onROM
emNet PPPApproximately 7.0 KByte

RAM Usage

Add-onRAM
emNet PPPApproximately 0.5 KByte

PPPoE Resource Usage

The ROM usage depends on the compiler options, the compiler version and the used CPU. The memory requirements of the PPP/PPPoE modules presented in the tables below have been measured on an ARM7 and a Cortex-M3 system. Details about the further configuration can be found in the sections of the specific example. The resource usage of a typical PPPoE scenario with 1 WAN interface has been measured.

ROM Usage on an ARM7 System

The following resource usage has been measured on an ARM7 system using IAR Embedded Workbench V6.30.6, Thumb mode, no interwork, size optimization.

Add-onROM
emNet PPP used for PPPoE Approximately 7.0 KByte

ROM Usage on a Cortex-M3 System

The following resource usage has been measured on a Cortex-M3 system using IAR Embedded Workbench V6.30.6, size optimization.

Add-onROM
emNet PPP used for PPPoEApproximately 6.5 KByte

RAM Usage

Add-onRAM
emNet PPP used for PPPoEApproximately 100 Byte