PDK API Guide for J721E

Introduction

Defines and methods for gPTP2.

Go to the source code of this file.

Data Structures

struct  gptpipc_notice_data
 gptp notice data type More...
 
struct  gptpipc_client_req_abnormal
 gptp ipc client request, register/deregister abnormal event. More...
 
struct  gptpipc_client_req_data
 gptp ipc client request data. this structure formed with following details: More...
 
struct  gptpipc_data_netlink
 
struct  gptpipc_ndport_data
 to retreive netlink status. this structure has nlstatus type of gptpipc_data_netlinnk_t. for more details read More...
 
struct  gptpipc_gport_data
 grand master port data. this structure formed with following details: More...
 
struct  gptpipc_clock_data
 gptp clock data. More...
 
struct  gptpipc_statistics_system
 
struct  gptpipc_statistics_tas
 
struct  gptpipc_gptpd_data
 data type to be used in IPC. More...
 
struct  gptpipc_thread_data_t
 variables to run gptp ipc thread More...
 

Macros

#define GPTP2D_IPC_CB_SOCKET_NODE   "/tmp/gptp2d_ipc"
 IPC node for gptp2 communication This node is used to communicate with gptp2 internally. More...
 
#define GPTPIPC_EXT_SCRIPT   "gptpipc_extscript"
 
#define GPTPIPC_EVENT_CLOCK_FLAG_NETDEV_DOWN   (1<<GPTPIPC_EVENT_CLOCK_NETDEV_DOWN)
 Macro which is used to define event flag. it is set using bitwise operation. More...
 
#define GPTPIPC_EVENT_CLOCK_FLAG_NETDEV_UP   (1<<GPTPIPC_EVENT_CLOCK_NETDEV_UP)
 
#define GPTPIPC_EVENT_CLOCK_FLAG_PHASE_UPDATE   (1<<GPTPIPC_EVENT_CLOCK_PHASE_UPDATE)
 
#define GPTPIPC_EVENT_CLOCK_FLAG_FREQ_UPDATE   (1<<GPTPIPC_EVENT_CLOCK_FREQ_UPDATE)
 
#define GPTPIPC_EVENT_CLOCK_FLAG_GM_SYNCED   (1<<GPTPIPC_EVENT_CLOCK_GM_SYNCED)
 
#define GPTPIPC_EVENT_CLOCK_FLAG_GM_UNSYNCED   (1<<GPTPIPC_EVENT_CLOCK_GM_UNSYNCED)
 
#define GPTPIPC_EVENT_CLOCK_FLAG_GM_CHANGE   (1<<GPTPIPC_EVENT_CLOCK_GM_CHANGE)
 
#define GPTPIPC_EVENT_PORT_FLAG_AS_CAPABLE_DOWN   (1<<GPTPIPC_EVENT_PORT_AS_CAPABLE_DOWN)
 
#define GPTPIPC_EVENT_PORT_FLAG_AS_CAPABLE_UP   (1<<GPTPIPC_EVENT_PORT_AS_CAPABLE_UP)
 
#define GPTPIPC_EVENT_CLOCK_FLAG_ACTIVE_DOMAIN   (1<<GPTPIPC_EVENT_CLOCK_ACTIVE_DOMAIN)
 
#define GPTPIPC_EVENT_CLOCK_FLAG_TIMELEAP_FUTURE   (1<<GPTPIPC_EVENT_CLOCK_TIMELEAP_FUTURE)
 
#define GPTPIPC_EVENT_CLOCK_FLAG_TIMELEAP_PAST   (1<<GPTPIPC_EVENT_CLOCK_TIMELEAP_PAST)
 
#define GPTPIPC_MAX_NETDEV_NAME   16
 gptp data for netlink. this structure is formed with following details: More...
 
#define GPTPIPC_MAX_PTPDEV_NAME   32
 

Typedefs

typedef int(* gptpipc_cb_t) (gptpipc_gptpd_data_t *ipcrd, void *cb_data)
 

Enumerations

enum  gptp_ipc_command_t {
  GPTPIPC_CMD_NOP =0, GPTPIPC_CMD_REQ_NDPORT_INFO, GPTPIPC_CMD_REQ_GPORT_INFO, GPTPIPC_CMD_REQ_CLOCK_INFO,
  GPTPIPC_CMD_ACTIVE_DOMAINT_SWITCH, GPTPIPC_CMD_RUN_EXT_SCRIPT, GPTPIPC_CMD_TSN_SCHEDULE_CONTROL, GPTPIPC_CMD_REQ_STAT_INFO,
  GPTPIPC_CMD_REQ_STAT_INFO_RESET, GPTPIPC_CMD_REG_ABNORMAL_EVENT, GPTPIPC_CMD_DISCONNECT
}
 command for gptp ipc. More...
 
