diff options
| author | Barry A. Trent <barry.trent@atcorp.com> | 2024-08-09 15:37:01 -0700 |
|---|---|---|
| committer | Barry A. Trent <barry.trent@atcorp.com> | 2024-09-20 13:44:48 -0700 |
| commit | 9b68853e0d7616c97fbf64cf983ce63e3d93abe6 (patch) | |
| tree | 3e8b5e18f4a6ac24dfd223d4924b728ea9bdca6b /pimd | |
| parent | 26b67993d0de7e64d3409858bc0f165b9f8d4c1c (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.c | 11 | ||||
| -rw-r--r-- | pimd/pim_cmd_common.h | 1 | ||||
| -rw-r--r-- | pimd/pim_vty.c | 5 |
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); |
