diff options
Diffstat (limited to 'pimd/pim_cmd.c')
| -rw-r--r-- | pimd/pim_cmd.c | 93 |
1 files changed, 12 insertions, 81 deletions
diff --git a/pimd/pim_cmd.c b/pimd/pim_cmd.c index 3f2e248481..78fc975787 100644 --- a/pimd/pim_cmd.c +++ b/pimd/pim_cmd.c @@ -5664,35 +5664,15 @@ DEFUN (interface_no_ip_igmp_version, "frr-routing:ipv4"); } -DEFUN (interface_ip_igmp_query_max_response_time, +DEFPY (interface_ip_igmp_query_max_response_time, interface_ip_igmp_query_max_response_time_cmd, - "ip igmp query-max-response-time (1-65535)", + "ip igmp query-max-response-time (1-65535)$qmrt", IP_STR IFACE_IGMP_STR IFACE_IGMP_QUERY_MAX_RESPONSE_TIME_STR "Query response value in deci-seconds\n") { - const struct lyd_node *pim_enable_dnode; - - pim_enable_dnode = - yang_dnode_getf(vty->candidate_config->dnode, - FRR_PIM_ENABLE_XPATH, VTY_CURR_XPATH, - "frr-routing:ipv4"); - - if (!pim_enable_dnode) { - nb_cli_enqueue_change(vty, "./enable", NB_OP_MODIFY, - "true"); - } else { - if (!yang_dnode_get_bool(pim_enable_dnode, ".")) - nb_cli_enqueue_change(vty, "./enable", - NB_OP_MODIFY, "true"); - } - - nb_cli_enqueue_change(vty, "./query-max-response-time", NB_OP_MODIFY, - argv[3]->arg); - - return nb_cli_apply_changes(vty, FRR_GMP_INTERFACE_XPATH, - "frr-routing:ipv4"); + return gm_process_query_max_response_time_cmd(vty, qmrt_str); } DEFUN (interface_no_ip_igmp_query_max_response_time, @@ -5704,10 +5684,7 @@ DEFUN (interface_no_ip_igmp_query_max_response_time, IFACE_IGMP_QUERY_MAX_RESPONSE_TIME_STR IGNORED_IN_NO_STR) { - nb_cli_enqueue_change(vty, "./query-max-response-time", NB_OP_DESTROY, - NULL); - return nb_cli_apply_changes(vty, FRR_GMP_INTERFACE_XPATH, - "frr-routing:ipv4"); + return gm_process_no_query_max_response_time_cmd(vty); } DEFUN_HIDDEN (interface_ip_igmp_query_max_response_time_dsec, @@ -5756,34 +5733,15 @@ DEFUN_HIDDEN (interface_no_ip_igmp_query_max_response_time_dsec, "frr-routing:ipv4"); } -DEFUN (interface_ip_igmp_last_member_query_count, +DEFPY (interface_ip_igmp_last_member_query_count, interface_ip_igmp_last_member_query_count_cmd, - "ip igmp last-member-query-count (1-255)", + "ip igmp last-member-query-count (1-255)$lmqc", IP_STR IFACE_IGMP_STR IFACE_IGMP_LAST_MEMBER_QUERY_COUNT_STR "Last member query count\n") { - const struct lyd_node *pim_enable_dnode; - - pim_enable_dnode = - yang_dnode_getf(vty->candidate_config->dnode, - FRR_PIM_ENABLE_XPATH, VTY_CURR_XPATH, - "frr-routing:ipv4"); - if (!pim_enable_dnode) { - nb_cli_enqueue_change(vty, "./enable", NB_OP_MODIFY, - "true"); - } else { - if (!yang_dnode_get_bool(pim_enable_dnode, ".")) - nb_cli_enqueue_change(vty, "./enable", - NB_OP_MODIFY, "true"); - } - - nb_cli_enqueue_change(vty, "./robustness-variable", NB_OP_MODIFY, - argv[3]->arg); - - return nb_cli_apply_changes(vty, FRR_GMP_INTERFACE_XPATH, - "frr-routing:ipv4"); + return gm_process_last_member_query_count_cmd(vty, lmqc_str); } DEFUN (interface_no_ip_igmp_last_member_query_count, @@ -5795,41 +5753,18 @@ DEFUN (interface_no_ip_igmp_last_member_query_count, IFACE_IGMP_LAST_MEMBER_QUERY_COUNT_STR IGNORED_IN_NO_STR) { - nb_cli_enqueue_change(vty, "./robustness-variable", NB_OP_DESTROY, - NULL); - - return nb_cli_apply_changes(vty, FRR_GMP_INTERFACE_XPATH, - "frr-routing:ipv4"); + return gm_process_no_last_member_query_count_cmd(vty); } -DEFUN (interface_ip_igmp_last_member_query_interval, +DEFPY (interface_ip_igmp_last_member_query_interval, interface_ip_igmp_last_member_query_interval_cmd, - "ip igmp last-member-query-interval (1-65535)", + "ip igmp last-member-query-interval (1-65535)$lmqi", IP_STR IFACE_IGMP_STR IFACE_IGMP_LAST_MEMBER_QUERY_INTERVAL_STR "Last member query interval in deciseconds\n") { - const struct lyd_node *pim_enable_dnode; - - pim_enable_dnode = - yang_dnode_getf(vty->candidate_config->dnode, - FRR_PIM_ENABLE_XPATH, VTY_CURR_XPATH, - "frr-routing:ipv4"); - if (!pim_enable_dnode) { - nb_cli_enqueue_change(vty, "./enable", NB_OP_MODIFY, - "true"); - } else { - if (!yang_dnode_get_bool(pim_enable_dnode, ".")) - nb_cli_enqueue_change(vty, "./enable", - NB_OP_MODIFY, "true"); - } - - nb_cli_enqueue_change(vty, "./last-member-query-interval", NB_OP_MODIFY, - argv[3]->arg); - - return nb_cli_apply_changes(vty, FRR_GMP_INTERFACE_XPATH, - "frr-routing:ipv4"); + return gm_process_last_member_query_interval_cmd(vty, lmqi_str); } DEFUN (interface_no_ip_igmp_last_member_query_interval, @@ -5841,11 +5776,7 @@ DEFUN (interface_no_ip_igmp_last_member_query_interval, IFACE_IGMP_LAST_MEMBER_QUERY_INTERVAL_STR IGNORED_IN_NO_STR) { - nb_cli_enqueue_change(vty, "./last-member-query-interval", - NB_OP_DESTROY, NULL); - - return nb_cli_apply_changes(vty, FRR_GMP_INTERFACE_XPATH, - "frr-routing:ipv4"); + return gm_process_no_last_member_query_interval_cmd(vty); } DEFUN (interface_ip_pim_drprio, |
