On Mon, Jul 10, 2017 at 08:28:28PM +0200, Jiri Pirko wrote: > Mon, Jul 10, 2017 at 06:22:23PM CEST, leon@xxxxxxxxxx wrote: > >On Mon, Jul 10, 2017 at 10:13:07AM +0200, Jiri Pirko wrote: > >> Tue, Jul 04, 2017 at 09:55:40AM CEST, leon@xxxxxxxxxx wrote: > >> >From: Leon Romanovsky <leonro@xxxxxxxxxxxx> > >> > > >> >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 <leonro@xxxxxxxxxxxx> > >> >--- > >> > 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.c > >> > > >> >diff --git a/rdma/Makefile b/rdma/Makefile > >> >index 123d7ac5..1a9e4b1a 100644 > >> >--- a/rdma/Makefile > >> >+++ b/rdma/Makefile > >> >@@ -2,7 +2,7 @@ include ../Config > >> > > >> > ifeq ($(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@xxxxxxxxxxxx> > >> >+ */ > >> >+ > >> >+#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? Mainly my attempt to avoid constant rebasing for four series at the same time. One for rdmatool, one for RDMA netlink, one for RDMA UAPI changes and one for rdma-core [1] which should reuse those exported structures too. [1] http://github.com/linux-rdma/rdma-core Thanks
Attachment:
signature.asc
Description: PGP signature