]> git.proxmox.com Git - mirror_frr.git/commitdiff
pimd, pim6d: Define pim_addr_is_multicast API
authorSarita Patra <saritap@vmware.com>
Thu, 13 Oct 2022 04:37:28 +0000 (21:37 -0700)
committerSarita Patra <saritap@vmware.com>
Thu, 20 Oct 2022 08:11:52 +0000 (01:11 -0700)
pim_addr_is_multicast API will check if the address is multicast
address or not.

Signed-off-by: Sarita Patra <saritap@vmware.com>
pimd/pim_util.c
pimd/pim_util.h

index 4b67dbf1b1173327f7c5b5194202b5bcf90355d6..150e1a01ea7be5789002568d7927991d64474078 100644 (file)
@@ -166,3 +166,15 @@ int pim_get_all_mcast_group(struct prefix *prefix)
 #endif
        return 1;
 }
+
+bool pim_addr_is_multicast(pim_addr addr)
+{
+#if PIM_IPV == 4
+       if (IN_MULTICAST(addr.s_addr))
+               return true;
+#else
+       if (IN6_IS_ADDR_MULTICAST(&addr))
+               return true;
+#endif
+       return false;
+}
index a4362bef90c72ad289e2e0626ba9e96420111542..6af79ddf6c77313235721f7215b0195e2fbe6ae4 100644 (file)
@@ -37,4 +37,5 @@ int pim_is_group_224_0_0_0_24(struct in_addr group_addr);
 int pim_is_group_224_4(struct in_addr group_addr);
 bool pim_is_group_filtered(struct pim_interface *pim_ifp, pim_addr *grp);
 int pim_get_all_mcast_group(struct prefix *prefix);
+bool pim_addr_is_multicast(pim_addr addr);
 #endif /* PIM_UTIL_H */