Re: [PATCH iproute2 V3 3/4] rdma: Add link object
From: Jiri Pirko <jiri@resnulli.us>
Date: 2017-07-10 18:28:31
Also in:
linux-rdma
Mon, Jul 10, 2017 at 06:22:23PM CEST, leon@kernel.org wrote:
On Mon, Jul 10, 2017 at 10:13:07AM +0200, Jiri Pirko wrote:quoted
Tue, Jul 04, 2017 at 09:55:40AM CEST, leon@kernel.org wrote:quoted
From: Leon Romanovsky <redacted> Link (port) object represent struct ib_port to the user space. Link properties: * Port capabilities * IB subnet prefix * LID, SM_LID and LMC * Port state * Physical state Signed-off-by: Leon Romanovsky <redacted> --- rdma/Makefile | 2 +- rdma/link.c | 280 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ rdma/rdma.c | 3 +- rdma/utils.c | 5 ++ 4 files changed, 288 insertions(+), 2 deletions(-) create mode 100644 rdma/link.cdiff --git a/rdma/Makefile b/rdma/Makefile index 123d7ac5..1a9e4b1a 100644 --- a/rdma/Makefile +++ b/rdma/Makefile@@ -2,7 +2,7 @@ include ../Configifeq ($(HAVE_MNL),y) -RDMA_OBJ = rdma.o utils.o dev.o +RDMA_OBJ = rdma.o utils.o dev.o link.o TARGETS=rdma CFLAGS += $(shell $(PKG_CONFIG) libmnl --cflags)diff --git a/rdma/link.c b/rdma/link.c new file mode 100644 index 00000000..f92b4cef --- /dev/null +++ b/rdma/link.c@@ -0,0 +1,280 @@ +/* + * link.c RDMA tool + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version + * 2 of the License, or (at your option) any later version. + * + * Authors: Leon Romanovsky <leonro@mellanox.com> + */ + +#include "rdma.h" + +static int link_help(struct rdma *rd) +{ + pr_out("Usage: %s link show [DEV/PORT_INDEX]\n", rd->filename); + return 0; +} + +static void link_print_caps(struct nlattr **tb) +{ + uint64_t caps; + uint32_t idx; + + /* + * FIXME: move to indexes when kernel will start exporting them.Not exported yet?Not yet, I want to minimize the UAPI export from kernel before user-space part is accepted.
I don't get it. If you need it in userspace, you should expose it. Why to wait? What am I missing? [...]
quoted
quoted
+ rd->port_idx = port ? :1;"port ? : 1"Yeah, legal C, the same as (port) ? port : 1 ihttps://en.wikipedia.org/wiki/%3F:#C
I was referring to the missing " ". I'm a nitpicker :)