From owner-svn-src-projects@freebsd.org  Mon Nov 13 10:49:20 2017
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id C9BB7D7FDE6
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Mon, 13 Nov 2017 10:49:20 +0000 (UTC)
 (envelope-from hselasky@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 45666694AA;
 Mon, 13 Nov 2017 10:49:20 +0000 (UTC)
 (envelope-from hselasky@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vADAnJEX074531;
 Mon, 13 Nov 2017 10:49:19 GMT (envelope-from hselasky@FreeBSD.org)
Received: (from hselasky@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id vADAnJff074526;
 Mon, 13 Nov 2017 10:49:19 GMT (envelope-from hselasky@FreeBSD.org)
Message-Id: <201711131049.vADAnJff074526@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: hselasky set sender to
 hselasky@FreeBSD.org using -f
From: Hans Petter Selasky <hselasky@FreeBSD.org>
Date: Mon, 13 Nov 2017 10:49:19 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r325760 - in projects/bsd_rdma_4_9/sys: conf
 dev/mlx4/mlx4_ib modules/mlx4ib
X-SVN-Group: projects
X-SVN-Commit-Author: hselasky
X-SVN-Commit-Paths: in projects/bsd_rdma_4_9/sys: conf dev/mlx4/mlx4_ib
 modules/mlx4ib
X-SVN-Commit-Revision: 325760
X-SVN-Commit-Repository: base
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.25
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 13 Nov 2017 10:49:20 -0000

Author: hselasky
Date: Mon Nov 13 10:49:18 2017
New Revision: 325760
URL: https://svnweb.freebsd.org/changeset/base/325760

Log:
  Update mlx4ib(4) to Linux 4.9.
  
  Sponsored by:	Mellanox Technologies

Deleted:
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_exp.h
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_exp.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/user.h
Modified:
  projects/bsd_rdma_4_9/sys/conf/files
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib.h
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_ah.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_alias_GUID.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_cm.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_cq.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_mad.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_main.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_mcg.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_mr.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_qp.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_srq.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_sysfs.c
  projects/bsd_rdma_4_9/sys/modules/mlx4ib/Makefile

Modified: projects/bsd_rdma_4_9/sys/conf/files
==============================================================================
--- projects/bsd_rdma_4_9/sys/conf/files	Mon Nov 13 10:45:31 2017	(r325759)
+++ projects/bsd_rdma_4_9/sys/conf/files	Mon Nov 13 10:49:18 2017	(r325760)
@@ -4550,8 +4550,6 @@ dev/mlx4/mlx4_ib/mlx4_ib_mad.c			optional mlx4ib pci o
 	compile-with "${OFED_C}"
 dev/mlx4/mlx4_ib/mlx4_ib_main.c			optional mlx4ib pci ofed \
 	compile-with "${OFED_C}"
-dev/mlx4/mlx4_ib/mlx4_ib_exp.c			optional mlx4ib pci ofed \
-	compile-with "${OFED_C}"
 dev/mlx4/mlx4_ib/mlx4_ib_mr.c			optional mlx4ib pci ofed \
 	compile-with "${OFED_C}"
 dev/mlx4/mlx4_ib/mlx4_ib_qp.c			optional mlx4ib pci ofed \

Modified: projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib.h
==============================================================================
--- projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib.h	Mon Nov 13 10:45:31 2017	(r325759)
+++ projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib.h	Mon Nov 13 10:49:18 2017	(r325760)
@@ -41,6 +41,8 @@
 #include <linux/rbtree.h>
 #include <linux/notifier.h>
 
+#include <asm/atomic64.h>
+
 #include <rdma/ib_verbs.h>
 #include <rdma/ib_umem.h>
 #include <rdma/ib_mad.h>
@@ -59,9 +61,6 @@
 #define mlx4_ib_warn(ibdev, format, arg...) \
 	dev_warn((ibdev)->dma_device, MLX4_IB_DRV_NAME ": " format, ## arg)
 
-#define mlx4_ib_info(ibdev, format, arg...) \
-	dev_info((ibdev)->dma_device, MLX4_IB_DRV_NAME ": " format, ## arg)
-
 enum {
 	MLX4_IB_SQ_MIN_WQE_SHIFT = 6,
 	MLX4_IB_MAX_HEADROOM	 = 2048
@@ -75,17 +74,25 @@ extern int mlx4_ib_sm_guid_assign;
 extern struct proc_dir_entry *mlx4_mrs_dir_entry;
 
 #define MLX4_IB_UC_STEER_QPN_ALIGN 1
-#define MLX4_IB_UC_MAX_NUM_QPS     (256 * 1024)
+#define MLX4_IB_UC_MAX_NUM_QPS     256
 
+enum hw_bar_type {
+	HW_BAR_BF,
+	HW_BAR_DB,
+	HW_BAR_CLOCK,
+	HW_BAR_COUNT
+};
 
-#define MLX4_IB_MMAP_CMD_MASK 0xFF
-#define MLX4_IB_MMAP_CMD_BITS 8
+struct mlx4_ib_vma_private_data {
+	struct vm_area_struct *vma;
+};
 
 struct mlx4_ib_ucontext {
 	struct ib_ucontext	ibucontext;
 	struct mlx4_uar		uar;
 	struct list_head	db_page_list;
 	struct mutex		db_page_mutex;
+	struct mlx4_ib_vma_private_data hw_bar_info[HW_BAR_COUNT];
 };
 
 struct mlx4_ib_pd {
@@ -111,11 +118,6 @@ struct mlx4_ib_cq_resize {
 	int			cqe;
 };
 
-struct mlx4_shared_mr_info {
-	int mr_id;
-	struct ib_umem	       *umem;
-};
-
 struct mlx4_ib_cq {
 	struct ib_cq		ibcq;
 	struct mlx4_cq		mcq;
@@ -127,15 +129,22 @@ struct mlx4_ib_cq {
 	struct ib_umem	       *umem;
 	struct ib_umem	       *resize_umem;
 	int			create_flags;
+	/* List of qps that it serves.*/
+	struct list_head		send_qp_list;
+	struct list_head		recv_qp_list;
 };
 
+#define MLX4_MR_PAGES_ALIGN 0x40
+
 struct mlx4_ib_mr {
 	struct ib_mr		ibmr;
+	__be64			*pages;
+	dma_addr_t		page_map;
+	u32			npages;
+	u32			max_pages;
 	struct mlx4_mr		mmr;
 	struct ib_umem	       *umem;
-	struct mlx4_shared_mr_info	*smr_info;
-	atomic_t      invalidated;
-	struct completion invalidation_comp;
+	size_t			page_map_size;
 };
 
 struct mlx4_ib_mw {
@@ -143,21 +152,22 @@ struct mlx4_ib_mw {
 	struct mlx4_mw		mmw;
 };
 
-struct mlx4_ib_fast_reg_page_list {
-	struct ib_fast_reg_page_list	ibfrpl;
-	__be64			       *mapped_page_list;
-	dma_addr_t			map;
-};
-
 struct mlx4_ib_fmr {
 	struct ib_fmr           ibfmr;
 	struct mlx4_fmr         mfmr;
 };
 
+#define MAX_REGS_PER_FLOW 2
+
+struct mlx4_flow_reg_id {
+	u64 id;
+	u64 mirror;
+};
+
 struct mlx4_ib_flow {
 	struct ib_flow ibflow;
 	/* translating DMFS verbs sniffer rule to FW API requires two reg IDs */
-	u64 reg_id[2];
+	struct mlx4_flow_reg_id reg_id[MAX_REGS_PER_FLOW];
 };
 
 struct mlx4_ib_wq {
@@ -172,13 +182,18 @@ struct mlx4_ib_wq {
 	unsigned		tail;
 };
 
+enum {
+	MLX4_IB_QP_CREATE_ROCE_V2_GSI = IB_QP_CREATE_RESERVED_START
+};
+
 enum mlx4_ib_qp_flags {
 	MLX4_IB_QP_LSO = IB_QP_CREATE_IPOIB_UD_LSO,
 	MLX4_IB_QP_BLOCK_MULTICAST_LOOPBACK = IB_QP_CREATE_BLOCK_MULTICAST_LOOPBACK,
-	MLX4_IB_QP_CAP_CROSS_CHANNEL = IB_QP_CREATE_CROSS_CHANNEL,
-	MLX4_IB_QP_CAP_MANAGED_SEND = IB_QP_CREATE_MANAGED_SEND,
-	MLX4_IB_QP_CAP_MANAGED_RECV = IB_QP_CREATE_MANAGED_RECV,
 	MLX4_IB_QP_NETIF = IB_QP_CREATE_NETIF_QP,
+	MLX4_IB_QP_CREATE_USE_GFP_NOIO = IB_QP_CREATE_USE_GFP_NOIO,
+
+	/* Mellanox specific flags start from IB_QP_CREATE_RESERVED_START */
+	MLX4_IB_ROCE_V2_GSI_QP = MLX4_IB_QP_CREATE_ROCE_V2_GSI,
 	MLX4_IB_SRIOV_TUNNEL_QP = 1 << 30,
 	MLX4_IB_SRIOV_SQP = 1 << 31,
 };
@@ -190,13 +205,6 @@ struct mlx4_ib_gid_entry {
 	u8			port;
 };
 
-enum mlx4_ib_mmap_cmd {
-	MLX4_IB_MMAP_UAR_PAGE		= 0,
-	MLX4_IB_MMAP_BLUE_FLAME_PAGE	= 1,
-	MLX4_IB_MMAP_GET_CONTIGUOUS_PAGES	= 2,
-	MLX4_IB_MMAP_GET_HW_CLOCK	= 3,
-};
-
 enum mlx4_ib_qp_type {
 	/*
 	 * IB_QPT_SMI and IB_QPT_GSI have to be the first two entries
@@ -287,17 +295,6 @@ struct mlx4_roce_smac_vlan_info {
 	int update_vid;
 };
 
-struct mlx4_ib_qpg_data {
-	unsigned long *tss_bitmap;
-	unsigned long *rss_bitmap;
-	struct mlx4_ib_qp *qpg_parent;
-	int tss_qpn_base;
-	int rss_qpn_base;
-	u32 tss_child_count;
-	u32 rss_child_count;
-	u32 qpg_tss_mask_sz;
-};
-
 struct mlx4_ib_qp {
 	struct ib_qp		ibqp;
 	struct mlx4_qp		mqp;
@@ -327,22 +324,16 @@ struct mlx4_ib_qp {
 	u8			sq_no_prefetch;
 	u8			state;
 	int			mlx_type;
-	enum ib_qpg_type	qpg_type;
-	struct mlx4_ib_qpg_data *qpg_data;
 	struct list_head	gid_list;
 	struct list_head	steering_rules;
 	struct mlx4_ib_buf	*sqp_proxy_rcv;
 	struct mlx4_roce_smac_vlan_info pri;
 	struct mlx4_roce_smac_vlan_info alt;
-	struct list_head	rules_list;
 	u64			reg_id;
-	int                     max_inline_data;
-	struct mlx4_bf          bf;
-
-	/*
-	 * Experimental data
-	 */
-	int			max_inlr_data;
+	struct list_head	qps_list;
+	struct list_head	cq_recv_list;
+	struct list_head	cq_send_list;
+	struct counter_index	*counter_index;
 };
 
 struct mlx4_ib_srq {
@@ -376,23 +367,12 @@ struct mlx4_ib_ah {
 #define MLX4_NOT_SET_GUID		(0x00LL)
 #define MLX4_GUID_FOR_DELETE_VAL	(~(0x00LL))
 
-/****************************************/
-/* ioctl codes */
-/****************************************/
-#define MLX4_IOC_MAGIC 'm'
-#define MLX4_IOCHWCLOCKOFFSET _IOR(MLX4_IOC_MAGIC, 1, int)
-
 enum mlx4_guid_alias_rec_status {
 	MLX4_GUID_INFO_STATUS_IDLE,
 	MLX4_GUID_INFO_STATUS_SET,
-	MLX4_GUID_INFO_STATUS_PENDING,
 };
 
-enum mlx4_guid_alias_rec_ownership {
-	MLX4_GUID_DRIVER_ASSIGN,
-	MLX4_GUID_SYSADMIN_ASSIGN,
-	MLX4_GUID_NONE_ASSIGN, /*init state of each record*/
-};
+#define GUID_STATE_NEED_PORT_INIT 0x01
 
 enum mlx4_guid_alias_rec_method {
 	MLX4_GUID_INFO_RECORD_SET	= IB_MGMT_METHOD_SET,
@@ -403,8 +383,8 @@ struct mlx4_sriov_alias_guid_info_rec_det {
 	u8 all_recs[GUID_REC_SIZE * NUM_ALIAS_GUID_IN_REC];
 	ib_sa_comp_mask guid_indexes; /*indicates what from the 8 records are valid*/
 	enum mlx4_guid_alias_rec_status status; /*indicates the administraively status of the record.*/
-	u8 method; /*set or delete*/
-	enum mlx4_guid_alias_rec_ownership ownership; /*indicates who assign that alias_guid record*/
+	unsigned int guids_retry_schedule[NUM_ALIAS_GUID_IN_REC];
+	u64 time_to_run;
 };
 
 struct mlx4_sriov_alias_guid_port_rec_det {
@@ -412,6 +392,7 @@ struct mlx4_sriov_alias_guid_port_rec_det {
 	struct workqueue_struct *wq;
 	struct delayed_work alias_guid_work;
 	u8 port;
+	u32 state_flags;
 	struct mlx4_sriov_alias_guid *parent;
 	struct list_head cb_list;
 };
@@ -461,7 +442,6 @@ struct mlx4_ib_demux_pv_ctx {
 	struct ib_device *ib_dev;
 	struct ib_cq *cq;
 	struct ib_pd *pd;
-	struct ib_mr *mr;
 	struct work_struct work;
 	struct workqueue_struct *wq;
 	struct mlx4_ib_demux_pv_qp qp[2];
@@ -473,7 +453,7 @@ struct mlx4_ib_demux_ctx {
 	struct workqueue_struct *wq;
 	struct workqueue_struct *ud_wq;
 	spinlock_t ud_lock;
-	__be64 subnet_prefix;
+	atomic64_t subnet_prefix;
 	__be64 guid_cache[128];
 	struct mlx4_ib_dev *dev;
 	/* the following lock protects both mcg_table and mcg_mgid0_list */
@@ -503,13 +483,27 @@ struct mlx4_ib_sriov {
 	struct idr pv_id_table;
 };
 
+struct gid_cache_context {
+	int real_index;
+	int refcount;
+};
+
+struct gid_entry {
+	union ib_gid	gid;
+	enum ib_gid_type gid_type;
+	struct gid_cache_context *ctx;
+};
+
+struct mlx4_port_gid_table {
+	struct gid_entry gids[MLX4_MAX_PORT_GIDS];
+};
+
 struct mlx4_ib_iboe {
 	spinlock_t		lock;
 	struct net_device      *netdevs[MLX4_MAX_PORTS];
-	struct net_device      *masters[MLX4_MAX_PORTS];
-	struct notifier_block	nb;
-	struct notifier_block	nb_inet;
-	union ib_gid		gid_table[MLX4_MAX_PORTS][128];
+	atomic64_t		mac[MLX4_MAX_PORTS];
+	struct notifier_block 	nb;
+	struct mlx4_port_gid_table gids[MLX4_MAX_PORTS];
 };
 
 struct pkey_mgt {
@@ -548,15 +542,32 @@ struct mlx4_ib_iov_port {
 	struct mlx4_ib_iov_sysfs_attr mcg_dentry;
 };
 
-struct mlx4_ib_counter {
-	int counter_index;
-	int status;
+struct counter_index {
+	struct  list_head       list;
+	u32		index;
+	u8		allocated;
 };
 
+struct mlx4_ib_counters {
+	struct list_head        counters_list;
+	struct mutex            mutex; /* mutex for accessing counters list */
+	u32			default_counter;
+};
+
+#define MLX4_DIAG_COUNTERS_TYPES 2
+
+struct mlx4_ib_diag_counters {
+	const char **name;
+	u32 *offset;
+	u32 num_counters;
+};
+
 struct mlx4_ib_dev {
 	struct ib_device	ib_dev;
 	struct mlx4_dev	       *dev;
 	int			num_ports;
+	void __iomem	       *uar_map;
+
 	struct mlx4_uar		priv_uar;
 	u32			priv_pdn;
 	MLX4_DECLARE_DOORBELL_LOCK(uar_lock);
@@ -564,14 +575,14 @@ struct mlx4_ib_dev {
 	struct ib_mad_agent    *send_agent[MLX4_MAX_PORTS][2];
 	struct ib_ah	       *sm_ah[MLX4_MAX_PORTS];
 	spinlock_t		sm_lock;
+	atomic64_t		sl2vl[MLX4_MAX_PORTS];
 	struct mlx4_ib_sriov	sriov;
 
 	struct mutex		cap_mask_mutex;
 	bool			ib_active;
 	struct mlx4_ib_iboe	iboe;
-	struct mlx4_ib_counter	counters[MLX4_MAX_PORTS];
+	struct mlx4_ib_counters counters_table[MLX4_MAX_PORTS];
 	int		       *eq_table;
-	int			eq_added;
 	struct kobject	       *iov_parent;
 	struct kobject	       *ports_parent;
 	struct kobject	       *dev_ports_parent[MLX4_MFUNC_MAX];
@@ -580,12 +591,22 @@ struct mlx4_ib_dev {
 	unsigned long *ib_uc_qpns_bitmap;
 	int steer_qpn_count;
 	int steer_qpn_base;
+	int steering_support;
+	struct mlx4_ib_qp      *qp1_proxy[MLX4_MAX_PORTS];
+	/* lock when destroying qp1_proxy and getting netdev events */
+	struct mutex		qp1_proxy_lock[MLX4_MAX_PORTS];
+	u8			bond_next_port;
+	/* protect resources needed as part of reset flow */
+	spinlock_t		reset_flow_resource_lock;
+	struct list_head		qp_list;
+	struct mlx4_ib_diag_counters diag_counters[MLX4_DIAG_COUNTERS_TYPES];
 };
 
 struct ib_event_work {
 	struct work_struct	work;
 	struct mlx4_ib_dev	*ib_dev;
 	struct mlx4_eqe		ib_eqe;
+	int			port;
 };
 
 struct mlx4_ib_qp_tunnel_init_attr {
@@ -595,6 +616,21 @@ struct mlx4_ib_qp_tunnel_init_attr {
 	u8 port;
 };
 
+struct mlx4_uverbs_ex_query_device {
+	__u32 comp_mask;
+	__u32 reserved;
+};
+
+enum query_device_resp_mask {
+	QUERY_DEVICE_RESP_MASK_TIMESTAMP = 1UL << 0,
+};
+
+struct mlx4_uverbs_ex_query_device_resp {
+	__u32 comp_mask;
+	__u32 response_length;
+	__u64 hca_core_clock_offset;
+};
+
 static inline struct mlx4_ib_dev *to_mdev(struct ib_device *ibdev)
 {
 	return container_of(ibdev, struct mlx4_ib_dev, ib_dev);
@@ -635,11 +671,6 @@ static inline struct mlx4_ib_mw *to_mmw(struct ib_mw *
 	return container_of(ibmw, struct mlx4_ib_mw, ibmw);
 }
 
-static inline struct mlx4_ib_fast_reg_page_list *to_mfrpl(struct ib_fast_reg_page_list *ibfrpl)
-{
-	return container_of(ibfrpl, struct mlx4_ib_fast_reg_page_list, ibfrpl);
-}
-
 static inline struct mlx4_ib_fmr *to_mfmr(struct ib_fmr *ibfmr)
 {
 	return container_of(ibfmr, struct mlx4_ib_fmr, ibfmr);
@@ -675,6 +706,13 @@ static inline struct mlx4_ib_ah *to_mah(struct ib_ah *
 	return container_of(ibah, struct mlx4_ib_ah, ibah);
 }
 
+static inline u8 mlx4_ib_bond_next_port(struct mlx4_ib_dev *dev)
+{
+	dev->bond_next_port = (dev->bond_next_port + 1) % dev->num_ports;
+
+	return dev->bond_next_port + 1;
+}
+
 int mlx4_ib_init_sriov(struct mlx4_ib_dev *dev);
 void mlx4_ib_close_sriov(struct mlx4_ib_dev *dev);
 
@@ -685,30 +723,22 @@ void mlx4_ib_db_unmap_user(struct mlx4_ib_ucontext *co
 struct ib_mr *mlx4_ib_get_dma_mr(struct ib_pd *pd, int acc);
 int mlx4_ib_umem_write_mtt(struct mlx4_ib_dev *dev, struct mlx4_mtt *mtt,
 			   struct ib_umem *umem);
-int mlx4_ib_umem_calc_optimal_mtt_size(struct ib_umem *umem,
-						u64 start_va,
-						int *num_of_mtts);
 struct ib_mr *mlx4_ib_reg_user_mr(struct ib_pd *pd, u64 start, u64 length,
 				  u64 virt_addr, int access_flags,
-				  struct ib_udata *udata, int mr_id);
+				  struct ib_udata *udata);
 int mlx4_ib_dereg_mr(struct ib_mr *mr);
-struct ib_mw *mlx4_ib_alloc_mw(struct ib_pd *pd, enum ib_mw_type type);
-int mlx4_ib_bind_mw(struct ib_qp *qp, struct ib_mw *mw,
-		    struct ib_mw_bind *mw_bind);
+struct ib_mw *mlx4_ib_alloc_mw(struct ib_pd *pd, enum ib_mw_type type,
+			       struct ib_udata *udata);
 int mlx4_ib_dealloc_mw(struct ib_mw *mw);
-struct ib_mr *mlx4_ib_alloc_fast_reg_mr(struct ib_pd *pd,
-					int max_page_list_len);
-struct ib_fast_reg_page_list *mlx4_ib_alloc_fast_reg_page_list(struct ib_device *ibdev,
-							       int page_list_len);
-void mlx4_ib_free_fast_reg_page_list(struct ib_fast_reg_page_list *page_list);
-
-int mlx4_ib_modify_cq(struct ib_cq *cq,
-		      struct ib_cq_attr *cq_attr,
-		      int cq_attr_mask);
+struct ib_mr *mlx4_ib_alloc_mr(struct ib_pd *pd,
+			       enum ib_mr_type mr_type,
+			       u32 max_num_sg);
+int mlx4_ib_map_mr_sg(struct ib_mr *ibmr, struct scatterlist *sg, int sg_nents,
+		      unsigned int *sg_offset);
+int mlx4_ib_modify_cq(struct ib_cq *cq, u16 cq_count, u16 cq_period);
 int mlx4_ib_resize_cq(struct ib_cq *ibcq, int entries, struct ib_udata *udata);
-int mlx4_ib_ignore_overrun_cq(struct ib_cq *ibcq);
 struct ib_cq *mlx4_ib_create_cq(struct ib_device *ibdev,
-				struct ib_cq_init_attr *attr,
+				const struct ib_cq_init_attr *attr,
 				struct ib_ucontext *context,
 				struct ib_udata *udata);
 int mlx4_ib_destroy_cq(struct ib_cq *cq);
@@ -746,11 +776,13 @@ int mlx4_ib_post_recv(struct ib_qp *ibqp, struct ib_re
 		      struct ib_recv_wr **bad_wr);
 
 int mlx4_MAD_IFC(struct mlx4_ib_dev *dev, int mad_ifc_flags,
-		 int port, struct ib_wc *in_wc, struct ib_grh *in_grh,
-		 void *in_mad, void *response_mad);
+		 int port, const struct ib_wc *in_wc, const struct ib_grh *in_grh,
+		 const void *in_mad, void *response_mad);
 int mlx4_ib_process_mad(struct ib_device *ibdev, int mad_flags,	u8 port_num,
-			struct ib_wc *in_wc, struct ib_grh *in_grh,
-			struct ib_mad *in_mad, struct ib_mad *out_mad);
+			const struct ib_wc *in_wc, const struct ib_grh *in_grh,
+			const struct ib_mad_hdr *in, size_t in_mad_size,
+			struct ib_mad_hdr *out, size_t *out_mad_size,
+			u16 *out_mad_pkey_index);
 int mlx4_ib_mad_init(struct mlx4_ib_dev *dev);
 void mlx4_ib_mad_cleanup(struct mlx4_ib_dev *dev);
 
@@ -768,29 +800,16 @@ int __mlx4_ib_query_pkey(struct ib_device *ibdev, u8 p
 int __mlx4_ib_query_gid(struct ib_device *ibdev, u8 port, int index,
 			union ib_gid *gid, int netw_view);
 
-int mlx4_ib_resolve_grh(struct mlx4_ib_dev *dev, const struct ib_ah_attr *ah_attr,
-			u8 *mac, int *is_mcast, u8 port);
-
-int mlx4_ib_query_if_stat(struct mlx4_ib_dev *dev, u32 counter_index,
-		       union mlx4_counter *counter, u8 clear);
-
-static inline int mlx4_ib_ah_grh_present(struct mlx4_ib_ah *ah)
+static inline bool mlx4_ib_ah_grh_present(struct mlx4_ib_ah *ah)
 {
 	u8 port = be32_to_cpu(ah->av.ib.port_pd) >> 24 & 3;
 
 	if (rdma_port_get_link_layer(ah->ibah.device, port) == IB_LINK_LAYER_ETHERNET)
-		return 1;
+		return true;
 
 	return !!(ah->av.ib.g_slid & 0x80);
 }
-static inline int mlx4_ib_qp_has_rq(struct ib_qp_init_attr *attr)
-{
-	if (attr->qp_type == IB_QPT_XRC_INI || attr->qp_type == IB_QPT_XRC_TGT)
-		return 0;
 
-	return !attr->srq;
-}
-
 int mlx4_ib_mcg_port_init(struct mlx4_ib_demux_ctx *ctx);
 void mlx4_ib_mcg_port_cleanup(struct mlx4_ib_demux_ctx *ctx, int destroy_wq);
 void clean_vf_mcast(struct mlx4_ib_demux_ctx *ctx, int slave);
@@ -815,13 +834,16 @@ void mlx4_ib_tunnels_update_work(struct work_struct *w
 int mlx4_ib_send_to_slave(struct mlx4_ib_dev *dev, int slave, u8 port,
 			  enum ib_qp_type qpt, struct ib_wc *wc,
 			  struct ib_grh *grh, struct ib_mad *mad);
+
 int mlx4_ib_send_to_wire(struct mlx4_ib_dev *dev, int slave, u8 port,
 			 enum ib_qp_type dest_qpt, u16 pkey_index, u32 remote_qpn,
-			 u32 qkey, struct ib_ah_attr *attr, u8 *s_mac, struct ib_mad *mad);
+			 u32 qkey, struct ib_ah_attr *attr, u8 *s_mac,
+			 u16 vlan_id, struct ib_mad *mad);
+
 __be64 mlx4_ib_get_new_demux_tid(struct mlx4_ib_demux_ctx *ctx);
 
 int mlx4_ib_demux_cm_handler(struct ib_device *ibdev, int port, int *slave,
-		struct ib_mad *mad, int is_eth);
+		struct ib_mad *mad);
 
 int mlx4_ib_multiplex_cm_handler(struct ib_device *ibdev, int port, int slave_id,
 		struct ib_mad *mad);
@@ -848,6 +870,8 @@ int add_sysfs_port_mcg_attr(struct mlx4_ib_dev *device
 void del_sysfs_port_mcg_attr(struct mlx4_ib_dev *device, int port_num,
 			     struct attribute *attr);
 ib_sa_comp_mask mlx4_ib_get_aguid_comp_mask_from_ix(int index);
+void mlx4_ib_slave_alias_guid_event(struct mlx4_ib_dev *dev, int slave,
+				    int port, int slave_init);
 
 int mlx4_ib_device_register_sysfs(struct mlx4_ib_dev *device) ;
 
@@ -859,7 +883,16 @@ int mlx4_ib_steer_qp_alloc(struct mlx4_ib_dev *dev, in
 void mlx4_ib_steer_qp_free(struct mlx4_ib_dev *dev, u32 qpn, int count);
 int mlx4_ib_steer_qp_reg(struct mlx4_ib_dev *mdev, struct mlx4_ib_qp *mqp,
 			 int is_attach);
-int mlx4_ib_query_device(struct ib_device *ibdev,
-			 struct ib_device_attr *props);
+int mlx4_ib_rereg_user_mr(struct ib_mr *mr, int flags,
+			  u64 start, u64 length, u64 virt_addr,
+			  int mr_access_flags, struct ib_pd *pd,
+			  struct ib_udata *udata);
+int mlx4_ib_gid_index_to_real_index(struct mlx4_ib_dev *ibdev,
+				    u8 port_num, int index);
+
+void mlx4_sched_ib_sl2vl_update_work(struct mlx4_ib_dev *ibdev,
+				     int port);
+
+void mlx4_ib_sl2vl_update(struct mlx4_ib_dev *mdev, int port);
 
 #endif /* MLX4_IB_H */

Modified: projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_ah.c
==============================================================================
--- projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_ah.c	Mon Nov 13 10:45:31 2017	(r325759)
+++ projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_ah.c	Mon Nov 13 10:49:18 2017	(r325760)
@@ -38,28 +38,10 @@
 
 #include <linux/slab.h>
 #include <linux/string.h>
+#include <linux/etherdevice.h>
 
 #include "mlx4_ib.h"
 
-int mlx4_ib_resolve_grh(struct mlx4_ib_dev *dev, const struct ib_ah_attr *ah_attr,
-			u8 *mac, int *is_mcast, u8 port)
-{
-	struct in6_addr in6;
-
-	*is_mcast = 0;
-
-	memcpy(&in6, ah_attr->grh.dgid.raw, sizeof in6);
-	if (rdma_link_local_addr(&in6))
-		rdma_get_ll_mac(&in6, mac);
-	else if (rdma_is_multicast_addr(&in6)) {
-		rdma_get_mcast_mac(&in6, mac);
-		*is_mcast = 1;
-	} else
-		return -EINVAL;
-
-	return 0;
-}
-
 static struct ib_ah *create_ib_ah(struct ib_pd *pd, struct ib_ah_attr *ah_attr,
 				  struct mlx4_ib_ah *ah)
 {
@@ -67,6 +49,7 @@ static struct ib_ah *create_ib_ah(struct ib_pd *pd, st
 
 	ah->av.ib.port_pd = cpu_to_be32(to_mpd(pd)->pdn | (ah_attr->port_num << 24));
 	ah->av.ib.g_slid  = ah_attr->src_path_bits;
+	ah->av.ib.sl_tclass_flowlabel = cpu_to_be32(ah_attr->sl << 28);
 	if (ah_attr->ah_flags & IB_AH_GRH) {
 		ah->av.ib.g_slid   |= 0x80;
 		ah->av.ib.gid_index = ah_attr->grh.sgid_index;
@@ -84,7 +67,6 @@ static struct ib_ah *create_ib_ah(struct ib_pd *pd, st
 		       !(1 << ah->av.ib.stat_rate & dev->caps.stat_rate_support))
 			--ah->av.ib.stat_rate;
 	}
-	ah->av.ib.sl_tclass_flowlabel = cpu_to_be32(ah_attr->sl << 28);
 
 	return &ah->ibah;
 }
@@ -96,21 +78,38 @@ static struct ib_ah *create_iboe_ah(struct ib_pd *pd, 
 	struct mlx4_dev *dev = ibdev->dev;
 	int is_mcast = 0;
 	struct in6_addr in6;
-	u16 vlan_tag;
+	u16 vlan_tag = 0xffff;
+	union ib_gid sgid;
+	struct ib_gid_attr gid_attr;
+	int ret;
 
 	memcpy(&in6, ah_attr->grh.dgid.raw, sizeof(in6));
 	if (rdma_is_multicast_addr(&in6)) {
 		is_mcast = 1;
-		resolve_mcast_mac(&in6, ah->av.eth.mac);
+		rdma_get_mcast_mac(&in6, ah->av.eth.mac);
 	} else {
-		memcpy(ah->av.eth.mac, ah_attr->dmac, 6);
+		memcpy(ah->av.eth.mac, ah_attr->dmac, ETH_ALEN);
 	}
-	vlan_tag = ah_attr->vlan_id;
+	ret = ib_get_cached_gid(pd->device, ah_attr->port_num,
+				ah_attr->grh.sgid_index, &sgid, &gid_attr);
+	if (ret)
+		return ERR_PTR(ret);
+	eth_zero_addr(ah->av.eth.s_mac);
+	if (gid_attr.ndev) {
+		if (is_vlan_dev(gid_attr.ndev))
+			vlan_tag = vlan_dev_vlan_id(gid_attr.ndev);
+		memcpy(ah->av.eth.s_mac, IF_LLADDR(gid_attr.ndev), ETH_ALEN);
+		dev_put(gid_attr.ndev);
+	}
 	if (vlan_tag < 0x1000)
 		vlan_tag |= (ah_attr->sl & 7) << 13;
 	ah->av.eth.port_pd = cpu_to_be32(to_mpd(pd)->pdn | (ah_attr->port_num << 24));
-	ah->av.eth.gid_index = ah_attr->grh.sgid_index;
+	ret = mlx4_ib_gid_index_to_real_index(ibdev, ah_attr->port_num, ah_attr->grh.sgid_index);
+	if (ret < 0)
+		return ERR_PTR(ret);
+	ah->av.eth.gid_index = ret;
 	ah->av.eth.vlan = cpu_to_be16(vlan_tag);
+	ah->av.eth.hop_limit = ah_attr->grh.hop_limit;
 	if (ah_attr->static_rate) {
 		ah->av.eth.stat_rate = ah_attr->static_rate + MLX4_STAT_RATE_OFFSET;
 		while (ah->av.eth.stat_rate > IB_RATE_2_5_GBPS + MLX4_STAT_RATE_OFFSET &&
@@ -168,9 +167,13 @@ int mlx4_ib_query_ah(struct ib_ah *ibah, struct ib_ah_
 	enum rdma_link_layer ll;
 
 	memset(ah_attr, 0, sizeof *ah_attr);
-	ah_attr->sl = be32_to_cpu(ah->av.ib.sl_tclass_flowlabel) >> 28;
 	ah_attr->port_num = be32_to_cpu(ah->av.ib.port_pd) >> 24;
 	ll = rdma_port_get_link_layer(ibah->device, ah_attr->port_num);
+	if (ll == IB_LINK_LAYER_ETHERNET)
+		ah_attr->sl = be32_to_cpu(ah->av.eth.sl_tclass_flowlabel) >> 29;
+	else
+		ah_attr->sl = be32_to_cpu(ah->av.ib.sl_tclass_flowlabel) >> 28;
+
 	ah_attr->dlid = ll == IB_LINK_LAYER_INFINIBAND ? be16_to_cpu(ah->av.ib.dlid) : 0;
 	if (ah->av.ib.stat_rate)
 		ah_attr->static_rate = ah->av.ib.stat_rate - MLX4_STAT_RATE_OFFSET;

Modified: projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_alias_GUID.c
==============================================================================
--- projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_alias_GUID.c	Mon Nov 13 10:45:31 2017	(r325759)
+++ projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_ib/mlx4_ib_alias_GUID.c	Mon Nov 13 10:49:18 2017	(r325760)
@@ -42,6 +42,8 @@
 #include <linux/errno.h>
 #include <rdma/ib_user_verbs.h>
 #include <linux/delay.h>
+#include <linux/math64.h>
+#include <linux/ktime.h>
 #include "mlx4_ib.h"
 
 /*
@@ -57,15 +59,19 @@ struct mlx4_alias_guid_work_context {
 	int			query_id;
 	struct list_head	list;
 	int			block_num;
+	ib_sa_comp_mask		guid_indexes;
 	u8			method;
 };
 
 struct mlx4_next_alias_guid_work {
 	u8 port;
 	u8 block_num;
+	u8 method;
 	struct mlx4_sriov_alias_guid_info_rec_det rec_det;
 };
 
+static int get_low_record_time_index(struct mlx4_ib_dev *dev, u8 port,
+				     int *resched_delay_sec);
 
 void mlx4_ib_update_cache_on_guid_change(struct mlx4_ib_dev *dev, int block_num,
 					 u8 port_num, u8 *p_data)
@@ -119,6 +125,57 @@ ib_sa_comp_mask mlx4_ib_get_aguid_comp_mask_from_ix(in
 	return IB_SA_COMP_MASK(4 + index);
 }
 
+void mlx4_ib_slave_alias_guid_event(struct mlx4_ib_dev *dev, int slave,
+				    int port,  int slave_init)
+{
+	__be64 curr_guid, required_guid;
+	int record_num = slave / 8;
+	int index = slave % 8;
+	int port_index = port - 1;
+	unsigned long flags;
+	int do_work = 0;
+
+	spin_lock_irqsave(&dev->sriov.alias_guid.ag_work_lock, flags);
+	if (dev->sriov.alias_guid.ports_guid[port_index].state_flags &
+	    GUID_STATE_NEED_PORT_INIT)
+		goto unlock;
+	if (!slave_init) {
+		curr_guid = *(__be64 *)&dev->sriov.
+			alias_guid.ports_guid[port_index].
+			all_rec_per_port[record_num].
+			all_recs[GUID_REC_SIZE * index];
+		if (curr_guid == cpu_to_be64(MLX4_GUID_FOR_DELETE_VAL) ||
+		    !curr_guid)
+			goto unlock;
+		required_guid = cpu_to_be64(MLX4_GUID_FOR_DELETE_VAL);
+	} else {
+		required_guid = mlx4_get_admin_guid(dev->dev, slave, port);
+		if (required_guid == cpu_to_be64(MLX4_GUID_FOR_DELETE_VAL))
+			goto unlock;
+	}
+	*(__be64 *)&dev->sriov.alias_guid.ports_guid[port_index].
+		all_rec_per_port[record_num].
+		all_recs[GUID_REC_SIZE * index] = required_guid;
+	dev->sriov.alias_guid.ports_guid[port_index].
+		all_rec_per_port[record_num].guid_indexes
+		|= mlx4_ib_get_aguid_comp_mask_from_ix(index);
+	dev->sriov.alias_guid.ports_guid[port_index].
+		all_rec_per_port[record_num].status
+		= MLX4_GUID_INFO_STATUS_IDLE;
+	/* set to run immediately */
+	dev->sriov.alias_guid.ports_guid[port_index].
+		all_rec_per_port[record_num].time_to_run = 0;
+	dev->sriov.alias_guid.ports_guid[port_index].
+		all_rec_per_port[record_num].
+		guids_retry_schedule[index] = 0;
+	do_work = 1;
+unlock:
+	spin_unlock_irqrestore(&dev->sriov.alias_guid.ag_work_lock, flags);
+
+	if (do_work)
+		mlx4_ib_init_alias_guid_work(dev, port_index);
+}
+
 /*
  * Whenever new GUID is set/unset (guid table change) create event and
  * notify the relevant slave (master also should be notified).
@@ -134,15 +191,20 @@ void mlx4_ib_notify_slaves_on_guid_change(struct mlx4_
 {
 	int i;
 	u64 guid_indexes;
-	int slave_id;
+	int slave_id, slave_port;
 	enum slave_port_state new_state;
 	enum slave_port_state prev_state;
 	__be64 tmp_cur_ag, form_cache_ag;
 	enum slave_port_gen_event gen_event;
+	struct mlx4_sriov_alias_guid_info_rec_det *rec;
+	unsigned long flags;
+	__be64 required_value;
 
 	if (!mlx4_is_master(dev->dev))
 		return;
 
+	rec = &dev->sriov.alias_guid.ports_guid[port_num - 1].
+			all_rec_per_port[block_num];
 	guid_indexes = be64_to_cpu((__force __be64) dev->sriov.alias_guid.
 				   ports_guid[port_num - 1].
 				   all_rec_per_port[block_num].guid_indexes);
@@ -156,8 +218,13 @@ void mlx4_ib_notify_slaves_on_guid_change(struct mlx4_
 			continue;
 
 		slave_id = (block_num * NUM_ALIAS_GUID_IN_REC) + i ;
-		if (slave_id >= dev->dev->num_slaves)
+		if (slave_id >= dev->dev->persist->num_vfs + 1)
 			return;
+
+		slave_port = mlx4_phys_to_slave_port(dev->dev, slave_id, port_num);
+		if (slave_port < 0) /* this port isn't available for the VF */
+			continue;
+
 		tmp_cur_ag = *(__be64 *)&p_data[i * GUID_REC_SIZE];
 		form_cache_ag = get_cached_alias_guid(dev, port_num,
 					(NUM_ALIAS_GUID_IN_REC * block_num) + i);
@@ -168,8 +235,27 @@ void mlx4_ib_notify_slaves_on_guid_change(struct mlx4_
 		 */
 		if (tmp_cur_ag != form_cache_ag)
 			continue;
-		mlx4_gen_guid_change_eqe(dev->dev, slave_id, port_num);
 
+		spin_lock_irqsave(&dev->sriov.alias_guid.ag_work_lock, flags);
+		required_value = *(__be64 *)&rec->all_recs[i * GUID_REC_SIZE];
+
+		if (required_value == cpu_to_be64(MLX4_GUID_FOR_DELETE_VAL))
+			required_value = 0;
+
+		if (tmp_cur_ag == required_value) {
+			rec->guid_indexes = rec->guid_indexes &
+			       ~mlx4_ib_get_aguid_comp_mask_from_ix(i);
+		} else {
+			/* may notify port down if value is 0 */
+			if (tmp_cur_ag != MLX4_NOT_SET_GUID) {
+				spin_unlock_irqrestore(&dev->sriov.
+					alias_guid.ag_work_lock, flags);
+				continue;
+			}
+		}
+		spin_unlock_irqrestore(&dev->sriov.alias_guid.ag_work_lock,
+				       flags);
+		mlx4_gen_guid_change_eqe(dev->dev, slave_id, port_num);
 		/*2 cases: Valid GUID, and Invalid Guid*/
 
 		if (tmp_cur_ag != MLX4_NOT_SET_GUID) { /*valid GUID*/
@@ -190,10 +276,14 @@ void mlx4_ib_notify_slaves_on_guid_change(struct mlx4_
 			set_and_calc_slave_port_state(dev->dev, slave_id, port_num,
 						      MLX4_PORT_STATE_IB_EVENT_GID_INVALID,
 						      &gen_event);
-			pr_debug("sending PORT DOWN event to slave: %d, port: %d\n",
-				 slave_id, port_num);
-			mlx4_gen_port_state_change_eqe(dev->dev, slave_id, port_num,
-						       MLX4_PORT_CHANGE_SUBTYPE_DOWN);
+			if (gen_event == SLAVE_PORT_GEN_EVENT_DOWN) {
+				pr_debug("sending PORT DOWN event to slave: %d, port: %d\n",
+					 slave_id, port_num);
+				mlx4_gen_port_state_change_eqe(dev->dev,
+							       slave_id,
+							       port_num,
+							       MLX4_PORT_CHANGE_SUBTYPE_DOWN);
+			}
 		}
 	}
 }
@@ -208,6 +298,9 @@ static void aliasguid_query_handler(int status,
 	int i;
 	struct mlx4_sriov_alias_guid_info_rec_det *rec;
 	unsigned long flags, flags1;
+	ib_sa_comp_mask declined_guid_indexes = 0;
+	ib_sa_comp_mask applied_guid_indexes = 0;
+	unsigned int resched_delay_sec = 0;
 
 	if (!context)
 		return;
@@ -218,9 +311,9 @@ static void aliasguid_query_handler(int status,
 		all_rec_per_port[cb_ctx->block_num];
 
 	if (status) {
-		rec->status = MLX4_GUID_INFO_STATUS_IDLE;
 		pr_debug("(port: %d) failed: status = %d\n",
 			 cb_ctx->port, status);
+		rec->time_to_run = ktime_get_ns() + 1 * NSEC_PER_SEC;
 		goto out;
 	}
 
@@ -237,69 +330,101 @@ static void aliasguid_query_handler(int status,
 	rec = &dev->sriov.alias_guid.ports_guid[port_index].
 		all_rec_per_port[guid_rec->block_num];
 
-	rec->status = MLX4_GUID_INFO_STATUS_SET;
-	rec->method = MLX4_GUID_INFO_RECORD_SET;
-
+	spin_lock_irqsave(&dev->sriov.alias_guid.ag_work_lock, flags);
 	for (i = 0 ; i < NUM_ALIAS_GUID_IN_REC; i++) {
-		__be64 tmp_cur_ag;
-		tmp_cur_ag = *(__be64 *)&guid_rec->guid_info_list[i * GUID_REC_SIZE];
-		if ((cb_ctx->method == MLX4_GUID_INFO_RECORD_DELETE)
-		    && (MLX4_NOT_SET_GUID == tmp_cur_ag)) {
-			pr_debug("%s:Record num %d in block_num:%d "
-				"was deleted by SM,ownership by %d "
-				"(0 = driver, 1=sysAdmin, 2=None)\n",
-				__func__, i, guid_rec->block_num,
-				rec->ownership);
-			rec->guid_indexes = rec->guid_indexes &
-				~mlx4_ib_get_aguid_comp_mask_from_ix(i);
+		__be64 sm_response, required_val;
+
+		if (!(cb_ctx->guid_indexes &
+			mlx4_ib_get_aguid_comp_mask_from_ix(i)))
 			continue;
+		sm_response = *(__be64 *)&guid_rec->guid_info_list
+				[i * GUID_REC_SIZE];
+		required_val = *(__be64 *)&rec->all_recs[i * GUID_REC_SIZE];
+		if (cb_ctx->method == MLX4_GUID_INFO_RECORD_DELETE) {
+			if (required_val ==
+			    cpu_to_be64(MLX4_GUID_FOR_DELETE_VAL))
+				goto next_entry;
+
+			/* A new value was set till we got the response */
+			pr_debug("need to set new value %llx, record num %d, block_num:%d\n",
+				 (long long)be64_to_cpu(required_val),
+				 i, guid_rec->block_num);
+			goto entry_declined;
 		}
 
 		/* check if the SM didn't assign one of the records.
-		 * if it didn't, if it was not sysadmin request:
-		 * ask the SM to give a new GUID, (instead of the driver request).
+		 * if it didn't, re-ask for.
 		 */
-		if (tmp_cur_ag == MLX4_NOT_SET_GUID) {
-			mlx4_ib_warn(&dev->ib_dev, "%s:Record num %d in "
-				     "block_num: %d was declined by SM, "
-				     "ownership by %d (0 = driver, 1=sysAdmin,"
-				     " 2=None)\n", __func__, i,
-				     guid_rec->block_num, rec->ownership);
-			if (rec->ownership == MLX4_GUID_DRIVER_ASSIGN) {
-				/* if it is driver assign, asks for new GUID from SM*/
-				*(__be64 *)&rec->all_recs[i * GUID_REC_SIZE] =
-					MLX4_NOT_SET_GUID;
-
-				/* Mark the record as not assigned, and let it
-				 * be sent again in the next work sched.*/
-				rec->status = MLX4_GUID_INFO_STATUS_IDLE;
-				rec->guid_indexes |= mlx4_ib_get_aguid_comp_mask_from_ix(i);
-			}
+		if (sm_response == MLX4_NOT_SET_GUID) {
+			if (rec->guids_retry_schedule[i] == 0)
+				mlx4_ib_warn(&dev->ib_dev,
+					     "%s:Record num %d in  block_num: %d was declined by SM\n",
+					     __func__, i,
+					     guid_rec->block_num);
+			goto entry_declined;
 		} else {
 		       /* properly assigned record. */
 		       /* We save the GUID we just got from the SM in the
 			* admin_guid in order to be persistent, and in the
 			* request from the sm the process will ask for the same GUID */
-			if (rec->ownership == MLX4_GUID_SYSADMIN_ASSIGN &&
-			    tmp_cur_ag != *(__be64 *)&rec->all_recs[i * GUID_REC_SIZE]) {
-				/* the sysadmin assignment failed.*/
-				mlx4_ib_warn(&dev->ib_dev, "%s: Failed to set"
-					     " admin guid after SysAdmin "
-					     "configuration. "
-					     "Record num %d in block_num:%d "
-					     "was declined by SM, "
-					     "new val(0x%llx) was kept\n",
-					      __func__, i,
-					     guid_rec->block_num,
-					     (long long)be64_to_cpu(*(__be64 *) &
-							 rec->all_recs[i * GUID_REC_SIZE]));
+			if (required_val &&
+			    sm_response != required_val) {
+				/* Warn only on first retry */
+				if (rec->guids_retry_schedule[i] == 0)
+					mlx4_ib_warn(&dev->ib_dev, "%s: Failed to set"
+						     " admin guid after SysAdmin "
+						     "configuration. "
+						     "Record num %d in block_num:%d "
+						     "was declined by SM, "
+						     "new val(0x%llx) was kept, SM returned (0x%llx)\n",
+						      __func__, i,
+						     guid_rec->block_num,
+						     (long long)be64_to_cpu(required_val),
+						     (long long)be64_to_cpu(sm_response));
+				goto entry_declined;
 			} else {
-				memcpy(&rec->all_recs[i * GUID_REC_SIZE],
-				       &guid_rec->guid_info_list[i * GUID_REC_SIZE],
-				       GUID_REC_SIZE);
+				*(__be64 *)&rec->all_recs[i * GUID_REC_SIZE] =
+					sm_response;
+				if (required_val == 0)
+					mlx4_set_admin_guid(dev->dev,
+							    sm_response,
+							    (guid_rec->block_num
+							    * NUM_ALIAS_GUID_IN_REC) + i,
+							    cb_ctx->port);
+				goto next_entry;
 			}
 		}
+entry_declined:
+		declined_guid_indexes |= mlx4_ib_get_aguid_comp_mask_from_ix(i);
+		rec->guids_retry_schedule[i] =
+			(rec->guids_retry_schedule[i] == 0) ?  1 :
+			min((unsigned int)60,
+			    rec->guids_retry_schedule[i] * 2);
+		/* using the minimum value among all entries in that record */
+		resched_delay_sec = (resched_delay_sec == 0) ?
+				rec->guids_retry_schedule[i] :
+				min(resched_delay_sec,
+				    rec->guids_retry_schedule[i]);
+		continue;
+
+next_entry:
+		rec->guids_retry_schedule[i] = 0;
 	}
+

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***

From owner-svn-src-projects@freebsd.org  Mon Nov 13 10:59:40 2017
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id CFA53DB0203
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Mon, 13 Nov 2017 10:59:40 +0000 (UTC)
 (envelope-from hselasky@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 9A10A69941;
 Mon, 13 Nov 2017 10:59:40 +0000 (UTC)
 (envelope-from hselasky@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vADAxdSd078814;
 Mon, 13 Nov 2017 10:59:39 GMT (envelope-from hselasky@FreeBSD.org)
Received: (from hselasky@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id vADAxdFZ078807;
 Mon, 13 Nov 2017 10:59:39 GMT (envelope-from hselasky@FreeBSD.org)
Message-Id: <201711131059.vADAxdFZ078807@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: hselasky set sender to
 hselasky@FreeBSD.org using -f
From: Hans Petter Selasky <hselasky@FreeBSD.org>
Date: Mon, 13 Nov 2017 10:59:39 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r325761 - in projects/bsd_rdma_4_9: share/mk
 sys/amd64/conf sys/conf sys/i386/conf sys/modules sys/modules/mthca
 sys/ofed/drivers/infiniband sys/ofed/drivers/infiniband/hw sys/ofed/driv...
X-SVN-Group: projects
X-SVN-Commit-Author: hselasky
X-SVN-Commit-Paths: in projects/bsd_rdma_4_9: share/mk sys/amd64/conf sys/conf
 sys/i386/conf sys/modules sys/modules/mthca sys/ofed/drivers/infiniband
 sys/ofed/drivers/infiniband/hw sys/ofed/drivers/infiniband/util targe...
X-SVN-Commit-Revision: 325761
X-SVN-Commit-Repository: base
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.25
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 13 Nov 2017 10:59:40 -0000

Author: hselasky
Date: Mon Nov 13 10:59:38 2017
New Revision: 325761
URL: https://svnweb.freebsd.org/changeset/base/325761

Log:
  Remove no longer supported mthca driver.
  
  Sponsored by:	Mellanox Technologies

Deleted:
  projects/bsd_rdma_4_9/sys/modules/mthca/
  projects/bsd_rdma_4_9/sys/ofed/drivers/infiniband/Kconfig
  projects/bsd_rdma_4_9/sys/ofed/drivers/infiniband/Makefile
  projects/bsd_rdma_4_9/sys/ofed/drivers/infiniband/hw/
  projects/bsd_rdma_4_9/sys/ofed/drivers/infiniband/util/Kconfig
Modified:
  projects/bsd_rdma_4_9/share/mk/bsd.libnames.mk
  projects/bsd_rdma_4_9/share/mk/src.libnames.mk
  projects/bsd_rdma_4_9/sys/amd64/conf/NOTES
  projects/bsd_rdma_4_9/sys/conf/files
  projects/bsd_rdma_4_9/sys/i386/conf/NOTES
  projects/bsd_rdma_4_9/sys/modules/Makefile
  projects/bsd_rdma_4_9/targets/pseudo/userland/lib/Makefile.depend

Modified: projects/bsd_rdma_4_9/share/mk/bsd.libnames.mk
==============================================================================
--- projects/bsd_rdma_4_9/share/mk/bsd.libnames.mk	Mon Nov 13 10:49:18 2017	(r325760)
+++ projects/bsd_rdma_4_9/share/mk/bsd.libnames.mk	Mon Nov 13 10:59:38 2017	(r325761)
@@ -109,7 +109,6 @@ LIBMILTER?=	${LIBDESTDIR}${LIBDIR_BASE}/libmilter.a
 LIBMLX4?=	${LIBDESTDIR}${LIBDIR_BASE}/libmlx4.a
 LIBMP?=		${LIBDESTDIR}${LIBDIR_BASE}/libmp.a
 LIBMT?=		${LIBDESTDIR}${LIBDIR_BASE}/libmt.a
-LIBMTHCA?=	${LIBDESTDIR}${LIBDIR_BASE}/libmthca.a
 LIBNANDFS?=	${LIBDESTDIR}${LIBDIR_BASE}/libnandfs.a
 LIBNCURSES?=	${LIBDESTDIR}${LIBDIR_BASE}/libncurses.a
 LIBNCURSESW?=	${LIBDESTDIR}${LIBDIR_BASE}/libncursesw.a

Modified: projects/bsd_rdma_4_9/share/mk/src.libnames.mk
==============================================================================
--- projects/bsd_rdma_4_9/share/mk/src.libnames.mk	Mon Nov 13 10:49:18 2017	(r325760)
+++ projects/bsd_rdma_4_9/share/mk/src.libnames.mk	Mon Nov 13 10:59:38 2017	(r325761)
@@ -199,7 +199,6 @@ _LIBRARIES+= \
 		ibumad \
 		ibverbs \
 		mlx4 \
-		mthca \
 		opensm \
 		osmcomp \
 		osmvendor \
@@ -336,7 +335,6 @@ _DP_ibcm=	ibverbs
 _DP_ibmad=	ibcommon ibumad
 _DP_ibumad=	ibcommon
 _DP_mlx4=	ibverbs pthread
-_DP_mthca=	ibverbs pthread
 _DP_opensm=	pthread
 _DP_osmcomp=	pthread
 _DP_osmvendor=	ibumad opensm osmcomp pthread
@@ -488,7 +486,6 @@ LIBIBMADDIR=	${OBJTOP}/contrib/ofed/usr.lib/libibmad
 LIBIBUMADDIR=	${OBJTOP}/contrib/ofed/usr.lib/libibumad
 LIBIBVERBSDIR=	${OBJTOP}/contrib/ofed/usr.lib/libibverbs
 LIBMLX4DIR=	${OBJTOP}/contrib/ofed/usr.lib/libmlx4
-LIBMTHCADIR=	${OBJTOP}/contrib/ofed/usr.lib/libmthca
 LIBOPENSMDIR=	${OBJTOP}/contrib/ofed/usr.lib/libopensm
 LIBOSMCOMPDIR=	${OBJTOP}/contrib/ofed/usr.lib/libosmcomp
 LIBOSMVENDORDIR=	${OBJTOP}/contrib/ofed/usr.lib/libosmvendor

Modified: projects/bsd_rdma_4_9/sys/amd64/conf/NOTES
==============================================================================
--- projects/bsd_rdma_4_9/sys/amd64/conf/NOTES	Mon Nov 13 10:49:18 2017	(r325760)
+++ projects/bsd_rdma_4_9/sys/amd64/conf/NOTES	Mon Nov 13 10:59:38 2017	(r325761)
@@ -317,7 +317,6 @@ options 	DRM_DEBUG	# Include debug printfs (slow)
 # ixlv:	Intel XL710 40Gbe VF PCIE Ethernet
 # mlx4ib: Mellanox ConnectX HCA InfiniBand
 # mlx4en: Mellanox ConnectX HCA Ethernet
-# mthca: Mellanox HCA InfiniBand
 # nfe:	nVidia nForce MCP on-board Ethernet Networking (BSD open source)
 # sfxge: Solarflare SFC9000 family 10Gb Ethernet adapters
 # vmx:	VMware VMXNET3 Ethernet (BSD open source)
@@ -338,7 +337,6 @@ device		ixlv		# Intel XL710 40Gbe VF PCIE Ethernet
 device  	mlx4		# Shared code module between IB and Ethernet
 device  	mlx4ib		# Mellanox ConnectX HCA InfiniBand
 device  	mlx4en		# Mellanox ConnectX HCA Ethernet
-device  	mthca		# Mellanox HCA InfiniBand
 device		nfe		# nVidia nForce MCP on-board Ethernet
 device		sfxge		# Solarflare SFC9000 10Gb Ethernet
 device		vmx		# VMware VMXNET3 Ethernet

Modified: projects/bsd_rdma_4_9/sys/conf/files
==============================================================================
--- projects/bsd_rdma_4_9/sys/conf/files	Mon Nov 13 10:49:18 2017	(r325760)
+++ projects/bsd_rdma_4_9/sys/conf/files	Mon Nov 13 10:59:38 2017	(r325761)
@@ -4696,43 +4696,6 @@ dev/mlx5/mlx5_en/mlx5_en_rx.c			optional mlx5en pci in
 dev/mlx5/mlx5_en/mlx5_en_txrx.c			optional mlx5en pci inet inet6	\
 	compile-with "${OFED_C}"
 
-ofed/drivers/infiniband/hw/mthca/mthca_allocator.c	optional mthca	\
-	compile-with "${OFED_C}"
-ofed/drivers/infiniband/hw/mthca/mthca_av.c		optional mthca	\
-	compile-with "${OFED_C}"
-ofed/drivers/infiniband/hw/mthca/mthca_catas.c		optional mthca	\
-	compile-with "${OFED_C}"
-ofed/drivers/infiniband/hw/mthca/mthca_cmd.c		optional mthca	\
-	compile-with "${OFED_C}"
-ofed/drivers/infiniband/hw/mthca/mthca_cq.c		optional mthca	\
-	compile-with "${OFED_C}"
-ofed/drivers/infiniband/hw/mthca/mthca_eq.c		optional mthca	\
-	compile-with "${OFED_C}"
-ofed/drivers/infiniband/hw/mthca/mthca_mad.c		optional mthca	\
-	compile-with "${OFED_C}"
-ofed/drivers/infiniband/hw/mthca/mthca_main.c		optional mthca	\
-	compile-with "${OFED_C}"
-ofed/drivers/infiniband/hw/mthca/mthca_mcg.c		optional mthca	\
-	compile-with "${OFED_C}"
-ofed/drivers/infiniband/hw/mthca/mthca_memfree.c	optional mthca	\
-	compile-with "${OFED_C}"
-ofed/drivers/infiniband/hw/mthca/mthca_mr.c		optional mthca	\
-	compile-with "${OFED_C}"
-ofed/drivers/infiniband/hw/mthca/mthca_pd.c		optional mthca	\
-	compile-with "${OFED_C}"
-ofed/drivers/infiniband/hw/mthca/mthca_profile.c	optional mthca	\
-	compile-with "${OFED_C}"
-ofed/drivers/infiniband/hw/mthca/mthca_provider.c	optional mthca	\
-	compile-with "${OFED_C}"
-ofed/drivers/infiniband/hw/mthca/mthca_qp.c		optional mthca	\
-	compile-with "${OFED_C}"
-ofed/drivers/infiniband/hw/mthca/mthca_reset.c		optional mthca	\
-	compile-with "${OFED_C}"
-ofed/drivers/infiniband/hw/mthca/mthca_srq.c		optional mthca	\
-	compile-with "${OFED_C}"
-ofed/drivers/infiniband/hw/mthca/mthca_uar.c		optional mthca	\
-	compile-with "${OFED_C}"
-
 # crypto support
 opencrypto/cast.c		optional crypto | ipsec | ipsec_support
 opencrypto/criov.c		optional crypto | ipsec | ipsec_support

Modified: projects/bsd_rdma_4_9/sys/i386/conf/NOTES
==============================================================================
--- projects/bsd_rdma_4_9/sys/i386/conf/NOTES	Mon Nov 13 10:49:18 2017	(r325760)
+++ projects/bsd_rdma_4_9/sys/i386/conf/NOTES	Mon Nov 13 10:59:38 2017	(r325761)
@@ -555,7 +555,6 @@ hint.mse.0.irq="5"
 #	Requires the iwn firmware module
 # mlx4ib: Mellanox ConnectX HCA InfiniBand
 # mlx4en: Mellanox ConnectX HCA Ethernet
-# mthca: Mellanox HCA InfiniBand
 # nfe:	nVidia nForce MCP on-board Ethernet Networking (BSD open source)
 # sbni: Granch SBNI12-xx ISA and PCI adapters
 # vmx:	VMware VMXNET3 Ethernet (BSD open source)
@@ -596,7 +595,6 @@ hint.le.0.drq="0"
 device		mlx4		# Shared code module between IB and Ethernet
 device  	mlx4ib		# Mellanox ConnectX HCA InfiniBand
 device  	mlx4en		# Mellanox ConnectX HCA Ethernet
-device  	mthca		# Mellanox HCA InfiniBand
 device		nfe		# nVidia nForce MCP on-board Ethernet
 device		sbni
 hint.sbni.0.at="isa"

Modified: projects/bsd_rdma_4_9/sys/modules/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/sys/modules/Makefile	Mon Nov 13 10:49:18 2017	(r325760)
+++ projects/bsd_rdma_4_9/sys/modules/Makefile	Mon Nov 13 10:59:38 2017	(r325761)
@@ -264,7 +264,6 @@ SUBDIR=	\
 	msdosfs_iconv \
 	${_mse} \
 	msk \
-	${_mthca} \
 	mvs \
 	mwl \
 	${_mwlfw} \
@@ -680,9 +679,6 @@ _mlx4ib=	mlx4ib
 _mlx5ib=	mlx5ib
 .endif
 _mly=		mly
-.if ${MK_OFED} != "no" || defined(ALL_MODULES)
-_mthca=		mthca
-.endif
 _nfe=		nfe
 _nvd=		nvd
 _nvme=		nvme

Modified: projects/bsd_rdma_4_9/targets/pseudo/userland/lib/Makefile.depend
==============================================================================
--- projects/bsd_rdma_4_9/targets/pseudo/userland/lib/Makefile.depend	Mon Nov 13 10:49:18 2017	(r325760)
+++ projects/bsd_rdma_4_9/targets/pseudo/userland/lib/Makefile.depend	Mon Nov 13 10:59:38 2017	(r325761)
@@ -251,7 +251,6 @@ DIRDEPS+= \
 	contrib/ofed/usr.lib/libibumad \
 	contrib/ofed/usr.lib/libibverbs \
 	contrib/ofed/usr.lib/libmlx4 \
-	contrib/ofed/usr.lib/libmthca \
 	contrib/ofed/usr.lib/libopensm \
 	contrib/ofed/usr.lib/libosmcomp \
 	contrib/ofed/usr.lib/libosmvendor \

From owner-svn-src-projects@freebsd.org  Mon Nov 13 11:36:25 2017
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id BF4C1DB0CD6
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Mon, 13 Nov 2017 11:36:25 +0000 (UTC)
 (envelope-from hselasky@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 72A846A86B;
 Mon, 13 Nov 2017 11:36:25 +0000 (UTC)
 (envelope-from hselasky@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vADBaOq5095318;
 Mon, 13 Nov 2017 11:36:24 GMT (envelope-from hselasky@FreeBSD.org)
Received: (from hselasky@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id vADBaMGQ095300;
 Mon, 13 Nov 2017 11:36:22 GMT (envelope-from hselasky@FreeBSD.org)
Message-Id: <201711131136.vADBaMGQ095300@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: hselasky set sender to
 hselasky@FreeBSD.org using -f
From: Hans Petter Selasky <hselasky@FreeBSD.org>
Date: Mon, 13 Nov 2017 11:36:22 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r325762 - in projects/bsd_rdma_4_9/contrib/ofed: .
 infiniband-diags/build infiniband-diags/build/dump_fts
 infiniband-diags/build/ibcacheedit infiniband-diags/build/iblinkinfo
 infiniband...
X-SVN-Group: projects
X-SVN-Commit-Author: hselasky
X-SVN-Commit-Paths: in projects/bsd_rdma_4_9/contrib/ofed: .
 infiniband-diags/build infiniband-diags/build/dump_fts
 infiniband-diags/build/ibcacheedit infiniband-diags/build/iblinkinfo
 infiniband-diags/build/ibnetdiscove...
X-SVN-Commit-Revision: 325762
X-SVN-Commit-Repository: base
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.25
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 13 Nov 2017 11:36:25 -0000

Author: hselasky
Date: Mon Nov 13 11:36:22 2017
New Revision: 325762
URL: https://svnweb.freebsd.org/changeset/base/325762

Log:
  Remove no longer needed TESTBUILD defines from OFED Makefiles.
  
  Sponsored by:	Mellanox Technologies

Modified:
  projects/bsd_rdma_4_9/contrib/ofed/Makefile
  projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/Makefile.inc
  projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/dump_fts/Makefile
  projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/ibcacheedit/Makefile
  projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/iblinkinfo/Makefile
  projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/ibnetdiscover/Makefile
  projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/ibqueryerrors/Makefile
  projects/bsd_rdma_4_9/contrib/ofed/libcxgb4/Makefile
  projects/bsd_rdma_4_9/contrib/ofed/libibcm/Makefile
  projects/bsd_rdma_4_9/contrib/ofed/libibmad/Makefile
  projects/bsd_rdma_4_9/contrib/ofed/libibnetdisc/Makefile
  projects/bsd_rdma_4_9/contrib/ofed/libmlx4/Makefile
  projects/bsd_rdma_4_9/contrib/ofed/libmlx5/Makefile
  projects/bsd_rdma_4_9/contrib/ofed/librdmacm/Makefile
  projects/bsd_rdma_4_9/contrib/ofed/opensm/complib/Makefile
  projects/bsd_rdma_4_9/contrib/ofed/opensm/libopensm/Makefile
  projects/bsd_rdma_4_9/contrib/ofed/opensm/libvendor/Makefile
  projects/bsd_rdma_4_9/contrib/ofed/opensm/opensm/Makefile

Modified: projects/bsd_rdma_4_9/contrib/ofed/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/contrib/ofed/Makefile	Mon Nov 13 10:59:38 2017	(r325761)
+++ projects/bsd_rdma_4_9/contrib/ofed/Makefile	Mon Nov 13 11:36:22 2017	(r325762)
@@ -44,12 +44,4 @@ SUBDIR+= ${SUBDIR_${L}}
 
 SUBDIR_PARALLEL=
 
-.if defined(TESTBUILD)
-all-install:
-.for D in ${SUBDIR}
-	cd ${.CURDIR}/${D} ; ${MAKE} clean cleandepend
-	cd ${.CURDIR}/${D} ; ${MAKE} depend all install
-.endfor
-.else
 .include <bsd.subdir.mk>
-.endif

Modified: projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/Makefile.inc
==============================================================================
--- projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/Makefile.inc	Mon Nov 13 10:59:38 2017	(r325761)
+++ projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/Makefile.inc	Mon Nov 13 11:36:22 2017	(r325762)
@@ -8,9 +8,5 @@ CFLAGS+= -I${INCLUDEDIR}/infiniband
 CFLAGS+= -DHAVE_CONFIG_H=1
 CFLAGS+= -I${.CURDIR}/../../
 CFLAGS+= -I${.CURDIR}/../../src
-.if defined(TESTBUILD)
-LDFLAGS+= -losmcomp -libmad -libumad
-.else
 LIBADD+= osmcomp ibmad ibumad
-.endif
 

Modified: projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/dump_fts/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/dump_fts/Makefile	Mon Nov 13 10:59:38 2017	(r325761)
+++ projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/dump_fts/Makefile	Mon Nov 13 11:36:22 2017	(r325762)
@@ -2,11 +2,7 @@
 
 PROG=	dump_fts
 SRCS=	dump_fts.c
-.if defined(TESTBUILD)
-LDFLAGS= -libnetdisc
-.else
 LIBADD= ibnetdisc
-.endif
 MAN=	dump_fts.8
 
 .include <bsd.prog.mk>

Modified: projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/ibcacheedit/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/ibcacheedit/Makefile	Mon Nov 13 10:59:38 2017	(r325761)
+++ projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/ibcacheedit/Makefile	Mon Nov 13 11:36:22 2017	(r325762)
@@ -2,11 +2,7 @@
 
 PROG=	ibcacheedit
 SRCS=	ibcacheedit.c
-.if defined(TESTBUILD)
-LDFLAGS= -libnetdisc
-.else
 LIBADD=	ibnetdisc
-.endif
 MAN=	ibcacheedit.8
 
 .include <bsd.prog.mk>

Modified: projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/iblinkinfo/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/iblinkinfo/Makefile	Mon Nov 13 10:59:38 2017	(r325761)
+++ projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/iblinkinfo/Makefile	Mon Nov 13 11:36:22 2017	(r325762)
@@ -2,11 +2,7 @@
 
 PROG=	iblinkinfo
 SRCS=	iblinkinfo.c
-.if defined(TESTBUILD)
-LDFLAGS= -libnetdisc
-.else
 LIBADD= ibnetdisc
-.endif
 MAN=	iblinkinfo.8
 
 .include <bsd.prog.mk>

Modified: projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/ibnetdiscover/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/ibnetdiscover/Makefile	Mon Nov 13 10:59:38 2017	(r325761)
+++ projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/ibnetdiscover/Makefile	Mon Nov 13 11:36:22 2017	(r325762)
@@ -2,11 +2,7 @@
 
 PROG=	ibnetdiscover
 SRCS=	ibnetdiscover.c
-.if defined(TESTBUILD)
-LDFLAGS= -libnetdisc
-.else
 LIBADD=	ibnetdisc
-.endif
 MAN=	ibnetdiscover.8
 
 .include <bsd.prog.mk>

Modified: projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/ibqueryerrors/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/ibqueryerrors/Makefile	Mon Nov 13 10:59:38 2017	(r325761)
+++ projects/bsd_rdma_4_9/contrib/ofed/infiniband-diags/build/ibqueryerrors/Makefile	Mon Nov 13 11:36:22 2017	(r325762)
@@ -2,11 +2,7 @@
 
 PROG=	ibqueryerrors
 SRCS=	ibqueryerrors.c
-.if defined(TESTBUILD)
-LDFLAGS= -libnetdisc
-.else
 LIBADD=	ibnetdisc
-.endif
 MAN=	ibqueryerrors.8
 
 .include <bsd.prog.mk>

Modified: projects/bsd_rdma_4_9/contrib/ofed/libcxgb4/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/contrib/ofed/libcxgb4/Makefile	Mon Nov 13 10:59:38 2017	(r325761)
+++ projects/bsd_rdma_4_9/contrib/ofed/libcxgb4/Makefile	Mon Nov 13 11:36:22 2017	(r325762)
@@ -13,11 +13,7 @@ dev.c \
 qp.c \
 verbs.c
 
-.if defined(TESTBUILD)
-LDFLAGS=	-libverbs -lpthread
-.else
 LIBADD=		ibverbs pthread
-.endif
 CFLAGS+=	-I${.CURDIR}
 
 .include <bsd.lib.mk>

Modified: projects/bsd_rdma_4_9/contrib/ofed/libibcm/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/contrib/ofed/libibcm/Makefile	Mon Nov 13 10:59:38 2017	(r325761)
+++ projects/bsd_rdma_4_9/contrib/ofed/libibcm/Makefile	Mon Nov 13 11:36:22 2017	(r325762)
@@ -7,11 +7,7 @@ LIB=		ibcm
 SHLIB_MAJOR=	1
 MK_PROFILE=	no
 SRCS=		cm.c
-.if defined(TESTBUILD)
-LDFLAGS=	-libverbs
-.else
 LDADD=		ibverbs
-.endif
 CFLAGS+=	-I${.CURDIR}
 MAN=
 VERSION_MAP=	${.CURDIR}/libibcm.map

Modified: projects/bsd_rdma_4_9/contrib/ofed/libibmad/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/contrib/ofed/libibmad/Makefile	Mon Nov 13 10:59:38 2017	(r325761)
+++ projects/bsd_rdma_4_9/contrib/ofed/libibmad/Makefile	Mon Nov 13 11:36:22 2017	(r325762)
@@ -23,11 +23,7 @@ serv.c \
 smp.c \
 vendor.c
 
-.if defined(TESTBUILD)
-LDFLAGS=	-libumad
-.else
 LIBADD=		ibumad
-.endif
 CFLAGS+=	-DHAVE_CONFIG_H=1
 CFLAGS+=	-I${.CURDIR}
 VERSION_MAP=	${.CURDIR}/libibmad.map

Modified: projects/bsd_rdma_4_9/contrib/ofed/libibnetdisc/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/contrib/ofed/libibnetdisc/Makefile	Mon Nov 13 10:59:38 2017	(r325761)
+++ projects/bsd_rdma_4_9/contrib/ofed/libibnetdisc/Makefile	Mon Nov 13 11:36:22 2017	(r325762)
@@ -24,11 +24,7 @@ ibnd_iter_nodes.3 \
 ibnd_iter_nodes_type.3 \
 ibnd_show_progress.3
 
-.if defined(TESTBUILD)
-LDFLAGS=	-losmcomp -libmad -libumad
-.else
 LIBADD=		osmcomp ibmad ibumad
-.endif
 CFLAGS+=	-DHAVE_CONFIG_H=1
 CFLAGS+=	-I${.CURDIR}
 CFLAGS+=	-I${INCLUDEDIR}/infiniband

Modified: projects/bsd_rdma_4_9/contrib/ofed/libmlx4/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/contrib/ofed/libmlx4/Makefile	Mon Nov 13 10:59:38 2017	(r325761)
+++ projects/bsd_rdma_4_9/contrib/ofed/libmlx4/Makefile	Mon Nov 13 11:36:22 2017	(r325762)
@@ -16,11 +16,7 @@ qp.c \
 srq.c \
 verbs.c
 
-.if defined(TESTBUILD)
-LDFLAGS=	-libverbs -lpthread
-.else
 LDADD=		ibverbs pthread
-.endif
 CFLAGS+=	-I${.CURDIR}
 
 .include <bsd.lib.mk>

Modified: projects/bsd_rdma_4_9/contrib/ofed/libmlx5/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/contrib/ofed/libmlx5/Makefile	Mon Nov 13 10:59:38 2017	(r325761)
+++ projects/bsd_rdma_4_9/contrib/ofed/libmlx5/Makefile	Mon Nov 13 11:36:22 2017	(r325762)
@@ -16,11 +16,7 @@ qp.c \
 srq.c \
 verbs.c
 
-.if defined(TESTBUILD)
-LDFLAGS=	-libverbs -lpthread
-.else
 LDADD=		ibverbs pthread
-.endif
 CFLAGS+=	-I${.CURDIR}
 VERSION_MAP=	${.CURDIR}/libmlx5.map
 

Modified: projects/bsd_rdma_4_9/contrib/ofed/librdmacm/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/contrib/ofed/librdmacm/Makefile	Mon Nov 13 10:59:38 2017	(r325761)
+++ projects/bsd_rdma_4_9/contrib/ofed/librdmacm/Makefile	Mon Nov 13 11:36:22 2017	(r325762)
@@ -65,11 +65,7 @@ rdma_resolve_addr.3 \
 rdma_resolve_route.3 \
 rdma_set_option.3
 
-.if defined(TESTBUILD)
-LDFLAGS=	-libverbs
-.else
 LDADD=		ibverbs
-.endif
 VERSION_MAP=	${.CURDIR}/librdmacm.map
 
 .include <bsd.lib.mk>

Modified: projects/bsd_rdma_4_9/contrib/ofed/opensm/complib/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/contrib/ofed/opensm/complib/Makefile	Mon Nov 13 10:59:38 2017	(r325761)
+++ projects/bsd_rdma_4_9/contrib/ofed/opensm/complib/Makefile	Mon Nov 13 11:36:22 2017	(r325762)
@@ -28,11 +28,7 @@ ib_statustext.c
 
 CFLAGS+=	-I${.CURDIR}/.. -DHAVE_CONFIG_H=1
 CFLAGS+=	-I${INCLUDEDIR}/infiniband
-.if defined(TESTBUILD)
-LDFLAGS=	-lpthread
-.else
 LDADD=		pthread
-.endif
 VERSION_MAP=	${.CURDIR}/libosmcomp.map
 
 .include <bsd.lib.mk>

Modified: projects/bsd_rdma_4_9/contrib/ofed/opensm/libopensm/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/contrib/ofed/opensm/libopensm/Makefile	Mon Nov 13 10:59:38 2017	(r325761)
+++ projects/bsd_rdma_4_9/contrib/ofed/opensm/libopensm/Makefile	Mon Nov 13 11:36:22 2017	(r325762)
@@ -12,11 +12,7 @@ osm_log.c \
 osm_mad_pool.c \
 osm_helper.c
 
-.if defined(TESTBUILD)
-LDFLAGS=	-lpthread
-.else
 LIBADD=		pthread
-.endif
 CFLAGS+=	-I${.CURDIR}/.. -DHAVE_CONFIG_H=1
 CFLAGS+=	-I${INCLUDEDIR}/infiniband
 VERSION_MAP=	${.CURDIR}/../opensm/libopensm.map

Modified: projects/bsd_rdma_4_9/contrib/ofed/opensm/libvendor/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/contrib/ofed/opensm/libvendor/Makefile	Mon Nov 13 10:59:38 2017	(r325761)
+++ projects/bsd_rdma_4_9/contrib/ofed/opensm/libvendor/Makefile	Mon Nov 13 11:36:22 2017	(r325762)
@@ -11,11 +11,7 @@ SRCS= \
 osm_vendor_ibumad.c \
 osm_vendor_ibumad_sa.c
 
-.if defined(TESTBUILD)
-LDFLAGS=	-libumad -lpthread
-.else
 LIBADD=		ibumad pthread
-.endif
 CFLAGS+=	-I${.CURDIR}/.. -DHAVE_CONFIG_H=1
 CFLAGS+=	-I${INCLUDEDIR}/infiniband
 VERSION_MAP=	${.CURDIR}/libosmvendor.map

Modified: projects/bsd_rdma_4_9/contrib/ofed/opensm/opensm/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/contrib/ofed/opensm/opensm/Makefile	Mon Nov 13 10:59:38 2017	(r325761)
+++ projects/bsd_rdma_4_9/contrib/ofed/opensm/opensm/Makefile	Mon Nov 13 11:36:22 2017	(r325762)
@@ -96,10 +96,6 @@ st.c
 MAN=		opensm.8
 CFLAGS+=	-I${.CURDIR}/.. -DHAVE_CONFIG_H=1
 CFLAGS+=	-I${INCLUDEDIR}/infiniband
-.if defined(TESTBUILD)
-LDFLAGS=	-lopensm -losmvendor -losmcomp -lwrap -lpthread
-.else
 LDADD=		opensm osmvendor osmcomp wrap pthread
-.endif
 
 .include <bsd.prog.mk>

From owner-svn-src-projects@freebsd.org  Mon Nov 13 12:36:38 2017
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id 50A59DB9954
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Mon, 13 Nov 2017 12:36:38 +0000 (UTC)
 (envelope-from hselasky@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 283CE6CBFB;
 Mon, 13 Nov 2017 12:36:38 +0000 (UTC)
 (envelope-from hselasky@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vADCabnJ021851;
 Mon, 13 Nov 2017 12:36:37 GMT (envelope-from hselasky@FreeBSD.org)
Received: (from hselasky@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id vADCaajO021842;
 Mon, 13 Nov 2017 12:36:36 GMT (envelope-from hselasky@FreeBSD.org)
Message-Id: <201711131236.vADCaajO021842@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: hselasky set sender to
 hselasky@FreeBSD.org using -f
From: Hans Petter Selasky <hselasky@FreeBSD.org>
Date: Mon, 13 Nov 2017 12:36:36 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r325763 - in projects/bsd_rdma_4_9: contrib/ofed
 contrib/ofed/libibcm contrib/ofed/libmlx4 contrib/ofed/libmlx5
 contrib/ofed/librdmacm contrib/ofed/opensm/complib contrib/ofed/opensm/op...
X-SVN-Group: projects
X-SVN-Commit-Author: hselasky
X-SVN-Commit-Paths: in projects/bsd_rdma_4_9: contrib/ofed
 contrib/ofed/libibcm contrib/ofed/libmlx4 contrib/ofed/libmlx5
 contrib/ofed/librdmacm contrib/ofed/opensm/complib contrib/ofed/opensm/opensm
 share/mk
X-SVN-Commit-Revision: 325763
X-SVN-Commit-Repository: base
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.25
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 13 Nov 2017 12:36:38 -0000

Author: hselasky
Date: Mon Nov 13 12:36:36 2017
New Revision: 325763
URL: https://svnweb.freebsd.org/changeset/base/325763

Log:
  Fix OFED library dependencies.
  
  Sponsored by:	Mellanox Technologies

Modified:
  projects/bsd_rdma_4_9/contrib/ofed/Makefile
  projects/bsd_rdma_4_9/contrib/ofed/libibcm/Makefile
  projects/bsd_rdma_4_9/contrib/ofed/libmlx4/Makefile
  projects/bsd_rdma_4_9/contrib/ofed/libmlx5/Makefile
  projects/bsd_rdma_4_9/contrib/ofed/librdmacm/Makefile
  projects/bsd_rdma_4_9/contrib/ofed/opensm/complib/Makefile
  projects/bsd_rdma_4_9/contrib/ofed/opensm/opensm/Makefile
  projects/bsd_rdma_4_9/share/mk/bsd.libnames.mk
  projects/bsd_rdma_4_9/share/mk/src.libnames.mk

Modified: projects/bsd_rdma_4_9/contrib/ofed/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/contrib/ofed/Makefile	Mon Nov 13 11:36:22 2017	(r325762)
+++ projects/bsd_rdma_4_9/contrib/ofed/Makefile	Mon Nov 13 12:36:36 2017	(r325763)
@@ -1,6 +1,6 @@
 # $FreeBSD$
 
-SUBDIR_A_DEPEND=
+SUBDIR_A_DEPEND= ${_libthr}
 SUBDIR_A= \
 include
 

Modified: projects/bsd_rdma_4_9/contrib/ofed/libibcm/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/contrib/ofed/libibcm/Makefile	Mon Nov 13 11:36:22 2017	(r325762)
+++ projects/bsd_rdma_4_9/contrib/ofed/libibcm/Makefile	Mon Nov 13 12:36:36 2017	(r325763)
@@ -7,7 +7,7 @@ LIB=		ibcm
 SHLIB_MAJOR=	1
 MK_PROFILE=	no
 SRCS=		cm.c
-LDADD=		ibverbs
+LIBADD=		ibverbs
 CFLAGS+=	-I${.CURDIR}
 MAN=
 VERSION_MAP=	${.CURDIR}/libibcm.map

Modified: projects/bsd_rdma_4_9/contrib/ofed/libmlx4/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/contrib/ofed/libmlx4/Makefile	Mon Nov 13 11:36:22 2017	(r325762)
+++ projects/bsd_rdma_4_9/contrib/ofed/libmlx4/Makefile	Mon Nov 13 12:36:36 2017	(r325763)
@@ -16,7 +16,7 @@ qp.c \
 srq.c \
 verbs.c
 
-LDADD=		ibverbs pthread
+LIBADD=		ibverbs pthread
 CFLAGS+=	-I${.CURDIR}
 
 .include <bsd.lib.mk>

Modified: projects/bsd_rdma_4_9/contrib/ofed/libmlx5/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/contrib/ofed/libmlx5/Makefile	Mon Nov 13 11:36:22 2017	(r325762)
+++ projects/bsd_rdma_4_9/contrib/ofed/libmlx5/Makefile	Mon Nov 13 12:36:36 2017	(r325763)
@@ -16,7 +16,7 @@ qp.c \
 srq.c \
 verbs.c
 
-LDADD=		ibverbs pthread
+LIBADD=		ibverbs pthread
 CFLAGS+=	-I${.CURDIR}
 VERSION_MAP=	${.CURDIR}/libmlx5.map
 

Modified: projects/bsd_rdma_4_9/contrib/ofed/librdmacm/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/contrib/ofed/librdmacm/Makefile	Mon Nov 13 11:36:22 2017	(r325762)
+++ projects/bsd_rdma_4_9/contrib/ofed/librdmacm/Makefile	Mon Nov 13 12:36:36 2017	(r325763)
@@ -65,7 +65,7 @@ rdma_resolve_addr.3 \
 rdma_resolve_route.3 \
 rdma_set_option.3
 
-LDADD=		ibverbs
+LIBADD=		ibverbs
 VERSION_MAP=	${.CURDIR}/librdmacm.map
 
 .include <bsd.lib.mk>

Modified: projects/bsd_rdma_4_9/contrib/ofed/opensm/complib/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/contrib/ofed/opensm/complib/Makefile	Mon Nov 13 11:36:22 2017	(r325762)
+++ projects/bsd_rdma_4_9/contrib/ofed/opensm/complib/Makefile	Mon Nov 13 12:36:36 2017	(r325763)
@@ -28,7 +28,7 @@ ib_statustext.c
 
 CFLAGS+=	-I${.CURDIR}/.. -DHAVE_CONFIG_H=1
 CFLAGS+=	-I${INCLUDEDIR}/infiniband
-LDADD=		pthread
+LIBADD=		pthread
 VERSION_MAP=	${.CURDIR}/libosmcomp.map
 
 .include <bsd.lib.mk>

Modified: projects/bsd_rdma_4_9/contrib/ofed/opensm/opensm/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/contrib/ofed/opensm/opensm/Makefile	Mon Nov 13 11:36:22 2017	(r325762)
+++ projects/bsd_rdma_4_9/contrib/ofed/opensm/opensm/Makefile	Mon Nov 13 12:36:36 2017	(r325763)
@@ -96,6 +96,6 @@ st.c
 MAN=		opensm.8
 CFLAGS+=	-I${.CURDIR}/.. -DHAVE_CONFIG_H=1
 CFLAGS+=	-I${INCLUDEDIR}/infiniband
-LDADD=		opensm osmvendor osmcomp wrap pthread
+LIBADD=		opensm osmvendor osmcomp wrap pthread
 
 .include <bsd.prog.mk>

Modified: projects/bsd_rdma_4_9/share/mk/bsd.libnames.mk
==============================================================================
--- projects/bsd_rdma_4_9/share/mk/bsd.libnames.mk	Mon Nov 13 11:36:22 2017	(r325762)
+++ projects/bsd_rdma_4_9/share/mk/bsd.libnames.mk	Mon Nov 13 12:36:36 2017	(r325763)
@@ -81,9 +81,8 @@ LIBHEIMNTLM?=	${LIBDESTDIR}${LIBDIR_BASE}/libheimntlm.
 LIBHEIMSQLITE?=	${LIBDESTDIR}${LIBDIR_BASE}/libheimsqlite.a
 LIBHX509?=	${LIBDESTDIR}${LIBDIR_BASE}/libhx509.a
 LIBIBCM?=	${LIBDESTDIR}${LIBDIR_BASE}/libibcm.a
-LIBIBCOMMON?=	${LIBDESTDIR}${LIBDIR_BASE}/libibcommon.a
 LIBIBMAD?=	${LIBDESTDIR}${LIBDIR_BASE}/libibmad.a
-LIBIBSDP?=	${LIBDESTDIR}${LIBDIR_BASE}/libibsdp.a
+LIBIBNETDISC?=	${LIBDESTDIR}${LIBDIR_BASE}/libibnetdisc.a
 LIBIBUMAD?=	${LIBDESTDIR}${LIBDIR_BASE}/libibumad.a
 LIBIBVERBS?=	${LIBDESTDIR}${LIBDIR_BASE}/libibverbs.a
 LIBIFCONFIG?=	${LIBDESTDIR}${LIBDIR_BASE}/libifconfig.a
@@ -107,6 +106,7 @@ LIBMEMSTAT?=	${LIBDESTDIR}${LIBDIR_BASE}/libmemstat.a
 LIBMENU?=	${LIBDESTDIR}${LIBDIR_BASE}/libmenu.a
 LIBMILTER?=	${LIBDESTDIR}${LIBDIR_BASE}/libmilter.a
 LIBMLX4?=	${LIBDESTDIR}${LIBDIR_BASE}/libmlx4.a
+LIBMLX5?=	${LIBDESTDIR}${LIBDIR_BASE}/libmlx5.a
 LIBMP?=		${LIBDESTDIR}${LIBDIR_BASE}/libmp.a
 LIBMT?=		${LIBDESTDIR}${LIBDIR_BASE}/libmt.a
 LIBNANDFS?=	${LIBDESTDIR}${LIBDIR_BASE}/libnandfs.a

Modified: projects/bsd_rdma_4_9/share/mk/src.libnames.mk
==============================================================================
--- projects/bsd_rdma_4_9/share/mk/src.libnames.mk	Mon Nov 13 11:36:22 2017	(r325762)
+++ projects/bsd_rdma_4_9/share/mk/src.libnames.mk	Mon Nov 13 12:36:36 2017	(r325763)
@@ -193,17 +193,16 @@ _LIBRARIES+= \
 _LIBRARIES+= \
 		cxgb4 \
 		ibcm \
-		ibcommon \
 		ibmad \
-		ibsdp \
+		ibnetdisc \
 		ibumad \
 		ibverbs \
 		mlx4 \
-		opensm \
-		osmcomp \
-		osmvendor \
+		mlx5 \
 		rdmacm \
-
+		osmcomp \
+		opensm \
+		osmvendor
 .endif
 
 # Each library's LIBADD needs to be duplicated here for static linkage of
@@ -329,16 +328,21 @@ _DP_zfs=	md pthread umem util uutil m nvpair avl bsdxm
 		zfs_core
 _DP_zfs_core=	nvpair
 _DP_zpool=	md pthread z nvpair avl umem
+
+# OFED support
 .if ${MK_OFED} != "no"
 _DP_cxgb4=	ibverbs pthread
 _DP_ibcm=	ibverbs
-_DP_ibmad=	ibcommon ibumad
-_DP_ibumad=	ibcommon
+_DP_ibmad=	ibumad
+_DP_ibnetdisc=	osmcomp ibmad ibumad
+_DP_ibumad=	
+_DP_ibverbs=
 _DP_mlx4=	ibverbs pthread
-_DP_opensm=	pthread
-_DP_osmcomp=	pthread
-_DP_osmvendor=	ibumad opensm osmcomp pthread
+_DP_mlx5=	ibverbs pthread
 _DP_rdmacm=	ibverbs
+_DP_osmcomp=	pthread
+_DP_opensm=	pthread
+_DP_osmvendor=	ibumad pthread
 .endif
 
 # Define special cases
@@ -479,18 +483,21 @@ LIBUUTILDIR=	${OBJTOP}/cddl/lib/libuutil
 LIBZFSDIR=	${OBJTOP}/cddl/lib/libzfs
 LIBZFS_COREDIR=	${OBJTOP}/cddl/lib/libzfs_core
 LIBZPOOLDIR=	${OBJTOP}/cddl/lib/libzpool
-LIBCXGB4DIR=	${OBJTOP}/contrib/ofed/usr.lib/libcxgb4
-LIBIBCMDIR=	${OBJTOP}/contrib/ofed/usr.lib/libibcm
-LIBIBCOMMONDIR=	${OBJTOP}/contrib/ofed/usr.lib/libibcommon
-LIBIBMADDIR=	${OBJTOP}/contrib/ofed/usr.lib/libibmad
-LIBIBUMADDIR=	${OBJTOP}/contrib/ofed/usr.lib/libibumad
-LIBIBVERBSDIR=	${OBJTOP}/contrib/ofed/usr.lib/libibverbs
-LIBMLX4DIR=	${OBJTOP}/contrib/ofed/usr.lib/libmlx4
-LIBOPENSMDIR=	${OBJTOP}/contrib/ofed/usr.lib/libopensm
-LIBOSMCOMPDIR=	${OBJTOP}/contrib/ofed/usr.lib/libosmcomp
-LIBOSMVENDORDIR=	${OBJTOP}/contrib/ofed/usr.lib/libosmvendor
-LIBRDMACMDIR=	${OBJTOP}/contrib/ofed/usr.lib/librdmacm
-LIBIBSDPDIR=	${OBJTOP}/contrib/ofed/usr.lib/libsdp
+
+# OFED support
+LIBCXGB4DIR=	${OBJTOP}/contrib/ofed/libcxgb4
+LIBIBCMDIR=	${OBJTOP}/contrib/ofed/libibcm
+LIBIBMADDIR=	${OBJTOP}/contrib/ofed/libibmad
+LIBIBNETDISCDIR=${OBJTOP}/contrib/ofed/libibnetdisc
+LIBIBUMADDIR=	${OBJTOP}/contrib/ofed/libibumad
+LIBIBVERBSDIR=	${OBJTOP}/contrib/ofed/libibverbs
+LIBMLX4DIR=	${OBJTOP}/contrib/ofed/libmlx4
+LIBMLX5DIR=	${OBJTOP}/contrib/ofed/libmlx5
+LIBRDMACMDIR=	${OBJTOP}/contrib/ofed/librdmacm
+LIBOSMCOMPDIR=	${OBJTOP}/contrib/ofed/opensm/complib
+LIBOPENSMDIR=	${OBJTOP}/contrib/ofed/opensm/libopensm
+LIBOSMVENDORDIR=${OBJTOP}/contrib/ofed/opensm/libvendor
+
 LIBDIALOGDIR=	${OBJTOP}/gnu/lib/libdialog
 LIBGCOVDIR=	${OBJTOP}/gnu/lib/libgcov
 LIBGOMPDIR=	${OBJTOP}/gnu/lib/libgomp

From owner-svn-src-projects@freebsd.org  Tue Nov 14 07:04:07 2017
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id D9755D7E436
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Tue, 14 Nov 2017 07:04:07 +0000 (UTC) (envelope-from np@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 8C6A172857;
 Tue, 14 Nov 2017 07:04:07 +0000 (UTC) (envelope-from np@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vAE7467k092889;
 Tue, 14 Nov 2017 07:04:06 GMT (envelope-from np@FreeBSD.org)
Received: (from np@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id vAE7466W092887;
 Tue, 14 Nov 2017 07:04:06 GMT (envelope-from np@FreeBSD.org)
Message-Id: <201711140704.vAE7466W092887@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org
 using -f
From: Navdeep Parhar <np@FreeBSD.org>
Date: Tue, 14 Nov 2017 07:04:06 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r325797 - in projects/bsd_rdma_4_9/sys/dev/cxgbe: common
 iw_cxgbe
X-SVN-Group: projects
X-SVN-Commit-Author: np
X-SVN-Commit-Paths: in projects/bsd_rdma_4_9/sys/dev/cxgbe: common iw_cxgbe
X-SVN-Commit-Revision: 325797
X-SVN-Commit-Repository: base
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.25
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 14 Nov 2017 07:04:07 -0000

Author: np
Date: Tue Nov 14 07:04:06 2017
New Revision: 325797
URL: https://svnweb.freebsd.org/changeset/base/325797

Log:
  Fix iw_cxgbe build in the projects branch.
  
  Submitted by:	Krishnamraju Eraparaju @ Chelsio

Modified:
  projects/bsd_rdma_4_9/sys/dev/cxgbe/common/common.h
  projects/bsd_rdma_4_9/sys/dev/cxgbe/iw_cxgbe/provider.c

Modified: projects/bsd_rdma_4_9/sys/dev/cxgbe/common/common.h
==============================================================================
--- projects/bsd_rdma_4_9/sys/dev/cxgbe/common/common.h	Tue Nov 14 05:05:26 2017	(r325796)
+++ projects/bsd_rdma_4_9/sys/dev/cxgbe/common/common.h	Tue Nov 14 07:04:06 2017	(r325797)
@@ -373,6 +373,9 @@ struct adapter_params {
 	unsigned int max_ird_adapter;
 
 	uint32_t mps_bg_map;	/* rx buffer group map for all ports (upto 4) */
+
+	bool ulptx_memwrite_dsgl;        /* use of T5 DSGL allowed */
+	bool fr_nsmr_tpte_wr_support;    /* FW support for FR_NSMR_TPTE_WR */
 };
 
 #define CHELSIO_T4		0x4

Modified: projects/bsd_rdma_4_9/sys/dev/cxgbe/iw_cxgbe/provider.c
==============================================================================
--- projects/bsd_rdma_4_9/sys/dev/cxgbe/iw_cxgbe/provider.c	Tue Nov 14 05:05:26 2017	(r325796)
+++ projects/bsd_rdma_4_9/sys/dev/cxgbe/iw_cxgbe/provider.c	Tue Nov 14 07:04:06 2017	(r325797)
@@ -417,22 +417,6 @@ static int c4iw_port_immutable(struct ib_device *ibdev
 
 	return 0;
 }
-static int c4iw_port_immutable(struct ib_device *ibdev, u8 port_num,
-			struct ib_port_immutable *immutable)
-{
-	struct ib_port_attr attr;
-	int err;
-
-	err = c4iw_query_port(ibdev, port_num, &attr);
-	if (err)
-		return err;
-
-	immutable->pkey_tbl_len = attr.pkey_tbl_len;
-	immutable->gid_tbl_len = attr.gid_tbl_len;
-	immutable->core_cap_flags = RDMA_CORE_PORT_IWARP;
-
-	return 0;
-}
 
 /*
  * Returns -errno on error.

From owner-svn-src-projects@freebsd.org  Tue Nov 14 22:17:03 2017
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id E5DBFDDF607
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Tue, 14 Nov 2017 22:17:03 +0000 (UTC)
 (envelope-from asomers@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id AFDDF71C52;
 Tue, 14 Nov 2017 22:17:03 +0000 (UTC)
 (envelope-from asomers@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vAEMH2Qx082287;
 Tue, 14 Nov 2017 22:17:02 GMT (envelope-from asomers@FreeBSD.org)
Received: (from asomers@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id vAEMH2Sh082286;
 Tue, 14 Nov 2017 22:17:02 GMT (envelope-from asomers@FreeBSD.org)
Message-Id: <201711142217.vAEMH2Sh082286@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: asomers set sender to
 asomers@FreeBSD.org using -f
From: Alan Somers <asomers@FreeBSD.org>
Date: Tue, 14 Nov 2017 22:17:02 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r325830 -
 projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline
X-SVN-Group: projects
X-SVN-Commit-Author: asomers
X-SVN-Commit-Paths: projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline
X-SVN-Commit-Revision: 325830
X-SVN-Commit-Repository: base
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.25
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 14 Nov 2017 22:17:04 -0000

Author: asomers
Date: Tue Nov 14 22:17:02 2017
New Revision: 325830
URL: https://svnweb.freebsd.org/changeset/base/325830

Log:
  Fix cleanup of the online_offline tests
  
  tests/sys/cddl/zfs/tests/online_offline/cleanup.ksh
  	During cleanup, wipe the ZFS labels on all $DISKS
  
  Sponsored by:	Spectra Logic Corp

Modified:
  projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline/cleanup.ksh

Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline/cleanup.ksh
==============================================================================
--- projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline/cleanup.ksh	Tue Nov 14 21:31:30 2017	(r325829)
+++ projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline/cleanup.ksh	Tue Nov 14 22:17:02 2017	(r325830)
@@ -31,4 +31,6 @@
 
 verify_runnable "global"
 
-default_cleanup
+default_cleanup_noexit
+cleanup_devices ${DISKS}
+log_pass

From owner-svn-src-projects@freebsd.org  Tue Nov 14 22:22:51 2017
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id CD225DDF856
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Tue, 14 Nov 2017 22:22:51 +0000 (UTC)
 (envelope-from asomers@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 96CF772155;
 Tue, 14 Nov 2017 22:22:51 +0000 (UTC)
 (envelope-from asomers@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vAEMMoDN086549;
 Tue, 14 Nov 2017 22:22:50 GMT (envelope-from asomers@FreeBSD.org)
Received: (from asomers@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id vAEMMoGH086546;
 Tue, 14 Nov 2017 22:22:50 GMT (envelope-from asomers@FreeBSD.org)
Message-Id: <201711142222.vAEMMoGH086546@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: asomers set sender to
 asomers@FreeBSD.org using -f
From: Alan Somers <asomers@FreeBSD.org>
Date: Tue, 14 Nov 2017 22:22:50 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r325832 -
 projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline
X-SVN-Group: projects
X-SVN-Commit-Author: asomers
X-SVN-Commit-Paths: projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline
X-SVN-Commit-Revision: 325832
X-SVN-Commit-Repository: base
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.25
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 14 Nov 2017 22:22:51 -0000

Author: asomers
Date: Tue Nov 14 22:22:50 2017
New Revision: 325832
URL: https://svnweb.freebsd.org/changeset/base/325832

Log:
  Actually run reap_children during online_offline's cleanup
  
  tests/sys/cddl/zfs/tests/online_offline/cleanup.ksh
  tests/sys/cddl/zfs/tests/online_offline/online_offline_001_pos.ksh
  tests/sys/cddl/zfs/tests/online_offline/online_offline_002_neg.ksh
  	It seems that reap_children was intended to run during cleanup, but
  	the onexit hook was never set.  So I just moved it to the
  	cleanup.ksh script, because all test cases in this directory need
  	it.
  
  Sponsored by:	Spectra Logic Corp

Modified:
  projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline/cleanup.ksh
  projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline/online_offline_001_pos.ksh
  projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline/online_offline_002_neg.ksh

Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline/cleanup.ksh
==============================================================================
--- projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline/cleanup.ksh	Tue Nov 14 22:18:13 2017	(r325831)
+++ projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline/cleanup.ksh	Tue Nov 14 22:22:50 2017	(r325832)
@@ -31,6 +31,7 @@
 
 verify_runnable "global"
 
+reap_children
 default_cleanup_noexit
 cleanup_devices ${DISKS}
 log_pass

Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline/online_offline_001_pos.ksh
==============================================================================
--- projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline/online_offline_001_pos.ksh	Tue Nov 14 22:18:13 2017	(r325831)
+++ projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline/online_offline_001_pos.ksh	Tue Nov 14 22:22:50 2017	(r325832)
@@ -30,11 +30,6 @@
 
 verify_runnable "global"
 
-function cleanup
-{
-	reap_children
-}
-
 function verify_assertion
 {
 	busy_path $TESTDIR

Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline/online_offline_002_neg.ksh
==============================================================================
--- projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline/online_offline_002_neg.ksh	Tue Nov 14 22:18:13 2017	(r325831)
+++ projects/zfsd/head/tests/sys/cddl/zfs/tests/online_offline/online_offline_002_neg.ksh	Tue Nov 14 22:22:50 2017	(r325832)
@@ -30,11 +30,6 @@
 
 verify_runnable "global"
 
-function cleanup
-{
-	reap_children
-}
-
 function verify_assertion
 {
 	keyword="$1"

From owner-svn-src-projects@freebsd.org  Tue Nov 14 22:30:49 2017
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id AD207DDF94F
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Tue, 14 Nov 2017 22:30:49 +0000 (UTC)
 (envelope-from asomers@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 768F5722F6;
 Tue, 14 Nov 2017 22:30:49 +0000 (UTC)
 (envelope-from asomers@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vAEMUmZh087574;
 Tue, 14 Nov 2017 22:30:48 GMT (envelope-from asomers@FreeBSD.org)
Received: (from asomers@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id vAEMUmCX087573;
 Tue, 14 Nov 2017 22:30:48 GMT (envelope-from asomers@FreeBSD.org)
Message-Id: <201711142230.vAEMUmCX087573@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: asomers set sender to
 asomers@FreeBSD.org using -f
From: Alan Somers <asomers@FreeBSD.org>
Date: Tue, 14 Nov 2017 22:30:48 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r325833 -
 projects/zfsd/head/tests/sys/cddl/zfs/tests/hotspare
X-SVN-Group: projects
X-SVN-Commit-Author: asomers
X-SVN-Commit-Paths: projects/zfsd/head/tests/sys/cddl/zfs/tests/hotspare
X-SVN-Commit-Revision: 325833
X-SVN-Commit-Repository: base
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.25
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Tue, 14 Nov 2017 22:30:49 -0000

Author: asomers
Date: Tue Nov 14 22:30:48 2017
New Revision: 325833
URL: https://svnweb.freebsd.org/changeset/base/325833

Log:
  Fix intermittency in hotspare_import_001_pos
  
  tests/sys/cddl/zfs/tests/hotspare/hotspare_import_001_pos.ksh
  	This test would occasionally fail because "zpool export" returns
  	EBUSY.  That's not unexpected since it immediately follows "zpool
  	replace" and ZFS allows only one configuration change per
  	transaction group.  Usually a txg will close as soon as resilvering
  	finishes, but sometimes "zpool export" sneaks in first.  To fix the
  	problem, allow up to one retry of "zpool export"
  
  Sponsored by:	Spectra Logic Corp

Modified:
  projects/zfsd/head/tests/sys/cddl/zfs/tests/hotspare/hotspare_import_001_pos.ksh

Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/hotspare/hotspare_import_001_pos.ksh
==============================================================================
--- projects/zfsd/head/tests/sys/cddl/zfs/tests/hotspare/hotspare_import_001_pos.ksh	Tue Nov 14 22:22:50 2017	(r325832)
+++ projects/zfsd/head/tests/sys/cddl/zfs/tests/hotspare/hotspare_import_001_pos.ksh	Tue Nov 14 22:30:48 2017	(r325833)
@@ -77,7 +77,13 @@ function verify_export_import #pool #file #chksum
 	typeset file=$2
 	typeset checksum1=$3
 
-	log_must $ZPOOL export $pool
+	if ! $ZPOOL export $pool; then
+		# Rarely, this can fail with EBUSY if the pool's configuration
+		# has already changed within the same transaction group.  In
+		# that case, it is appropriate to retry.
+		$SYNC
+		log_must $ZPOOL export $POOL
+	fi
 	log_must $ZPOOL import -d $HOTSPARE_TMPDIR $pool
 
 	[[ ! -e $file ]] && \

From owner-svn-src-projects@freebsd.org  Wed Nov 15 11:28:15 2017
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id 65269DD9C59
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Wed, 15 Nov 2017 11:28:15 +0000 (UTC)
 (envelope-from hselasky@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id C966666EA8;
 Wed, 15 Nov 2017 11:28:14 +0000 (UTC)
 (envelope-from hselasky@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vAFBSD1q019281;
 Wed, 15 Nov 2017 11:28:13 GMT (envelope-from hselasky@FreeBSD.org)
Received: (from hselasky@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id vAFBSC7d019264;
 Wed, 15 Nov 2017 11:28:12 GMT (envelope-from hselasky@FreeBSD.org)
Message-Id: <201711151128.vAFBSC7d019264@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: hselasky set sender to
 hselasky@FreeBSD.org using -f
From: Hans Petter Selasky <hselasky@FreeBSD.org>
Date: Wed, 15 Nov 2017 11:28:12 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r325842 - in projects/bsd_rdma_4_9: . bin/freebsd-version
 contrib/zstd etc lib/clang/libclang lib/clang/libllvm lib/libc/string
 lib/libc/sys lib/libcasper/libcasper lib/libcasper/servic...
X-SVN-Group: projects
X-SVN-Commit-Author: hselasky
X-SVN-Commit-Paths: in projects/bsd_rdma_4_9: . bin/freebsd-version
 contrib/zstd etc lib/clang/libclang lib/clang/libllvm lib/libc/string
 lib/libc/sys lib/libcasper/libcasper lib/libcasper/services
 lib/libcasper/services...
X-SVN-Commit-Revision: 325842
X-SVN-Commit-Repository: base
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.25
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 15 Nov 2017 11:28:15 -0000

Author: hselasky
Date: Wed Nov 15 11:28:11 2017
New Revision: 325842
URL: https://svnweb.freebsd.org/changeset/base/325842

Log:
  Merge ^/head r325663 through r325841.

Added:
  projects/bsd_rdma_4_9/lib/libcasper/services/cap_syslog/
     - copied from r325841, head/lib/libcasper/services/cap_syslog/
  projects/bsd_rdma_4_9/stand/
     - copied from r325841, head/stand/
     - copied from r325841, head/sys/contrib/zstd/
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/fw_qos.h
     - copied unchanged from r325841, head/sys/dev/mlx4/mlx4_core/fw_qos.h
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_fw_qos.c
     - copied unchanged from r325841, head/sys/dev/mlx4/mlx4_core/mlx4_fw_qos.c
  projects/bsd_rdma_4_9/sys/dts/
     - copied from r325841, head/sys/dts/
  projects/bsd_rdma_4_9/tools/build/options/WITHOUT_LOADER_GELI
     - copied unchanged from r325841, head/tools/build/options/WITHOUT_LOADER_GELI
  projects/bsd_rdma_4_9/tools/build/options/WITH_LOADER_FIREWIRE
     - copied unchanged from r325841, head/tools/build/options/WITH_LOADER_FIREWIRE
Directory Properties:
  projects/bsd_rdma_4_9/sys/contrib/zstd/   (props changed)
Deleted:
  projects/bsd_rdma_4_9/contrib/zstd/
  projects/bsd_rdma_4_9/share/man/man7/mailaddr.7
  projects/bsd_rdma_4_9/share/misc/eqnchar
  projects/bsd_rdma_4_9/sys/boot/
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_sys_tune.c
  projects/bsd_rdma_4_9/usr.bin/fortune/datfiles/fortunes
  projects/bsd_rdma_4_9/usr.bin/fortune/datfiles/fortunes.sp.ok
  projects/bsd_rdma_4_9/usr.bin/fortune/datfiles/gerrold.limerick
  projects/bsd_rdma_4_9/usr.bin/fortune/datfiles/limerick
  projects/bsd_rdma_4_9/usr.bin/fortune/datfiles/limerick.sp.ok
  projects/bsd_rdma_4_9/usr.bin/fortune/datfiles/murphy
  projects/bsd_rdma_4_9/usr.bin/fortune/datfiles/murphy-o
  projects/bsd_rdma_4_9/usr.bin/fortune/datfiles/murphy.sp.ok
  projects/bsd_rdma_4_9/usr.bin/fortune/datfiles/startrek
  projects/bsd_rdma_4_9/usr.bin/fortune/datfiles/startrek.sp.ok
  projects/bsd_rdma_4_9/usr.bin/fortune/datfiles/zippy
  projects/bsd_rdma_4_9/usr.bin/fortune/datfiles/zippy.sp.ok
Modified:
  projects/bsd_rdma_4_9/MAINTAINERS   (contents, props changed)
  projects/bsd_rdma_4_9/Makefile
  projects/bsd_rdma_4_9/Makefile.inc1
  projects/bsd_rdma_4_9/ObsoleteFiles.inc
  projects/bsd_rdma_4_9/UPDATING
  projects/bsd_rdma_4_9/bin/freebsd-version/freebsd-version.1
  projects/bsd_rdma_4_9/bin/freebsd-version/freebsd-version.sh.in
  projects/bsd_rdma_4_9/etc/Makefile
  projects/bsd_rdma_4_9/etc/devd.conf
  projects/bsd_rdma_4_9/lib/clang/libclang/Makefile
  projects/bsd_rdma_4_9/lib/clang/libllvm/Makefile
  projects/bsd_rdma_4_9/lib/libc/string/memcpy.3
  projects/bsd_rdma_4_9/lib/libc/string/strcat.3
  projects/bsd_rdma_4_9/lib/libc/string/strcpy.3
  projects/bsd_rdma_4_9/lib/libc/sys/_umtx_op.2
  projects/bsd_rdma_4_9/lib/libcasper/libcasper/libcasper.h
  projects/bsd_rdma_4_9/lib/libcasper/services/Makefile
  projects/bsd_rdma_4_9/lib/libefivar/Makefile
  projects/bsd_rdma_4_9/lib/libefivar/efivar.c
  projects/bsd_rdma_4_9/lib/libefivar/efivar.h
  projects/bsd_rdma_4_9/lib/libkvm/kvm.c
  projects/bsd_rdma_4_9/lib/libkvm/kvm.h
  projects/bsd_rdma_4_9/lib/libkvm/kvm_aarch64.h
  projects/bsd_rdma_4_9/lib/libkvm/kvm_amd64.c
  projects/bsd_rdma_4_9/lib/libkvm/kvm_amd64.h
  projects/bsd_rdma_4_9/lib/libkvm/kvm_arm.h
  projects/bsd_rdma_4_9/lib/libkvm/kvm_i386.c
  projects/bsd_rdma_4_9/lib/libkvm/kvm_i386.h
  projects/bsd_rdma_4_9/lib/libkvm/kvm_minidump_aarch64.c
  projects/bsd_rdma_4_9/lib/libkvm/kvm_minidump_amd64.c
  projects/bsd_rdma_4_9/lib/libkvm/kvm_minidump_arm.c
  projects/bsd_rdma_4_9/lib/libkvm/kvm_minidump_i386.c
  projects/bsd_rdma_4_9/lib/libkvm/kvm_minidump_mips.c
  projects/bsd_rdma_4_9/lib/libkvm/kvm_mips.h
  projects/bsd_rdma_4_9/lib/libkvm/kvm_private.c
  projects/bsd_rdma_4_9/lib/libkvm/kvm_private.h
  projects/bsd_rdma_4_9/lib/libutil/hexdump.3
  projects/bsd_rdma_4_9/lib/libzstd/Makefile
  projects/bsd_rdma_4_9/libexec/rtld-elf/mips/rtld_start.S
  projects/bsd_rdma_4_9/release/Makefile.mirrors
  projects/bsd_rdma_4_9/release/arm/GUMSTIX.conf
  projects/bsd_rdma_4_9/release/arm64/PINE64.conf
  projects/bsd_rdma_4_9/release/arm64/RPI3.conf
  projects/bsd_rdma_4_9/release/powerpc/generate-hfs.sh
  projects/bsd_rdma_4_9/release/release.sh
  projects/bsd_rdma_4_9/release/tools/vmimage.subr
  projects/bsd_rdma_4_9/sbin/dhclient/Makefile
  projects/bsd_rdma_4_9/sbin/dhclient/dhclient.c
  projects/bsd_rdma_4_9/sbin/dhclient/dhcpd.h
  projects/bsd_rdma_4_9/sbin/dhclient/dispatch.c
  projects/bsd_rdma_4_9/sbin/dhclient/errwarn.c
  projects/bsd_rdma_4_9/sbin/ping/ping.c
  projects/bsd_rdma_4_9/secure/Makefile
  projects/bsd_rdma_4_9/share/examples/bootforth/README
  projects/bsd_rdma_4_9/share/examples/etc/make.conf
  projects/bsd_rdma_4_9/share/man/man4/fdt.4
  projects/bsd_rdma_4_9/share/man/man4/gpioiic.4
  projects/bsd_rdma_4_9/share/man/man4/gpioled.4
  projects/bsd_rdma_4_9/share/man/man4/owc.4
  projects/bsd_rdma_4_9/share/man/man5/forward.5
  projects/bsd_rdma_4_9/share/man/man5/make.conf.5
  projects/bsd_rdma_4_9/share/man/man7/Makefile
  projects/bsd_rdma_4_9/share/man/man7/arch.7
  projects/bsd_rdma_4_9/share/man/man7/hostname.7
  projects/bsd_rdma_4_9/share/man/man8/diskless.8
  projects/bsd_rdma_4_9/share/misc/Makefile
  projects/bsd_rdma_4_9/share/misc/pci_vendors
  projects/bsd_rdma_4_9/share/mk/bsd.crunchgen.mk
  projects/bsd_rdma_4_9/share/mk/bsd.dep.mk
  projects/bsd_rdma_4_9/share/mk/bsd.libnames.mk
  projects/bsd_rdma_4_9/share/mk/src.libnames.mk
  projects/bsd_rdma_4_9/share/mk/src.opts.mk
  projects/bsd_rdma_4_9/share/mk/src.sys.obj.mk
  projects/bsd_rdma_4_9/share/mk/sys.mk
  projects/bsd_rdma_4_9/sys/Makefile
  projects/bsd_rdma_4_9/sys/amd64/amd64/machdep.c
  projects/bsd_rdma_4_9/sys/arm/broadcom/bcm2835/bcm2835_cpufreq.c
  projects/bsd_rdma_4_9/sys/cam/cam_ccb.h
  projects/bsd_rdma_4_9/sys/cam/nvme/nvme_all.c
  projects/bsd_rdma_4_9/sys/cam/nvme/nvme_all.h
  projects/bsd_rdma_4_9/sys/cam/nvme/nvme_xpt.c
  projects/bsd_rdma_4_9/sys/compat/linux/linux_signal.c
  projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/include/linux/sched.h
  projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/include/linux/timer.h
  projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/src/linux_compat.c
  projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/src/linux_current.c
  projects/bsd_rdma_4_9/sys/compat/linuxkpi/common/src/linux_schedule.c
  projects/bsd_rdma_4_9/sys/conf/dtb.mk
  projects/bsd_rdma_4_9/sys/conf/files
  projects/bsd_rdma_4_9/sys/conf/makeLINT.mk
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/acpica_prep.sh
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/changes.txt
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/common/dmtable.c
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/common/dmtbdump.c
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/common/dmtbinfo.c
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/asldefine.h
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/dttable2.c
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/compiler/dttemplate.h
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/debugger/dbexec.c
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/debugger/dbinput.c
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/dispatcher/dsfield.c
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/dispatcher/dsobject.c
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/dispatcher/dsutils.c
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/dispatcher/dswload.c
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/dispatcher/dswload2.c
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/events/evregion.c
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/namespace/nsconvert.c
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/namespace/nsnames.c
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/parser/psargs.c
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/utilities/utdecode.c
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/utilities/uterror.c
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/utilities/utmutex.c
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/utilities/utstrsuppt.c
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/utilities/uttrack.c
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/components/utilities/utxferror.c
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/acdebug.h
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/acdisasm.h
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/aclocal.h
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/acmacros.h
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/acnamesp.h
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/acpixf.h
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/actbl1.h
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/actbl2.h
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/include/acutils.h
  projects/bsd_rdma_4_9/sys/contrib/octeon-sdk/cvmx-app-init.h
  projects/bsd_rdma_4_9/sys/contrib/octeon-sdk/cvmx-helper-board.c
  projects/bsd_rdma_4_9/sys/dev/cxgbe/adapter.h
  projects/bsd_rdma_4_9/sys/dev/cxgbe/common/t4_hw.c
  projects/bsd_rdma_4_9/sys/dev/hwpmc/hwpmc_logging.c
  projects/bsd_rdma_4_9/sys/dev/hwpmc/hwpmc_mod.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/cmd.h
  projects/bsd_rdma_4_9/sys/dev/mlx4/cq.h
  projects/bsd_rdma_4_9/sys/dev/mlx4/device.h
  projects/bsd_rdma_4_9/sys/dev/mlx4/driver.h
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/fw.h
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/icm.h
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4.h
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_alloc.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_catas.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_cmd.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_cq.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_eq.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_fw.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_icm.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_intf.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_main.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_mcg.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_mr.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_pd.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_port.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_profile.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_qp.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_reset.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_resource_tracker.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_sense.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_core/mlx4_srq.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_en/en.h
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_en/en_port.h
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_en/mlx4_en_cq.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_en/mlx4_en_main.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_en/mlx4_en_netdev.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_en/mlx4_en_port.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_en/mlx4_en_resources.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_en/mlx4_en_rx.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/mlx4_en/mlx4_en_tx.c
  projects/bsd_rdma_4_9/sys/dev/mlx4/qp.h
  projects/bsd_rdma_4_9/sys/dev/mlx4/stats.h
  projects/bsd_rdma_4_9/sys/dev/mlx5/mlx5_ib/mlx5_ib_qp.c
  projects/bsd_rdma_4_9/sys/dev/mpr/mpr.c
  projects/bsd_rdma_4_9/sys/dev/mps/mps.c
  projects/bsd_rdma_4_9/sys/dev/nvme/nvme.h
  projects/bsd_rdma_4_9/sys/dev/nvme/nvme_sim.c
  projects/bsd_rdma_4_9/sys/dev/usb/net/if_ure.c
  projects/bsd_rdma_4_9/sys/dev/usb/quirk/usb_quirk.c
  projects/bsd_rdma_4_9/sys/dev/vnic/nicvf_main.c
  projects/bsd_rdma_4_9/sys/dev/vnic/nicvf_queues.c
  projects/bsd_rdma_4_9/sys/dev/vt/vt_core.c
  projects/bsd_rdma_4_9/sys/kern/kern_event.c
  projects/bsd_rdma_4_9/sys/kern/kern_proc.c
  projects/bsd_rdma_4_9/sys/kern/kern_rwlock.c
  projects/bsd_rdma_4_9/sys/kern/kern_shutdown.c
  projects/bsd_rdma_4_9/sys/kern/kern_sig.c
  projects/bsd_rdma_4_9/sys/kern/kern_sysctl.c
  projects/bsd_rdma_4_9/sys/kern/kern_time.c
  projects/bsd_rdma_4_9/sys/kern/p1003_1b.c
  projects/bsd_rdma_4_9/sys/kern/sys_process.c
  projects/bsd_rdma_4_9/sys/mips/beri/beri_machdep.c
  projects/bsd_rdma_4_9/sys/modules/mlx4/Makefile
  projects/bsd_rdma_4_9/sys/modules/nvme/Makefile
  projects/bsd_rdma_4_9/sys/netinet/sctp_input.c
  projects/bsd_rdma_4_9/sys/netinet/tcp_output.c
  projects/bsd_rdma_4_9/sys/powerpc/mpc85xx/pci_mpc85xx_pcib.c
  projects/bsd_rdma_4_9/sys/sys/aio.h
  projects/bsd_rdma_4_9/sys/sys/proc.h
  projects/bsd_rdma_4_9/sys/sys/shm.h
  projects/bsd_rdma_4_9/sys/sys/umtx.h
  projects/bsd_rdma_4_9/sys/tools/fdt/make_dtb.sh
  projects/bsd_rdma_4_9/sys/x86/include/specialreg.h
  projects/bsd_rdma_4_9/targets/pseudo/userland/Makefile.depend
  projects/bsd_rdma_4_9/targets/pseudo/userland/lib/Makefile.depend
  projects/bsd_rdma_4_9/targets/pseudo/userland/misc/Makefile.depend
  projects/bsd_rdma_4_9/targets/pseudo/userland/share/Makefile.depend
  projects/bsd_rdma_4_9/tests/sys/aio/aio_kqueue_test.c
  projects/bsd_rdma_4_9/tests/sys/aio/lio_kqueue_test.c
  projects/bsd_rdma_4_9/tools/boot/universe.sh
  projects/bsd_rdma_4_9/tools/tools/bootparttest/Makefile
  projects/bsd_rdma_4_9/tools/tools/sysdoc/tunables.mdoc
  projects/bsd_rdma_4_9/tools/tools/zfsboottest/Makefile
  projects/bsd_rdma_4_9/usr.bin/find/function.c
  projects/bsd_rdma_4_9/usr.bin/fortune/datfiles/Makefile
  projects/bsd_rdma_4_9/usr.bin/mail/mail.1
  projects/bsd_rdma_4_9/usr.bin/rctl/rctl.c
  projects/bsd_rdma_4_9/usr.bin/vmstat/vmstat.c
  projects/bsd_rdma_4_9/usr.bin/zstd/Makefile
  projects/bsd_rdma_4_9/usr.sbin/bhyve/uart_emul.c
  projects/bsd_rdma_4_9/usr.sbin/bhyveload/Makefile
  projects/bsd_rdma_4_9/usr.sbin/efivar/Makefile
  projects/bsd_rdma_4_9/usr.sbin/efivar/efivar.c
  projects/bsd_rdma_4_9/usr.sbin/jail/command.c
  projects/bsd_rdma_4_9/usr.sbin/jail/jail.8
  projects/bsd_rdma_4_9/usr.sbin/jail/jail.c
  projects/bsd_rdma_4_9/usr.sbin/jexec/jexec.c
Directory Properties:
  projects/bsd_rdma_4_9/   (props changed)
  projects/bsd_rdma_4_9/sys/contrib/dev/acpica/   (props changed)
  projects/bsd_rdma_4_9/sys/contrib/octeon-sdk/   (props changed)

Modified: projects/bsd_rdma_4_9/MAINTAINERS
==============================================================================
--- projects/bsd_rdma_4_9/MAINTAINERS	Wed Nov 15 11:14:39 2017	(r325841)
+++ projects/bsd_rdma_4_9/MAINTAINERS	Wed Nov 15 11:28:11 2017	(r325842)
@@ -86,7 +86,7 @@ sh(1)		jilles		Pre-commit review requested. This also 
 				compiled in as builtins.
 share/mk	imp, bapt, bdrewery, emaste, sjg	Make is hard.
 share/mk/*.test.mk	freebsd-testing,ngie (same list as share/mk too)	Pre-commit review requested.
-sys/boot/forth		dteske	Pre-commit review requested.
+stand/forth		dteske	Pre-commit review requested.
 sys/compat/linuxkpi	hselasky	If in doubt, ask.
 sys/dev/e1000	erj	Pre-commit phabricator review requested.
 sys/dev/ixgbe	erj	Pre-commit phabricator review requested.

Modified: projects/bsd_rdma_4_9/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/Makefile	Wed Nov 15 11:14:39 2017	(r325841)
+++ projects/bsd_rdma_4_9/Makefile	Wed Nov 15 11:28:11 2017	(r325842)
@@ -130,7 +130,7 @@ TGTS=	all all-man buildenv buildenvvars buildkernel bu
 	installkernel.debug packagekernel packageworld \
 	reinstallkernel reinstallkernel.debug \
 	installworld kernel-toolchain libraries lint maninstall \
-	obj objlink rerelease showconfig tags toolchain update \
+	obj objlink showconfig tags toolchain update \
 	_worldtmp _legacy _bootstrap-tools _cleanobj _obj \
 	_build-tools _build-metadata _cross-tools _includes _libraries \
 	build32 distribute32 install32 buildsoft distributesoft installsoft \
@@ -167,6 +167,18 @@ META_TGT_WHITELIST+= \
 	tinderbox toolchain \
 	toolchains universe world worlds xdev xdev-build
 
+# Likewise for AUTO_OBJ.  Many targets do not need object directories created
+# for each visited directory.  Only when things are being built are they
+# needed.  Having AUTO_OBJ disabled in a build target is fine as it should
+# fallback to running 'make obj' as needed.  If a target is not in this list
+# then it is ran with MK_AUTO_OBJ=no in environment.
+# 'showconfig' is in the list to avoid forcing MK_AUTO_OBJ=no for it.
+AUTO_OBJ_TGT_WHITELIST+= \
+	_* all all-man build* depend everything *toolchain* includes \
+	libraries obj objlink showconfig tags xdev xdev-build native-xtools \
+	stage* create-packages* real-packages sign-packages package-pkg \
+	tinderbox universe* kernel kernels world worlds bmake
+
 .ORDER: buildworld installworld
 .ORDER: buildworld distrib-dirs
 .ORDER: buildworld distribution
@@ -235,8 +247,11 @@ SUB_MAKE= ${MAKE} -m ${.CURDIR}/share/mk
 _MAKE=	PATH=${PATH} MAKE_CMD="${MAKE}" ${SUB_MAKE} -f Makefile.inc1 \
 	TARGET=${_TARGET} TARGET_ARCH=${_TARGET_ARCH}
 
+.if defined(MK_META_MODE) && ${MK_META_MODE} == "yes"
 # Only allow meta mode for the whitelisted targets.  See META_TGT_WHITELIST
-# above.
+# above.  If overridden as a make argument then don't bother trying to
+# disable it.
+.if empty(.MAKEOVERRIDES:MMK_META_MODE)
 .for _tgt in ${META_TGT_WHITELIST}
 .if make(${_tgt})
 _CAN_USE_META_MODE?= yes
@@ -244,18 +259,38 @@ _CAN_USE_META_MODE?= yes
 .endfor
 .if !defined(_CAN_USE_META_MODE)
 _MAKE+=	MK_META_MODE=no
+MK_META_MODE= no
 .if defined(.PARSEDIR)
 .unexport META_MODE
 .endif
-.elif defined(MK_META_MODE) && ${MK_META_MODE} == "yes"
+.endif	# !defined(_CAN_USE_META_MODE)
+.endif	# empty(.MAKEOVERRIDES:MMK_META_MODE)
+
+.if ${MK_META_MODE} == "yes"
 .if !exists(/dev/filemon) && !defined(NO_FILEMON) && !make(showconfig)
 # Require filemon be loaded to provide a working incremental build
 .error ${.newline}ERROR: The filemon module (/dev/filemon) is not loaded. \
     ${.newline}ERROR: WITH_META_MODE is enabled but requires filemon for an incremental build. \
     ${.newline}ERROR: 'kldload filemon' or pass -DNO_FILEMON to suppress this error.
 .endif	# !exists(/dev/filemon) && !defined(NO_FILEMON)
-.endif	# !defined(_CAN_USE_META_MODE)
+.endif	# ${MK_META_MODE} == yes
+.endif	# defined(MK_META_MODE) && ${MK_META_MODE} == yes
 
+# Only allow AUTO_OBJ for the whitelisted targets.  See AUTO_OBJ_TGT_WHITELIST
+# above.  MK_AUTO_OBJ not checked here for "yes" as it may not yet be enabled
+# since it is opportunistic.
+.if empty(.MAKEOVERRIDES:MMK_AUTO_OBJ)
+.for _tgt in ${AUTO_OBJ_TGT_WHITELIST}
+.if make(${_tgt})
+_CAN_USE_AUTO_OBJ?= yes
+.endif
+.endfor
+.if !defined(_CAN_USE_AUTO_OBJ)
+_MAKE+=	MK_AUTO_OBJ=no
+MK_AUTO_OBJ= no
+.endif
+.endif	# empty(.MAKEOVERRIDES:MMK_AUTO_OBJ)
+
 # Guess target architecture from target type, and vice versa, based on
 # historic FreeBSD practice of tending to have TARGET == TARGET_ARCH
 # expanding to TARGET == TARGET_CPUARCH in recent times, with known
@@ -290,6 +325,15 @@ ${XTGTS}: _assert_target
 _TARGET?=	${MACHINE}
 _TARGET_ARCH?=	${MACHINE_ARCH}
 
+.if make(native-xtools*)
+NXB_TARGET:=		${_TARGET}
+NXB_TARGET_ARCH:=	${_TARGET_ARCH}
+_TARGET=		${MACHINE}
+_TARGET_ARCH=		${MACHINE_ARCH}
+_MAKE+=			NXB_TARGET=${NXB_TARGET} \
+			NXB_TARGET_ARCH=${NXB_TARGET_ARCH}
+.endif
+
 .if make(print-dir)
 .SILENT:
 .endif
@@ -554,7 +598,7 @@ universe_${target}_kernels: universe_${target}_worlds 
 universe_${target}_kernels: universe_${target}_prologue .MAKE .PHONY
 .if exists(${KERNSRCDIR}/${target}/conf/NOTES)
 	@(cd ${KERNSRCDIR}/${target}/conf && env __MAKE_CONF=/dev/null \
-	    ${SUB_MAKE} -DNO_OBJ LINT \
+	    ${SUB_MAKE} LINT \
 	    > ${.CURDIR}/_.${target}.makeLINT 2>&1 || \
 	    (echo "${target} 'make LINT' failed," \
 	    "check _.${target}.makeLINT for details"| ${MAKEFAIL}))

Modified: projects/bsd_rdma_4_9/Makefile.inc1
==============================================================================
--- projects/bsd_rdma_4_9/Makefile.inc1	Wed Nov 15 11:14:39 2017	(r325841)
+++ projects/bsd_rdma_4_9/Makefile.inc1	Wed Nov 15 11:28:11 2017	(r325842)
@@ -251,6 +251,9 @@ SUBDIR+=secure
 .if !defined(NO_SHARE)
 SUBDIR+=share
 .endif
+.if ${MK_BOOT} != "no"
+SUBDIR+=stand
+.endif
 SUBDIR+=sys usr.bin usr.sbin
 .if ${MK_TESTS} != "no"
 SUBDIR+=	tests
@@ -1986,6 +1989,9 @@ _rescue=rescue/rescue
 .if ${MK_TCSH} != "no"
 _tcsh=bin/csh
 .endif
+.if ${MK_FILE} != "no"
+_libmagic=lib/libmagic
+.endif
 
 # kernel-toolchain skips _cleanobj, so handle cleaning up previous
 # build-tools directories if needed.
@@ -2002,7 +2008,7 @@ _bt_clean=	${CLEANDIR}
     ${_rescue} \
     ${_share} \
     usr.bin/awk \
-    lib/libmagic \
+    ${_libmagic} \
     usr.bin/mkesdb_static \
     usr.bin/mkcsmapper_static \
     usr.bin/vi/catalog \
@@ -2079,7 +2085,7 @@ _clang_libs=	lib/clang
 _gcc=		gnu/usr.bin/cc
 .endif
 .if ${MK_USB} != "no"
-_usb_tools=	sys/boot/usb/tools
+_usb_tools=	stand/usb/tools
 .endif
 
 cross-tools: .MAKE .PHONY
@@ -2110,7 +2116,7 @@ cross-tools: .MAKE .PHONY
 # to pickup.
 #
 NXBOBJROOT=	${OBJROOT}${MACHINE}.${MACHINE_ARCH}/nxb/
-NXBOBJTOP=	${NXBOBJROOT}${TARGET}.${TARGET_ARCH}
+NXBOBJTOP=	${NXBOBJROOT}${NXB_TARGET}.${NXB_TARGET_ARCH}
 NXTP?=		/nxb-bin
 .if ${NXTP:N/*}
 .error NXTP variable should be an absolute path
@@ -2180,20 +2186,27 @@ NXBDIRS+= \
     usr.bin/yacc \
     usr.sbin/chown
 
+SUBDIR_DEPEND_usr.bin/clang=	lib/clang
 .if ${MK_CLANG} != "no"
 NXBDIRS+=	lib/clang
-SUBDIR_DEPEND_usr.bin/clang=	lib/clang
 NXBDIRS+=	usr.bin/clang
-.elif ${MK_GCC} != "no"
+.endif
+.if ${MK_GCC} != "no"
 NXBDIRS+=	gnu/usr.bin/cc
 .endif
 .if ${MK_BINUTILS} != "no"
 NXBDIRS+=	gnu/usr.bin/binutils
 .endif
+# XXX: native-xtools passes along ${NXBDIRS} in SUBDIR_OVERRIDE that needs
+# to be evaluated after NXBDIRS is set.
+.if make(install) && !empty(SUBDIR_OVERRIDE)
+SUBDIR=	${SUBDIR_OVERRIDE}
+.endif
 
 NXBMAKEARGS+= \
 	OBJTOP=${NXBOBJTOP:Q} \
 	OBJROOT=${NXBOBJROOT:Q} \
+	MAKEOBJDIRPREFIX= \
 	-DNO_SHARED \
 	-DNO_CPU_CFLAGS \
 	-DNO_PIC \
@@ -2216,7 +2229,10 @@ NXBMAKEARGS+= \
 	MK_WARNS=no \
 	MK_ZFS=no
 
-
+.if make(native-xtools*) && \
+    (!defined(NXB_TARGET) || !defined(NXB_TARGET_ARCH))
+.error Missing NXB_TARGET / NXB_TARGET_ARCH
+.endif
 # For 'toolchain' we want to produce native binaries that themselves generate
 # native binaries.
 NXBTMAKE=	${NXBMAKEENV} ${MAKE} ${NXBMAKEARGS:N-DNO_PIC:N-DNO_SHARED} \
@@ -2224,11 +2240,32 @@ NXBTMAKE=	${NXBMAKEENV} ${MAKE} ${NXBMAKEARGS:N-DNO_PI
 # For 'everything' we want to produce native binaries (hence -target to
 # be MACHINE) that themselves generate TARGET.TARGET_ARCH binaries.
 # TARGET/TARGET_ARCH are still passed along from user.
-NXBMAKE=	${NXBMAKEENV} ${MAKE} ${NXBMAKEARGS} \
+#
+# Use the toolchain we create as an external toolchain.
+.if ${USING_SYSTEM_COMPILER} == "yes" || ${XCC:N${CCACHE_BIN}:M/*}
+NXBMAKE+=	XCC="${XCC}" \
+		XCXX="${XCXX}" \
+		XCPP="${XCPP}"
+.else
+NXBMAKE+=	XCC="${NXBOBJTOP}/tmp/usr/bin/cc" \
+		XCXX="${NXBOBJTOP}/tmp/usr/bin/c++" \
+		XCPP="${NXBOBJTOP}/tmp/usr/bin/cpp"
+.endif
+NXBMAKE+=	${NXBMAKEENV} ${MAKE} -f Makefile.inc1 ${NXBMAKEARGS} \
+		TARGET=${NXB_TARGET} TARGET_ARCH=${NXB_TARGET_ARCH} \
 		TARGET_TRIPLE=${MACHINE_TRIPLE:Q}
+# NXBDIRS is improperly based on MACHINE rather than NXB_TARGET.  Need to
+# invoke a sub-make to reevaluate MK_GCC, etc, for NXBDIRS.
+NXBMAKE+=	SUBDIR_OVERRIDE='$${NXBDIRS:M*}'
+# Need to avoid the -isystem logic when using clang as an external toolchain
+# even if the TARGET being built for wants GCC.
+NXBMAKE+=	WANT_COMPILER_TYPE='$${X_COMPILER_TYPE}'
 native-xtools: .PHONY
+	${_+_}cd ${.CURDIR}; ${NXBTMAKE} _cleanobj
 	# Build the bootstrap/host/cross tools that produce native binaries
-	${_+_}cd ${.CURDIR}; ${NXBTMAKE} kernel-toolchain
+	# Pass along MK_GCC=yes to ensure GCC-needed build tools are built.
+	# We don't quite know what the NXB_TARGET wants so just build it.
+	${_+_}cd ${.CURDIR}; ${NXBTMAKE} kernel-toolchain MK_GCC=yes
 	# Populate includes/libraries sysroot that produce native binaries.
 	# This is split out from 'toolchain' above mostly so that target LLVM
 	# libraries have a proper LLVM_DEFAULT_TARGET_TRIPLE without
@@ -2238,10 +2275,9 @@ native-xtools: .PHONY
 	${_+_}cd ${.CURDIR}; ${NXBTMAKE} _includes MK_CLANG=no MK_GCC=no
 	${_+_}cd ${.CURDIR}; ${NXBTMAKE} _libraries MK_CLANG=no MK_GCC=no
 .if !defined(NO_OBJWALK)
-	${_+_}cd ${.CURDIR}; ${NXBMAKE} SUBDIR_OVERRIDE="${NXBDIRS:M*}" _obj
+	${_+_}cd ${.CURDIR}; ${NXBMAKE} _obj
 .endif
-	${_+_}cd ${.CURDIR}; ${NXBMAKE} SUBDIR_OVERRIDE="${NXBDIRS:M*}" \
-	    everything
+	${_+_}cd ${.CURDIR}; ${NXBMAKE} everything
 	@echo ">> native-xtools done.  Use 'make native-xtools-install' to install to a given DESTDIR"
 
 native-xtools-install: .PHONY
@@ -2250,9 +2286,8 @@ native-xtools-install: .PHONY
 	    -p ${NXBDESTDIR}/usr >/dev/null
 	mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \
 	    -p ${NXBDESTDIR}/usr/include >/dev/null
-	${_+_}cd ${.CURDIR}; ${NXBMAKE} -f Makefile.inc1 \
+	${_+_}cd ${.CURDIR}; ${NXBMAKE} \
 	    DESTDIR=${NXBDESTDIR} \
-	    SUBDIR_OVERRIDE="${NXBDIRS:M*}" \
 	    -DNO_ROOT \
 	    install
 
@@ -2785,7 +2820,8 @@ cleanworld cleanuniverse: .PHONY
 	-chflags -R 0 ${BW_CANONICALOBJDIR}
 	rm -rf ${BW_CANONICALOBJDIR}*
 .endif
-.if make(cleanworld) && ${MK_AUTO_OBJ} == "no"
+.if make(cleanworld) && ${MK_AUTO_OBJ} == "no" && \
+    (empty(BW_CANONICALOBJDIR) || ${.CURDIR:tA} == ${BW_CANONICALOBJDIR:tA})
 .if ${.CURDIR} == ${.OBJDIR} || ${.CURDIR}/obj == ${.OBJDIR}
 	#   To be safe in this case, fall back to a 'make cleandir'
 	${_+_}@cd ${.CURDIR}; ${MAKE} cleandir

Modified: projects/bsd_rdma_4_9/ObsoleteFiles.inc
==============================================================================
--- projects/bsd_rdma_4_9/ObsoleteFiles.inc	Wed Nov 15 11:14:39 2017	(r325841)
+++ projects/bsd_rdma_4_9/ObsoleteFiles.inc	Wed Nov 15 11:28:11 2017	(r325842)
@@ -38,6 +38,25 @@
 #   xargs -n1 | sort | uniq -d;
 # done
 
+# 20171114: Removal of all fortune datfiles other than freebsd-tips
+OLD_FILES+=usr/share/games/fortune/fortunes
+OLD_FILES+=usr/share/games/fortune/fortunes.dat
+OLD_FILES+=usr/share/games/fortune/gerrold.limerick
+OLD_FILES+=usr/share/games/fortune/gerrold.limerick.dat
+OLD_FILES+=usr/share/games/fortune/limerick
+OLD_FILES+=usr/share/games/fortune/limerick.dat
+OLD_FILES+=usr/share/games/fortune/murphy
+OLD_FILES+=usr/share/games/fortune/murphy-o
+OLD_FILES+=usr/share/games/fortune/murphy-o.dat
+OLD_FILES+=usr/share/games/fortune/murphy.dat
+OLD_FILES+=usr/share/games/fortune/startrek
+OLD_FILES+=usr/share/games/fortune/startrek.dat
+OLD_FILES+=usr/share/games/fortune/zippy
+OLD_FILES+=usr/share/games/fortune/zippy.dat
+# 20171112: Removal of eqnchar definition
+OLD_FILES+=usr/share/misc/eqnchar
+# 20171110: Removal of mailaddr man page
+OLD_FILES+=usr/share/man/man7/mailaddr.7.gz
 # 20171108: badsect(8) removal
 OLD_FILES+=sbin/badsect
 OLD_FILES+=rescue/badsect
@@ -71,7 +90,7 @@ OLD_FILES+=usr/lib/libcap_random.a
 OLD_FILES+=usr/lib/libcap_random_p.a
 OLD_FILES+=usr/lib/libcap_sysctl.a
 OLD_FILES+=usr/lib/libcap_sysctl_p.a
-# 20171031: Removal of obsolete man files
+# 20171031: Removal of adding_user man page
 OLD_FILES+=usr/share/man/man7/adding_user.7.gz
 # 20171031: Disconnected libpathconv tests
 OLD_DIRS+=usr/tests/lib/libpathconv

Modified: projects/bsd_rdma_4_9/UPDATING
==============================================================================
--- projects/bsd_rdma_4_9/UPDATING	Wed Nov 15 11:14:39 2017	(r325841)
+++ projects/bsd_rdma_4_9/UPDATING	Wed Nov 15 11:28:11 2017	(r325842)
@@ -51,6 +51,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW:
 
 ****************************** SPECIAL WARNING: ******************************
 
+201711xx:
+	The LOADER_FIREWIRE_SUPPORT build variable as been renamed to
+	WITH/OUT_LOADER_FIREWIRE. LOADER_{NO_,}GELI_SUPPORT has been renamed
+	to WITH/OUT_LOADER_GELI.
+
 20171106:
 	The naive and non-compliant support of posix_fallocate(2) in ZFS
 	has been removed as of r325320.  The system call now returns EINVAL

Modified: projects/bsd_rdma_4_9/bin/freebsd-version/freebsd-version.1
==============================================================================
--- projects/bsd_rdma_4_9/bin/freebsd-version/freebsd-version.1	Wed Nov 15 11:14:39 2017	(r325841)
+++ projects/bsd_rdma_4_9/bin/freebsd-version/freebsd-version.1	Wed Nov 15 11:28:11 2017	(r325842)
@@ -25,7 +25,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd October 5, 2013
+.Dd November 14, 2017
 .Dt FREEBSD-VERSION 1
 .Os
 .Sh NAME
@@ -33,7 +33,7 @@
 .Nd print the version and patch level of the installed system
 .Sh SYNOPSIS
 .Nm
-.Op Fl ku
+.Op Fl kru
 .Sh DESCRIPTION
 The
 .Nm
@@ -50,6 +50,11 @@ if a new kernel has been installed but the system has 
 rebooted,
 .Nm
 will print the version and patch level of the new kernel.
+.It Fl r
+Print the version and patch level of the running kernel.
+Unlike
+.Xr uname 1 ,
+this is unaffected by environment variables.
 .It Fl u
 Print the version and patch level of the installed userland.
 These are hardcoded into
@@ -57,14 +62,10 @@ These are hardcoded into
 during the build.
 .El
 .Pp
-If both
-.Fl k
-and
-.Fl u
-are specified,
+If several of the above options are specified,
 .Nm
-will print the kernel version first, then the userland version, on
-separate lines.
+will print the installed kernel version first, then the running kernel
+version, and finally the userland version, on separate lines.
 If neither is specified, it will print the userland version only.
 .Sh IMPLEMENTATION NOTES
 The

Modified: projects/bsd_rdma_4_9/bin/freebsd-version/freebsd-version.sh.in
==============================================================================
--- projects/bsd_rdma_4_9/bin/freebsd-version/freebsd-version.sh.in	Wed Nov 15 11:14:39 2017	(r325841)
+++ projects/bsd_rdma_4_9/bin/freebsd-version/freebsd-version.sh.in	Wed Nov 15 11:28:11 2017	(r325842)
@@ -38,7 +38,7 @@ LOADER_RE1='^\([A-Z_a-z][0-9A-Z_a-z]*=[-./0-9A-Z_a-z]\
 LOADER_RE2='^\([A-Z_a-z][0-9A-Z_a-z]*="[-./0-9A-Z_a-z]\{1,\}"\).*$'
 KERNEL_RE='^@@TYPE@@ \([-.0-9A-Za-z]\{1,\}\) .*$'
 
-progname=$(basename $0)
+progname=${0##*/}
 
 #
 # Print an error message and exit.
@@ -71,6 +71,13 @@ kernel_version() {
 }
 
 #
+# Print the version of the currently running kernel.
+#
+running_version() {
+	sysctl -n kern.osrelease
+}
+
+#
 # Print the hardcoded userland version.
 #
 userland_version() {
@@ -81,7 +88,7 @@ userland_version() {
 # Print a usage string and exit.
 #
 usage() {
-	echo "usage: $progname [-ku]" >&2
+	echo "usage: $progname [-kru]" >&2
 	exit 1
 }
 
@@ -90,11 +97,14 @@ usage() {
 #
 main() {
 	# parse command-line arguments
-	while getopts "ku" option ; do
+	while getopts "kru" option ; do
 		case $option in
 		k)
 			opt_k=1
 			;;
+		r)
+			opt_r=1
+			;;
 		u)
 			opt_u=1
 			;;
@@ -108,13 +118,18 @@ main() {
 	fi
 
 	# default is -u
-	if [ $((opt_k + opt_u)) -eq 0 ] ; then
+	if [ $((opt_k + opt_r + opt_u)) -eq 0 ] ; then
 		opt_u=1
 	fi
 
-	# print kernel version
+	# print installed kernel version
 	if [ $opt_k ] ; then
 		kernel_version
+	fi
+
+	# print running kernel version
+	if [ $opt_r ] ; then
+		running_version
 	fi
 
 	# print userland version

Modified: projects/bsd_rdma_4_9/etc/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/etc/Makefile	Wed Nov 15 11:14:39 2017	(r325841)
+++ projects/bsd_rdma_4_9/etc/Makefile	Wed Nov 15 11:28:11 2017	(r325842)
@@ -152,8 +152,6 @@ BIN1+= regdomain.xml
 # -rwxr-xr-x root:wheel, for the new cron root:wheel
 BIN2=	netstart pccard_ether rc.suspend rc.resume
 
-PPPCNF=	ppp.conf
-
 .if ${MK_SENDMAIL} == "no"
 ETCMAIL=mailer.conf aliases
 .else

Modified: projects/bsd_rdma_4_9/etc/devd.conf
==============================================================================
--- projects/bsd_rdma_4_9/etc/devd.conf	Wed Nov 15 11:14:39 2017	(r325841)
+++ projects/bsd_rdma_4_9/etc/devd.conf	Wed Nov 15 11:28:11 2017	(r325842)
@@ -20,7 +20,8 @@ options {
 	#XXX Yes, these are gross -- imp
 	set scsi-controller-regex
 		"(aac|adv|adw|aha|ahc|ahd|aic|amr|bt|ciss|dpt|\
-		esp|ida|iir|ips|isp|mlx|mly|mpt|ncr|ncv|nsp|stg|sym|trm)\
+		esp|ida|iir|ips|isp|mlx|mly|mpr|mps|mpt|ncr|ncv|nsp|stg|sym|\
+		trm)\
 		[0-9]+";
 	set wifi-driver-regex
 		"(ath|bwi|bwn|ipw|iwi|iwm|iwn|malo|mwl|ral|rsu|rtwn|rum|run|\

Modified: projects/bsd_rdma_4_9/lib/clang/libclang/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/lib/clang/libclang/Makefile	Wed Nov 15 11:14:39 2017	(r325841)
+++ projects/bsd_rdma_4_9/lib/clang/libclang/Makefile	Wed Nov 15 11:28:11 2017	(r325842)
@@ -790,16 +790,7 @@ clang/StaticAnalyzer/Checkers/Checkers.inc: \
 	    ${CLANG_SRCS}/include/clang/StaticAnalyzer/Checkers/Checkers.td
 TGHDRS+=	clang/StaticAnalyzer/Checkers/Checkers.inc
 
-.for dep in ${TGHDRS:C/$/.d/}
-. if ${MAKE_VERSION} < 20160220
-.  if !make(depend)
-.   sinclude "${dep}"
-.  endif
-. else
-.   dinclude "${dep}"
-. endif
-.endfor
-
+DEPENDFILES+=	${TGHDRS:C/$/.d/}
 DPSRCS+=	${TGHDRS}
 CLEANFILES+=	${TGHDRS} ${TGHDRS:C/$/.d/}
 

Modified: projects/bsd_rdma_4_9/lib/clang/libllvm/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/lib/clang/libllvm/Makefile	Wed Nov 15 11:14:39 2017	(r325841)
+++ projects/bsd_rdma_4_9/lib/clang/libllvm/Makefile	Wed Nov 15 11:28:11 2017	(r325842)
@@ -1412,16 +1412,7 @@ TGHDRS+=	X86GenRegisterBank.inc
 TGHDRS+=	X86GenRegisterInfo.inc
 TGHDRS+=	X86GenSubtargetInfo.inc
 
-.for dep in ${TGHDRS:C/$/.d/}
-. if ${MAKE_VERSION} < 20160220
-.  if !make(depend)
-.   sinclude "${dep}"
-.  endif
-. else
-.   dinclude "${dep}"
-. endif
-.endfor
-
+DEPENDFILES+=	${TGHDRS:C/$/.d/}
 DPSRCS+=	${TGHDRS}
 CLEANFILES+=	${TGHDRS} ${TGHDRS:C/$/.d/}
 

Modified: projects/bsd_rdma_4_9/lib/libc/string/memcpy.3
==============================================================================
--- projects/bsd_rdma_4_9/lib/libc/string/memcpy.3	Wed Nov 15 11:14:39 2017	(r325841)
+++ projects/bsd_rdma_4_9/lib/libc/string/memcpy.3	Wed Nov 15 11:28:11 2017	(r325842)
@@ -54,6 +54,11 @@ bytes from string
 .Fa src
 to string
 .Fa dst .
+If
+.Fa src
+and
+.Fa dst
+overlap, the results are not defined.
 .Sh RETURN VALUES
 The
 .Fn memcpy

Modified: projects/bsd_rdma_4_9/lib/libc/string/strcat.3
==============================================================================
--- projects/bsd_rdma_4_9/lib/libc/string/strcat.3	Wed Nov 15 11:14:39 2017	(r325841)
+++ projects/bsd_rdma_4_9/lib/libc/string/strcat.3	Wed Nov 15 11:28:11 2017	(r325842)
@@ -62,6 +62,11 @@ then add a terminating
 The string
 .Fa s
 must have sufficient space to hold the result.
+If
+.Fa s
+and
+.Fa append
+overlap, the results are undefined.
 .Pp
 The
 .Fn strncat
@@ -72,6 +77,11 @@ characters from
 .Fa append ,
 and then adds a terminating
 .Ql \e0 .
+If
+.Fa s
+and
+.Fa append
+overlap, the results are undefined.
 .Sh RETURN VALUES
 The
 .Fn strcat

Modified: projects/bsd_rdma_4_9/lib/libc/string/strcpy.3
==============================================================================
--- projects/bsd_rdma_4_9/lib/libc/string/strcpy.3	Wed Nov 15 11:14:39 2017	(r325841)
+++ projects/bsd_rdma_4_9/lib/libc/string/strcpy.3	Wed Nov 15 11:28:11 2017	(r325842)
@@ -63,6 +63,11 @@ to
 (including the terminating
 .Ql \e0
 character.)
+If
+.Fa src
+and
+.Fa dst
+overlap, the results are undefined.
 .Pp
 The
 .Fn stpncpy
@@ -89,6 +94,11 @@ Otherwise,
 is
 .Em not
 terminated.
+If
+.Fa src
+and
+.Fa dst
+overlap, the results are undefined.
 .Sh RETURN VALUES
 The
 .Fn strcpy

Modified: projects/bsd_rdma_4_9/lib/libc/sys/_umtx_op.2
==============================================================================
--- projects/bsd_rdma_4_9/lib/libc/sys/_umtx_op.2	Wed Nov 15 11:14:39 2017	(r325841)
+++ projects/bsd_rdma_4_9/lib/libc/sys/_umtx_op.2	Wed Nov 15 11:28:11 2017	(r325842)
@@ -28,7 +28,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd May 23, 2017
+.Dd November 13, 2017
 .Dt _UMTX_OP 2
 .Os
 .Sh NAME
@@ -61,7 +61,7 @@ All objects require ABI-mandated alignment, but this i
 enforced consistently on all architectures.
 .Pp
 The following flags are defined for flag fields of all structures:
-.Bl -tag -width "Dv USYNC_PROCESS_SHARED"
+.Bl -tag -width indent
 .It Dv USYNC_PROCESS_SHARED
 Allow selection of the process-shared sleep queue for the thread sleep
 container, when the lock ownership cannot be granted immediately,
@@ -77,7 +77,6 @@ See the
 .Sx SLEEP QUEUES
 subsection below for more details on sleep queues.
 .El
-.Pp
 .Bl -hang -offset indent
 .It Sy Mutex
 .Bd -literal
@@ -96,7 +95,7 @@ It contains either the thread identifier of the lock o
 locked state, or zero when the lock is unowned.
 The highest bit set indicates that there is contention on the lock.
 The constants are defined for special values:
-.Bl -tag -width "Dv UMUTEX_RB_OWNERDEAD"
+.Bl -tag -width indent
 .It Dv UMUTEX_UNOWNED
 Zero, the value stored in the unowned lock.
 .It Dv UMUTEX_CONTESTED
@@ -113,7 +112,7 @@ The
 .Dv m_flags
 field may contain the following umutex-specific flags, in addition to
 the common flags:
-.Bl -tag -width "Dv UMUTEX_NONCONSISTENT"
+.Bl -tag -width indent
 .It Dv UMUTEX_PRIO_INHERIT
 Mutex implements
 .Em Priority Inheritance
@@ -136,8 +135,9 @@ In the manual page, mutexes not having
 and
 .Dv UMUTEX_PRIO_PROTECT
 flags set, are called normal mutexes.
-Each type of mutex, i.e. normal mutexes, priority-inherited mutexes,
-and priority-protected mutexes, have a separate sleep queue associated
+Each type of mutex
+.Pq normal, priority-inherited, and priority-protected
+has a separate sleep queue associated
 with the given key.
 .Pp
 For priority protected mutexes, the
@@ -182,8 +182,8 @@ request.
 The
 .Dv c_flags
 field contains flags.
-Only the common flags, i.e.
-.Dv USYNC_PROCESS_SHARED ,
+Only the common flags
+.Pq Dv USYNC_PROCESS_SHARED
 are defined for ucond.
 .Pp
 The
@@ -193,23 +193,34 @@ member provides the clock identifier to use for timeou
 request has both the
 .Dv CVWAIT_CLOCKID
 flag and the timeout specified.
-Valid clock identifiers are subset of the valid clock ids for the
-.Xr clock_gettime 2
-syscall, namely,
-.Dv CLOCK_REALTIME ,
-.Dv CLOCK_VIRTUAL ,
-.Dv CLOCK_PROF ,
-.Dv CLOCK_MONOTONIC ,
-.Dv CLOCK_UPTIME ,
-.Dv CLOCK_UPTIME_PRECISE ,
-.Dv CLOCK_UPTIME_FAST ,
-.Dv CLOCK_REALTIME_PRECISE ,
-.Dv CLOCK_REALTIME_FAST ,
-.Dv CLOCK_MONOTONIC_PRECISE ,
-.Dv CLOCK_MONOTONIC_FAST ,
-and
+Valid clock identifiers are a subset of those for
+.Xr clock_gettime 2 :
+.Bl -bullet -compact
+.It
+.Dv CLOCK_MONOTONIC
+.It
+.Dv CLOCK_MONOTONIC_FAST
+.It
+.Dv CLOCK_MONOTONIC_PRECISE
+.It
+.Dv CLOCK_PROF
+.It
+.Dv CLOCK_REALTIME
+.It
+.Dv CLOCK_REALTIME_FAST
+.It
+.Dv CLOCK_REALTIME_PRECISE
+.It
 .Dv CLOCK_SECOND
-are allowed.
+.It
+.Dv CLOCK_UPTIME
+.It
+.Dv CLOCK_UPTIME_FAST
+.It
+.Dv CLOCK_UPTIME_PRECISE
+.It
+.Dv CLOCK_VIRTUAL
+.El
 .It Sy Reader/writer lock
 .Bd -literal
 struct urwlock {
@@ -228,7 +239,7 @@ granted.
 Names of the
 .Dv rw_state
 bits are following:
-.Bl -tag -width "Dv URWLOCK_WRITE_WAITERS"
+.Bl -tag -width indent
 .It Dv URWLOCK_WRITE_OWNER
 Write lock was granted.
 .It Dv URWLOCK_WRITE_WAITERS
@@ -253,7 +264,7 @@ The following flags for the
 member of
 .Vt struct urwlock
 are defined, in addition to the common flags:
-.Bl -tag -width "Dv URWLOCK_PREFER_READER"
+.Bl -tag -width indent
 .It Dv URWLOCK_PREFER_READER
 If specified, immediately grant read lock requests when
 .Dv urwlock
@@ -302,7 +313,7 @@ The
 .Dv USEM_COUNT()
 macro, applied to the
 .Dv _count
-word, returns the current semaphore counter, i.e. the number of posts
+word, returns the current semaphore counter, which is the number of posts
 issued on the semaphore.
 .Pp
 The following bits for the
@@ -310,7 +321,7 @@ The following bits for the
 member of
 .Vt struct _usem2
 are defined, in addition to the common flags:
-.Bl -tag -width "Dv USEM_NAMED"
+.Bl -tag -width indent
 .It Dv USEM_NAMED
 Flag is ignored by kernel.
 .El
@@ -359,7 +370,7 @@ Interval counting is always performed by the monotonic
 The
 .Dv _flags
 argument allows the following flags to further define the timeout behaviour:
-.Bl -tag -width "It Dv UMTX_ABSTIME"
+.Bl -tag -width indent
 .It Dv UMTX_ABSTIME
 The
 .Dv _timeout
@@ -374,7 +385,6 @@ start.
 .El
 .El
 .Ss SLEEP QUEUES
-.Pp
 When a locking request cannot be immediately satisfied, the thread is
 typically put to
 .Em sleep ,
@@ -416,7 +426,7 @@ regardless of the kind of backing memory.
 .Pp
 Only the address of the start byte of the variable specified as key is
 important for determining corresponding sleep queue.
-The size of the variable does not matter, so e.g. sleep on the same
+The size of the variable does not matter, so, for example, sleep on the same
 address interpeted as
 .Vt uint32_t
 and
@@ -505,11 +515,11 @@ error for lock attempts, without granting the lock.
 The following operations, requested by the
 .Fa op
 argument to the function, are implemented:
-.Bl -tag -width "It Dv UMTX_OP_WAIT_UINT_PRIVATE"
+.Bl -tag -width indent
 .It Dv UMTX_OP_WAIT
 Wait.
 The arguments for the request are:
-.Bl -tag -width "It Fa obj"
+.Bl -tag -width "obj"
 .It Fa obj
 Pointer to a variable of type
 .Vt long .
@@ -558,7 +568,7 @@ Optionally, a timeout for the request may be specified
 Wake the threads possibly sleeping due to
 .Dv UMTX_OP_WAIT .
 The arguments for the request are:
-.Bl -tag -width "It Fa obj"
+.Bl -tag -width "obj"
 .It Fa obj
 Pointer to a variable, used as a key to find sleeping threads.
 .It Fa val
@@ -572,7 +582,7 @@ to wake up all waiters.
 .It Dv UMTX_OP_MUTEX_TRYLOCK
 Try to lock umutex.
 The arguments to the request are:
-.Bl -tag -width "It Fa obj"
+.Bl -tag -width "obj"
 .It Fa obj
 Pointer to the umutex.
 .El
@@ -585,7 +595,7 @@ instead of sleeping if the lock cannot be obtained imm
 .It Dv UMTX_OP_MUTEX_LOCK
 Lock umutex.
 The arguments to the request are:
-.Bl -tag -width "It Fa obj"
+.Bl -tag -width "obj"
 .It Fa obj
 Pointer to the umutex.
 .El
@@ -624,7 +634,7 @@ from a signal handler.
 .It Dv UMTX_OP_MUTEX_UNLOCK
 Unlock umutex.
 The arguments to the request are:
-.Bl -tag -width "It Fa obj"
+.Bl -tag -width "obj"
 .It Fa obj
 Pointer to the umutex.
 .El
@@ -661,7 +671,7 @@ priority protected protocol mutex.
 .It Dv UMTX_OP_SET_CEILING
 Set ceiling for the priority protected umutex.
 The arguments to the request are:
-.Bl -tag -width "It Fa obj"
+.Bl -tag -width "uaddr"
 .It Fa obj
 Pointer to the umutex.
 .It Fa val
@@ -696,7 +706,7 @@ interface.
 .It Dv UMTX_OP_CV_WAIT
 Wait for a condition.
 The arguments to the request are:
-.Bl -tag -width "It Fa uaddr2"
+.Bl -tag -width "uaddr2"
 .It Fa obj
 Pointer to the
 .Vt struct ucond .
@@ -743,7 +753,7 @@ After wakeup, the
 umutex is not relocked.
 .Pp
 The following flags are defined:
-.Bl -tag -width "Dv CVWAIT_CLOCKID"
+.Bl -tag -width "CVWAIT_CLOCKID"
 .It Dv CVWAIT_ABSTIME
 Timeout is absolute.
 .It Dv CVWAIT_CLOCKID
@@ -782,7 +792,7 @@ error.
 .It Dv UMTX_OP_CV_SIGNAL
 Wake up one condition waiter.
 The arguments to the request are:
-.Bl -tag -width "It Fa obj"
+.Bl -tag -width "obj"
 .It Fa obj
 Pointer to
 .Vt struct ucond .
@@ -800,7 +810,7 @@ is cleared.
 .It Dv UMTX_OP_CV_BROADCAST
 Wake up all condition waiters.
 The arguments to the request are:
-.Bl -tag -width "It Fa obj"
+.Bl -tag -width "obj"
 .It Fa obj
 Pointer to
 .Vt struct ucond .
@@ -820,14 +830,14 @@ Same as
 but the type of the variable pointed to by
 .Fa obj
 is
-.Vt u_int ,
-i.e. 32-bit integer.
+.Vt u_int
+.Pq a 32-bit integer .
 .It Dv UMTX_OP_RW_RDLOCK
 Read-lock a
 .Vt struct rwlock
 lock.
 The arguments to the request are:
-.Bl -tag -width "It Fa obj"
+.Bl -tag -width "obj"
 .It Fa obj
 Pointer to the lock (of type
 .Vt struct rwlock )
@@ -837,7 +847,7 @@ Additional flags to augment locking behaviour.
 The valid flags in the
 .Fa val
 argument are:
-.Bl -tag -width "It Dv URWLOCK_PREFER_READER"
+.Bl -tag -width indent
 .It Dv URWLOCK_PREFER_READER
 .El
 .El
@@ -889,7 +899,7 @@ Write-lock a
 .Vt struct rwlock
 lock.
 The arguments to the request are:
-.Bl -tag -width "It Fa obj"
+.Bl -tag -width "obj"
 .It Fa obj
 Pointer to the lock (of type
 .Vt struct rwlock )
@@ -925,7 +935,7 @@ error.
 .It Dv UMTX_OP_RW_UNLOCK
 Unlock rwlock.
 The arguments to the request are:
-.Bl -tag -width "It Fa obj"
+.Bl -tag -width "obj"
 .It Fa obj
 Pointer to the lock (of type
 .Vt struct rwlock )
@@ -967,7 +977,7 @@ but unconditionally select the process-private sleep q
 .It Dv UMTX_OP_MUTEX_WAIT
 Wait for mutex availability.
 The arguments to the request are:
-.Bl -tag -width "It Fa obj"
+.Bl -tag -width "obj"
 .It Fa obj
 Address of the mutex.
 .El
@@ -991,7 +1001,6 @@ priority inherited protocol mutexes.
 .Pp
 Optionally, a timeout for the request may be specified.
 .Pp
-.Pp
 A request with a timeout specified is not restartable.
 An unblocked signal delivered during the wait always results in sleep
 interruption and
@@ -1007,7 +1016,7 @@ member
 .It Dv UMTX_OP_NWAKE_PRIVATE
 Wake up a batch of sleeping threads.
 The arguments to the request are:
-.Bl -tag -width "It Fa obj"
+.Bl -tag -width "obj"
 .It Fa obj
 Pointer to the array of pointers.
 .It Fa val
@@ -1024,7 +1033,7 @@ being the byte addressed by the array element.
 .It Dv UMTX_OP_MUTEX_WAKE
 Check if a normal umutex is unlocked and wake up a waiter.
 The arguments for the request are:
-.Bl -tag -width "It Fa obj"
+.Bl -tag -width "obj"
 .It Fa obj
 Pointer to the umutex.
 .El
@@ -1058,7 +1067,7 @@ bit may then modify freed memory.
 .It Dv UMTX_OP_MUTEX_WAKE2
 Check if a umutex is unlocked and wake up a waiter.
 The arguments for the request are:
-.Bl -tag -width "It Fa obj"
+.Bl -tag -width "obj"
 .It Fa obj
 Pointer to the umutex.
 .It Fa val
@@ -1088,11 +1097,12 @@ word of the
 .It Dv UMTX_OP_SEM2_WAIT
 Wait until semaphore is available.
 The arguments to the request are:
-.Bl -tag -width "It Fa obj"
+.Bl -tag -width "obj"
 .It Fa obj
 Pointer to the semaphore (of type
 .Vt struct _usem2 ) .
 .El
+.Pp
 Put the requesting thread onto a sleep queue if the semaphore counter
 is zero.
 If the thread is put to sleep, the
@@ -1117,7 +1127,7 @@ error.
 .It Dv UMTX_OP_SEM2_WAKE
 Wake up waiters on semaphore lock.
 The arguments to the request are:
-.Bl -tag -width "It Fa obj"
+.Bl -tag -width "obj"
 .It Fa obj
 Pointer to the semaphore (of type
 .Vt struct _usem2 ) .
@@ -1145,7 +1155,7 @@ The
 argument specifies the sub-request of the
 .Dv UMTX_OP_SHM
 request:
-.Bl -tag -width "Dv UMTX_SHM_DESTROY"
+.Bl -tag -width indent
 .It Dv UMTX_SHM_CREAT
 Creates the anonymous shared memory object, which can be looked up
 with the specified key
@@ -1191,7 +1201,7 @@ creation or lookup.
 .It Dv UMTX_OP_ROBUST_LISTS
 Register the list heads for the current thread's robust mutex lists.
 The arguments to the request are:
-.Bl -tag -width "It Fa obj"
+.Bl -tag -width "uaddr"
 .It Fa val
 Size of the structure passed in the
 .Fa uaddr
@@ -1261,8 +1271,8 @@ variable is set to indicate the error.
 .Sh ERRORS
 The
 .Fn _umtx_op
-operations will return the following errors:
-.Bl -tag -width "Bq Er ENOTRECOVERABLE"
+operations can fail with the following errors:
+.Bl -tag -width "[ETIMEDOUT]"
 .It Bq Er EFAULT
 One of the arguments point to invalid memory.
 .It Bq Er EINVAL

Modified: projects/bsd_rdma_4_9/lib/libcasper/libcasper/libcasper.h
==============================================================================
--- projects/bsd_rdma_4_9/lib/libcasper/libcasper/libcasper.h	Wed Nov 15 11:14:39 2017	(r325841)

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***

From owner-svn-src-projects@freebsd.org  Wed Nov 15 11:35:04 2017
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id 08150DDA080
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Wed, 15 Nov 2017 11:35:04 +0000 (UTC)
 (envelope-from hselasky@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id D0923674A6;
 Wed, 15 Nov 2017 11:35:03 +0000 (UTC)
 (envelope-from hselasky@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vAFBZ2Ic023183;
 Wed, 15 Nov 2017 11:35:02 GMT (envelope-from hselasky@FreeBSD.org)
Received: (from hselasky@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id vAFBZ2vv023182;
 Wed, 15 Nov 2017 11:35:02 GMT (envelope-from hselasky@FreeBSD.org)
Message-Id: <201711151135.vAFBZ2vv023182@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: hselasky set sender to
 hselasky@FreeBSD.org using -f
From: Hans Petter Selasky <hselasky@FreeBSD.org>
Date: Wed, 15 Nov 2017 11:35:02 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r325843 - projects/bsd_rdma_4_9/sys/contrib/rdma/krping
X-SVN-Group: projects
X-SVN-Commit-Author: hselasky
X-SVN-Commit-Paths: projects/bsd_rdma_4_9/sys/contrib/rdma/krping
X-SVN-Commit-Revision: 325843
X-SVN-Commit-Repository: base
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.25
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Wed, 15 Nov 2017 11:35:04 -0000

Author: hselasky
Date: Wed Nov 15 11:35:02 2017
New Revision: 325843
URL: https://svnweb.freebsd.org/changeset/base/325843

Log:
  Add full support for specifying IPv6 addresses to krping.
  
  Sponsored by:	Mellanox Technologies

Modified:
  projects/bsd_rdma_4_9/sys/contrib/rdma/krping/krping.c

Modified: projects/bsd_rdma_4_9/sys/contrib/rdma/krping/krping.c
==============================================================================
--- projects/bsd_rdma_4_9/sys/contrib/rdma/krping/krping.c	Wed Nov 15 11:28:11 2017	(r325842)
+++ projects/bsd_rdma_4_9/sys/contrib/rdma/krping/krping.c	Wed Nov 15 11:35:02 2017	(r325843)
@@ -219,7 +219,7 @@ struct krping_cb {
 	struct krping_stats stats;
 
 	uint16_t port;			/* dst port in NBO */
-	u8 addr[16];			/* dst addr in NBO */
+	u8 addr[16] __aligned(8);	/* dst addr in NBO */
 	char *addr_str;			/* dst addr string */
 	uint8_t addr_type;		/* ADDR_FAMILY - IPv4/V6 */
 	int verbose;			/* verbose logging */
@@ -1961,12 +1961,31 @@ err1:
 	krping_free_qp(cb);
 }
 
+static uint16_t
+krping_get_ipv6_scope_id(char *name)
+{
+	struct ifnet *ifp;
+	uint16_t retval;
+
+	if (name == NULL)
+		return (0);
+	CURVNET_SET_QUIET(TD_TO_VNET(curthread));
+	ifp = ifunit_ref(name);
+	CURVNET_RESTORE();
+	if (ifp == NULL)
+		return (0);
+	retval = ifp->if_index;
+	if_rele(ifp);
+	return (retval);
+}
+
 int krping_doit(char *cmd)
 {
 	struct krping_cb *cb;
 	int op;
 	int ret = 0;
 	char *optarg;
+	char *scope;
 	unsigned long optint;
 
 	cb = kzalloc(sizeof(*cb), GFP_KERNEL);
@@ -1986,23 +2005,36 @@ int krping_doit(char *cmd)
 	while ((op = krping_getopt("krping", &cmd, krping_opts, NULL, &optarg,
 			      &optint)) != 0) {
 		switch (op) {
-		struct in_addr in_addr;
 		case 'a':
 			cb->addr_str = optarg;
 			cb->addr_type = AF_INET;
 			DEBUG_LOG("ipaddr (%s)\n", optarg);
-			if (!inet_aton(optarg, &in_addr)) {
+			if (inet_pton(AF_INET, optarg, cb->addr) != 1) {
 				printk(KERN_ERR PFX "bad addr string %s\n",
 				    optarg);
 				ret = EINVAL;
 			}
-			memcpy(cb->addr, &in_addr.s_addr, sizeof(in_addr.s_addr));
 			break;
 		case 'A':
 			cb->addr_str = optarg;
 			cb->addr_type = AF_INET6;
 			DEBUG_LOG("ipv6addr (%s)\n", optarg);
-			ret = EAFNOSUPPORT;	/* XXX not supported */
+			scope = strstr(optarg, "%");
+			/* extract scope ID, if any */
+			if (scope != NULL)
+				*scope++ = 0;
+			/* extract IPv6 network address */
+			if (inet_pton(AF_INET6, optarg, cb->addr) != 1) {
+				printk(KERN_ERR PFX "bad addr string %s\n",
+				    optarg);
+				ret = EINVAL;
+			} else if (IN6_IS_SCOPE_LINKLOCAL((struct in6_addr *)cb->addr) ||
+			    IN6_IS_ADDR_MC_INTFACELOCAL((struct in6_addr *)cb->addr)) {
+				uint16_t scope_id = krping_get_ipv6_scope_id(scope);
+				DEBUG_LOG("ipv6 scope ID = %d\n", scope_id);
+				cb->addr[2] = scope_id >> 8;
+				cb->addr[3] = scope_id & 0xFF;
+			}
 			break;
 		case 'p':
 			cb->port = htons(optint);

From owner-svn-src-projects@freebsd.org  Thu Nov 16 13:28:02 2017
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id 100FEDDDE0F
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Thu, 16 Nov 2017 13:28:02 +0000 (UTC)
 (envelope-from hselasky@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id A59377AE1C;
 Thu, 16 Nov 2017 13:28:01 +0000 (UTC)
 (envelope-from hselasky@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vAGDS0gQ014037;
 Thu, 16 Nov 2017 13:28:00 GMT (envelope-from hselasky@FreeBSD.org)
Received: (from hselasky@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id vAGDS0sC014032;
 Thu, 16 Nov 2017 13:28:00 GMT (envelope-from hselasky@FreeBSD.org)
Message-Id: <201711161328.vAGDS0sC014032@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: hselasky set sender to
 hselasky@FreeBSD.org using -f
From: Hans Petter Selasky <hselasky@FreeBSD.org>
Date: Thu, 16 Nov 2017 13:28:00 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r325891 - in projects/bsd_rdma_4_9/sys: dev/iser
 modules/iser
X-SVN-Group: projects
X-SVN-Commit-Author: hselasky
X-SVN-Commit-Paths: in projects/bsd_rdma_4_9/sys: dev/iser modules/iser
X-SVN-Commit-Revision: 325891
X-SVN-Commit-Repository: base
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.25
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 16 Nov 2017 13:28:02 -0000

Author: hselasky
Date: Thu Nov 16 13:28:00 2017
New Revision: 325891
URL: https://svnweb.freebsd.org/changeset/base/325891

Log:
  Update iser backend code to use new ibcore APIs.
  
  Sponsored by:	Mellanox Technologies

Modified:
  projects/bsd_rdma_4_9/sys/dev/iser/icl_iser.c
  projects/bsd_rdma_4_9/sys/dev/iser/icl_iser.h
  projects/bsd_rdma_4_9/sys/dev/iser/iser_memory.c
  projects/bsd_rdma_4_9/sys/dev/iser/iser_verbs.c
  projects/bsd_rdma_4_9/sys/modules/iser/Makefile

Modified: projects/bsd_rdma_4_9/sys/dev/iser/icl_iser.c
==============================================================================
--- projects/bsd_rdma_4_9/sys/dev/iser/icl_iser.c	Thu Nov 16 12:51:39 2017	(r325890)
+++ projects/bsd_rdma_4_9/sys/dev/iser/icl_iser.c	Thu Nov 16 13:28:00 2017	(r325891)
@@ -395,7 +395,7 @@ iser_conn_connect(struct icl_conn *ic, int domain, int
 
 	iser_conn->state = ISER_CONN_PENDING;
 
-	ib_conn->cma_id = rdma_create_id(iser_cma_handler, (void *)iser_conn,
+	ib_conn->cma_id = rdma_create_id(&init_net, iser_cma_handler, (void *)iser_conn,
 			RDMA_PS_TCP, IB_QPT_RC);
 	if (IS_ERR(ib_conn->cma_id)) {
 		err = -PTR_ERR(ib_conn->cma_id);

Modified: projects/bsd_rdma_4_9/sys/dev/iser/icl_iser.h
==============================================================================
--- projects/bsd_rdma_4_9/sys/dev/iser/icl_iser.h	Thu Nov 16 12:51:39 2017	(r325890)
+++ projects/bsd_rdma_4_9/sys/dev/iser/icl_iser.h	Thu Nov 16 13:28:00 2017	(r325891)
@@ -245,7 +245,7 @@ enum iser_desc_type {
 struct iser_data_buf {
 	struct scatterlist sgl[ISCSI_ISER_SG_TABLESIZE];
 	void               *sg;
-	unsigned int       size;
+	int                size;
 	unsigned long      data_len;
 	unsigned int       dma_nents;
 	char               *copy_buf;
@@ -364,12 +364,10 @@ struct iser_device {
  * struct iser_reg_resources - Fast registration recources
  *
  * @mr:         memory region
- * @frpl:       fast reg page list
  * @mr_valid:   is mr valid indicator
  */
 struct iser_reg_resources {
 	struct ib_mr                     *mr;
-	struct ib_fast_reg_page_list     *frpl;
 	u8                                mr_valid:1;
 };
 

Modified: projects/bsd_rdma_4_9/sys/dev/iser/iser_memory.c
==============================================================================
--- projects/bsd_rdma_4_9/sys/dev/iser/iser_memory.c	Thu Nov 16 12:51:39 2017	(r325890)
+++ projects/bsd_rdma_4_9/sys/dev/iser/iser_memory.c	Thu Nov 16 13:28:00 2017	(r325891)
@@ -52,64 +52,6 @@ iser_reg_desc_put(struct ib_conn *ib_conn,
 #define IS_4K_ALIGNED(addr)	((((unsigned long)addr) & ~MASK_4K) == 0)
 
 /**
- * iser_sg_to_page_vec - Translates scatterlist entries to physical addresses
- * and returns the length of resulting physical address array (may be less than
- * the original due to possible compaction).
- *
- * we build a "page vec" under the assumption that the SG meets the RDMA
- * alignment requirements. Other then the first and last SG elements, all
- * the "internal" elements can be compacted into a list whose elements are
- * dma addresses of physical pages. The code supports also the weird case
- * where --few fragments of the same page-- are present in the SG as
- * consecutive elements. Also, it handles one entry SG.
- */
-static int
-iser_sg_to_page_vec(struct iser_data_buf *data,
-		    struct ib_device *ibdev, u64 *pages,
-		    int *offset, int *data_size)
-{
-	struct scatterlist *sg, *sgl = data->sgl;
-	u64 start_addr, end_addr, page, chunk_start = 0;
-	unsigned long total_sz = 0;
-	unsigned int dma_len;
-	int i, new_chunk, cur_page, last_ent = data->dma_nents - 1;
-
-	/* compute the offset of first element */
-	*offset = (u64) sgl[0].offset & ~MASK_4K;
-
-	new_chunk = 1;
-	cur_page  = 0;
-	for_each_sg(sgl, sg, data->dma_nents, i) {
-		start_addr = ib_sg_dma_address(ibdev, sg);
-		if (new_chunk)
-			chunk_start = start_addr;
-		dma_len = ib_sg_dma_len(ibdev, sg);
-		end_addr = start_addr + dma_len;
-		total_sz += dma_len;
-
-		/* collect page fragments until aligned or end of SG list */
-		if (!IS_4K_ALIGNED(end_addr) && i < last_ent) {
-			new_chunk = 0;
-			continue;
-		}
-		new_chunk = 1;
-
-		/* address of the first page in the contiguous chunk;
-		   masking relevant for the very first SG entry,
-		   which might be unaligned */
-		page = chunk_start & MASK_4K;
-		do {
-			pages[cur_page++] = page;
-			page += SIZE_4K;
-		} while (page < end_addr);
-	}
-
-	*data_size = total_sz;
-
-	return (cur_page);
-}
-
-/**
  * iser_data_buf_aligned_len - Tries to determine the maximal correctly aligned
  * for RDMA sub-list of a scatter-gather list of memory buffers, and  returns
  * the number of entries which are aligned correctly. Supports the case where
@@ -214,46 +156,41 @@ iser_fast_reg_mr(struct icl_iser_pdu *iser_pdu,
 {
 	struct ib_conn *ib_conn = &iser_pdu->iser_conn->ib_conn;
 	struct iser_device *device = ib_conn->device;
-	struct ib_send_wr fastreg_wr, inv_wr;
+	struct ib_mr *mr = rsc->mr;
+	struct ib_reg_wr fastreg_wr;
+	struct ib_send_wr inv_wr;
 	struct ib_send_wr *bad_wr, *wr = NULL;
-	int ret, offset, size, plen;
+	int ret, n;
 
 	/* if there a single dma entry, dma mr suffices */
 	if (mem->dma_nents == 1)
 		return iser_reg_dma(device, mem, reg);
 
-	/* rsc is not null */
-	plen = iser_sg_to_page_vec(mem, device->ib_device,
-				   rsc->frpl->page_list,
-				   &offset, &size);
-	if (plen * SIZE_4K < size) {
-		ISER_ERR("fast reg page_list too short to hold this SG");
-		return (EINVAL);
-	}
-
 	if (!rsc->mr_valid) {
-		iser_inv_rkey(&inv_wr, rsc->mr);
+		iser_inv_rkey(&inv_wr, mr);
 		wr = &inv_wr;
 	}
 
+	n = ib_map_mr_sg(mr, mem->sg, mem->size, NULL, SIZE_4K);
+	if (unlikely(n != mem->size)) {
+		ISER_ERR("failed to map sg (%d/%d)\n", n, mem->size);
+		return n < 0 ? n : -EINVAL;
+	}
 	/* Prepare FASTREG WR */
 	memset(&fastreg_wr, 0, sizeof(fastreg_wr));
-	fastreg_wr.wr_id = ISER_FASTREG_LI_WRID;
-	fastreg_wr.opcode = IB_WR_FAST_REG_MR;
-	fastreg_wr.wr.fast_reg.iova_start = rsc->frpl->page_list[0] + offset;
-	fastreg_wr.wr.fast_reg.page_list = rsc->frpl;
-	fastreg_wr.wr.fast_reg.page_list_len = plen;
-	fastreg_wr.wr.fast_reg.page_shift = SHIFT_4K;
-	fastreg_wr.wr.fast_reg.length = size;
-	fastreg_wr.wr.fast_reg.rkey = rsc->mr->rkey;
-	fastreg_wr.wr.fast_reg.access_flags = (IB_ACCESS_LOCAL_WRITE  |
-					       IB_ACCESS_REMOTE_WRITE |
-					       IB_ACCESS_REMOTE_READ);
+	fastreg_wr.wr.opcode = IB_WR_REG_MR;
+	fastreg_wr.wr.wr_id = ISER_FASTREG_LI_WRID;
+	fastreg_wr.wr.num_sge = 0;
+	fastreg_wr.mr = mr;
+	fastreg_wr.key = mr->rkey;
+	fastreg_wr.access = IB_ACCESS_LOCAL_WRITE  |
+			    IB_ACCESS_REMOTE_WRITE |
+			    IB_ACCESS_REMOTE_READ;
 
 	if (!wr)
-		wr = &fastreg_wr;
+		wr = &fastreg_wr.wr;
 	else
-		wr->next = &fastreg_wr;
+		wr->next = &fastreg_wr.wr;
 
 	ret = ib_post_send(ib_conn->qp, wr, &bad_wr);
 	if (ret) {
@@ -262,10 +199,10 @@ iser_fast_reg_mr(struct icl_iser_pdu *iser_pdu,
 	}
 	rsc->mr_valid = 0;
 
-	reg->sge.lkey = rsc->mr->lkey;
-	reg->rkey = rsc->mr->rkey;
-	reg->sge.addr = rsc->frpl->page_list[0] + offset;
-	reg->sge.length = size;
+	reg->sge.lkey = mr->lkey;
+	reg->rkey = mr->rkey;
+	reg->sge.addr = mr->iova;
+	reg->sge.length = mr->length;
 
 	return (ret);
 }

Modified: projects/bsd_rdma_4_9/sys/dev/iser/iser_verbs.c
==============================================================================
--- projects/bsd_rdma_4_9/sys/dev/iser/iser_verbs.c	Thu Nov 16 12:51:39 2017	(r325890)
+++ projects/bsd_rdma_4_9/sys/dev/iser/iser_verbs.c	Thu Nov 16 13:28:00 2017	(r325891)
@@ -200,16 +200,10 @@ iser_cq_callback(struct ib_cq *cq, void *cq_context)
 static int
 iser_create_device_ib_res(struct iser_device *device)
 {
-	struct ib_device_attr *dev_attr = &device->dev_attr;
-	int ret, i, max_cqe;
+	struct ib_device *ib_dev = device->ib_device;
+	int i, max_cqe;
 
-	ret = ib_query_device(device->ib_device, dev_attr);
-	if (ret) {
-		ISER_ERR("Query device failed for %s", device->ib_device->name);
-		return (ret);
-	}
-
-	if (!(dev_attr->device_cap_flags & IB_DEVICE_MEM_MGT_EXTENSIONS)) {
+	if (!(ib_dev->attrs.device_cap_flags & IB_DEVICE_MEM_MGT_EXTENSIONS)) {
 		ISER_ERR("device %s doesn't support Fastreg, "
 			 "can't register memory", device->ib_device->name);
 		return (1);
@@ -222,25 +216,29 @@ iser_create_device_ib_res(struct iser_device *device)
 	if (!device->comps)
 		goto comps_err;
 
-	max_cqe = min(ISER_MAX_CQ_LEN, dev_attr->max_cqe);
+	max_cqe = min(ISER_MAX_CQ_LEN, ib_dev->attrs.max_cqe);
 
 	ISER_DBG("using %d CQs, device %s supports %d vectors max_cqe %d",
 		 device->comps_used, device->ib_device->name,
 		 device->ib_device->num_comp_vectors, max_cqe);
 
-	device->pd = ib_alloc_pd(device->ib_device);
+	device->pd = ib_alloc_pd(device->ib_device, IB_PD_UNSAFE_GLOBAL_RKEY);
 	if (IS_ERR(device->pd))
 		goto pd_err;
 
 	for (i = 0; i < device->comps_used; i++) {
 		struct iser_comp *comp = &device->comps[i];
+		struct ib_cq_init_attr cq_attr = {
+			.cqe		= max_cqe,
+			.comp_vector	= i,
+		};
 
 		comp->device = device;
 		comp->cq = ib_create_cq(device->ib_device,
 					iser_cq_callback,
 					iser_cq_event_callback,
 					(void *)comp,
-					max_cqe, i);
+					&cq_attr);
 		if (IS_ERR(comp->cq)) {
 			comp->cq = NULL;
 			goto cq_err;
@@ -257,9 +255,7 @@ iser_create_device_ib_res(struct iser_device *device)
 		taskqueue_start_threads(&comp->tq, 1, PI_NET, "iser taskq");
 	}
 
-	device->mr = ib_get_dma_mr(device->pd, IB_ACCESS_LOCAL_WRITE |
-				   IB_ACCESS_REMOTE_WRITE |
-				   IB_ACCESS_REMOTE_READ);
+	device->mr = device->pd->__internal_mr;
 	if (IS_ERR(device->mr))
 		goto tq_err;
 
@@ -327,35 +323,21 @@ iser_alloc_reg_res(struct ib_device *ib_device,
 {
 	int ret;
 
-	res->frpl = ib_alloc_fast_reg_page_list(ib_device,
-						ISCSI_ISER_SG_TABLESIZE + 1);
-	if (IS_ERR(res->frpl)) {
-		ret = -PTR_ERR(res->frpl);
-		ISER_ERR("Failed to allocate fast reg page list err=%d", ret);
-		return (ret);
-	}
-
-	res->mr = ib_alloc_fast_reg_mr(pd, ISCSI_ISER_SG_TABLESIZE + 1);
+	res->mr = ib_alloc_mr(pd, IB_MR_TYPE_MEM_REG, ISCSI_ISER_SG_TABLESIZE + 1);
 	if (IS_ERR(res->mr)) {
 		ret = -PTR_ERR(res->mr);
 		ISER_ERR("Failed to allocate  fast reg mr err=%d", ret);
-		goto fast_reg_mr_failure;
+		return (ret);
 	}
 	res->mr_valid = 1;
 
 	return (0);
-
-fast_reg_mr_failure:
-	ib_free_fast_reg_page_list(res->frpl);
-
-	return (ret);
 }
 
 static void
 iser_free_reg_res(struct iser_reg_resources *rsc)
 {
 	ib_dereg_mr(rsc->mr);
-	ib_free_fast_reg_page_list(rsc->frpl);
 }
 
 static struct fast_reg_descriptor *

Modified: projects/bsd_rdma_4_9/sys/modules/iser/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/sys/modules/iser/Makefile	Thu Nov 16 12:51:39 2017	(r325890)
+++ projects/bsd_rdma_4_9/sys/modules/iser/Makefile	Thu Nov 16 13:28:00 2017	(r325891)
@@ -20,6 +20,7 @@ SRCS+=	icl_conn_if.h
 
 CFLAGS+= -I${SRCTOP}/sys/
 CFLAGS+= -I${SYSDIR}/ofed/include
+CFLAGS+= -I${SYSDIR}/ofed/include/uapi
 CFLAGS+= -I${SYSDIR}/compat/linuxkpi/common/include
 CFLAGS+= -DCONFIG_INFINIBAND_USER_MEM
 CFLAGS+= -DINET6 -DINET

From owner-svn-src-projects@freebsd.org  Thu Nov 16 15:13:30 2017
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id 55D1CDE0888
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Thu, 16 Nov 2017 15:13:30 +0000 (UTC)
 (envelope-from hselasky@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 0510C7E218;
 Thu, 16 Nov 2017 15:13:29 +0000 (UTC)
 (envelope-from hselasky@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vAGFDT8v060236;
 Thu, 16 Nov 2017 15:13:29 GMT (envelope-from hselasky@FreeBSD.org)
Received: (from hselasky@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id vAGFDThx060235;
 Thu, 16 Nov 2017 15:13:29 GMT (envelope-from hselasky@FreeBSD.org)
Message-Id: <201711161513.vAGFDThx060235@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: hselasky set sender to
 hselasky@FreeBSD.org using -f
From: Hans Petter Selasky <hselasky@FreeBSD.org>
Date: Thu, 16 Nov 2017 15:13:29 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r325894 - projects/bsd_rdma_4_9
X-SVN-Group: projects
X-SVN-Commit-Author: hselasky
X-SVN-Commit-Paths: projects/bsd_rdma_4_9
X-SVN-Commit-Revision: 325894
X-SVN-Commit-Repository: base
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.25
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 16 Nov 2017 15:13:30 -0000

Author: hselasky
Date: Thu Nov 16 15:13:28 2017
New Revision: 325894
URL: https://svnweb.freebsd.org/changeset/base/325894

Log:
  Update list of hardcoded OFED build order dependencies for
  the buildworld target.
  
  Sponsored by:	Mellanox Technologies

Modified:
  projects/bsd_rdma_4_9/Makefile.inc1

Modified: projects/bsd_rdma_4_9/Makefile.inc1
==============================================================================
--- projects/bsd_rdma_4_9/Makefile.inc1	Thu Nov 16 14:37:18 2017	(r325893)
+++ projects/bsd_rdma_4_9/Makefile.inc1	Thu Nov 16 15:13:28 2017	(r325894)
@@ -2410,16 +2410,33 @@ _lib_libradius=	lib/libradius
 .endif
 
 .if ${MK_OFED} != "no"
-_ofed_lib=		contrib/ofed/usr.lib
-_prebuild_libs+=	contrib/ofed/usr.lib/libosmcomp
-_prebuild_libs+=	contrib/ofed/usr.lib/libopensm
-_prebuild_libs+=	contrib/ofed/usr.lib/libibcommon
-_prebuild_libs+=	contrib/ofed/usr.lib/libibverbs
-_prebuild_libs+=	contrib/ofed/usr.lib/libibumad
+_ofed_lib= \
+contrib/ofed/include \
+contrib/ofed/libcxgb4 \
+contrib/ofed/libibcm \
+contrib/ofed/libibmad \
+contrib/ofed/libibnetdisc \
+contrib/ofed/libibumad \
+contrib/ofed/libibverbs \
+contrib/ofed/libmlx4 \
+contrib/ofed/libmlx5 \
+contrib/ofed/librdmacm \
+contrib/ofed/opensm/complib \
+contrib/ofed/opensm/libopensm \
+contrib/ofed/opensm/libvendor
 
-contrib/ofed/usr.lib/libopensm__L: lib/libthr__L
-contrib/ofed/usr.lib/libosmcomp__L: lib/libthr__L
-contrib/ofed/usr.lib/libibumad__L: contrib/ofed/usr.lib/libibcommon__L
+contrib/ofed/libcxgb4__L: contrib/ofed/libibverbs__L lib/libthr__L contrib/ofed/include__L
+contrib/ofed/libibcm__L: contrib/ofed/libibverbs__L contrib/ofed/include__L
+contrib/ofed/libibmad__L: contrib/ofed/libibumad__L contrib/ofed/include__L
+contrib/ofed/libibnetdisc__L: contrib/ofed/opensm/complib__L contrib/ofed/libibmad__L contrib/ofed/libibumad__L contrib/ofed/include__L
+contrib/ofed/libibumad__L: contrib/ofed/include__L
+contrib/ofed/libibverbs__L: contrib/ofed/include__L
+contrib/ofed/libmlx4__L: contrib/ofed/libibverbs__L lib/libthr__L contrib/ofed/include__L
+contrib/ofed/libmlx5__L: contrib/ofed/libibverbs__L lib/libthr__L contrib/ofed/include__L
+contrib/ofed/librdmacm__L: contrib/ofed/libibverbs__L contrib/ofed/include__L
+contrib/ofed/opensm/complib__L: lib/libthr__L contrib/ofed/include__L
+contrib/ofed/opensm/libopensm__L: lib/libthr__L contrib/ofed/include__L
+contrib/ofed/opensm/libvendor__L: contrib/ofed/libibumad__L lib/libthr__L contrib/ofed/include__L
 .endif
 
 .if ${MK_CASPER} != "no"

From owner-svn-src-projects@freebsd.org  Thu Nov 16 15:16:55 2017
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4B0AFDE0A22
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Thu, 16 Nov 2017 15:16:55 +0000 (UTC)
 (envelope-from hselasky@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 152C87E39A;
 Thu, 16 Nov 2017 15:16:55 +0000 (UTC)
 (envelope-from hselasky@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vAGFGsAC060393;
 Thu, 16 Nov 2017 15:16:54 GMT (envelope-from hselasky@FreeBSD.org)
Received: (from hselasky@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id vAGFGspX060392;
 Thu, 16 Nov 2017 15:16:54 GMT (envelope-from hselasky@FreeBSD.org)
Message-Id: <201711161516.vAGFGspX060392@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: hselasky set sender to
 hselasky@FreeBSD.org using -f
From: Hans Petter Selasky <hselasky@FreeBSD.org>
Date: Thu, 16 Nov 2017 15:16:54 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r325895 - projects/bsd_rdma_4_9/contrib/ofed/include
X-SVN-Group: projects
X-SVN-Commit-Author: hselasky
X-SVN-Commit-Paths: projects/bsd_rdma_4_9/contrib/ofed/include
X-SVN-Commit-Revision: 325895
X-SVN-Commit-Repository: base
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.25
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 16 Nov 2017 15:16:55 -0000

Author: hselasky
Date: Thu Nov 16 15:16:53 2017
New Revision: 325895
URL: https://svnweb.freebsd.org/changeset/base/325895

Log:
  Remove conflicting uint definition.
  
  Already defined by sys/types.h
  
  Sponsored by:	Mellanox Technologies

Modified:
  projects/bsd_rdma_4_9/contrib/ofed/include/types.h

Modified: projects/bsd_rdma_4_9/contrib/ofed/include/types.h
==============================================================================
--- projects/bsd_rdma_4_9/contrib/ofed/include/types.h	Thu Nov 16 15:13:28 2017	(r325894)
+++ projects/bsd_rdma_4_9/contrib/ofed/include/types.h	Thu Nov 16 15:16:53 2017	(r325895)
@@ -58,6 +58,4 @@ typedef uint32_t __be32;
 typedef uint64_t __le64;
 typedef uint64_t __be64;
 
-typedef unsigned int    uint;
-
 #endif	/* _INFINIBAND_TYPES_H_ */

From owner-svn-src-projects@freebsd.org  Thu Nov 16 15:18:38 2017
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4D567DE0A56
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Thu, 16 Nov 2017 15:18:38 +0000 (UTC)
 (envelope-from hselasky@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 254FA7E499;
 Thu, 16 Nov 2017 15:18:38 +0000 (UTC)
 (envelope-from hselasky@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vAGFIbbR060492;
 Thu, 16 Nov 2017 15:18:37 GMT (envelope-from hselasky@FreeBSD.org)
Received: (from hselasky@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id vAGFIbeq060489;
 Thu, 16 Nov 2017 15:18:37 GMT (envelope-from hselasky@FreeBSD.org)
Message-Id: <201711161518.vAGFIbeq060489@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: hselasky set sender to
 hselasky@FreeBSD.org using -f
From: Hans Petter Selasky <hselasky@FreeBSD.org>
Date: Thu, 16 Nov 2017 15:18:37 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r325896 - in projects/bsd_rdma_4_9/contrib/ofed: include
 libibumad
X-SVN-Group: projects
X-SVN-Commit-Author: hselasky
X-SVN-Commit-Paths: in projects/bsd_rdma_4_9/contrib/ofed: include libibumad
X-SVN-Commit-Revision: 325896
X-SVN-Commit-Repository: base
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.25
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 16 Nov 2017 15:18:38 -0000

Author: hselasky
Date: Thu Nov 16 15:18:36 2017
New Revision: 325896
URL: https://svnweb.freebsd.org/changeset/base/325896

Log:
  Fix compilation for libsysdecode.
  
  Don't install the ib_user_mad.h header file into user-space,
  because it conflicts with umad.h from libibumad.h when building
  libsysdecode.
  
  Sponsored by:	Mellanox Technologies

Modified:
  projects/bsd_rdma_4_9/contrib/ofed/include/Makefile
  projects/bsd_rdma_4_9/contrib/ofed/libibumad/umad.c
  projects/bsd_rdma_4_9/contrib/ofed/libibumad/umad.h

Modified: projects/bsd_rdma_4_9/contrib/ofed/include/Makefile
==============================================================================
--- projects/bsd_rdma_4_9/contrib/ofed/include/Makefile	Thu Nov 16 15:16:53 2017	(r325895)
+++ projects/bsd_rdma_4_9/contrib/ofed/include/Makefile	Thu Nov 16 15:18:36 2017	(r325896)
@@ -44,7 +44,6 @@ ${RDMACM}/rdma_cma_abi.h \
 ${RDMACM}/rdma_verbs.h \
 ${RDMACM}/rsocket.h \
 ${RDMA}/ib_user_cm.h \
-${RDMA}/ib_user_mad.h \
 ${RDMA}/ib_user_sa.h \
 ${RDMA}/ib_user_verbs.h	\
 ${RDMA}/rdma_user_cm.h \

Modified: projects/bsd_rdma_4_9/contrib/ofed/libibumad/umad.c
==============================================================================
--- projects/bsd_rdma_4_9/contrib/ofed/libibumad/umad.c	Thu Nov 16 15:16:53 2017	(r325895)
+++ projects/bsd_rdma_4_9/contrib/ofed/libibumad/umad.c	Thu Nov 16 15:18:36 2017	(r325896)
@@ -46,6 +46,7 @@
 #include <dirent.h>
 #include <ctype.h>
 #include <inttypes.h>
+#include <assert.h>
 
 #include <infiniband/umad.h>
 
@@ -63,6 +64,9 @@ typedef struct ib_user_mad_reg_req {
 	uint8_t rmpp_version;
 } ib_user_mad_reg_req_t;
 
+static_assert(sizeof(struct ib_user_mad_reg_req) == IOCPARM_LEN(IB_USER_MAD_REGISTER_AGENT),
+    "Invalid structure size");
+
 struct ib_user_mad_reg_req2 {
 	uint32_t id;
 	uint32_t qpn;
@@ -75,6 +79,9 @@ struct ib_user_mad_reg_req2 {
 	uint8_t  rmpp_version;
 	uint8_t  reserved[3];
 };
+
+static_assert(sizeof(struct ib_user_mad_reg_req2) == IOCPARM_LEN(IB_USER_MAD_REGISTER_AGENT2),
+    "Invalid structure size");
 
 #define IBWARN(fmt, args...) fprintf(stderr, "ibwarn: [%d] %s: " fmt "\n", getpid(), __func__, ## args)
 

Modified: projects/bsd_rdma_4_9/contrib/ofed/libibumad/umad.h
==============================================================================
--- projects/bsd_rdma_4_9/contrib/ofed/libibumad/umad.h	Thu Nov 16 15:16:53 2017	(r325895)
+++ projects/bsd_rdma_4_9/contrib/ofed/libibumad/umad.h	Thu Nov 16 15:18:36 2017	(r325896)
@@ -111,12 +111,12 @@ typedef struct ib_user_mad {
 
 #define IB_IOCTL_MAGIC		0x1b
 
-#define IB_USER_MAD_REGISTER_AGENT	_IOWR(IB_IOCTL_MAGIC, 1, \
-					      struct ib_user_mad_reg_req)
+#define IB_USER_MAD_REGISTER_AGENT \
+	_IOWR(IB_IOCTL_MAGIC, 1, uint8_t [28] /* struct ib_user_mad_reg_req */)
 #define IB_USER_MAD_UNREGISTER_AGENT	_IOW(IB_IOCTL_MAGIC, 2, uint32_t)
 #define IB_USER_MAD_ENABLE_PKEY		_IO(IB_IOCTL_MAGIC, 3)
-#define IB_USER_MAD_REGISTER_AGENT2     _IOWR(IB_IOCTL_MAGIC, 4, \
-					      struct ib_user_mad_reg_req2)
+#define IB_USER_MAD_REGISTER_AGENT2 \
+	_IOWR(IB_IOCTL_MAGIC, 4, uint8_t [40] /* struct ib_user_mad_reg_req2 */)
 
 #define UMAD_CA_NAME_LEN	20
 #define UMAD_CA_MAX_PORTS	10	/* 0 - 9 */

From owner-svn-src-projects@freebsd.org  Thu Nov 16 16:56:41 2017
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id A1DF9DE2E26
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Thu, 16 Nov 2017 16:56:41 +0000 (UTC)
 (envelope-from bdrewery@FreeBSD.org)
Received: from freefall.freebsd.org (freefall.freebsd.org
 [IPv6:2610:1c1:1:6074::16:84])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client CN "freefall.freebsd.org",
 Issuer "Let's Encrypt Authority X3" (verified OK))
 by mx1.freebsd.org (Postfix) with ESMTPS id 738C618C8;
 Thu, 16 Nov 2017 16:56:41 +0000 (UTC)
 (envelope-from bdrewery@FreeBSD.org)
Received: from mail.xzibition.com (unknown [127.0.1.132])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by freefall.freebsd.org (Postfix) with ESMTPS id 897F94D0C;
 Thu, 16 Nov 2017 16:56:40 +0000 (UTC)
 (envelope-from bdrewery@FreeBSD.org)
Received: from mail.xzibition.com (localhost [172.31.3.2])
 by mail.xzibition.com (Postfix) with ESMTP id 760F322B1;
 Thu, 16 Nov 2017 16:56:39 +0000 (UTC)
X-Virus-Scanned: amavisd-new at mail.xzibition.com
Received: from mail.xzibition.com ([172.31.3.2])
 by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new,
 port 10026)
 with LMTP id CXs2MFcJ05gg; Thu, 16 Nov 2017 16:56:36 +0000 (UTC)
Subject: Re: svn commit: r325894 - projects/bsd_rdma_4_9
DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com 50C7122AC
To: Hans Petter Selasky <hselasky@FreeBSD.org>, src-committers@freebsd.org,
 svn-src-projects@freebsd.org
References: <201711161513.vAGFDThx060235@repo.freebsd.org>
From: Bryan Drewery <bdrewery@FreeBSD.org>
Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF;
 url=http://www.shatow.net/bryan/bryan2.asc
Organization: FreeBSD
Message-ID: <a46a9d84-eb10-0fcf-9312-983dad229a4c@FreeBSD.org>
Date: Thu, 16 Nov 2017 08:56:22 -0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101
 Thunderbird/52.4.0
MIME-Version: 1.0
In-Reply-To: <201711161513.vAGFDThx060235@repo.freebsd.org>
Content-Type: multipart/signed; micalg=pgp-sha1;
 protocol="application/pgp-signature";
 boundary="dFiqTsRV5R13CqOuqpq5ibB9BMr6U9Re3"
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.25
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 16 Nov 2017 16:56:41 -0000

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--dFiqTsRV5R13CqOuqpq5ibB9BMr6U9Re3
Content-Type: multipart/mixed; boundary="dJq4P30mqlfkK6aGe015IRAkmqUViwOwb";
 protected-headers="v1"
From: Bryan Drewery <bdrewery@FreeBSD.org>
To: Hans Petter Selasky <hselasky@FreeBSD.org>, src-committers@freebsd.org,
 svn-src-projects@freebsd.org
Message-ID: <a46a9d84-eb10-0fcf-9312-983dad229a4c@FreeBSD.org>
Subject: Re: svn commit: r325894 - projects/bsd_rdma_4_9
References: <201711161513.vAGFDThx060235@repo.freebsd.org>
In-Reply-To: <201711161513.vAGFDThx060235@repo.freebsd.org>

--dJq4P30mqlfkK6aGe015IRAkmqUViwOwb
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable

On 11/16/2017 7:13 AM, Hans Petter Selasky wrote:
> Author: hselasky
> Date: Thu Nov 16 15:13:28 2017
> New Revision: 325894
> URL: https://svnweb.freebsd.org/changeset/base/325894
>=20
> Log:
>   Update list of hardcoded OFED build order dependencies for
>   the buildworld target.
>  =20
>   Sponsored by:	Mellanox Technologies
>=20
> Modified:
>   projects/bsd_rdma_4_9/Makefile.inc1
>=20
> Modified: projects/bsd_rdma_4_9/Makefile.inc1
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
> --- projects/bsd_rdma_4_9/Makefile.inc1	Thu Nov 16 14:37:18 2017	(r3258=
93)
> +++ projects/bsd_rdma_4_9/Makefile.inc1	Thu Nov 16 15:13:28 2017	(r3258=
94)
> @@ -2410,16 +2410,33 @@ _lib_libradius=3D	lib/libradius
>  .endif
> =20
>  .if ${MK_OFED} !=3D "no"
> -_ofed_lib=3D		contrib/ofed/usr.lib
> -_prebuild_libs+=3D	contrib/ofed/usr.lib/libosmcomp
> -_prebuild_libs+=3D	contrib/ofed/usr.lib/libopensm
> -_prebuild_libs+=3D	contrib/ofed/usr.lib/libibcommon
> -_prebuild_libs+=3D	contrib/ofed/usr.lib/libibverbs
> -_prebuild_libs+=3D	contrib/ofed/usr.lib/libibumad
> +_ofed_lib=3D \
> +contrib/ofed/include \
> +contrib/ofed/libcxgb4 \
> +contrib/ofed/libibcm \
> +contrib/ofed/libibmad \
> +contrib/ofed/libibnetdisc \
> +contrib/ofed/libibumad \
> +contrib/ofed/libibverbs \
> +contrib/ofed/libmlx4 \
> +contrib/ofed/libmlx5 \
> +contrib/ofed/librdmacm \
> +contrib/ofed/opensm/complib \
> +contrib/ofed/opensm/libopensm \
> +contrib/ofed/opensm/libvendor
> =20
> -contrib/ofed/usr.lib/libopensm__L: lib/libthr__L
> -contrib/ofed/usr.lib/libosmcomp__L: lib/libthr__L
> -contrib/ofed/usr.lib/libibumad__L: contrib/ofed/usr.lib/libibcommon__L=

> +contrib/ofed/libcxgb4__L: contrib/ofed/libibverbs__L lib/libthr__L con=
trib/ofed/include__L
> +contrib/ofed/libibcm__L: contrib/ofed/libibverbs__L contrib/ofed/inclu=
de__L
> +contrib/ofed/libibmad__L: contrib/ofed/libibumad__L contrib/ofed/inclu=
de__L
> +contrib/ofed/libibnetdisc__L: contrib/ofed/opensm/complib__L contrib/o=
fed/libibmad__L contrib/ofed/libibumad__L contrib/ofed/include__L
> +contrib/ofed/libibumad__L: contrib/ofed/include__L
> +contrib/ofed/libibverbs__L: contrib/ofed/include__L
> +contrib/ofed/libmlx4__L: contrib/ofed/libibverbs__L lib/libthr__L cont=
rib/ofed/include__L
> +contrib/ofed/libmlx5__L: contrib/ofed/libibverbs__L lib/libthr__L cont=
rib/ofed/include__L
> +contrib/ofed/librdmacm__L: contrib/ofed/libibverbs__L contrib/ofed/inc=
lude__L
> +contrib/ofed/opensm/complib__L: lib/libthr__L contrib/ofed/include__L
> +contrib/ofed/opensm/libopensm__L: lib/libthr__L contrib/ofed/include__=
L
> +contrib/ofed/opensm/libvendor__L: contrib/ofed/libibumad__L lib/libthr=
__L contrib/ofed/include__L
>  .endif
> =20
>  .if ${MK_CASPER} !=3D "no"
>=20

This isn't right, you don't need to include any 'include' directories in
here as 'make includes' is ran before 'make libraries'.

You don't need libthr either as it is in prebuild_libs which is built
before all of this.

I suspect the actual change needed is far smaller than this.

--=20
Regards,
Bryan Drewery


--dJq4P30mqlfkK6aGe015IRAkmqUViwOwb--

--dFiqTsRV5R13CqOuqpq5ibB9BMr6U9Re3
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBAgAGBQJaDcM2AAoJEDXXcbtuRpfPi78H/12XZ98CiMwnWr+OmLK4IUot
KSgM/IDA3BJyHm4l2zYDYVn9IepddjArEyHy+l1hchfj/V5dTqA7RKGM5XitAPIh
jUkbn9GdRvZnW4ar5hYDcEideIQXgyNx9H4Eq/ZcvE+XTLXir8wbnZ9oVV8xYmEK
hqtyWeqcDVEp/qxe8gM9Sr+UX66MAGsdRX5gHfN4NVr235h7R1Xi4VJo+LPkctyl
tnaX3fnQpJCpxJGh9HoR6Yc+/DlfZU8ZE3AYB0hky37QVAdC9J2rnXev8c0hQGP6
Ewv0dTzVcWryMc8p8LSQbdHkgARVLpOPksBEwVIYu2TLmHJjfqjpc4WbcBZf76U=
=jnWK
-----END PGP SIGNATURE-----

--dFiqTsRV5R13CqOuqpq5ibB9BMr6U9Re3--

From owner-svn-src-projects@freebsd.org  Thu Nov 16 21:15:17 2017
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4DF8FDE9599
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Thu, 16 Nov 2017 21:15:17 +0000 (UTC) (envelope-from hps@selasky.org)
Received: from mail.turbocat.net (turbocat.net [88.99.82.50])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 1459A6A9DF;
 Thu, 16 Nov 2017 21:15:16 +0000 (UTC) (envelope-from hps@selasky.org)
Received: from hps2016.home.selasky.org (unknown [62.141.128.70])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mail.turbocat.net (Postfix) with ESMTPSA id B1B272603AE;
 Thu, 16 Nov 2017 22:15:13 +0100 (CET)
Subject: Re: svn commit: r325894 - projects/bsd_rdma_4_9
To: Bryan Drewery <bdrewery@FreeBSD.org>, src-committers@freebsd.org,
 svn-src-projects@freebsd.org
References: <201711161513.vAGFDThx060235@repo.freebsd.org>
 <a46a9d84-eb10-0fcf-9312-983dad229a4c@FreeBSD.org>
From: Hans Petter Selasky <hps@selasky.org>
Message-ID: <97fb917d-8495-6ccf-9772-6b05da10e5f1@selasky.org>
Date: Thu, 16 Nov 2017 22:12:26 +0100
User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:52.0) Gecko/20100101
 Thunderbird/52.4.0
MIME-Version: 1.0
In-Reply-To: <a46a9d84-eb10-0fcf-9312-983dad229a4c@FreeBSD.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.25
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 16 Nov 2017 21:15:17 -0000

On 11/16/17 17:56, Bryan Drewery wrote:
> On 11/16/2017 7:13 AM, Hans Petter Selasky wrote:
>> Author: hselasky
>> Date: Thu Nov 16 15:13:28 2017
>> New Revision: 325894
>> URL: https://svnweb.freebsd.org/changeset/base/325894
>>
>> Log:
>>    Update list of hardcoded OFED build order dependencies for
>>    the buildworld target.
>>    
>>    Sponsored by:	Mellanox Technologies
>>
>> Modified:
>>    projects/bsd_rdma_4_9/Makefile.inc1
>>

Hi,

>>
> 
> This isn't right, you don't need to include any 'include' directories in
> here as 'make includes' is ran before 'make libraries'.

I tried leaving the include directory out and it failed.

> 
> You don't need libthr either as it is in prebuild_libs which is built
> before all of this.

OK. I'll update it tomorrow.

> 
> I suspect the actual change needed is far smaller than this.
> 

Thank you for your review.

--HPS

From owner-svn-src-projects@freebsd.org  Thu Nov 16 23:47:45 2017
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id 37374DEDC8E
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Thu, 16 Nov 2017 23:47:45 +0000 (UTC)
 (envelope-from bdrewery@FreeBSD.org)
Received: from freefall.freebsd.org (freefall.freebsd.org [96.47.72.132])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client CN "freefall.freebsd.org",
 Issuer "Let's Encrypt Authority X3" (verified OK))
 by mx1.freebsd.org (Postfix) with ESMTPS id 07AB371385;
 Thu, 16 Nov 2017 23:47:45 +0000 (UTC)
 (envelope-from bdrewery@FreeBSD.org)
Received: from mail.xzibition.com (unknown [127.0.1.132])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by freefall.freebsd.org (Postfix) with ESMTPS id 068AECF58;
 Thu, 16 Nov 2017 23:47:44 +0000 (UTC)
 (envelope-from bdrewery@FreeBSD.org)
Received: from mail.xzibition.com (localhost [172.31.3.2])
 by mail.xzibition.com (Postfix) with ESMTP id DF9762A9B;
 Thu, 16 Nov 2017 23:47:42 +0000 (UTC)
X-Virus-Scanned: amavisd-new at mail.xzibition.com
Received: from mail.xzibition.com ([172.31.3.2])
 by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new,
 port 10026)
 with LMTP id NHzeuySRS2hL; Thu, 16 Nov 2017 23:47:39 +0000 (UTC)
Subject: Re: svn commit: r325894 - projects/bsd_rdma_4_9
DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com A883A2A96
To: Hans Petter Selasky <hps@selasky.org>, src-committers@freebsd.org,
 svn-src-projects@freebsd.org
References: <201711161513.vAGFDThx060235@repo.freebsd.org>
 <a46a9d84-eb10-0fcf-9312-983dad229a4c@FreeBSD.org>
 <97fb917d-8495-6ccf-9772-6b05da10e5f1@selasky.org>
From: Bryan Drewery <bdrewery@FreeBSD.org>
Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF;
 url=http://www.shatow.net/bryan/bryan2.asc
Organization: FreeBSD
Message-ID: <b95ef558-751e-af4f-3b28-ea71202bf784@FreeBSD.org>
Date: Thu, 16 Nov 2017 15:47:19 -0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101
 Thunderbird/52.4.0
MIME-Version: 1.0
In-Reply-To: <97fb917d-8495-6ccf-9772-6b05da10e5f1@selasky.org>
Content-Type: multipart/signed; micalg=pgp-sha1;
 protocol="application/pgp-signature";
 boundary="bde0g249v2wHScUXbMpLLPDd8nThlmnOC"
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.25
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 16 Nov 2017 23:47:45 -0000

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--bde0g249v2wHScUXbMpLLPDd8nThlmnOC
Content-Type: multipart/mixed; boundary="0bnLOvSIiUw0gsuupQkoeXgdMAoTWpKUN";
 protected-headers="v1"
From: Bryan Drewery <bdrewery@FreeBSD.org>
To: Hans Petter Selasky <hps@selasky.org>, src-committers@freebsd.org,
 svn-src-projects@freebsd.org
Message-ID: <b95ef558-751e-af4f-3b28-ea71202bf784@FreeBSD.org>
Subject: Re: svn commit: r325894 - projects/bsd_rdma_4_9
References: <201711161513.vAGFDThx060235@repo.freebsd.org>
 <a46a9d84-eb10-0fcf-9312-983dad229a4c@FreeBSD.org>
 <97fb917d-8495-6ccf-9772-6b05da10e5f1@selasky.org>
In-Reply-To: <97fb917d-8495-6ccf-9772-6b05da10e5f1@selasky.org>

--0bnLOvSIiUw0gsuupQkoeXgdMAoTWpKUN
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable

On 11/16/2017 1:12 PM, Hans Petter Selasky wrote:
> On 11/16/17 17:56, Bryan Drewery wrote:
>> On 11/16/2017 7:13 AM, Hans Petter Selasky wrote:
>>> Author: hselasky
>>> Date: Thu Nov 16 15:13:28 2017
>>> New Revision: 325894
>>> URL: https://svnweb.freebsd.org/changeset/base/325894
>>>
>>> Log:
>>> =C2=A0=C2=A0 Update list of hardcoded OFED build order dependencies f=
or
>>> =C2=A0=C2=A0 the buildworld target.
>>> =C2=A0=C2=A0 =C2=A0=C2=A0 Sponsored by:=C2=A0=C2=A0=C2=A0 Mellanox Te=
chnologies
>>>
>>> Modified:
>>> =C2=A0=C2=A0 projects/bsd_rdma_4_9/Makefile.inc1
>>>
>=20
> Hi,
>=20
>>>
>>
>> This isn't right, you don't need to include any 'include' directories =
in
>> here as 'make includes' is ran before 'make libraries'.
>=20
> I tried leaving the include directory out and it failed.

1.
I don't see any reason for that.  You shouldn't need
contrib/ofed/include__L anywhere nor contrib/ofed/include in _ofed_lib li=
st.
I see contrib/ofed/include hooked up fine for 'make _includes' so long
as WITH_OFED is defined.

What was the error?


2.
Unrelated but I don't like the new directory structure of
contrib/ofed/usr.bin/* -> contrib/ofed/*.  Now we have contributed
sources in with our FreeBSD Makefiles.

It also makes it more complex in the _ofed_lib list since before we
could just have contrib/ofed/usr.lib but now must list out every library.=


3.
contrib/ofed/Makefile is also super complex now.  It should really just
look like the Makefile.inc1 changes (minus the include and libthr
directories).  Just add a .WAIT after include in SUBDIR and make it first=
=2E
You have this chained dependency thing but dependencies are already
inherited just fine.
SUBDIR_DEPEND_foo=3D bar
SUBDIR_DEPEND_baz=3D foo

baz will implicitly depend on bar being built, there's no need to
explicitly add bar as a dependency but it's not wrong to do so if it has
a LIBADD on it.

>=20
>>
>> You don't need libthr either as it is in prebuild_libs which is built
>> before all of this.
>=20
> OK. I'll update it tomorrow.
>=20
>>
>> I suspect the actual change needed is far smaller than this.
>>
>=20
> Thank you for your review.
>=20
> --HPS


--=20
Regards,
Bryan Drewery


--0bnLOvSIiUw0gsuupQkoeXgdMAoTWpKUN--

--bde0g249v2wHScUXbMpLLPDd8nThlmnOC
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBAgAGBQJaDiOHAAoJEDXXcbtuRpfPiA0H/3Kv0Wt4DdEEmtNkkQoAPAW6
Evdi5nuSCwviclhoHx+/YUX9z8I4U2cseqZYMImRmhAC+8w1OYMnVbFndXGFZLBy
zm/MPJRJPJ1p1+8P3kX73RGvDoUCTCJYBtzFDpwGB6vVSNBH0x4kb+cQvVOETwUm
Zsimg+R8oQjnvaf+tLDxUbrrR88+fUGvaOx+Wl3JwxXNmZAgkQDvvxsb3sahzH8K
PUg4NIZj8IJ+dOgqqKJR472TCK9ldhJ6gUsHcGd0lsolNKv3jSnV2wJbQE5/634M
lFdgeA6dWezSyW1fFxgOdoLjkPbj+p8DeL+OL62xWNHE9ofsdScTCX+vSi/k2kw=
=LN6c
-----END PGP SIGNATURE-----

--bde0g249v2wHScUXbMpLLPDd8nThlmnOC--

From owner-svn-src-projects@freebsd.org  Fri Nov 17 07:49:55 2017
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4B800DBD325
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Fri, 17 Nov 2017 07:49:55 +0000 (UTC) (envelope-from hps@selasky.org)
Received: from mail.turbocat.net (turbocat.net [88.99.82.50])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 131277E252;
 Fri, 17 Nov 2017 07:49:54 +0000 (UTC) (envelope-from hps@selasky.org)
Received: from hps2016.home.selasky.org (unknown [62.141.128.70])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mail.turbocat.net (Postfix) with ESMTPSA id 01EAA2603B1;
 Fri, 17 Nov 2017 08:49:51 +0100 (CET)
Subject: Re: svn commit: r325894 - projects/bsd_rdma_4_9
To: Bryan Drewery <bdrewery@FreeBSD.org>, src-committers@freebsd.org,
 svn-src-projects@freebsd.org
References: <201711161513.vAGFDThx060235@repo.freebsd.org>
 <a46a9d84-eb10-0fcf-9312-983dad229a4c@FreeBSD.org>
 <97fb917d-8495-6ccf-9772-6b05da10e5f1@selasky.org>
 <b95ef558-751e-af4f-3b28-ea71202bf784@FreeBSD.org>
From: Hans Petter Selasky <hps@selasky.org>
Message-ID: <e7535924-d888-a172-18d3-9c7a46eae3b3@selasky.org>
Date: Fri, 17 Nov 2017 08:47:09 +0100
User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:52.0) Gecko/20100101
 Thunderbird/52.4.0
MIME-Version: 1.0
In-Reply-To: <b95ef558-751e-af4f-3b28-ea71202bf784@FreeBSD.org>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.25
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 17 Nov 2017 07:49:55 -0000

On 11/17/17 00:47, Bryan Drewery wrote:
> On 11/16/2017 1:12 PM, Hans Petter Selasky wrote:
>> On 11/16/17 17:56, Bryan Drewery wrote:
>>> On 11/16/2017 7:13 AM, Hans Petter Selasky wrote:
>>>> Author: hselasky
>>>> Date: Thu Nov 16 15:13:28 2017
>>>> New Revision: 325894
>>>> URL: https://svnweb.freebsd.org/changeset/base/325894
>>>>
>>>> Log:
>>>>     Update list of hardcoded OFED build order dependencies for
>>>>     the buildworld target.
>>>>        Sponsored by:    Mellanox Technologies
>>>>
>>>> Modified:
>>>>     projects/bsd_rdma_4_9/Makefile.inc1
>>>>
>>
>> Hi,
>>
>>>>
>>>
>>> This isn't right, you don't need to include any 'include' directories in
>>> here as 'make includes' is ran before 'make libraries'.
>>
>> I tried leaving the include directory out and it failed.
> 
> 1.
> I don't see any reason for that.  You shouldn't need
> contrib/ofed/include__L anywhere nor contrib/ofed/include in _ofed_lib list.
> I see contrib/ofed/include hooked up fine for 'make _includes' so long
> as WITH_OFED is defined.
> 
> What was the error?

Hi,

I'll do some experiments today.

> 
> 2.
> Unrelated but I don't like the new directory structure of
> contrib/ofed/usr.bin/* -> contrib/ofed/*.  Now we have contributed
> sources in with our FreeBSD Makefiles.
> 
> It also makes it more complex in the _ofed_lib list since before we
> could just have contrib/ofed/usr.lib but now must list out every library.

I'm aware about the duplication. The reason is simply that we want to 
build contrib/ofed as a standalone target. Currently it only works with 
buildworld, due to the _ofed_lib only being active during buildworld. 
Why can't the _ofed_lib be embedded inside the contrib/ofed/Makefile ?

> 
> 3.
> contrib/ofed/Makefile is also super complex now.  It should really just
> look like the Makefile.inc1 changes (minus the include and libthr
> directories).  Just add a .WAIT after include in SUBDIR and make it first.
> You have this chained dependency thing but dependencies are already
> inherited just fine.
> SUBDIR_DEPEND_foo= bar
> SUBDIR_DEPEND_baz= foo

The complexity is there to support standalone builds.

> 
> baz will implicitly depend on bar being built, there's no need to
> explicitly add bar as a dependency but it's not wrong to do so if it has
> a LIBADD on it.

I see. I'll try to clean it up a bit more today.

Thanks for your input.

--HPS

From owner-svn-src-projects@freebsd.org  Fri Nov 17 15:23:43 2017
Return-Path: <owner-svn-src-projects@freebsd.org>
Delivered-To: svn-src-projects@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id 59902DDCAF1
 for <svn-src-projects@mailman.ysv.freebsd.org>;
 Fri, 17 Nov 2017 15:23:43 +0000 (UTC)
 (envelope-from hselasky@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 2611B6A260;
 Fri, 17 Nov 2017 15:23:43 +0000 (UTC)
 (envelope-from hselasky@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vAHFNgZ1074093;
 Fri, 17 Nov 2017 15:23:42 GMT (envelope-from hselasky@FreeBSD.org)
Received: (from hselasky@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id vAHFNgrl074092;
 Fri, 17 Nov 2017 15:23:42 GMT (envelope-from hselasky@FreeBSD.org)
Message-Id: <201711171523.vAHFNgrl074092@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: hselasky set sender to
 hselasky@FreeBSD.org using -f
From: Hans Petter Selasky <hselasky@FreeBSD.org>
Date: Fri, 17 Nov 2017 15:23:42 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject: svn commit: r325935 - projects/bsd_rdma_4_9/contrib/ofed/libibnetdisc
X-SVN-Group: projects
X-SVN-Commit-Author: hselasky
X-SVN-Commit-Paths: projects/bsd_rdma_4_9/contrib/ofed/libibnetdisc
X-SVN-Commit-Revision: 325935
X-SVN-Commit-Repository: base
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-projects@freebsd.org
X-Mailman-Version: 2.1.25
Precedence: list
List-Id: "SVN commit messages for the src &quot; projects&quot;
 tree" <svn-src-projects.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-projects/>
List-Post: <mailto:svn-src-projects@freebsd.org>
List-Help: <mailto:svn-src-projects-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-projects>, 
 <mailto:svn-src-projects-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 17 Nov 2017 15:23:43 -0000

Author: hselasky
Date: Fri Nov 17 15:23:42 2017
New Revision: 325935
URL: https://svnweb.freebsd.org/changeset/base/325935

Log:
  Fix compilation of libibnetdisc using in-base GCC v4.2.1.
  
  Sponsored by:	Mellanox Technologies

Modified:
  projects/bsd_rdma_4_9/contrib/ofed/libibnetdisc/g_hash_table.cpp

Modified: projects/bsd_rdma_4_9/contrib/ofed/libibnetdisc/g_hash_table.cpp
==============================================================================
--- projects/bsd_rdma_4_9/contrib/ofed/libibnetdisc/g_hash_table.cpp	Fri Nov 17 13:12:20 2017	(r325934)
+++ projects/bsd_rdma_4_9/contrib/ofed/libibnetdisc/g_hash_table.cpp	Fri Nov 17 15:23:42 2017	(r325935)
@@ -31,11 +31,17 @@
  *
  */
 
+#if defined(__clang__)
 #include <unordered_map>
+#define	HASH_TABLE_UNORDERED_MAP std::unordered_map
+#else
+#include <tr1/unordered_map>
+#define	HASH_TABLE_UNORDERED_MAP std::tr1::unordered_map
+#endif
 
 class HashTable {
 public:
-	std::unordered_map<void *, void *> map;
+	HASH_TABLE_UNORDERED_MAP<void *, void *> map;
 	HashTable() { };
 	~HashTable() { };
 };