DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Dumitrescu, Cristian" <cristian.dumitrescu@intel.com>
To: Liu Hongbo <cnliuhb@gmail.com>, "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v2] examples/ip_pipeline: Support quitting CLI	connection
Date: Wed, 9 May 2018 13:30:07 +0000	[thread overview]
Message-ID: <3EB4FA525960D640B5BDFFD6A3D891267BB69346@IRSMSX108.ger.corp.intel.com> (raw)
In-Reply-To: <1525867817-6427-1-git-send-email-cnliuhb@gmail.com>



> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Liu Hongbo
> Sent: Wednesday, May 9, 2018 1:10 PM
> To: dev@dpdk.org
> Subject: [dpdk-dev] [PATCH v2] examples/ip_pipeline: Support quitting CLI
> connection
> 
> When detecting input "quit", ip_pipeline should 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(-)
> 
> diff --git a/examples/ip_pipeline/conn.c b/examples/ip_pipeline/conn.c
> index 9338942..44d7ff8 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);
> 
>  	if (status_data || status_control)
> --
> 2.7.4

Hi Liu,

Thanks for suggesting this, but the quit command is not necessary in the latest IP Pipeline app.

The app is a server waiting for commands from external clients, which can be any decent TCP client such as telnet, netcat, Perl/Python script, etc. The client can be terminated at any time, but the server continues to live on and listen for more client connections. For example, you can kill the telnet client and then later on start another telnet session to the same app. It does not make sense for the client to be able to kill the server.

Regards,
Cristian

      reply	other threads:[~2018-05-09 13:30 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-09 12:10 Liu Hongbo
2018-05-09 13:30 ` Dumitrescu, Cristian [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3EB4FA525960D640B5BDFFD6A3D891267BB69346@IRSMSX108.ger.corp.intel.com \
    --to=cristian.dumitrescu@intel.com \
    --cc=cnliuhb@gmail.com \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).