#include "memory.h"
#include "sockopt.h"
#include "vrf.h"
+#include "lib_errors.h"
#include "pimd.h"
#include "pim_ssmpingd.h"
void pim_ssmpingd_destroy(struct pim_instance *pim)
{
if (pim->ssmpingd_list)
- list_delete_and_null(&pim->ssmpingd_list);
+ list_delete(&pim->ssmpingd_list);
}
static struct ssmpingd_sock *ssmpingd_find(struct pim_instance *pim,
fd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
if (fd < 0) {
- zlog_err("%s: could not create socket: errno=%d: %s",
- __PRETTY_FUNCTION__, errno, safe_strerror(errno));
+ flog_err_sys(EC_LIB_SOCKET,
+ "%s: could not create socket: errno=%d: %s",
+ __PRETTY_FUNCTION__, errno, safe_strerror(errno));
return -1;
}
safe_strerror(errno));
}
#else
- zlog_err(
+ flog_err(
+ EC_LIB_DEVELOPMENT,
"%s %s: missing IP_PKTINFO and IP_RECVDSTADDR: unable to get dst addr from recvmsg()",
__FILE__, __PRETTY_FUNCTION__);
close(fd);
if (!pim->ssmpingd_list) {
pim->ssmpingd_list = list_new();
- if (!pim->ssmpingd_list) {
- zlog_err(
- "%s %s: failure: qpim_ssmpingd_list=list_new()",
- __FILE__, __PRETTY_FUNCTION__);
- return 0;
- }
pim->ssmpingd_list->del = (void (*)(void *))ssmpingd_free;
}
}
ss = XCALLOC(MTYPE_PIM_SSMPINGD, sizeof(*ss));
- if (!ss) {
- char source_str[INET_ADDRSTRLEN];
- pim_inet4_dump("<src?>", source_addr, source_str,
- sizeof(source_str));
- zlog_err("%s: XCALLOC(%zu) failure for ssmpingd source %s",
- __PRETTY_FUNCTION__, sizeof(*ss), source_str);
- close(sock_fd);
- return 0;
- }
ss->pim = pim;
ss->sock_fd = sock_fd;