]> git.proxmox.com Git - mirror_frr.git/blobdiff - pimd/pim_vty.c
Merge pull request #8631 from dslicenc/pimd-timer-fix
[mirror_frr.git] / pimd / pim_vty.c
index fee8d6ed1bc599fd036318169e4a399f21e6b351..929d35101ea84cc024a34d9e6ec9a6cae7236941 100644 (file)
@@ -172,10 +172,11 @@ int pim_global_config_write_worker(struct pim_instance *pim, struct vty *vty)
        char spaces[10];
 
        if (pim->vrf_id == VRF_DEFAULT)
-               sprintf(spaces, "%s", "");
+               snprintf(spaces, sizeof(spaces), "%s", "");
        else
-               sprintf(spaces, "%s", " ");
+               snprintf(spaces, sizeof(spaces), "%s", " ");
 
+       writes += pim_msdp_peer_config_write(vty, pim, spaces);
        writes += pim_msdp_config_write(pim, vty, spaces);
 
        if (!pim->send_v6_secondary) {
@@ -185,16 +186,24 @@ int pim_global_config_write_worker(struct pim_instance *pim, struct vty *vty)
 
        writes += pim_rp_config_write(pim, vty, spaces);
 
-       if (router->register_suppress_time
-           != PIM_REGISTER_SUPPRESSION_TIME_DEFAULT) {
-               vty_out(vty, "%sip pim register-suppress-time %d\n", spaces,
-                       router->register_suppress_time);
-               ++writes;
-       }
-       if (router->t_periodic != PIM_DEFAULT_T_PERIODIC) {
-               vty_out(vty, "%sip pim join-prune-interval %d\n", spaces,
-                       router->t_periodic);
-               ++writes;
+       if (pim->vrf_id == VRF_DEFAULT) {
+               if (router->register_suppress_time
+                   != PIM_REGISTER_SUPPRESSION_TIME_DEFAULT) {
+                       vty_out(vty, "%sip pim register-suppress-time %d\n",
+                                       spaces, router->register_suppress_time);
+                       ++writes;
+               }
+               if (router->t_periodic != PIM_DEFAULT_T_PERIODIC) {
+                       vty_out(vty, "%sip pim join-prune-interval %d\n",
+                               spaces, router->t_periodic);
+                       ++writes;
+               }
+
+               if (router->packet_process != PIM_DEFAULT_PACKET_PROCESS) {
+                       vty_out(vty, "%sip pim packets %d\n", spaces,
+                               router->packet_process);
+                       ++writes;
+               }
        }
        if (pim->keep_alive_time != PIM_KEEPALIVE_PERIOD) {
                vty_out(vty, "%sip pim keep-alive-timer %d\n", spaces,
@@ -206,11 +215,6 @@ int pim_global_config_write_worker(struct pim_instance *pim, struct vty *vty)
                        pim->rp_keep_alive_time);
                ++writes;
        }
-       if (router->packet_process != PIM_DEFAULT_PACKET_PROCESS) {
-               vty_out(vty, "%sip pim packets %d\n", spaces,
-                       router->packet_process);
-               ++writes;
-       }
        if (ssm->plist_name) {
                vty_out(vty, "%sip pim ssm prefix-list %s\n", spaces,
                        ssm->plist_name);
@@ -275,6 +279,13 @@ int pim_interface_config_write(struct vty *vty)
                        continue;
 
                FOR_ALL_INTERFACES (pim->vrf, ifp) {
+                       /* pim is enabled internally/implicitly on the vxlan
+                        * termination device ipmr-lo. skip displaying that
+                        * config to avoid confusion
+                        */
+                       if (pim_vxlan_is_term_dev_cfg(pim, ifp))
+                               continue;
+
                        /* IF name */
                        if (vrf->vrf_id == VRF_DEFAULT)
                                vty_frame(vty, "interface %s\n", ifp->name);