From 94dc266cd478438330d1207939ccd763a98bde75 Mon Sep 17 00:00:00 2001 From: Jarrod Johnson Date: Thu, 22 May 2025 13:57:16 -0400 Subject: [PATCH] Add neighbor overflow check to confluent_selfcheck A common issue in larger layer 2 configurations is for the neighbor table to be undersized for the number of nodes. Detect this manifesting and present a message. --- confluent_server/bin/confluent_selfcheck | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/confluent_server/bin/confluent_selfcheck b/confluent_server/bin/confluent_selfcheck index 74b50c91..f3ad8605 100755 --- a/confluent_server/bin/confluent_selfcheck +++ b/confluent_server/bin/confluent_selfcheck @@ -27,6 +27,15 @@ import signal import confluent.collective.manager as collective import confluent.noderange as noderange +def check_neigh_overflow(): + dmesgout = subprocess.check_output(['dmesg']) + if b'_cache: neighbor table overflow!' in subprocess.check_output(['dmesg']): + return True + return False + #dmesg snippets + #[1203637.865870] neighbour: ndisc_cache: neighbor table overflow! + #[1205244.122606] neighbour: arp_cache: neighbor table overflow! + def fprint(txt): sys.stdout.write(txt) @@ -202,6 +211,11 @@ if __name__ == '__main__': emprint('Failed access, if selinux is enabled, `setsebool -P httpd_can_network_connect=1`, otherwise check web proxy configuration') else: emprint('Not Running (Example resolution: systemctl enable httpd --now)') + fprint('IP neighbor table issue check:') + if check_neigh_overflow(): + emprint('ARP/Neighbor table problem detected, evaluate and increase net.ipv*.neigh.default.gc_thresh*') + else: + print('OK') fprint('TFTP Status: ') if tftp_works(): print('OK')