Arp trop rapide conséquence le périphérique est considéré hors-ligne

Bonjour à tous,

Je viens d’upgrader ma Jeedom Smart en Debian 10 et mon scénario de détection de présence en ARP a commencé à péter les plombs.
un coup en ligne, un coup hors ligne, et surtout aucun pattern d’identifiable.
à force de chercher et en utilisant manuellement la commande arping je remarque que ça répond toujours ok en manuel mais parfois en µs.

ARPING 192.168.X.Y
60 bytes from xx:xx:xx:xx:xx:xx (192.168.X.Y): index=0 time=530.026 usec

Toujours en creusant je remarque que la regexp pour le timer est /time(?:=|<)(?<time>[\.0-9]+)(?:|\s)ms/

en bidouillant la regexp directement dans le fichier networks_ping.class.php j’arrive à obtenir quelque chose de consistent mais la valeur de la latence est complètement erronée.
voici ce que j’ai mis /time(?:=|<)(?<time>[\.0-9]+)(?:|\s)(ms|us)/ mais du coup mes 600 µs s’afffiche en 600 ms .

Comment mettre à jour le plugin pour qu’il gère les temps de réponse de arping en µs convenablement ?

Merci d’avance pour votre aide.

Bonjour,

Je ne suis pas sur d’avoir compris la question.
Le problème est très clair par contre, bien vu !
Je n’ai jamais eu ce soucis.

Donc pour le « comment »: en faisant un pr sur le repo du plug-in.
Ou demandais-tu point de vue code/implementation ?

Si code, je vois deux pistes:

  • parser (regexp ou autre) les deux cas et multiplier la valeur en conséquence.
  • vérifier si par hasard il n’existe pas une option sur la commande arp pour forcer le retour en ms.

Merci pour la réaction.

L’idée est de partager la problématique pour que cela puisse être modifié par quelqu’un d’autre que moi.