enum  gptpipc_event_t {
  GPTPIPC_EVENT_CLOCK_NETDEV_DOWN = 0, GPTPIPC_EVENT_CLOCK_NETDEV_UP, GPTPIPC_EVENT_CLOCK_PHASE_UPDATE, GPTPIPC_EVENT_CLOCK_FREQ_UPDATE,
  GPTPIPC_EVENT_CLOCK_GM_SYNCED, GPTPIPC_EVENT_CLOCK_GM_UNSYNCED, GPTPIPC_EVENT_CLOCK_GM_CHANGE, GPTPIPC_EVENT_PORT_AS_CAPABLE_DOWN,
  GPTPIPC_EVENT_PORT_AS_CAPABLE_UP, GPTPIPC_EVENT_CLOCK_ACTIVE_DOMAIN, GPTPIPC_EVENT_CLOCK_TIMELEAP_FUTURE, GPTPIPC_EVENT_CLOCK_TIMELEAP_PAST
}
 Enumeration for GPTP IPC events. More...
 
enum  gptpd_data_type_t {
  GPTPIPC_GPTPD_NOTICE = 0, GPTPIPC_GPTPD_NDPORTD, GPTPIPC_GPTPD_GPORTD, GPTPIPC_GPTPD_CLOCKD,
  GPTPIPC_GPTPD_STATSD, GPTPIPC_GPTPD_STATTD
}
 data from gptp2d to connected clients More...
 

Functions

struct gptpipc_notice_data __attribute__ ((packed)) gptpipc_notice_data_t
 gptp notice data type More...
 
int send_ipc_request (int ipcfd, int domainNumber, int portIndex, gptp_ipc_command_t cmd)
 request IPC data More...
 
int gptpipc_init (gptpipc_thread_data_t *ipctd, int wait_toutsec)
 run gptp2d ipc thread More...
 
int gptpipc_close (gptpipc_thread_data_t *ipctd)
 close IPC thread. More...
 

Variables

typedef __attribute__
 
uint32_t event_flags
 
int32_t domainNumber
 
int32_t domainIndex
 
int32_t portIndex
 
ClockIdentity gmIdentity
 
int64_t lastGmPhaseChange_nsec
 
uint16_t gmTimeBaseIndicator
 
uint8_t lastGmFreqChangePk [sizeof(double)]
 
int32_t subcmd
 
int32_t msgtype
 
int32_t eventtype
 
float eventrate
 
int32_t repeat
 
int32_t interval
 
int32_t eventpara
 
gptp_ipc_command_t cmd
 
