mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Fix error from MikroTik routers when updating BGP peer info (#16224)
* Create a case for routeros. RouterOS doesn't support the bgpPeerInUpdateElapsedTime object, so when LibreNMS does to insert a peer update into the database from a MikroTik router, you see the following error: SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect integer value: '' for column `librenms`.`bgpPeers`.`bgpPeerInUpdateElapsedTime` at row 2 (Connection: mysql, SQL: UPDATE `bgpPeers` set `bgpPeerAdminStatus`=start,`bgpPeerInUpdateElapsedTime`=... To fix this, special-case routeros and note that the object is not yet supported. * Use spaces, not tabs. * Use set_numeric() to ensure bgpPeerInUpdateElapsedTime is a number. --------- Co-authored-by: Joe Clarke <jclarke@cisco.com>
This commit is contained in:
@@ -512,6 +512,7 @@ if (! empty($peers)) {
|
||||
$peer_data['bgpPeerOutUpdates'] = set_numeric($peer_data['bgpPeerOutUpdates']);
|
||||
$peer_data['bgpPeerInTotalMessages'] = set_numeric($peer_data['bgpPeerInTotalMessages']);
|
||||
$peer_data['bgpPeerOutTotalMessages'] = set_numeric($peer_data['bgpPeerOutTotalMessages']);
|
||||
$peer_data['bgpPeerInUpdateElapsedTime'] = set_numeric($peer_data['bgpPeerInUpdateElapsedTime']);
|
||||
|
||||
$fields = [
|
||||
'bgpPeerOutUpdates' => $peer_data['bgpPeerOutUpdates'],
|
||||
|
||||
Reference in New Issue
Block a user