[dpdk-dev] examples/ip_pipeline: Support quitting CLI connection

Message ID CAATCt2SMYfQ7TmGdE5pCDy_3oiEaQrK+iw7-qE=vTSuH_dOcFA@mail.gmail.com (mailing list archive)
State Rejected, archived
Headers

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/Intel-compilation fail apply issues

Commit Message

Hongbo Liu May 9, 2018, 11:34 a.m. UTC
  When detecting input "quit", ip_pipeline will close connection fd.
It is convenient when using command "telnet 0 8086".

Signed-off-by: Liu Hongbo <cnliuhb@gmail.com>
---
 examples/ip_pipeline/conn.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

         if (status_data || status_control)
  

Patch

diff --git a/examples/ip_pipeline/conn.c b/examples/ip_pipeline/conn.c
index 933894251..44d7ff84a 100644
--- a/examples/ip_pipeline/conn.c
+++ b/examples/ip_pipeline/conn.c
@@ -222,6 +222,8 @@  data_event_handle(struct conn *conn,
         }
         if (len == 0)
                 return 0;
+       if (!strncmp(conn->buf, "quit", strlen("quit")))
+               return -2;

         /* Handle input messages */
         for (i = 0; i < len; i++) {
@@ -316,7 +318,7 @@  conn_poll_for_msg(struct conn *conn)
                 status_data = data_event_handle(conn, fd_client);

         /* Control events */
-       if (event.events & (EPOLLRDHUP | EPOLLERR | EPOLLHUP))
+       if (status_data == -2 || event.events & (EPOLLRDHUP | EPOLLERR |
EPOLLHUP))
                 status_control = control_event_handle(conn, fd_client);