Zephyr API Documentation  2.7.0-rc2
A Scalable Open Source RTOS
ppp_context Struct Reference

#include <ppp.h>

Data Fields

atomic_t flags
 
struct k_work_delayable startup
 
struct k_work carrier_work
 
struct {
   struct ppp_fsm   fsm
 
   struct lcp_options   my_options
 
   struct lcp_options   peer_options
 
   uint32_t   magic
 
lcp
 
struct net_ififace
 
enum ppp_phase phase
 
enum net_l2_flags ppp_l2_flags
 
int network_protos_open
 
int network_protos_up
 
uint16_t is_net_carrier_up: 1
 
uint16_t is_ready_to_serve: 1
 
uint16_t is_enabled: 1
 
uint16_t is_startup_pending: 1
 
uint16_t is_enable_done: 1
 
uint16_t is_ipcp_up: 1
 
uint16_t is_ipcp_open: 1
 
uint16_t is_ipv6cp_up: 1
 
uint16_t is_ipv6cp_open: 1
 
uint16_t is_pap_up: 1
 
uint16_t is_pap_open: 1
 

Detailed Description

PPP L2 context specific to certain network interface

Field Documentation

◆ carrier_work

struct k_work ppp_context::carrier_work

Carrier ON/OFF handler worker. This is used to create network interface UP/DOWN event when PPP L2 driver notices carrier ON/OFF situation. We must not create another network management event from inside management handler thus we use worker thread to trigger the UP/DOWN event.

◆ flags

atomic_t ppp_context::flags

Flags representing PPP state, which are accessed from multiple threads.

◆ fsm

struct ppp_fsm ppp_context::fsm

Finite state machine for LCP

◆ iface

struct net_if* ppp_context::iface

Network interface related to this PPP connection

◆ is_enable_done

uint16_t ppp_context::is_enable_done

PPP enable pending

◆ is_enabled

uint16_t ppp_context::is_enabled

Is PPP L2 enabled or not

◆ is_ipcp_open

uint16_t ppp_context::is_ipcp_open

IPCP open status (open / closed)

◆ is_ipcp_up

uint16_t ppp_context::is_ipcp_up

IPCP status (up / down)

◆ is_ipv6cp_open

uint16_t ppp_context::is_ipv6cp_open

IPV6CP open status (open / closed)

◆ is_ipv6cp_up

uint16_t ppp_context::is_ipv6cp_up

IPV6CP status (up / down)

◆ is_net_carrier_up

uint16_t ppp_context::is_net_carrier_up

Is network carrier up

◆ is_pap_open

uint16_t ppp_context::is_pap_open

PAP open status (open / closed)

◆ is_pap_up

uint16_t ppp_context::is_pap_up

PAP status (up / down)

◆ is_ready_to_serve

uint16_t ppp_context::is_ready_to_serve

Is PPP ready to receive packets

◆ is_startup_pending

uint16_t ppp_context::is_startup_pending

PPP startup pending

◆ 

struct { ... } ppp_context::lcp

◆ magic

uint32_t ppp_context::magic

Magic-Number value

◆ my_options

struct lcp_options ppp_context::my_options

Options that we want to request

◆ network_protos_open

int ppp_context::network_protos_open

This tells how many network protocols are open

◆ network_protos_up

int ppp_context::network_protos_up

This tells how many network protocols are up

◆ peer_options

struct lcp_options ppp_context::peer_options

Options that peer want to request

◆ phase

enum ppp_phase ppp_context::phase

Current phase of PPP link

◆ ppp_l2_flags

enum net_l2_flags ppp_context::ppp_l2_flags

This tells what features the PPP supports.

◆ startup

struct k_work_delayable ppp_context::startup

PPP startup worker.


The documentation for this struct was generated from the following file: