summaryrefslogtreecommitdiffstats
path: root/pimd
diff options
context:
space:
mode:
authorDaniel Baumann <daniel@debian.org>2024-12-24 08:33:45 +0100
committerDaniel Baumann <daniel@debian.org>2024-12-24 08:33:45 +0100
commit97216bc8112f1169e29e8450a0d406b1868a283e (patch)
tree697ed0dabc4e825248a98b855cc15bf021a08a71 /pimd
parentReleasing debian version 10.2-2. (diff)
downloadfrr-97216bc8112f1169e29e8450a0d406b1868a283e.tar.xz
frr-97216bc8112f1169e29e8450a0d406b1868a283e.zip
Merging upstream version 10.2.1.
Signed-off-by: Daniel Baumann <daniel@debian.org>
Diffstat (limited to 'pimd')
-rw-r--r--pimd/pim_autorp.c5
-rw-r--r--pimd/pim_iface.c3
-rw-r--r--pimd/pim_vty.c6
-rw-r--r--pimd/pimd.c2
4 files changed, 12 insertions, 4 deletions
diff --git a/pimd/pim_autorp.c b/pimd/pim_autorp.c
index df4f809b..a07bd4ab 100644
--- a/pimd/pim_autorp.c
+++ b/pimd/pim_autorp.c
@@ -1014,12 +1014,13 @@ void pim_autorp_init(struct pim_instance *pim)
autorp->announce_interval = DEFAULT_ANNOUNCE_INTERVAL;
autorp->announce_holdtime = DEFAULT_ANNOUNCE_HOLDTIME;
+ pim->autorp = autorp;
+
if (!pim_autorp_socket_enable(autorp)) {
- zlog_err("%s: AutoRP failed to initialize", __func__);
+ zlog_err("%s: AutoRP failed to initialize, feature will not work correctly", __func__);
return;
}
- pim->autorp = autorp;
if (PIM_DEBUG_AUTORP)
zlog_debug("%s: AutoRP Initialized", __func__);
diff --git a/pimd/pim_iface.c b/pimd/pim_iface.c
index 20e3ba18..19460aa4 100644
--- a/pimd/pim_iface.c
+++ b/pimd/pim_iface.c
@@ -1464,8 +1464,7 @@ static void pim_if_gm_join_del_all(struct interface *ifp)
return;
for (ALL_LIST_ELEMENTS(pim_ifp->gm_join_list, node, nextnode, ij))
- pim_if_gm_join_del(ifp, ij->group_addr, ij->source_addr,
- GM_JOIN_STATIC);
+ pim_if_gm_join_del(ifp, ij->group_addr, ij->source_addr, ij->join_type);
}
ferr_r pim_if_static_group_add(struct interface *ifp, pim_addr group_addr,
diff --git a/pimd/pim_vty.c b/pimd/pim_vty.c
index b633e81d..bb620b7a 100644
--- a/pimd/pim_vty.c
+++ b/pimd/pim_vty.c
@@ -325,6 +325,9 @@ static int gm_config_write(struct vty *vty, int writes,
struct listnode *node;
struct gm_join *ij;
for (ALL_LIST_ELEMENTS_RO(pim_ifp->gm_join_list, node, ij)) {
+ if (ij->join_type == GM_JOIN_PROXY)
+ continue;
+
if (pim_addr_is_any(ij->source_addr))
vty_out(vty, " ip igmp join-group %pPAs\n",
&ij->group_addr);
@@ -395,6 +398,9 @@ static int gm_config_write(struct vty *vty, int writes,
struct gm_join *ij;
for (ALL_LIST_ELEMENTS_RO(pim_ifp->gm_join_list, node, ij)) {
+ if (ij->join_type == GM_JOIN_PROXY)
+ continue;
+
if (pim_addr_is_any(ij->source_addr))
vty_out(vty, " ipv6 mld join-group %pPAs\n",
&ij->group_addr);
diff --git a/pimd/pimd.c b/pimd/pimd.c
index db619748..1a9ef0ce 100644
--- a/pimd/pimd.c
+++ b/pimd/pimd.c
@@ -17,6 +17,7 @@
#include "vrf.h"
#include "lib_errors.h"
#include "bfd.h"
+#include "filter.h"
#include "pimd.h"
#if PIM_IPV == 4
@@ -143,6 +144,7 @@ void pim_terminate(void)
prefix_list_add_hook(NULL);
prefix_list_delete_hook(NULL);
prefix_list_reset();
+ access_list_reset();
pim_vxlan_terminate();
pim_vrf_terminate();