Commit c7d5c97a authored by Adam Wujek's avatar Adam Wujek 💬

userspace/snmpd: change a way of reporting wrong deltas in PPSI

Check whether deltas (delta_tx_m, delta_rx_m, delta_tx_s, delta_rx_s) are
not zero in SNMP, not in PPSI

Remove object wrsPtpRTTErrCnt from MIB, not compatible change, but we're before
release...

Update PPSI
Signed-off-by: Adam Wujek's avatarAdam Wujek <adam.wujek@cern.ch>
parent 377ac203
ppsi @ a5a85d39
Subproject commit 78b2d08c4d744358567aedb55c0f3cf9ef735b19 Subproject commit a5a85d39e41aaa12993ccd53167efe4532f20186
...@@ -1541,8 +1541,7 @@ WrsPtpDataEntry ::= ...@@ -1541,8 +1541,7 @@ WrsPtpDataEntry ::=
wrsPtpDeltaRxS Integer32, wrsPtpDeltaRxS Integer32,
wrsPtpServoStateErrCnt Counter32, wrsPtpServoStateErrCnt Counter32,
wrsPtpClockOffsetErrCnt Counter32, wrsPtpClockOffsetErrCnt Counter32,
wrsPtpRTTErrCnt Counter32, wrsPtpRTTErrCnt Counter32
wrsPtpDeltaRxTxErrCnt Counter32
} }
wrsPtpDataIndex OBJECT-TYPE wrsPtpDataIndex OBJECT-TYPE
...@@ -1737,14 +1736,6 @@ wrsPtpRTTErrCnt OBJECT-TYPE ...@@ -1737,14 +1736,6 @@ wrsPtpRTTErrCnt OBJECT-TYPE
"Number of servo updates with wrong RTT" "Number of servo updates with wrong RTT"
::= { wrsPtpDataEntry 22 } ::= { 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 }
-- wrsPortStatusTable (.7.6) -- wrsPortStatusTable (.7.6)
wrsPortStatusTable OBJECT-TYPE wrsPortStatusTable OBJECT-TYPE
SYNTAX SEQUENCE OF WrsPortStatusEntry SYNTAX SEQUENCE OF WrsPortStatusEntry
......
...@@ -28,7 +28,6 @@ static struct pickinfo wrsPtpDataTable_pickinfo[] = { ...@@ -28,7 +28,6 @@ static struct pickinfo wrsPtpDataTable_pickinfo[] = {
FIELD(wrsPtpDataTable_s, ASN_COUNTER, n_err_state), FIELD(wrsPtpDataTable_s, ASN_COUNTER, n_err_state),
FIELD(wrsPtpDataTable_s, ASN_COUNTER, n_err_offset), FIELD(wrsPtpDataTable_s, ASN_COUNTER, n_err_offset),
FIELD(wrsPtpDataTable_s, ASN_COUNTER, n_err_delta_rtt), 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)
...@@ -97,7 +96,6 @@ time_t wrsPtpDataTable_data_fill(unsigned int *n_rows) ...@@ -97,7 +96,6 @@ time_t wrsPtpDataTable_data_fill(unsigned int *n_rows)
wrsPtpDataTable_array[0].n_err_state = ppsi_servo->n_err_state; 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_offset = ppsi_servo->n_err_offset;
wrsPtpDataTable_array[0].n_err_delta_rtt = ppsi_servo->n_err_delta_rtt; 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",
......
...@@ -33,7 +33,6 @@ struct wrsPtpDataTable_s { ...@@ -33,7 +33,6 @@ struct wrsPtpDataTable_s {
uint32_t n_err_state; uint32_t n_err_state;
uint32_t n_err_offset; uint32_t n_err_offset;
uint32_t n_err_delta_rtt; uint32_t n_err_delta_rtt;
uint32_t n_err_rxtx_deltas;
}; };
extern struct wrsPtpDataTable_s wrsPtpDataTable_array[WRS_MAX_N_SERVO_INSTANCES]; extern struct wrsPtpDataTable_s wrsPtpDataTable_array[WRS_MAX_N_SERVO_INSTANCES];
......
...@@ -18,7 +18,6 @@ static uint32_t servo_updates_prev[WRS_MAX_N_SERVO_INSTANCES]; ...@@ -18,7 +18,6 @@ static uint32_t servo_updates_prev[WRS_MAX_N_SERVO_INSTANCES];
static uint32_t n_err_state_prev[WRS_MAX_N_SERVO_INSTANCES]; static uint32_t n_err_state_prev[WRS_MAX_N_SERVO_INSTANCES];
static uint32_t n_err_offset_prev[WRS_MAX_N_SERVO_INSTANCES]; static uint32_t n_err_offset_prev[WRS_MAX_N_SERVO_INSTANCES];
static uint32_t n_err_delta_rtt_prev[WRS_MAX_N_SERVO_INSTANCES]; static uint32_t n_err_delta_rtt_prev[WRS_MAX_N_SERVO_INSTANCES];
static uint32_t n_err_rxtx_deltas_prev[WRS_MAX_N_SERVO_INSTANCES];
/* store old values of TX and RX PTP counters to calculate delta */ /* store old values of TX and RX PTP counters to calculate delta */
static unsigned long ptp_tx_count_prev[WRS_N_PORTS]; static unsigned long ptp_tx_count_prev[WRS_N_PORTS];
...@@ -90,7 +89,10 @@ time_t wrsTimingStatus_data_fill(void) ...@@ -90,7 +89,10 @@ time_t wrsTimingStatus_data_fill(void)
|| (pd_a[i].n_err_state != n_err_state_prev[i]) || (pd_a[i].n_err_state != n_err_state_prev[i])
|| (pd_a[i].n_err_offset != n_err_offset_prev[i]) || (pd_a[i].n_err_offset != n_err_offset_prev[i])
|| (pd_a[i].n_err_delta_rtt != n_err_delta_rtt_prev[i]) || (pd_a[i].n_err_delta_rtt != n_err_delta_rtt_prev[i])
|| (pd_a[i].n_err_rxtx_deltas != n_err_rxtx_deltas_prev[i]))) { || (pd_a[i].delta_tx_m == 0)
|| (pd_a[i].delta_rx_m == 0)
|| (pd_a[i].delta_tx_s == 0)
|| (pd_a[i].delta_rx_s == 0))) {
wrsTimingStatus_s.wrsPTPStatus = WRS_PTP_STATUS_ERROR; wrsTimingStatus_s.wrsPTPStatus = WRS_PTP_STATUS_ERROR;
snmp_log(LOG_ERR, "SNMP: wrsPTPStatus " snmp_log(LOG_ERR, "SNMP: wrsPTPStatus "
"failed for instance %d\n", i); "failed for instance %d\n", i);
...@@ -104,7 +106,6 @@ time_t wrsTimingStatus_data_fill(void) ...@@ -104,7 +106,6 @@ time_t wrsTimingStatus_data_fill(void)
n_err_state_prev[i] = pd_a[i].n_err_state; n_err_state_prev[i] = pd_a[i].n_err_state;
n_err_offset_prev[i] = pd_a[i].n_err_offset; n_err_offset_prev[i] = pd_a[i].n_err_offset;
n_err_delta_rtt_prev[i] = pd_a[i].n_err_delta_rtt; n_err_delta_rtt_prev[i] = pd_a[i].n_err_delta_rtt;
n_err_rxtx_deltas_prev[i] = pd_a[i].n_err_rxtx_deltas;
} }
/*********************************************************************\ /*********************************************************************\
......
...@@ -506,7 +506,6 @@ struct dump_info servo_state_info [] = { ...@@ -506,7 +506,6 @@ struct dump_info servo_state_info [] = {
DUMP_FIELD(UInteger32, n_err_state), DUMP_FIELD(UInteger32, n_err_state),
DUMP_FIELD(UInteger32, n_err_offset), DUMP_FIELD(UInteger32, n_err_offset),
DUMP_FIELD(UInteger32, n_err_delta_rtt), 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