]> git.proxmox.com Git - mirror_frr.git/blobdiff - pimd/pim_nb_config.c
Merge pull request #10366 from AbhishekNR/mld_cli
[mirror_frr.git] / pimd / pim_nb_config.c
index f1b537060559178574b4f90fb222cbeaf8c9dd8c..7fe7c0395f0b9ad7451428a2bd899ce4c5372987 100644 (file)
@@ -936,7 +936,7 @@ int routing_control_plane_protocols_control_plane_protocol_pim_address_family_ss
        struct vrf *vrf;
        struct pim_instance *pim;
        int result;
-       struct ipaddr source_addr;
+       pim_addr source_addr;
 
        switch (args->event) {
        case NB_EV_VALIDATE:
@@ -946,16 +946,14 @@ int routing_control_plane_protocols_control_plane_protocol_pim_address_family_ss
        case NB_EV_APPLY:
                vrf = nb_running_get_entry(args->dnode, NULL, true);
                pim = vrf->info;
-               yang_dnode_get_ip(&source_addr, args->dnode, NULL);
-               result = pim_ssmpingd_start(pim, source_addr.ip._v4_addr);
+               yang_dnode_get_pimaddr(&source_addr, args->dnode,
+                                      "./source-addr");
+               result = pim_ssmpingd_start(pim, source_addr);
                if (result) {
-                       char source_str[INET_ADDRSTRLEN];
-
-                       ipaddr2str(&source_addr, source_str,
-                                       sizeof(source_str));
-                       snprintf(args->errmsg, args->errmsg_len,
-                                "%% Failure starting ssmpingd for source %s: %d",
-                                source_str, result);
+                       snprintf(
+                               args->errmsg, args->errmsg_len,
+                               "%% Failure starting ssmpingd for source %pPA: %d",
+                               &source_addr, result);
                        return NB_ERR_INCONSISTENCY;
                }
        }
@@ -969,7 +967,7 @@ int routing_control_plane_protocols_control_plane_protocol_pim_address_family_ss
        struct vrf *vrf;
        struct pim_instance *pim;
        int result;
-       struct ipaddr source_addr;
+       pim_addr source_addr;
 
        switch (args->event) {
        case NB_EV_VALIDATE:
@@ -979,16 +977,14 @@ int routing_control_plane_protocols_control_plane_protocol_pim_address_family_ss
        case NB_EV_APPLY:
                vrf = nb_running_get_entry(args->dnode, NULL, true);
                pim = vrf->info;
-               yang_dnode_get_ip(&source_addr, args->dnode, NULL);
-               result = pim_ssmpingd_stop(pim, source_addr.ip._v4_addr);
+               yang_dnode_get_pimaddr(&source_addr, args->dnode,
+                                      "./source-addr");
+               result = pim_ssmpingd_stop(pim, source_addr);
                if (result) {
-                       char source_str[INET_ADDRSTRLEN];
-
-                       ipaddr2str(&source_addr, source_str,
-                                  sizeof(source_str));
-                       snprintf(args->errmsg, args->errmsg_len,
-                                "%% Failure stopping ssmpingd for source %s: %d",
-                                 source_str, result);
+                       snprintf(
+                               args->errmsg, args->errmsg_len,
+                               "%% Failure stopping ssmpingd for source %pPA: %d",
+                               &source_addr, result);
                        return NB_ERR_INCONSISTENCY;
                }