On Mon, Mar 26, 2018 at 04:30:33PM -0600, Jason Gunthorpe wrote:
On Mon, Mar 26, 2018 at 04:34:44PM -0500, Steve Wise wrote:
quoted
On 3/26/2018 4:15 PM, Jason Gunthorpe wrote:
quoted
On Mon, Mar 26, 2018 at 09:30:41AM -0500, Steve Wise wrote:
quoted
On 3/26/2018 9:17 AM, David Ahern wrote:
quoted
On 2/27/18 9:07 AM, Steve Wise wrote:
quoted
diff --git a/rdma/rdma.h b/rdma/rdma.h
index 5809f70..e55205b 100644
+++ b/rdma/rdma.h
@@ -18,10 +18,12 @@
#include <libmnl/libmnl.h>
#include <rdma/rdma_netlink.h>
#include <time.h>
+#include <net/if_arp.h>
#include "list.h"
#include "utils.h"
#include "json_writer.h"
+#include <rdma/rdma_cma.h>
did you forget to add rdma_cma.h? I don't see that file in my repo.
It is provided by the rdma-core package, upon which rdma tool now
depends for the rdma_port_space enum.
It is a kernel bug that enum is not in an include/uapi/rdma header
Fix it there and don't try to use rdma-core headers to get kernel ABI.
Jason
I wish you'd commented on this just a little sooner. I just resent v3
of this series... with rdma_cma.h included. :)
How about the restrack/nldev code just translates the port space from
enum rdma_port_space to a new ABI enum, say nldev_rdma_port_space, that
i add to rdma_netlink.h? I'd hate to open the can of worms of trying to
split rdma_cma.h into uabi and no uabi headers. :(
If port space is already part of the ABI there isn't much reason to
translate it.
You just need to pick the right header to put it in, since it is a verbs
define it doesn't belong in the netlink header.
I completely understand Steve's concerns.
I tried to do such thing (expose kernel headers) in first incarnation of
rdmatool with attempt to clean IB/core as well to ensure that we won't expose
anything that is not implemented. It didn't go well.
Thanks
Jason