summaryrefslogtreecommitdiff
path: root/pimd
diff options
context:
space:
mode:
authorBarry A. Trent <barry.trent@atcorp.com>2024-08-09 15:37:01 -0700
committerBarry A. Trent <barry.trent@atcorp.com>2024-09-20 13:44:48 -0700
commit9b68853e0d7616c97fbf64cf983ce63e3d93abe6 (patch)
tree3e8b5e18f4a6ac24dfd223d4924b728ea9bdca6b /pimd
parent26b67993d0de7e64d3409858bc0f165b9f8d4c1c (diff)
pimd: add igmp proxy cli and yang configuration
Signed-off-by: Barry A. Trent <barry.trent@atcorp.com>
Diffstat (limited to 'pimd')
-rw-r--r--pimd/pim_cmd_common.c11
-rw-r--r--pimd/pim_cmd_common.h1
-rw-r--r--pimd/pim_vty.c5
3 files changed, 17 insertions, 0 deletions
diff --git a/pimd/pim_cmd_common.c b/pimd/pim_cmd_common.c
index 2f46fcac9b..7337bacc84 100644
--- a/pimd/pim_cmd_common.c
+++ b/pimd/pim_cmd_common.c
@@ -420,6 +420,17 @@ int pim_process_no_ip_pim_boundary_oil_cmd(struct vty *vty)
FRR_PIM_AF_XPATH_VAL);
}
+int pim_process_ip_gmp_proxy_cmd(struct vty *vty, bool enable)
+{
+ if (enable)
+ nb_cli_enqueue_change(vty, "./proxy", NB_OP_MODIFY, "true");
+ else
+ nb_cli_enqueue_change(vty, "./proxy", NB_OP_DESTROY, NULL);
+
+ return nb_cli_apply_changes(vty, FRR_GMP_INTERFACE_XPATH,
+ FRR_PIM_AF_XPATH_VAL);
+}
+
int pim_process_ip_mroute_cmd(struct vty *vty, const char *interface,
const char *group_str, const char *source_str)
{
diff --git a/pimd/pim_cmd_common.h b/pimd/pim_cmd_common.h
index 339074b204..7ded9b246a 100644
--- a/pimd/pim_cmd_common.h
+++ b/pimd/pim_cmd_common.h
@@ -47,6 +47,7 @@ int pim_process_no_ip_pim_hello_cmd(struct vty *vty);
int pim_process_ip_pim_activeactive_cmd(struct vty *vty, const char *no);
int pim_process_ip_pim_boundary_oil_cmd(struct vty *vty, const char *oil);
int pim_process_no_ip_pim_boundary_oil_cmd(struct vty *vty);
+int pim_process_ip_gmp_proxy_cmd(struct vty *vty, bool enable);
int pim_process_ip_mroute_cmd(struct vty *vty, const char *interface,
const char *group_str, const char *source_str);
int pim_process_no_ip_mroute_cmd(struct vty *vty, const char *interface,
diff --git a/pimd/pim_vty.c b/pimd/pim_vty.c
index e5324dd873..d5d6fb54d5 100644
--- a/pimd/pim_vty.c
+++ b/pimd/pim_vty.c
@@ -270,6 +270,11 @@ static int gm_config_write(struct vty *vty, int writes,
++writes;
}
+ if (pim_ifp->gm_proxy) {
+ vty_out(vty, " ip igmp proxy\n");
+ ++writes;
+ }
+
/* ip igmp version */
if (pim_ifp->igmp_version != IGMP_DEFAULT_VERSION) {
vty_out(vty, " ip igmp version %d\n", pim_ifp->igmp_version);