]> git.proxmox.com Git - mirror_frr.git/blobdiff - zebra/zebra_fpm.c
*: s/TRUE/true/, s/FALSE/false/
[mirror_frr.git] / zebra / zebra_fpm.c
index a5d256b7aa76ccdc579e9bdb071f25b13559b13c..3b73a285f9b62179b6523fa9bd1be0fd6ef1b6df 100644 (file)
@@ -35,6 +35,7 @@
 #include "zebra/zserv.h"
 #include "zebra/zebra_ns.h"
 #include "zebra/zebra_vrf.h"
+#include "zebra/zebra_errors.h"
 
 #include "fpm/fpm.h"
 #include "zebra_fpm_private.h"
@@ -713,7 +714,14 @@ static int zfpm_read_cb(struct thread *thread)
                nbyte = stream_read_try(ibuf, zfpm_g->sock,
                                        FPM_MSG_HDR_LEN - already);
                if (nbyte == 0 || nbyte == -1) {
-                       zfpm_connection_down("closed socket in read");
+                       if (nbyte == -1) {
+                               char buffer[1024];
+
+                               sprintf(buffer, "closed socket in read(%d): %s",
+                                       errno, safe_strerror(errno));
+                               zfpm_connection_down(buffer);
+                       } else
+                               zfpm_connection_down("closed socket in read");
                        return 0;
                }
 
@@ -743,7 +751,14 @@ static int zfpm_read_cb(struct thread *thread)
                nbyte = stream_read_try(ibuf, zfpm_g->sock, msg_len - already);
 
                if (nbyte == 0 || nbyte == -1) {
-                       zfpm_connection_down("failed to read message");
+                       if (nbyte == -1) {
+                               char buffer[1024];
+
+                               sprintf(buffer, "failed to read message(%d) %s",
+                                       errno, safe_strerror(errno));
+                               zfpm_connection_down(buffer);
+                       } else
+                               zfpm_connection_down("failed to read message");
                        return 0;
                }
 
@@ -766,7 +781,7 @@ done:
 /*
  * zfpm_writes_pending
  *
- * Returns TRUE if we may have something to write to the FPM.
+ * Returns true if we may have something to write to the FPM.
  */
 static int zfpm_writes_pending(void)
 {
@@ -842,19 +857,7 @@ static inline int zfpm_encode_route(rib_dest_t *dest, struct route_entry *re,
  */
 struct route_entry *zfpm_route_for_update(rib_dest_t *dest)
 {
-       struct route_entry *re;
-
-       RE_DEST_FOREACH_ROUTE (dest, re) {
-               if (!CHECK_FLAG(re->status, ROUTE_ENTRY_SELECTED_FIB))
-                       continue;
-
-               return re;
-       }
-
-       /*
-        * We have no route for this destination.
-        */
-       return NULL;
+       return dest->selected_fib;
 }
 
 /*
@@ -996,7 +999,7 @@ static int zfpm_write_cb(struct thread *thread)
                        break;
 
                bytes_written =
-                       write(zfpm_g->sock, STREAM_PNT(s), bytes_to_write);
+                       write(zfpm_g->sock, stream_pnt(s), bytes_to_write);
                zfpm_g->stats.write_calls++;
                num_writes++;
 
@@ -1207,7 +1210,7 @@ static void zfpm_start_connect_timer(const char *reason)
 /*
  * zfpm_is_enabled
  *
- * Returns TRUE if the zebra FPM module has been enabled.
+ * Returns true if the zebra FPM module has been enabled.
  */
 static inline int zfpm_is_enabled(void)
 {
@@ -1217,7 +1220,7 @@ static inline int zfpm_is_enabled(void)
 /*
  * zfpm_conn_is_up
  *
- * Returns TRUE if the connection to the FPM is up.
+ * Returns true if the connection to the FPM is up.
  */
 static inline int zfpm_conn_is_up(void)
 {
@@ -1413,7 +1416,7 @@ DEFUN (show_zebra_fpm_stats,
        show_zebra_fpm_stats_cmd,
        "show zebra fpm stats",
        SHOW_STR
-       "Zebra information\n"
+       ZEBRA_STR
        "Forwarding Path Manager information\n"
        "Statistics\n")
 {
@@ -1428,7 +1431,7 @@ DEFUN (clear_zebra_fpm_stats,
        clear_zebra_fpm_stats_cmd,
        "clear zebra fpm stats",
        CLEAR_STR
-       "Zebra information\n"
+       ZEBRA_STR
        "Clear Forwarding Path Manager information\n"
        "Statistics\n")
 {
@@ -1515,7 +1518,8 @@ static inline void zfpm_init_message_format(const char *format)
 
        if (!strcmp("netlink", format)) {
                if (!have_netlink) {
-                       zlog_err("FPM netlink message format is not available");
+                       flog_err(EC_ZEBRA_NETLINK_NOT_AVAILABLE,
+                                "FPM netlink message format is not available");
                        return;
                }
                zfpm_g->message_format = ZFPM_MSG_FORMAT_NETLINK;
@@ -1524,7 +1528,8 @@ static inline void zfpm_init_message_format(const char *format)
 
        if (!strcmp("protobuf", format)) {
                if (!have_protobuf) {
-                       zlog_err(
+                       flog_err(
+                               EC_ZEBRA_PROTOBUF_NOT_AVAILABLE,
                                "FPM protobuf message format is not available");
                        return;
                }
@@ -1532,7 +1537,8 @@ static inline void zfpm_init_message_format(const char *format)
                return;
        }
 
-       zlog_warn("Unknown fpm format '%s'", format);
+       flog_warn(EC_ZEBRA_FPM_FORMAT_UNKNOWN, "Unknown fpm format '%s'",
+                 format);
 }
 
 /**
@@ -1550,9 +1556,8 @@ static int fpm_remote_srv_write(struct vty *vty)
        in.s_addr = zfpm_g->fpm_server;
 
        if ((zfpm_g->fpm_server != FPM_DEFAULT_IP
-               && zfpm_g->fpm_server != INADDR_ANY)
-           || (zfpm_g->fpm_port != FPM_DEFAULT_PORT
-               && zfpm_g->fpm_port != 0))
+            && zfpm_g->fpm_server != INADDR_ANY)
+           || (zfpm_g->fpm_port != FPM_DEFAULT_PORT && zfpm_g->fpm_port != 0))
                vty_out(vty, "fpm connection ip %s port %d\n", inet_ntoa(in),
                        zfpm_g->fpm_port);
 
@@ -1570,10 +1575,10 @@ static struct cmd_node zebra_node = {ZEBRA_NODE, "", 1};
  * One-time initialization of the Zebra FPM module.
  *
  * @param[in] port port at which FPM is running.
- * @param[in] enable TRUE if the zebra FPM module should be enabled
+ * @param[in] enable true if the zebra FPM module should be enabled
  * @param[in] format to use to talk to the FPM. Can be 'netink' or 'protobuf'.
  *
- * Returns TRUE on success.
+ * Returns true on success.
  */
 static int zfpm_init(struct thread_master *master)
 {