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 ::= ...@@ -1305,7 +1305,11 @@ WrsPtpDataEntry ::=
wrsPtpDeltaTxM Integer32, wrsPtpDeltaTxM Integer32,
wrsPtpDeltaRxM Integer32, wrsPtpDeltaRxM Integer32,
wrsPtpDeltaTxS Integer32, wrsPtpDeltaTxS Integer32,
wrsPtpDeltaRxS Integer32 wrsPtpDeltaRxS Integer32,
wrsPtpServoStateErrCnt Counter32,
wrsPtpClockOffsetErrCnt Counter32,
wrsPtpRTTErrCnt Counter32,
wrsPtpDeltaRxTxErrCnt Counter32
} }
wrsPtpDataIndex OBJECT-TYPE wrsPtpDataIndex OBJECT-TYPE
...@@ -1476,6 +1480,38 @@ wrsPtpDeltaRxS OBJECT-TYPE ...@@ -1476,6 +1480,38 @@ wrsPtpDeltaRxS OBJECT-TYPE
"Fixed Rx latency on Slave side" "Fixed Rx latency on Slave side"
::= { wrsPtpDataEntry 19 } ::= { 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) -- per-port (.7.1.6)
wrsPortStatusTable OBJECT-TYPE wrsPortStatusTable OBJECT-TYPE
SYNTAX SEQUENCE OF WrsPortStatusEntry SYNTAX SEQUENCE OF WrsPortStatusEntry
......
...@@ -25,6 +25,10 @@ static struct pickinfo wrsPtpDataTable_pickinfo[] = { ...@@ -25,6 +25,10 @@ static struct pickinfo wrsPtpDataTable_pickinfo[] = {
FIELD(wrsPtpDataTable_s, ASN_INTEGER, delta_rx_m), FIELD(wrsPtpDataTable_s, ASN_INTEGER, delta_rx_m),
FIELD(wrsPtpDataTable_s, ASN_INTEGER, delta_tx_s), FIELD(wrsPtpDataTable_s, ASN_INTEGER, delta_tx_s),
FIELD(wrsPtpDataTable_s, ASN_INTEGER, delta_rx_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) static int32_t int_saturate(int64_t value)
...@@ -90,6 +94,10 @@ time_t wrsPtpDataTable_data_fill(unsigned int *n_rows) ...@@ -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_rx_m = ppsi_servo->delta_rx_m;
wrsPtpDataTable_array[0].delta_tx_s = ppsi_servo->delta_tx_s; 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].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++; retries++;
if (retries > 100) { if (retries > 100) {
snmp_log(LOG_ERR, "%s: too many retries to read PPSI\n", snmp_log(LOG_ERR, "%s: too many retries to read PPSI\n",
......
...@@ -30,6 +30,10 @@ struct wrsPtpDataTable_s { ...@@ -30,6 +30,10 @@ struct wrsPtpDataTable_s {
int32_t delta_rx_m; int32_t delta_rx_m;
int32_t delta_tx_s; int32_t delta_tx_s;
int32_t delta_rx_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 [] = { ...@@ -501,6 +501,10 @@ struct dump_info servo_state_info [] = {
DUMP_FIELD_SIZE(char, servo_state_name, 32), DUMP_FIELD_SIZE(char, servo_state_name, 32),
DUMP_FIELD(Integer64, skew), DUMP_FIELD(Integer64, skew),
DUMP_FIELD(Integer64, offset), 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 #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