From: Donatas Abraitis Date: Thu, 18 Aug 2022 06:47:03 +0000 (+0300) Subject: Merge pull request #11485 from AbhishekNR/ipv6_mld_todo X-Git-Tag: frr-8.5.1~566 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=b32cf39d45b606e1b5da916c5419db71fa3d0fd5;p=mirror_frr.git Merge pull request #11485 from AbhishekNR/ipv6_mld_todo pim6d: Completing "ipv6 mld" config command. --- b32cf39d45b606e1b5da916c5419db71fa3d0fd5 diff --cc pimd/pim_addr.h index 2f2ff2467,e28f12113..defe4070c --- a/pimd/pim_addr.h +++ b/pimd/pim_addr.h @@@ -35,9 -35,8 +35,10 @@@ typedef struct in_addr pim_addr #define ipaddr_pim ipaddr_v4 #define PIM_MAX_BITLEN IPV4_MAX_BITLEN #define PIM_AF_NAME "ip" +#define PIM_AF_DBG "pim" +#define PIM_MROUTE_DBG "mroute" #define PIMREG "pimreg" + #define GM "IGMP" #define PIM_ADDR_FUNCNAME(name) ipv4_##name @@@ -61,9 -60,8 +62,10 @@@ typedef struct in6_addr pim_addr #define ipaddr_pim ipaddr_v6 #define PIM_MAX_BITLEN IPV6_MAX_BITLEN #define PIM_AF_NAME "ipv6" +#define PIM_AF_DBG "pimv6" +#define PIM_MROUTE_DBG "mroute6" #define PIMREG "pim6reg" + #define GM "MLD" #define PIM_ADDR_FUNCNAME(name) ipv6_##name diff --cc pimd/pim_iface.c index 0fb5e8c6d,738a548c7..e03e5a263 --- a/pimd/pim_iface.c +++ b/pimd/pim_iface.c @@@ -801,16 -801,25 +799,16 @@@ void pim_if_addr_add_all(struct interfa pim_if_addr_add(ifc); } - if (!v4_addrs && v6_addrs && !if_is_loopback(ifp)) { - if (pim_ifp->pim_enable) { - - /* Interface has a valid primary address ? */ - if (!pim_addr_is_any(pim_ifp->primary_address)) { - - /* Interface has a valid socket ? */ - if (pim_ifp->pim_sock_fd < 0) { - if (pim_sock_add(ifp)) { - zlog_warn( - "Failure creating PIM socket for interface %s", - ifp->name); - } - } - } - } /* pim */ + if (!v4_addrs && v6_addrs && !if_is_loopback(ifp) && + pim_ifp->pim_enable && !pim_addr_is_any(pim_ifp->primary_address) && + pim_ifp->pim_sock_fd < 0 && pim_sock_add(ifp)) { + /* Interface has a valid primary address ? */ + /* Interface has a valid socket ? */ + zlog_warn("Failure creating PIM socket for interface %s", + ifp->name); } /* - * PIM or IGMP is enabled on interface, and there is at least one + * PIM or IGMP/MLD is enabled on interface, and there is at least one * address assigned, then try to create a vif_index. */ if (pim_ifp->mroute_vif_index < 0) {