]> git.puffer.fish Git - mirror/frr.git/commitdiff
lib: Convert stream.c to use new error code subsystem
authorDonald Sharp <sharpd@cumulusnetworks.com>
Mon, 20 Aug 2018 13:27:30 +0000 (09:27 -0400)
committerQuentin Young <qlyoung@cumulusnetworks.com>
Thu, 6 Sep 2018 20:50:58 +0000 (20:50 +0000)
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
lib/lib_errors.c
lib/lib_errors.h
lib/stream.c

index c154484bdf922aa22a156de17a2cd679674273b0..d1c2140160ca46f629c2c738d4011efad865f67d 100644 (file)
@@ -28,6 +28,12 @@ static struct log_ref ferr_lib_warn[] = {
                .description = "The SNMP AgentX library has returned a warning that we should report to the end user",
                .suggestion = "Gather Log data and open an Issue.",
        },
+       {
+               .code = LIB_WARN_STREAM,
+               .title = "The stream subsystem has encountered an error",
+               .description = "During sanity checking stream.c has detected an error in the data associated with a particular stream",
+               .suggestion = "Gather log data and open an Issue, restart FRR",
+       },
        {
                .code = END_FERR,
        },
index 9c9f51fe0e03c0b5627d062ef038e5e957f49258..d27c1cfa26181fbe37d4c6a1d228e242df410b32 100644 (file)
@@ -39,6 +39,7 @@ enum lib_log_refs {
        LIB_ERR_ZMQ,
        LIB_ERR_UNAVAILABLE,
        LIB_WARN_SNMP,
+       LIB_WARN_STREAM,
 };
 
 extern void lib_error_init(void);
index 55e7f6435826118df2c8735f12a3832ea7912191..2a34ec23357cd92c3f1a293bf240743c442a4254 100644 (file)
@@ -54,7 +54,8 @@ DEFINE_MTYPE_STATIC(LIB, STREAM_FIFO, "Stream FIFO")
  * using stream_put..._at() functions.
  */
 #define STREAM_WARN_OFFSETS(S)                                                 \
-       zlog_warn("&(struct stream): %p, size: %lu, getp: %lu, endp: %lu\n",   \
+       flog_warn(LIB_WARN_STREAM,                                             \
+                 "&(struct stream): %p, size: %lu, getp: %lu, endp: %lu\n",   \
                  (void *)(S), (unsigned long)(S)->size,                       \
                  (unsigned long)(S)->getp, (unsigned long)(S)->endp)
 
@@ -68,16 +69,16 @@ DEFINE_MTYPE_STATIC(LIB, STREAM_FIFO, "Stream FIFO")
 
 #define STREAM_BOUND_WARN(S, WHAT)                                             \
        do {                                                                   \
-               zlog_warn("%s: Attempt to %s out of bounds", __func__,         \
-                         (WHAT));                                             \
+               flog_warn(LIB_WARN_STREAM, "%s: Attempt to %s out of bounds",  \
+                         __func__, (WHAT));                                   \
                STREAM_WARN_OFFSETS(S);                                        \
                assert(0);                                                     \
        } while (0)
 
 #define STREAM_BOUND_WARN2(S, WHAT)                                            \
        do {                                                                   \
-               zlog_warn("%s: Attempt to %s out of bounds", __func__,         \
-                         (WHAT));                                             \
+               flog_warn(LIB_WARN_STREAM, "%s: Attempt to %s out of bounds",  \
+                         __func__, (WHAT));                                   \
                STREAM_WARN_OFFSETS(S);                                        \
        } while (0)
 
@@ -85,7 +86,8 @@ DEFINE_MTYPE_STATIC(LIB, STREAM_FIFO, "Stream FIFO")
 #define CHECK_SIZE(S, Z)                                                       \
        do {                                                                   \
                if (((S)->endp + (Z)) > (S)->size) {                           \
-                       zlog_warn(                                             \
+                       flog_warn(                                             \
+                               LIB_WARN_STREAM,                               \
                                "CHECK_SIZE: truncating requested size %lu\n", \
                                (unsigned long)(Z));                           \
                        STREAM_WARN_OFFSETS(S);                                \
@@ -966,8 +968,8 @@ ssize_t stream_read_try(struct stream *s, int fd, size_t size)
        /* Error: was it transient (return -2) or fatal (return -1)? */
        if (ERRNO_IO_RETRY(errno))
                return -2;
-       zlog_warn("%s: read failed on fd %d: %s", __func__, fd,
-                 safe_strerror(errno));
+       flog_err(LIB_ERR_SOCKET, "%s: read failed on fd %d: %s", __func__, fd,
+                safe_strerror(errno));
        return -1;
 }
 
@@ -997,8 +999,8 @@ ssize_t stream_recvfrom(struct stream *s, int fd, size_t size, int flags,
        /* Error: was it transient (return -2) or fatal (return -1)? */
        if (ERRNO_IO_RETRY(errno))
                return -2;
-       zlog_warn("%s: read failed on fd %d: %s", __func__, fd,
-                 safe_strerror(errno));
+       flog_err(LIB_ERR_SOCKET, "%s: read failed on fd %d: %s", __func__, fd,
+                safe_strerror(errno));
        return -1;
 }