Subject: Re: [PATCH bpf-next] samples/bpf: xdp_monitor, accept short options

From: Jesper Dangaard Brouer <[email-masked]>
Date: Fri, 11 May 2018 18:31:25 +0200

On Fri, 11 May 2018 10:37:51 +0900
Prashant Bhole <[email-masked]> wrote:

> updated optstring accept short options
> 
> Signed-off-by: Prashant Bhole <[email-masked]>
> ---
>  samples/bpf/xdp_monitor_user.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/samples/bpf/xdp_monitor_user.c b/samples/bpf/xdp_monitor_user.c
> index 894bc64c2cac..668511c77aaf 100644
> --- a/samples/bpf/xdp_monitor_user.c
> +++ b/samples/bpf/xdp_monitor_user.c
> @@ -594,7 +594,7 @@ int main(int argc, char **argv)
>  	snprintf(bpf_obj_file, sizeof(bpf_obj_file), "%s_kern.o", argv[0]);
>  
>  	/* Parse commands line args */
> -	while ((opt = getopt_long(argc, argv, "h",
> +	while ((opt = getopt_long(argc, argv, "hDSs:",
>  				  long_options, &longindex)) != -1) {
>  		switch (opt) {
>  		case 'D':

It was actually on purpose that I didn't add the short options,
in-order to force people use those "self-documenting" long-options when
they show the usage on public mailing lists or in blog-posts.

If you want these short options, you also have to correct the "usage"
function that state these are "internal" short-options.

Notice the long options parsing done by getopt_long() allow you to only
specify part of the string.  Al-through, I can see --s is ambiguous.

$ sudo ./xdp_monitor --s
./xdp_monitor: option '--s' is ambiguous; possibilities: '--stats' '--sec'

-- 
Best regards,
  Jesper Dangaard Brouer
  MSc.CS, Principal Kernel Engineer at Red Hat
  LinkedIn: http://www.linkedin.com/in/brouer