diff options
| author | David Lamparter <equinox@opensourcerouting.org> | 2021-09-28 14:40:23 +0200 |
|---|---|---|
| committer | Rafael Zalamena <rzalamena@opensourcerouting.org> | 2025-02-13 12:45:47 -0300 |
| commit | df9517c95a09e2860cd9c049ee8fe2a5b1a7a48f (patch) | |
| tree | 9ae429789a1e1e6551a10ac584558ec2602ff1ea /pimd/pim_cmd.c | |
| parent | f70530c8e8ada9fcc7fd6a83e7a1e211b11b2131 (diff) | |
pimd: add IGMPv2/MLDv1 immediate-leave
(Somewhat) useful when dealing with an interface that has only one host
attached. Only works for IGMPv2 and MLDv1, other protocol versions have
no leave message.
Co-authored-by: David Lamparter <equinox@opensourcerouting.org>
Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
Diffstat (limited to 'pimd/pim_cmd.c')
| -rw-r--r-- | pimd/pim_cmd.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/pimd/pim_cmd.c b/pimd/pim_cmd.c index fa9c6f9537..4ad75a21e7 100644 --- a/pimd/pim_cmd.c +++ b/pimd/pim_cmd.c @@ -5693,6 +5693,19 @@ ALIAS_YANG(interface_ip_igmp_limits, "Limit number of IGMPv3 sources to track\n" "Limit number of IGMP group memberships to track\n") +DEFPY_YANG(interface_ip_igmp_immediate_leave, + interface_ip_igmp_immediate_leave_cmd, + "[no] ip igmp immediate-leave", + NO_STR + IP_STR + IFACE_IGMP_STR + "Immediately drop group memberships on receiving Leave (IGMPv2 only)\n") +{ + nb_cli_enqueue_change(vty, "./immediate-leave", NB_OP_MODIFY, no ? "false" : "true"); + + return nb_cli_apply_changes(vty, FRR_GMP_INTERFACE_XPATH, FRR_PIM_AF_XPATH_VAL); +} + DEFUN (interface_ip_pim_drprio, interface_ip_pim_drprio_cmd, "ip pim drpriority (0-4294967295)", @@ -9140,6 +9153,7 @@ void pim_cmd_init(void) install_element(INTERFACE_NODE, &interface_ip_igmp_proxy_cmd); install_element(INTERFACE_NODE, &interface_ip_igmp_limits_cmd); install_element(INTERFACE_NODE, &no_interface_ip_igmp_limits_cmd); + install_element(INTERFACE_NODE, &interface_ip_igmp_immediate_leave_cmd); install_element(INTERFACE_NODE, &interface_ip_pim_activeactive_cmd); install_element(INTERFACE_NODE, &interface_ip_pim_ssm_cmd); install_element(INTERFACE_NODE, &interface_no_ip_pim_ssm_cmd); |
