lib-interface: Add new API to validate interface info for given interface index
authorVinit Agnihotri <vagnihotri@ddn.com>
Tue, 20 Feb 2024 10:40:13 +0000 (02:40 -0800)
committerMartin Schwenke <martins@samba.org>
Tue, 16 Apr 2024 23:51:45 +0000 (23:51 +0000)
Signed-off-by: Vinit Agnihotri <vagnihotri@ddn.com>
Reviewed-by: Martin Schwenke <mschwenke@ddn.com>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
source3/lib/interface.c
source3/lib/interface.h

index beb100398b8d8b3d4973a277869b29abf12ceb75..c586e97e741b896a654f9047c0ad2c1a3e596463 100644 (file)
@@ -719,3 +719,20 @@ bool interfaces_changed(void)
        TALLOC_FREE(ifaces);
        return ret;
 }
+
+/****************************************************************************
+ Return True if interface exists for given interface index
+**************************************************************************/
+
+bool interface_ifindex_exists(int if_index)
+{
+       struct interface *i;
+
+       for (i = local_interfaces; i != NULL; i = i->next) {
+               if (i->if_index == if_index) {
+                       return true;
+               }
+       }
+
+       return false;
+}
index f45435b4a8199b8376aaf09556e5db41eac6be8d..1a575c5f22b1224113d37b01dc496f9c27a9d353 100644 (file)
@@ -42,5 +42,6 @@ bool iface_local(const struct sockaddr *ip);
 void load_interfaces(void);
 void gfree_interfaces(void);
 bool interfaces_changed(void);
+bool interface_ifindex_exists(int if_index);
 
 #endif /* _INTERFACE_H */