Commit 05f28a45 authored by Adam Wujek's avatar Adam Wujek 💬

userspace/snmpd: add error counters to wrsPtpDataTable, uplift ppsi to shmem 6

Add following objects to wrsPtpDataTable:
--wrsPtpServoStateErrCnt
--wrsPtpClockOffsetErrCnt
--wrsPtpRTTErrCnt
--wrsPtpDeltaRxTxErrCnt

Additionally:
--uplift PPSI to shmem version 6
--update wrs_dump_shmem
--update MIB
Signed-off-by: Adam Wujek's avatarAdam Wujek <adam.wujek@cern.ch>
parent d8d49c67
ppsi @ b8ebe5fe
Subproject commit 623dcf3116f87d3f5ae6c51c05239b0229d8f1a1
Subproject commit b8ebe5fee29e094175bb7d349483fdc651de146e
......@@ -1305,7 +1305,11 @@ WrsPtpDataEntry ::=
wrsPtpDeltaTxM Integer32,
wrsPtpDeltaRxM Integer32,
wrsPtpDeltaTxS Integer32,
wrsPtpDeltaRxS Integer32
wrsPtpDeltaRxS Integer32,
wrsPtpServoStateErrCnt Counter32,
wrsPtpClockOffsetErrCnt Counter32,
wrsPtpRTTErrCnt Counter32,
wrsPtpDeltaRxTxErrCnt Counter32
}
wrsPtpDataIndex OBJECT-TYPE
......@@ -1476,6 +1480,38 @@ wrsPtpDeltaRxS OBJECT-TYPE
"Fixed Rx latency on Slave side"
::= { wrsPtpDataEntry 19 }
wrsPtpServoStateErrCnt OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of servo updates with wrong servo state"
::= { wrsPtpDataEntry 20 }
wrsPtpClockOffsetErrCnt OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of servo updates with wrong clock offset"
::= { wrsPtpDataEntry 21 }
wrsPtpRTTErrCnt OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of servo updates with wrong RTT"
::= { wrsPtpDataEntry 22 }
wrsPtpDeltaRxTxErrCnt OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of servo updates with wrong Delta TX/RX M/S"
::= { wrsPtpDataEntry 23 }
-- per-port (.7.1.6)
wrsPortStatusTable OBJECT-TYPE
SYNTAX SEQUENCE OF WrsPortStatusEntry
......
......@@ -25,6 +25,10 @@ static struct pickinfo wrsPtpDataTable_pickinfo[] = {
FIELD(wrsPtpDataTable_s, ASN_INTEGER, delta_rx_m),
FIELD(wrsPtpDataTable_s, ASN_INTEGER, delta_tx_s),
FIELD(wrsPtpDataTable_s, ASN_INTEGER, delta_rx_s),
FIELD(wrsPtpDataTable_s, ASN_COUNTER, n_err_state),
FIELD(wrsPtpDataTable_s, ASN_COUNTER, n_err_offset),
FIELD(wrsPtpDataTable_s, ASN_COUNTER, n_err_delta_rtt),
FIELD(wrsPtpDataTable_s, ASN_COUNTER, n_err_rxtx_deltas),
};
static int32_t int_saturate(int64_t value)
......@@ -90,6 +94,10 @@ time_t wrsPtpDataTable_data_fill(unsigned int *n_rows)
wrsPtpDataTable_array[0].delta_rx_m = ppsi_servo->delta_rx_m;
wrsPtpDataTable_array[0].delta_tx_s = ppsi_servo->delta_tx_s;
wrsPtpDataTable_array[0].delta_rx_s = ppsi_servo->delta_rx_s;
wrsPtpDataTable_array[0].n_err_state = ppsi_servo->n_err_state;
wrsPtpDataTable_array[0].n_err_offset = ppsi_servo->n_err_offset;
wrsPtpDataTable_array[0].n_err_delta_rtt = ppsi_servo->n_err_delta_rtt;
wrsPtpDataTable_array[0].n_err_rxtx_deltas = ppsi_servo->n_err_rxtx_deltas;
retries++;
if (retries > 100) {
snmp_log(LOG_ERR, "%s: too many retries to read PPSI\n",
......
......@@ -30,6 +30,10 @@ struct wrsPtpDataTable_s {
int32_t delta_rx_m;
int32_t delta_tx_s;
int32_t delta_rx_s;
uint32_t n_err_state;
uint32_t n_err_offset;
uint32_t n_err_delta_rtt;
uint32_t n_err_rxtx_deltas;
};
......
......@@ -501,6 +501,10 @@ struct dump_info servo_state_info [] = {
DUMP_FIELD_SIZE(char, servo_state_name, 32),
DUMP_FIELD(Integer64, skew),
DUMP_FIELD(Integer64, offset),
DUMP_FIELD(UInteger32, n_err_state),
DUMP_FIELD(UInteger32, n_err_offset),
DUMP_FIELD(UInteger32, n_err_delta_rtt),
DUMP_FIELD(UInteger32, n_err_rxtx_deltas),
};
#undef DUMP_STRUCT
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment