X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=zebra%2Fzebra_ptm.c;h=e4a4adba05b19f1e0b97f166d14a4b7104980f8a;hb=c52e2ecf95a9be318912caacc0851d9307e679f7;hp=7f9b70b0a11ac22c954437a95a092a38e7b2311b;hpb=364fed6b074a702f21e190cb7aff33e13c65e808;p=mirror_frr.git diff --git a/zebra/zebra_ptm.c b/zebra/zebra_ptm.c index 7f9b70b0a..e4a4adba0 100644 --- a/zebra/zebra_ptm.c +++ b/zebra/zebra_ptm.c @@ -181,8 +181,8 @@ static int zebra_ptm_flush_messages(struct thread *thread) switch (buffer_flush_available(ptm_cb.wb, ptm_cb.ptm_sock)) { case BUFFER_ERROR: - flog_err_sys(LIB_ERR_SOCKET, "%s ptm socket error: %s", - __func__, safe_strerror(errno)); + flog_err_sys(EC_LIB_SOCKET, "%s ptm socket error: %s", __func__, + safe_strerror(errno)); close(ptm_cb.ptm_sock); ptm_cb.ptm_sock = -1; zebra_ptm_reset_status(0); @@ -207,8 +207,8 @@ static int zebra_ptm_send_message(char *data, int size) errno = 0; switch (buffer_write(ptm_cb.wb, ptm_cb.ptm_sock, data, size)) { case BUFFER_ERROR: - flog_err_sys(LIB_ERR_SOCKET, "%s ptm socket error: %s", - __func__, safe_strerror(errno)); + flog_err_sys(EC_LIB_SOCKET, "%s ptm socket error: %s", __func__, + safe_strerror(errno)); close(ptm_cb.ptm_sock); ptm_cb.ptm_sock = -1; zebra_ptm_reset_status(0); @@ -505,17 +505,17 @@ static int zebra_ptm_handle_bfd_msg(void *arg, void *in_ctxt, dest_str, src_str); if (str2prefix(dest_str, &dest_prefix) == 0) { - flog_err(ZEBRA_ERR_PREFIX_PARSE_ERROR, - "%s: Peer addr %s not found", __func__, dest_str); + flog_err(EC_ZEBRA_PREFIX_PARSE_ERROR, + "%s: Peer addr %s not found", __func__, dest_str); return -1; } memset(&src_prefix, 0, sizeof(struct prefix)); if (strcmp(ZEBRA_PTM_INVALID_SRC_IP, src_str)) { if (str2prefix(src_str, &src_prefix) == 0) { - flog_err(ZEBRA_ERR_PREFIX_PARSE_ERROR, - "%s: Local addr %s not found", __func__, - src_str); + flog_err(EC_ZEBRA_PREFIX_PARSE_ERROR, + "%s: Local addr %s not found", __func__, + src_str); return -1; } } @@ -609,7 +609,7 @@ static int zebra_ptm_handle_msg_cb(void *arg, void *in_ctxt) ifp = if_lookup_by_name_all_vrf(port_str); if (!ifp) { - flog_warn(ZEBRA_ERR_UNKNOWN_INTERFACE, + flog_warn(EC_ZEBRA_UNKNOWN_INTERFACE, "%s: %s not found in interface list", __func__, port_str); return -1; @@ -649,7 +649,7 @@ int zebra_ptm_sock_read(struct thread *thread) if (((rc == 0) && !errno) || (errno && (errno != EWOULDBLOCK) && (errno != EAGAIN))) { - flog_err_sys(LIB_ERR_SOCKET, + flog_err_sys(EC_LIB_SOCKET, "%s routing socket error: %s(%d) bytes %d", __func__, safe_strerror(errno), errno, rc); @@ -1030,8 +1030,7 @@ int zebra_ptm_bfd_client_deregister(struct zserv *client) char tmp_buf[64]; int data_len = ZEBRA_PTM_SEND_MAX_SOCKBUF; - if (proto != ZEBRA_ROUTE_OSPF && proto != ZEBRA_ROUTE_BGP - && proto != ZEBRA_ROUTE_OSPF6 && proto != ZEBRA_ROUTE_PIM) + if (!IS_BFD_ENABLED_PROTOCOL(proto)) return 0; if (IS_ZEBRA_DEBUG_EVENT) @@ -1310,17 +1309,8 @@ static void zebra_ptm_send_clients(struct stream *msg) /* Send message to all running client daemons. */ for (ALL_LIST_ELEMENTS_RO(zebrad.client_list, node, client)) { - switch (client->proto) { - case ZEBRA_ROUTE_BGP: - case ZEBRA_ROUTE_OSPF: - case ZEBRA_ROUTE_OSPF6: - case ZEBRA_ROUTE_PIM: - break; - - default: - /* NOTHING: skip this daemon. */ + if (!IS_BFD_ENABLED_PROTOCOL(client->proto)) continue; - } zserv_send_message(client, msg); @@ -1341,23 +1331,9 @@ static int _zebra_ptm_bfd_client_deregister(struct zserv *zs) struct stream *msg; struct ptm_process *pp; - /* Filter daemons that must receive this treatment. */ - switch (zs->proto) { - case ZEBRA_ROUTE_BGP: - case ZEBRA_ROUTE_OSPF: - case ZEBRA_ROUTE_OSPF6: - case ZEBRA_ROUTE_PIM: - break; - - case ZEBRA_ROUTE_BFD: - /* Don't try to send BFDd messages to itself. */ + if (!IS_BFD_ENABLED_PROTOCOL(zs->proto)) return 0; - default: - /* Unsupported daemon. */ - return 0; - } - /* Find daemon pid by zebra connection pointer. */ pp = pp_lookup_byzs(zs); if (pp == NULL) {