union {
   gptpipc_client_req_abnormal_t   abnd
 
u
 
uint32_t speed
 
uint32_t duplex
 
ClockIdentity portid
 
uint8_t up
 
char devname [GPTPIPC_MAX_NETDEV_NAME]
 
char ptpdev [GPTPIPC_MAX_PTPDEV_NAME]
 
gptpipc_data_netlink_t nlstatus
 
ClockIdentity gmClockId
 
uint8_t asCapable
 
uint8_t portOper
 
uint8_t gmStable
 
uint8_t selectedState
 
uint64_t pDelay
 
double pDelayRateRatio
 
uint8_t annPathSequenceCount
 
ClockIdentity annPathSequence [MAX_PATH_TRACE_N]
 
ClockIdentity clockId
 
uint64_t lastSyncReceiptTime_nsec
 
uint64_t lastSyncReceiptLocalTime_nsec
 
int32_t adjppb
 
uint16_t lastSyncSeqID
 
uint8_t gmsync
 
uint8_t domainActive
 
uint32_t pdelay_req_send
 
uint32_t pdelay_resp_rec
 
uint32_t pdelay_resp_rec_valid
 
uint32_t pdelay_resp_fup_rec
 
uint32_t pdelay_resp_fup_rec_valid
 
uint32_t pdelay_req_rec
 
uint32_t pdelay_req_rec_valid
 
uint32_t pdelay_resp_send
 
uint32_t pdelay_resp_fup_send
 
uint32_t sync_send
 
uint32_t sync_fup_send
 
uint32_t sync_rec
 
uint32_t sync_rec_valid
 
uint32_t sync_fup_rec
 
uint32_t sync_fup_rec_valid
 
uint32_t announce_send
 
uint32_t announce_rec
 
uint32_t announce_rec_valid
 
uint32_t signal_msg_interval_send
 
uint32_t signal_gptp_capable_send
 
uint32_t signal_rec
 
uint32_t signal_msg_interval_rec
 
uint32_t signal_gptp_capable_rec
 
gptpd_data_type_t dtype
 

Variable Documentation

◆ event_flags

uint32_t event_flags

◆ domainNumber

int32_t domainNumber

◆ domainIndex

int32_t domainIndex

◆ portIndex

int32_t portIndex

◆ gmIdentity

ClockIdentity gmIdentity

◆ lastGmPhaseChange_nsec

int64_t lastGmPhaseChange_nsec

◆ gmTimeBaseIndicator

uint16_t gmTimeBaseIndicator

◆ lastGmFreqChangePk

uint8_t lastGmFreqChangePk

◆ subcmd

int32_t subcmd

◆ msgtype

int32_t msgtype

◆ eventtype

int32_t eventtype

◆ eventrate

float eventrate

◆ repeat

int32_t repeat

◆ interval

int32_t interval

◆ eventpara

int32_t eventpara

◆ cmd

◆ abnd

gptpipc_client_req_abnormal_t abnd

◆ u

union { ... } u

◆ speed

uint32_t speed

◆ duplex

uint32_t duplex

◆ portid

ClockIdentity portid

◆ up

uint8_t up

◆ devname

char devname[GPTPIPC_MAX_NETDEV_NAME]

◆ ptpdev

◆ nlstatus

gptpipc_data_netlink_t nlstatus

◆ gmClockId

ClockIdentity gmClockId

◆ asCapable

uint8_t asCapable

◆ portOper

uint8_t portOper

◆ gmStable

uint8_t gmStable

◆ selectedState

uint8_t selectedState

◆ pDelay

uint64_t pDelay

◆ pDelayRateRatio

double pDelayRateRatio

◆ annPathSequenceCount

uint8_t annPathSequenceCount

◆ annPathSequence

ClockIdentity annPathSequence[MAX_PATH_TRACE_N]

◆ clockId

ClockIdentity clockId

◆ lastSyncReceiptTime_nsec

uint64_t lastSyncReceiptTime_nsec

◆ lastSyncReceiptLocalTime_nsec

uint64_t lastSyncReceiptLocalTime_nsec

◆ adjppb

int32_t adjppb

◆ lastSyncSeqID

uint16_t lastSyncSeqID

◆ gmsync

uint8_t gmsync

◆ domainActive

uint8_t domainActive

◆ pdelay_req_send

uint32_t pdelay_req_send

◆ pdelay_resp_rec

uint32_t pdelay_resp_rec

◆ pdelay_resp_rec_valid

uint32_t pdelay_resp_rec_valid

◆ pdelay_resp_fup_rec

uint32_t pdelay_resp_fup_rec

◆ pdelay_resp_fup_rec_valid

uint32_t pdelay_resp_fup_rec_valid

◆ pdelay_req_rec

uint32_t pdelay_req_rec

◆ pdelay_req_rec_valid

uint32_t pdelay_req_rec_valid

◆ pdelay_resp_send

uint32_t pdelay_resp_send

◆ pdelay_resp_fup_send

uint32_t pdelay_resp_fup_send

◆ sync_send

uint32_t sync_send

◆ sync_fup_send

uint32_t sync_fup_send

◆ sync_rec

uint32_t sync_rec

◆ sync_rec_valid

uint32_t sync_rec_valid

◆ sync_fup_rec

uint32_t sync_fup_rec

◆ sync_fup_rec_valid

uint32_t sync_fup_rec_valid

◆ announce_send

uint32_t announce_send

◆ announce_rec

uint32_t announce_rec

◆ announce_rec_valid

uint32_t announce_rec_valid

◆ signal_msg_interval_send

uint32_t signal_msg_interval_send

◆ signal_gptp_capable_send

uint32_t signal_gptp_capable_send

◆ signal_rec

uint32_t signal_rec

◆ signal_msg_interval_rec

uint32_t signal_msg_interval_rec

◆ signal_gptp_capable_rec

uint32_t signal_gptp_capable_rec

◆ dtype

◆ notice

gptpipc_notice_data_t notice

◆ ndportd

gptpipc_ndport_data_t ndportd

◆ gportd

gptpipc_gport_data_t gportd

◆ clockd

gptpipc_clock_data_t clockd

◆ statsd

gptpipc_statistics_system_t statsd

◆ stattd

gptpipc_statistics_tas_t stattd