Linux RDMA and InfiniBand development
 help / color / mirror / Atom feed
* Re: [PATCH rdma-core 0/8] Eliminate most loose COPYING files
From: Doug Ledford @ 2016-11-10 23:59 UTC (permalink / raw)
  To: Jason Gunthorpe, linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <1478803660-27959-1-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>


[-- Attachment #1.1: Type: text/plain, Size: 741 bytes --]

On 11/10/2016 1:47 PM, Jason Gunthorpe wrote:
> This is done by pushing the copyright statement into the files in the
> subdirectory without copyright.
> 
> https://github.com/linux-rdma/rdma-core/pull/39
> 
> Jason Gunthorpe (8):
>   ibcm: Delete COPYING file
>   iwpmd: Delete COPYING file
>   srp_daemon: Push COPYING file into individual files
>   umad: Push COPYING file into individual files
>   ibverbs: Push COPYING file into individual files
>   rdmacm: Push COPYING file into individual files
>   ibacm: Push COPYING file into individual files
>   mlx4: Push COPYING file into individual files

Thanks, applied.


-- 
Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
    GPG Key ID: 0E572FDD


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 884 bytes --]

^ permalink raw reply

* Re: Problems trying to bridge/route RoCE
From: Robert LeBlanc @ 2016-11-10 22:33 UTC (permalink / raw)
  To: Parav Pandit; +Cc: linux-rdma
In-Reply-To: <CAANLjFoqDxnPgQiJT6FBMFYLw+iGyN-2yDYJfSRnEi04AR_0Yg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

I found a ConnectX-3 (non-pro) and wired it up. So in bridge mode, it
seems like I can get ib_read_bw to work (still with a warm-up error
message), but as router, I'm still having trouble.

192.168.21.17 ----- Linux bridge ------ 192.168.21.18

# ib_read_bw -d mlx5_0 -F -a 192.168.21.17
---------------------------------------------------------------------------------------
Device not recognized to implement inline feature. Disabling it
---------------------------------------------------------------------------------------
                    RDMA_Read BW Test
 Dual-port       : OFF          Device         : mlx5_0
 Number of qps   : 1            Transport type : IB
 Connection type : RC           Using SRQ      : OFF
 TX depth        : 128
 CQ Moderation   : 100
 Mtu             : 1024[B]
 Link type       : Ethernet
 Gid index       : 0
 Outstand reads  : 16
 rdma_cm QPs     : OFF
 Data ex. method : Ethernet
---------------------------------------------------------------------------------------
 local address: LID 0000 QPN 0x0135 PSN 0x12f108 OUT 0x10 RKey
0x009f79 VAddr 0x007f1c82d1f000
 GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:21:18
 remote address: LID 0000 QPN 0x0175 PSN 0x37982e OUT 0x10 RKey
0x00eac9 VAddr 0x007f54c1405000
 GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:21:17
---------------------------------------------------------------------------------------
 #bytes     #iterations    BW peak[MB/sec]    BW average[MB/sec]   MsgRate[Mpps]
Conflicting CPU frequency values detected: 3698.669000 != 3102.661000
Test integrity may be harmed !
Warning: measured timestamp frequency 3499.86 differs from nominal 3698.67 MHz
 2          1000             0.65               0.65               0.341088
Conflicting CPU frequency values detected: 3699.310000 != 1199.920000
Test integrity may be harmed !
Warning: measured timestamp frequency 3500.01 differs from nominal 3699.31 MHz
 4          1000             0.10               0.10               0.025750
Conflicting CPU frequency values detected: 3681.579000 != 1199.920000
Test integrity may be harmed !
Warning: measured timestamp frequency 3499.99 differs from nominal 3681.58 MHz
 8          1000             2.77               2.77               0.363689
Conflicting CPU frequency values detected: 3602.325000 != 3265.655000
Test integrity may be harmed !
Warning: measured timestamp frequency 3499.99 differs from nominal 3602.32 MHz
 16         1000             5.37               5.36               0.351569
Conflicting CPU frequency values detected: 3600.830000 != 3265.655000
Test integrity may be harmed !
Warning: measured timestamp frequency 3499.97 differs from nominal 3600.83 MHz
 32         1000             11.30              11.29              0.370062
Conflicting CPU frequency values detected: 3599.761000 != 3265.655000
Test integrity may be harmed !
Warning: measured timestamp frequency 3500.01 differs from nominal 3599.76 MHz
 64         1000             22.39              22.28              0.365108
Conflicting CPU frequency values detected: 3599.975000 != 3265.655000
Test integrity may be harmed !
Warning: measured timestamp frequency 3500.01 differs from nominal 3599.97 MHz
 128        1000             45.09              45.08              0.369316
Conflicting CPU frequency values detected: 3599.761000 != 3265.655000
Test integrity may be harmed !
Warning: measured timestamp frequency 3499.99 differs from nominal 3599.76 MHz
 256        1000             89.55              89.54              0.366765
Conflicting CPU frequency values detected: 3599.761000 != 2280.212000
Test integrity may be harmed !
Warning: measured timestamp frequency 3500 differs from nominal 3599.76 MHz
 512        1000             179.65             179.64             0.367907
 Conflicting CPU frequency values detected: 3599.761000 != 1200.347000
Test integrity may be harmed !
Warning: measured timestamp frequency 3499.99 differs from nominal 3599.76 MHz
 1024       1000             361.00             360.98             0.369639
Conflicting CPU frequency values detected: 3601.043000 != 1751.495000
Test integrity may be harmed !
Warning: measured timestamp frequency 3500.01 differs from nominal 3601.04 MHz
 2048       1000             492.15             491.42             0.251606
Conflicting CPU frequency values detected: 3698.028000 != 3601.470000
Test integrity may be harmed !
Warning: measured timestamp frequency 3500.01 differs from nominal 3698.03 MHz
 4096       1000             617.10             615.00             0.157440
Conflicting CPU frequency values detected: 3684.356000 != 3600.189000
Test integrity may be harmed !
Warning: measured timestamp frequency 3500 differs from nominal 3684.36 MHz
 8192       1000             679.31             679.30             0.086951
Conflicting CPU frequency values detected: 3646.759000 != 1877.532000
Test integrity may be harmed !
Warning: measured timestamp frequency 3499.98 differs from nominal 3646.76 MHz
 16384      1000             722.86             722.85             0.046262
Conflicting CPU frequency values detected: 3599.975000 != 2271.881000
Test integrity may be harmed !
Warning: measured timestamp frequency 3499.99 differs from nominal 3599.97 MHz
 32768      1000             742.08             742.08             0.023746
Conflicting CPU frequency values detected: 3602.966000 != 1933.929000
Test integrity may be harmed !
Warning: measured timestamp frequency 3499.97 differs from nominal 3602.97 MHz
 65536      1000             763.25             762.52             0.012200
mlx5: prv-0-18-roberttest.betterservers.com: got completion with error:
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000
00000000 00008813 10000135 4680fcd2
Problems with warm up


=== Router config ===
192.168.21.17 ------ 192.168.21.11 (Linux router) 192.168.22.11 ------
192.168.21.18

#192.168.22.18
# ping 192.168.21.17
PING 192.168.21.17 (192.168.21.17) 56(84) bytes of data.
64 bytes from 192.168.21.17: icmp_seq=1 ttl=63 time=0.191 ms
^C
--- 192.168.21.17 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.191/0.191/0.191/0.000 ms

#192.168.21.17
# route -n | grep 168
192.168.21.0    0.0.0.0         255.255.255.0   U     0      0        0 eth2
192.168.22.0    192.168.21.11   255.255.255.0   UG    0      0        0 eth2

#192.168.22.18
# route -n | grep 168
192.168.21.0    192.168.22.11   255.255.255.0   UG    0      0        0 eth2
192.168.22.0    0.0.0.0         255.255.255.0   U     0      0        0 eth2

#192.168.22.18
# ib_read_bw -d mlx5_0 -F -a 192.168.21.17
---------------------------------------------------------------------------------------
Device not recognized to implement inline feature. Disabling it
---------------------------------------------------------------------------------------
                    RDMA_Read BW Test
 Dual-port       : OFF          Device         : mlx5_0
 Number of qps   : 1            Transport type : IB
 Connection type : RC           Using SRQ      : OFF
 TX depth        : 128
 CQ Moderation   : 100
 Mtu             : 1024[B]
 Link type       : Ethernet
 Gid index       : 0
 Outstand reads  : 16
 rdma_cm QPs     : OFF
 Data ex. method : Ethernet
---------------------------------------------------------------------------------------
 local address: LID 0000 QPN 0x013a PSN 0x676912 OUT 0x10 RKey
0x00dfd3 VAddr 0x007fe67aee8000
 GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:22:18
 remote address: LID 0000 QPN 0x017a PSN 0x4256ce OUT 0x10 RKey
0x012985 VAddr 0x007f59de5bf000
 GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:21:17
---------------------------------------------------------------------------------------
 #bytes     #iterations    BW peak[MB/sec]    BW average[MB/sec]   MsgRate[Mpps]
Problems with warm up


#192.168.21.17
# cat /sys/kernel/config/rdma_cm/mlx5_0/ports/1/default_roce_mode
RoCE v2

#192.168.22.18
# cat /sys/kernel/config/rdma_cm/mlx5_0/ports/1/default_roce_mode
RoCE v2

With routing, I'm not seeing any RoCE traffic with tcpdump on the
interfaces. With bridge mode, I do see the RoCE traffic, but it looks
like RoCE v1 traffic.

[snip]
14:55:06.010682 0c:c4:7a:89:f7:06 > 0c:c4:7a:89:f6:f6, ethertype
Unknown (0x8915), length 78:
        0x0000:  6010 0000 0018 1b40 0000 0000 0000 0000  `......@........
        0x0010:  0000 ffff c0a8 1511 0000 0000 0000 0000  ................
        0x0020:  0000 ffff c0a8 1512 1060 ffff 0000 013e  .........`.....>
        0x0030:  00e5 7b6c 0000 0411 0000 0000 60bb 6a87  ..{l........`.j.
[snip]

I can get iSER to kind of work...

In bridge mode and running fio on the iSER target, I'm getting
messages in dmesg:
[Thu Nov 10 15:14:17 2016] mlx5_0:dump_cqe:263:(pid 0): dump error cqe
[Thu Nov 10 15:14:17 2016] 00000000 00000000 00000000 00000000
[Thu Nov 10 15:14:17 2016] 00000000 00000000 00000000 00000000
[Thu Nov 10 15:14:17 2016] 00000000 00000000 00000000 00000000
[Thu Nov 10 15:14:17 2016] 00000000 08007806 2500014f a7a758d2
[Thu Nov 10 15:14:17 2016] iser: iser_err_comp: memreg failure: memory
management operation error (6) vend_err 78
[Thu Nov 10 15:14:17 2016]  connection82:0: detected conn error (1011)
[Thu Nov 10 15:14:24 2016] mlx5_0:dump_cqe:263:(pid 0): dump error cqe
[Thu Nov 10 15:14:24 2016] 00000000 00000000 00000000 00000000
[Thu Nov 10 15:14:24 2016] 00000000 00000000 00000000 00000000
[Thu Nov 10 15:14:24 2016] 00000000 00000000 00000000 00000000
[Thu Nov 10 15:14:24 2016] 00000000 08007806 25000150 3471eed2
...

In routed mode I also get the same messages, but the device goes
offline and crashes fio

[Thu Nov 10 15:09:13 2016] mlx5_0:dump_cqe:263:(pid 0): dump error cqe
[Thu Nov 10 15:09:13 2016] 00000000 00000000 00000000 00000000
[Thu Nov 10 15:09:13 2016] 00000000 00000000 00000000 00000000
[Thu Nov 10 15:09:13 2016] 00000000 00000000 00000000 00000000
[Thu Nov 10 15:09:13 2016] 00000000 08007806 25000149 5a524ad2
[Thu Nov 10 15:09:13 2016] iser: iser_err_comp: memreg failure: memory
management operation error (6) vend_err 78
[Thu Nov 10 15:09:13 2016]  connection80:0: detected conn error (1011)
[Thu Nov 10 15:09:18 2016]  session80: session recovery timed out after 5 secs
[Thu Nov 10 15:09:18 2016] sd 13:0:0:0: rejecting I/O to offline device
[Thu Nov 10 15:09:18 2016] sd 13:0:0:0: [sdab] killing request
[Thu Nov 10 15:09:18 2016] sd 13:0:0:0: rejecting I/O to offline device
[Thu Nov 10 15:09:18 2016] scsi_io_completion: 23 callbacks suppressed
[Thu Nov 10 15:09:18 2016] sd 13:0:0:0: [sdab] FAILED Result:
hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK
[Thu Nov 10 15:09:18 2016] sd 13:0:0:0: [sdab] CDB: Read(10) 28 00 09
9f 97 18 00 01 48 00
[Thu Nov 10 15:09:18 2016] blk_update_request: 23 callbacks suppressed
[Thu Nov 10 15:09:18 2016] blk_update_request: I/O error, dev sdab,
sector 161453848
[Thu Nov 10 15:09:18 2016] sd 13:0:0:0: [sdab] killing request
[Thu Nov 10 15:09:18 2016] sd 13:0:0:0: rejecting I/O to offline device
[Thu Nov 10 15:09:18 2016] sd 13:0:0:0: [sdab] FAILED Result:
hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK
[Thu Nov 10 15:09:18 2016] sd 13:0:0:0: [sdab] CDB: Read(10) 28 00 07
bf 98 60 00 00 a8 00
[Thu Nov 10 15:09:18 2016] blk_update_request: I/O error, dev sdab,
sector 129996896
[Thu Nov 10 15:09:18 2016] sd 13:0:0:0: [sdab] killing request
[Thu Nov 10 15:09:18 2016] sd 13:0:0:0: rejecting I/O to offline device
[Thu Nov 10 15:09:18 2016] sd 13:0:0:0: [sdab] killing request
...

This is all using ConnectX-4 LX cards on the target and initiator and
the 3.8.5 kernel.

Any ideas of what may be causing these issues?

Thank you,
Robert LeBlanc

----------------
Robert LeBlanc
PGP Fingerprint 79A2 9CA4 6CC4 45DD A904  C70E E654 3BB2 FA62 B9F1


On Thu, Nov 3, 2016 at 11:38 AM, Robert LeBlanc <robert-4JaGZRWAfWbajFs6igw21g@public.gmane.org> wrote:
> That box has a build-in ConnectX-3 card that we aren't using in this
> test so the mlx4 modules are loaded. I unloaded mlx4_ib, no luck. I
> also tried to unload the mlx5_ib driver and it also unloaded mlx5_core
> and my interfaces were gone. It seems like I can't only unload
> mlx5_ib.
>
> With mlx4_ib unloaded I still can't rping or ib_read_bw (connects, but
> get messages like:
> ethernet_read_keys: Couldn't read remote address
> Unable to read to socket/rdam_cm
> Failed to exchange data between server and clients
> Problems with warm up) same as before.
> ----------------
> Robert LeBlanc
> PGP Fingerprint 79A2 9CA4 6CC4 45DD A904  C70E E654 3BB2 FA62 B9F1
>
>
> On Thu, Nov 3, 2016 at 11:16 AM, Parav Pandit <pandit.parav-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>> Hi Robert,
>>
>> Can you please unload the mlx4_ib module in the bridge/router box and
>> give it a quick try?
>>
>> Parav
>>
>> On Thu, Nov 3, 2016 at 10:32 PM, Robert LeBlanc <robert-4JaGZRWAfWbajFs6igw21g@public.gmane.org> wrote:
>>> I'm trying to do some testing of RoCE v2 and so I put a LInux box
>>> between two RoCE  machines. I think the ConnectX-4 Lx card in the
>>> bridge/router is intercepting the RoCE traffic and so it is not being
>>> bridged/routed. I don't see any traffic using tcpdump which seems to
>>> confirm this. I thought I could change the UDP port that the card is
>>> looking for RoCE traffic to something not in use [0], but rr_proto is
>>> not a valid parameter for the inbox mlx5_core module on 4.8.5. I can
>>> ping across the bridge/router so I know that it is setup correctly,
>>> just RDMA is not working.
>>>
>>> Any ideas on how to pass RoCE traffic like normal traffic? The reason
>>> we are using a Linux box is that we can use netem to understand how
>>> RoCE behaves in different situations.
>>>
>>> [0] https://community.mellanox.com/docs/DOC-1444
>>>
>>> Thank you
>>> ----------------
>>> Robert LeBlanc
>>> PGP Fingerprint 79A2 9CA4 6CC4 45DD A904  C70E E654 3BB2 FA62 B9F1
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
>>> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* Re: [PATCHv12 0/3] rdmacg: IB/core: rdma controller support
From: Tejun Heo @ 2016-11-10 19:23 UTC (permalink / raw)
  To: Parav Pandit
  Cc: Leon Romanovsky, Liran Liss,
	cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-rdma,
	Li Zefan, Johannes Weiner, Doug Ledford, Christoph Hellwig,
	Hefty, Sean, Jason Gunthorpe, Haggai Eran,
	james.l.morris-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org,
	Or Gerlitz, Matan Barak
In-Reply-To: <CAG53R5Wk2zbL=0_EcYCOXQ4dK-k_w=sLOFAKD98NnnbAAnu2=A@mail.gmail.com>

Hello, Parav.

On Thu, Nov 10, 2016 at 11:26:28PM +0530, Parav Pandit wrote:
> > That looks great to me from cgroup side.  Do you have plans for
> > exposing the maximum numbers available?
>
> If I have to expose max limits, I need new file interface as rdma.limit.
> Because once rdma.max is set, user space cannot get back the old value.
> It needs to cache it. user space tools might have been restarted and
> so on, so store in other file etc.
> So such user space solutions are just ugly.
> 
> Getting and setting values in device agnostic way, through cgroup
> files is desirable, however its not must. It can fallback on using
> verb based API.
> 
> So if there is no objection, I prefer to have rdma.limit file as
> incremental patch once base version is merged.

How about something like RESOURCE.available field in rdma.stat file?
Its value can be what's maximally available at that level when max is
unlimited and there is no competition.  At top level cgroups, it'd be
the total resources available in the system.  At sub levels, it'd be
min of what's available to the grandparent and parent's limit on the
resource.

This would be in line with cgroup conventions and would behave the
same way nested making things easier for containers.

Thanks.

-- 
tejun

^ permalink raw reply

* [PATCH rdma-core 8/8] mlx4: Push COPYING file into individual files
From: Jason Gunthorpe @ 2016-11-10 18:47 UTC (permalink / raw)
  To: linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <1478803660-27959-1-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>

Add missing copyright headers and delete the COPYING file.

Signed-off-by: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
---
 providers/mlx4/COPYING | 378 -------------------------------------------------
 providers/mlx4/mmio.h  |   2 +
 2 files changed, 2 insertions(+), 378 deletions(-)
 delete mode 100644 providers/mlx4/COPYING

diff --git a/providers/mlx4/COPYING b/providers/mlx4/COPYING
deleted file mode 100644
index add3d1990bc1..000000000000
diff --git a/providers/mlx4/mmio.h b/providers/mlx4/mmio.h
index 0304fd7efa5e..f907661ddcf9 100644
--- a/providers/mlx4/mmio.h
+++ b/providers/mlx4/mmio.h
@@ -1,3 +1,5 @@
+/* Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
+ */
 #ifndef MMIO_H
 #define MMIO_H
 
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related

* [PATCH rdma-core 7/8] ibacm: Push COPYING file into individual files
From: Jason Gunthorpe @ 2016-11-10 18:47 UTC (permalink / raw)
  To: linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <1478803660-27959-1-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>

Add missing copyright headers and delete the COPYING file.

Signed-off-by: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
---
 ibacm/COPYING             | 378 ----------------------------------------------
 ibacm/ibacm.init.in       |   1 +
 ibacm/man/ib_acme.1       |   1 +
 ibacm/man/ibacm.1         |   1 +
 ibacm/man/ibacm.7         |   1 +
 ibacm/man/ibacm_prov.7.in |   1 +
 6 files changed, 5 insertions(+), 378 deletions(-)
 delete mode 100644 ibacm/COPYING

diff --git a/ibacm/COPYING b/ibacm/COPYING
deleted file mode 100644
index 13f30ae27d95..000000000000
diff --git a/ibacm/ibacm.init.in b/ibacm/ibacm.init.in
index 0fb0011f3953..821742366054 100644
--- a/ibacm/ibacm.init.in
+++ b/ibacm/ibacm.init.in
@@ -1,4 +1,5 @@
 #!/bin/bash
+# Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 #
 # Bring up/down the ibacm daemon
 #
diff --git a/ibacm/man/ib_acme.1 b/ibacm/man/ib_acme.1
index 530cd16c4c41..e94ff6c615cf 100644
--- a/ibacm/man/ib_acme.1
+++ b/ibacm/man/ib_acme.1
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "ib_acme" 1 "2014-06-16" "ib_acme" "ib_acme" ib_acme
 .SH NAME
 ib_acme \- test and configuration utility for the IB ACM
diff --git a/ibacm/man/ibacm.1 b/ibacm/man/ibacm.1
index 29ecd86b428e..5042e1ed88ac 100644
--- a/ibacm/man/ibacm.1
+++ b/ibacm/man/ibacm.1
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "ibacm" 1 "2014-06-16" "ibacm" "ibacm" ibacm
 .SH NAME
 ibacm \- address and route resolution services for InfiniBand.
diff --git a/ibacm/man/ibacm.7 b/ibacm/man/ibacm.7
index ad502cd0c25f..14b5d08d85f1 100644
--- a/ibacm/man/ibacm.7
+++ b/ibacm/man/ibacm.7
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "IBACM" 7 "2014-06-16" "IBACM" "IB ACM User Guide" IBACM
 .SH NAME
 ibacm \- InfiniBand communication management assistant
diff --git a/ibacm/man/ibacm_prov.7.in b/ibacm/man/ibacm_prov.7.in
index 9e79d58f639e..494fdc3b096e 100644
--- a/ibacm/man/ibacm_prov.7.in
+++ b/ibacm/man/ibacm_prov.7.in
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "IBACM_PROV" 7 "2014-06-16" "IBACM_PROV" "IB ACM Provider Guide" IBACM_PROV
 .SH NAME
 ibacm_prov \- InfiniBand communication management assistant provider interface
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related

* [PATCH rdma-core 6/8] rdmacm: Push COPYING file into individual files
From: Jason Gunthorpe @ 2016-11-10 18:47 UTC (permalink / raw)
  To: linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <1478803660-27959-1-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>

Add missing copyright headers and delete the COPYING file.

Signed-off-by: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
---
 librdmacm/COPYING                          | 378 -----------------------------
 librdmacm/docs/rsocket                     |   1 +
 librdmacm/man/mckey.1                      |   1 +
 librdmacm/man/rcopy.1                      |   1 +
 librdmacm/man/rdma_accept.3                |   1 +
 librdmacm/man/rdma_ack_cm_event.3          |   1 +
 librdmacm/man/rdma_bind_addr.3             |   1 +
 librdmacm/man/rdma_client.1                |   1 +
 librdmacm/man/rdma_cm.7                    |   1 +
 librdmacm/man/rdma_connect.3               |   1 +
 librdmacm/man/rdma_create_ep.3             |   1 +
 librdmacm/man/rdma_create_event_channel.3  |   1 +
 librdmacm/man/rdma_create_id.3             |   1 +
 librdmacm/man/rdma_create_qp.3             |   1 +
 librdmacm/man/rdma_create_srq.3            |   1 +
 librdmacm/man/rdma_dereg_mr.3              |   1 +
 librdmacm/man/rdma_destroy_ep.3            |   1 +
 librdmacm/man/rdma_destroy_event_channel.3 |   1 +
 librdmacm/man/rdma_destroy_id.3            |   1 +
 librdmacm/man/rdma_destroy_qp.3            |   1 +
 librdmacm/man/rdma_destroy_srq.3           |   1 +
 librdmacm/man/rdma_disconnect.3            |   1 +
 librdmacm/man/rdma_event_str.3             |   1 +
 librdmacm/man/rdma_free_devices.3          |   1 +
 librdmacm/man/rdma_get_cm_event.3          |   1 +
 librdmacm/man/rdma_get_devices.3           |   1 +
 librdmacm/man/rdma_get_dst_port.3          |   1 +
 librdmacm/man/rdma_get_local_addr.3        |   1 +
 librdmacm/man/rdma_get_peer_addr.3         |   1 +
 librdmacm/man/rdma_get_recv_comp.3         |   1 +
 librdmacm/man/rdma_get_request.3           |   1 +
 librdmacm/man/rdma_get_send_comp.3         |   1 +
 librdmacm/man/rdma_get_src_port.3          |   1 +
 librdmacm/man/rdma_getaddrinfo.3           |   1 +
 librdmacm/man/rdma_join_multicast.3        |   1 +
 librdmacm/man/rdma_leave_multicast.3       |   1 +
 librdmacm/man/rdma_listen.3                |   1 +
 librdmacm/man/rdma_migrate_id.3            |   1 +
 librdmacm/man/rdma_notify.3                |   1 +
 librdmacm/man/rdma_post_read.3             |   1 +
 librdmacm/man/rdma_post_readv.3            |   1 +
 librdmacm/man/rdma_post_recv.3             |   1 +
 librdmacm/man/rdma_post_recvv.3            |   1 +
 librdmacm/man/rdma_post_send.3             |   1 +
 librdmacm/man/rdma_post_sendv.3            |   1 +
 librdmacm/man/rdma_post_ud_send.3          |   1 +
 librdmacm/man/rdma_post_write.3            |   1 +
 librdmacm/man/rdma_post_writev.3           |   1 +
 librdmacm/man/rdma_reg_msgs.3              |   1 +
 librdmacm/man/rdma_reg_read.3              |   1 +
 librdmacm/man/rdma_reg_write.3             |   1 +
 librdmacm/man/rdma_reject.3                |   1 +
 librdmacm/man/rdma_resolve_addr.3          |   1 +
 librdmacm/man/rdma_resolve_route.3         |   1 +
 librdmacm/man/rdma_server.1                |   1 +
 librdmacm/man/rdma_set_option.3            |   1 +
 librdmacm/man/rdma_xclient.1               |   1 +
 librdmacm/man/rdma_xserver.1               |   1 +
 librdmacm/man/riostream.1                  |   1 +
 librdmacm/man/rping.1                      |   1 +
 librdmacm/man/rsocket.7.in                 |   1 +
 librdmacm/man/rstream.1                    |   1 +
 librdmacm/man/ucmatose.1                   |   1 +
 librdmacm/man/udaddy.1                     |   1 +
 64 files changed, 63 insertions(+), 378 deletions(-)
 delete mode 100644 librdmacm/COPYING

diff --git a/librdmacm/COPYING b/librdmacm/COPYING
deleted file mode 100644
index 39f3831585f2..000000000000
diff --git a/librdmacm/docs/rsocket b/librdmacm/docs/rsocket
index f453c1b68089..43834e04b1d3 100644
--- a/librdmacm/docs/rsocket
+++ b/librdmacm/docs/rsocket
@@ -1,3 +1,4 @@
+.. Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 rsocket Protocol and Design Guide               11/11/2012
 
 Data Streaming (TCP) Overview
diff --git a/librdmacm/man/mckey.1 b/librdmacm/man/mckey.1
index 86a51a35e971..a36f57ba9702 100644
--- a/librdmacm/man/mckey.1
+++ b/librdmacm/man/mckey.1
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "MCKEY" 1 "2007-05-15" "librdmacm" "librdmacm" librdmacm
 .SH NAME
 mckey \- RDMA CM multicast setup and simple data transfer test.
diff --git a/librdmacm/man/rcopy.1 b/librdmacm/man/rcopy.1
index e875458bf162..1dcca494e579 100644
--- a/librdmacm/man/rcopy.1
+++ b/librdmacm/man/rcopy.1
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RCOPY" 1 "2011-12-2" "librdmacm" "librdmacm" librdmacm
 .SH NAME
 rcopy \- simple file copy over RDMA.
diff --git a/librdmacm/man/rdma_accept.3 b/librdmacm/man/rdma_accept.3
index 0859fac6ef26..a146a8d390af 100644
--- a/librdmacm/man/rdma_accept.3
+++ b/librdmacm/man/rdma_accept.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_ACCEPT" 3 "2014-05-27" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_accept \- Called to accept a connection request.
diff --git a/librdmacm/man/rdma_ack_cm_event.3 b/librdmacm/man/rdma_ack_cm_event.3
index bcf20f719445..a9a616aa0cba 100644
--- a/librdmacm/man/rdma_ack_cm_event.3
+++ b/librdmacm/man/rdma_ack_cm_event.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_ACK_CM_EVENT" 3 "2007-05-15" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_ack_cm_event \- Free a communication event.
diff --git a/librdmacm/man/rdma_bind_addr.3 b/librdmacm/man/rdma_bind_addr.3
index 8f9bc60e8ed5..37db52c728ca 100644
--- a/librdmacm/man/rdma_bind_addr.3
+++ b/librdmacm/man/rdma_bind_addr.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_BIND_ADDR" 3 "2007-05-15" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_bind_addr \- Bind an RDMA identifier to a source address.
diff --git a/librdmacm/man/rdma_client.1 b/librdmacm/man/rdma_client.1
index 68bfc7650719..91b2d632251a 100644
--- a/librdmacm/man/rdma_client.1
+++ b/librdmacm/man/rdma_client.1
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_CLIENT" 1 "2010-07-19" "librdmacm" "librdmacm" librdmacm
 .SH NAME
 rdma_client \- simple RDMA CM connection and ping-pong test.
diff --git a/librdmacm/man/rdma_cm.7 b/librdmacm/man/rdma_cm.7
index 451035bfb588..8e5ad99e6687 100644
--- a/librdmacm/man/rdma_cm.7
+++ b/librdmacm/man/rdma_cm.7
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_CM" 7 "2010-07-19" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_cm \- RDMA communication manager.
diff --git a/librdmacm/man/rdma_connect.3 b/librdmacm/man/rdma_connect.3
index 51056a06ee6e..ef88e38a75ac 100644
--- a/librdmacm/man/rdma_connect.3
+++ b/librdmacm/man/rdma_connect.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_CONNECT" 3 "2010-07-19" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_connect \- Initiate an active connection request.
diff --git a/librdmacm/man/rdma_create_ep.3 b/librdmacm/man/rdma_create_ep.3
index cb9b8b647ae5..b1f397625055 100644
--- a/librdmacm/man/rdma_create_ep.3
+++ b/librdmacm/man/rdma_create_ep.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_CREATE_EP" 3 "2010-07-19" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_create_ep \- Allocate a communication identifier and optional QP.
diff --git a/librdmacm/man/rdma_create_event_channel.3 b/librdmacm/man/rdma_create_event_channel.3
index baa48a6bedf2..928c79701efb 100644
--- a/librdmacm/man/rdma_create_event_channel.3
+++ b/librdmacm/man/rdma_create_event_channel.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_CREATE_EVENT_CHANNEL" 3 "2007-05-15" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_create_event_channel \- Open a channel used to report communication events.
diff --git a/librdmacm/man/rdma_create_id.3 b/librdmacm/man/rdma_create_id.3
index 81acc9b4b802..0a5093af6678 100644
--- a/librdmacm/man/rdma_create_id.3
+++ b/librdmacm/man/rdma_create_id.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_CREATE_ID" 3 "2010-07-19" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_create_id \- Allocate a communication identifier.
diff --git a/librdmacm/man/rdma_create_qp.3 b/librdmacm/man/rdma_create_qp.3
index 7e37888df2a2..cd4708f7d4a6 100644
--- a/librdmacm/man/rdma_create_qp.3
+++ b/librdmacm/man/rdma_create_qp.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_CREATE_QP" 3 "2007-05-15" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_create_qp \- Allocate a QP.
diff --git a/librdmacm/man/rdma_create_srq.3 b/librdmacm/man/rdma_create_srq.3
index 9b917c29eb69..6257e86b3916 100644
--- a/librdmacm/man/rdma_create_srq.3
+++ b/librdmacm/man/rdma_create_srq.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_CREATE_SRQ" 3 "2011-06-15" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_create_srq \- Allocate a shared receive queue.
diff --git a/librdmacm/man/rdma_dereg_mr.3 b/librdmacm/man/rdma_dereg_mr.3
index 298e886251e3..1fe936b2be50 100644
--- a/librdmacm/man/rdma_dereg_mr.3
+++ b/librdmacm/man/rdma_dereg_mr.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_DEREG_MR" 3 "2010-07-19" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_dereg_mr \- deregisters a registered memory region.
diff --git a/librdmacm/man/rdma_destroy_ep.3 b/librdmacm/man/rdma_destroy_ep.3
index 750702a01dee..1211f4b55ccf 100644
--- a/librdmacm/man/rdma_destroy_ep.3
+++ b/librdmacm/man/rdma_destroy_ep.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 
 .TH "RDMA_DESTROY_EP" 3 "2011-06-15" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
diff --git a/librdmacm/man/rdma_destroy_event_channel.3 b/librdmacm/man/rdma_destroy_event_channel.3
index 2c5b8d631a9e..5bc982a7a27f 100644
--- a/librdmacm/man/rdma_destroy_event_channel.3
+++ b/librdmacm/man/rdma_destroy_event_channel.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_DESTROY_EVENT_CHANNEL" 3 "2007-05-15" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_destroy_event_channel \- Close an event communication channel.
diff --git a/librdmacm/man/rdma_destroy_id.3 b/librdmacm/man/rdma_destroy_id.3
index 0fef7a85562b..1d95ff2d85ab 100644
--- a/librdmacm/man/rdma_destroy_id.3
+++ b/librdmacm/man/rdma_destroy_id.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_DESTROY_ID" 3 "2010-07-19" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_destroy_id \- Release a communication identifier.
diff --git a/librdmacm/man/rdma_destroy_qp.3 b/librdmacm/man/rdma_destroy_qp.3
index bb1360eb5140..03fba27e35c2 100644
--- a/librdmacm/man/rdma_destroy_qp.3
+++ b/librdmacm/man/rdma_destroy_qp.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_DESTROY_QP" 3 "2007-05-15" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_destroy_qp \- Deallocate a QP.
diff --git a/librdmacm/man/rdma_destroy_srq.3 b/librdmacm/man/rdma_destroy_srq.3
index 5f0dfe0fc87d..5c633a8dec2c 100644
--- a/librdmacm/man/rdma_destroy_srq.3
+++ b/librdmacm/man/rdma_destroy_srq.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_DESTROY_SRQ" 3 "2011-06-15" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_destroy_srq \- Deallocate a SRQ.
diff --git a/librdmacm/man/rdma_disconnect.3 b/librdmacm/man/rdma_disconnect.3
index 1890c2885077..23aec9869f09 100644
--- a/librdmacm/man/rdma_disconnect.3
+++ b/librdmacm/man/rdma_disconnect.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_DISCONNECT" 3 "2008-01-02" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_disconnect \- This function disconnects a connection.
diff --git a/librdmacm/man/rdma_event_str.3 b/librdmacm/man/rdma_event_str.3
index abd016df6eca..24c9e165aa3d 100644
--- a/librdmacm/man/rdma_event_str.3
+++ b/librdmacm/man/rdma_event_str.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_EVENT_STR" 3 "2007-05-15" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_event_str \- Returns a string representation of an rdma cm event.
diff --git a/librdmacm/man/rdma_free_devices.3 b/librdmacm/man/rdma_free_devices.3
index 37b82ef87692..c46bcbfe64d0 100644
--- a/librdmacm/man/rdma_free_devices.3
+++ b/librdmacm/man/rdma_free_devices.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_FREE_DEVICES" 3 "2007-05-15" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_free_devices \- Frees the list of devices returned by rdma_get_devices.
diff --git a/librdmacm/man/rdma_get_cm_event.3 b/librdmacm/man/rdma_get_cm_event.3
index b0c497021bcc..2623eab8a788 100644
--- a/librdmacm/man/rdma_get_cm_event.3
+++ b/librdmacm/man/rdma_get_cm_event.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_GET_CM_EVENT" 3 "2007-10-31" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_get_cm_event \- Retrieves the next pending communication event.
diff --git a/librdmacm/man/rdma_get_devices.3 b/librdmacm/man/rdma_get_devices.3
index 7f427226c648..be41514e89b7 100644
--- a/librdmacm/man/rdma_get_devices.3
+++ b/librdmacm/man/rdma_get_devices.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_GET_DEVICES" 3 "2007-05-15" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_get_devices \- Get a list of RDMA devices currently available.
diff --git a/librdmacm/man/rdma_get_dst_port.3 b/librdmacm/man/rdma_get_dst_port.3
index 15677499d111..18637838d184 100644
--- a/librdmacm/man/rdma_get_dst_port.3
+++ b/librdmacm/man/rdma_get_dst_port.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_GET_DST_PORT" 3 "2007-05-15" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_get_dst_port \- Returns the remote port number of a bound rdma_cm_id.
diff --git a/librdmacm/man/rdma_get_local_addr.3 b/librdmacm/man/rdma_get_local_addr.3
index 25d5312f6a3d..eeaa714204a9 100644
--- a/librdmacm/man/rdma_get_local_addr.3
+++ b/librdmacm/man/rdma_get_local_addr.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_GET_LOCAL_ADDR" 3 "2007-05-15" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_get_local_addr \- Returns the local IP address of a bound rdma_cm_id.
diff --git a/librdmacm/man/rdma_get_peer_addr.3 b/librdmacm/man/rdma_get_peer_addr.3
index 54f3139dd04b..ff8ce4eab43f 100644
--- a/librdmacm/man/rdma_get_peer_addr.3
+++ b/librdmacm/man/rdma_get_peer_addr.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_GET_PEER_ADDR" 3 "2007-05-15" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_get_peer_addr \- Returns the remote IP address of a bound rdma_cm_id.
diff --git a/librdmacm/man/rdma_get_recv_comp.3 b/librdmacm/man/rdma_get_recv_comp.3
index dece89ddc9ca..6894e5d96c0c 100644
--- a/librdmacm/man/rdma_get_recv_comp.3
+++ b/librdmacm/man/rdma_get_recv_comp.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_GET_RECV_COMP" 3 "2010-07-19" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_get_recv_comp \- retrieves a completed receive request.
diff --git a/librdmacm/man/rdma_get_request.3 b/librdmacm/man/rdma_get_request.3
index 93ec70dc90b1..86cb6102d073 100644
--- a/librdmacm/man/rdma_get_request.3
+++ b/librdmacm/man/rdma_get_request.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_GET_REQUEST" 3 "2007-10-31" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_get_request \- Retrieves the next pending connection request event.
diff --git a/librdmacm/man/rdma_get_send_comp.3 b/librdmacm/man/rdma_get_send_comp.3
index f0c92b4cccc1..5085ddb7acea 100644
--- a/librdmacm/man/rdma_get_send_comp.3
+++ b/librdmacm/man/rdma_get_send_comp.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_GET_SEND_COMP" 3 "2010-07-19" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_get_send_comp \- retrieves a completed send, read, or write request.
diff --git a/librdmacm/man/rdma_get_src_port.3 b/librdmacm/man/rdma_get_src_port.3
index 477ec73663ba..1e36a92cd877 100644
--- a/librdmacm/man/rdma_get_src_port.3
+++ b/librdmacm/man/rdma_get_src_port.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_GET_SRC_PORT" 3 "2007-05-15" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_get_src_port \- Returns the local port number of a bound rdma_cm_id.
diff --git a/librdmacm/man/rdma_getaddrinfo.3 b/librdmacm/man/rdma_getaddrinfo.3
index 9e133ffea0a5..3ad639360ea0 100644
--- a/librdmacm/man/rdma_getaddrinfo.3
+++ b/librdmacm/man/rdma_getaddrinfo.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_GETADDRINFO" 3 "2010-07-19" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_getaddrinfo \- Provides transport independent address translation.
diff --git a/librdmacm/man/rdma_join_multicast.3 b/librdmacm/man/rdma_join_multicast.3
index 7886716cb715..4e52e859e8c6 100644
--- a/librdmacm/man/rdma_join_multicast.3
+++ b/librdmacm/man/rdma_join_multicast.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_JOIN_MULTICAST" 3 "2008-01-02" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_join_multicast \- Joins a multicast group.
diff --git a/librdmacm/man/rdma_leave_multicast.3 b/librdmacm/man/rdma_leave_multicast.3
index 802ba57df4ba..9e112d31a553 100644
--- a/librdmacm/man/rdma_leave_multicast.3
+++ b/librdmacm/man/rdma_leave_multicast.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_LEAVE_MULTICAST" 3 "2007-05-15" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_leave_multicast \- Leaves a multicast group.
diff --git a/librdmacm/man/rdma_listen.3 b/librdmacm/man/rdma_listen.3
index b76d6921e65b..78fd27083664 100644
--- a/librdmacm/man/rdma_listen.3
+++ b/librdmacm/man/rdma_listen.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_LISTEN" 3 "2007-05-15" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_listen \- Listen for incoming connection requests.
diff --git a/librdmacm/man/rdma_migrate_id.3 b/librdmacm/man/rdma_migrate_id.3
index 8c2d7dd6e40a..f0f7bcee0a59 100644
--- a/librdmacm/man/rdma_migrate_id.3
+++ b/librdmacm/man/rdma_migrate_id.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_MIGRATE_ID" 3 "2007-11-13" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_migrate_id \- Move a communication identifier to a different event channel.
diff --git a/librdmacm/man/rdma_notify.3 b/librdmacm/man/rdma_notify.3
index 62db5756f9d3..c80733a17d71 100644
--- a/librdmacm/man/rdma_notify.3
+++ b/librdmacm/man/rdma_notify.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_NOTIFY" 3 "2007-05-15" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_notify \- Notifies the librdmacm of an asynchronous event.
diff --git a/librdmacm/man/rdma_post_read.3 b/librdmacm/man/rdma_post_read.3
index d7afc5b15630..11b3e09e16ac 100644
--- a/librdmacm/man/rdma_post_read.3
+++ b/librdmacm/man/rdma_post_read.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_POST_READ" 3 "2010-07-19" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_post_read \- post an RDMA read work request.
diff --git a/librdmacm/man/rdma_post_readv.3 b/librdmacm/man/rdma_post_readv.3
index cccf2c3e9833..95e415595039 100644
--- a/librdmacm/man/rdma_post_readv.3
+++ b/librdmacm/man/rdma_post_readv.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_POST_READV" 3 "2010-07-19" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_post_readv \- post an RDMA read work request.
diff --git a/librdmacm/man/rdma_post_recv.3 b/librdmacm/man/rdma_post_recv.3
index 6633cef1350b..5e0530d46899 100644
--- a/librdmacm/man/rdma_post_recv.3
+++ b/librdmacm/man/rdma_post_recv.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_POST_RECV" 3 "2010-07-19" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_post_recv \- post a work request to receive an incoming message.
diff --git a/librdmacm/man/rdma_post_recvv.3 b/librdmacm/man/rdma_post_recvv.3
index f5e099e1ac42..bd03930c8918 100644
--- a/librdmacm/man/rdma_post_recvv.3
+++ b/librdmacm/man/rdma_post_recvv.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_POST_RECVV" 3 "2010-07-19" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_post_recvv \- post a work request to receive incoming messages.
diff --git a/librdmacm/man/rdma_post_send.3 b/librdmacm/man/rdma_post_send.3
index 82bcf37ba276..5d0e6d603503 100644
--- a/librdmacm/man/rdma_post_send.3
+++ b/librdmacm/man/rdma_post_send.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_POST_SEND" 3 "2010-07-19" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_post_send \- post a work request to send a message.
diff --git a/librdmacm/man/rdma_post_sendv.3 b/librdmacm/man/rdma_post_sendv.3
index 1953ce37252b..9b347b1f4746 100644
--- a/librdmacm/man/rdma_post_sendv.3
+++ b/librdmacm/man/rdma_post_sendv.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_POST_SENDV" 3 "2010-07-19" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_post_sendv \- post a work request to send a message.
diff --git a/librdmacm/man/rdma_post_ud_send.3 b/librdmacm/man/rdma_post_ud_send.3
index f8e2ada87e68..0fcce79e1d33 100644
--- a/librdmacm/man/rdma_post_ud_send.3
+++ b/librdmacm/man/rdma_post_ud_send.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_POST_UD_SEND" 3 "2010-07-19" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_post_ud_send \- post a work request to send a datagram.
diff --git a/librdmacm/man/rdma_post_write.3 b/librdmacm/man/rdma_post_write.3
index 5ab4fdb5dc4b..62a1e49c37fc 100644
--- a/librdmacm/man/rdma_post_write.3
+++ b/librdmacm/man/rdma_post_write.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_POST_WRITE" 3 "2010-07-19" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_post_write \- post an RDMA write work request.
diff --git a/librdmacm/man/rdma_post_writev.3 b/librdmacm/man/rdma_post_writev.3
index 1fc7b0a6c709..22ee0fe122b8 100644
--- a/librdmacm/man/rdma_post_writev.3
+++ b/librdmacm/man/rdma_post_writev.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_POST_WRITEV" 3 "2010-07-19" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_post_writev \- post an RDMA write work request.
diff --git a/librdmacm/man/rdma_reg_msgs.3 b/librdmacm/man/rdma_reg_msgs.3
index 4f5656313734..48c75b309af5 100644
--- a/librdmacm/man/rdma_reg_msgs.3
+++ b/librdmacm/man/rdma_reg_msgs.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_REG_MSGS" 3 "2010-07-19" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_reg_msgs \- register data buffer(s) for sending or receiving messages.
diff --git a/librdmacm/man/rdma_reg_read.3 b/librdmacm/man/rdma_reg_read.3
index 84417a59ce33..07813e82827e 100644
--- a/librdmacm/man/rdma_reg_read.3
+++ b/librdmacm/man/rdma_reg_read.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_REG_READ" 3 "2010-07-19" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_reg_read \- register data buffer(s) for remote RDMA read access.
diff --git a/librdmacm/man/rdma_reg_write.3 b/librdmacm/man/rdma_reg_write.3
index cc7beea15f06..2be3cc0cef88 100644
--- a/librdmacm/man/rdma_reg_write.3
+++ b/librdmacm/man/rdma_reg_write.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_REG_WRITE" 3 "2010-07-19" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_reg_write \- register data buffer(s) for remote RDMA write access.
diff --git a/librdmacm/man/rdma_reject.3 b/librdmacm/man/rdma_reject.3
index 268f0b36f8a5..53f038fcccf3 100644
--- a/librdmacm/man/rdma_reject.3
+++ b/librdmacm/man/rdma_reject.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_REJECT" 3 "2007-05-15" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_reject \- Called to reject a connection request.
diff --git a/librdmacm/man/rdma_resolve_addr.3 b/librdmacm/man/rdma_resolve_addr.3
index 3243c7929a36..ce6dcd6a8ae1 100644
--- a/librdmacm/man/rdma_resolve_addr.3
+++ b/librdmacm/man/rdma_resolve_addr.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_RESOLVE_ADDR" 3 "2007-10-31" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_resolve_addr \- Resolve destination and optional source addresses.
diff --git a/librdmacm/man/rdma_resolve_route.3 b/librdmacm/man/rdma_resolve_route.3
index c52f1b3f4347..114f666dcf63 100644
--- a/librdmacm/man/rdma_resolve_route.3
+++ b/librdmacm/man/rdma_resolve_route.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_RESOLVE_ROUTE" 3 "2007-10-31" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_resolve_route \- Resolve the route information needed to establish a connection.
diff --git a/librdmacm/man/rdma_server.1 b/librdmacm/man/rdma_server.1
index 19f4860e4da3..ada2564983f3 100644
--- a/librdmacm/man/rdma_server.1
+++ b/librdmacm/man/rdma_server.1
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_SERVER" 1 "2010-07-19" "librdmacm" "librdmacm" librdmacm
 .SH NAME
 rdma_server \- simple RDMA CM connection and ping-pong test.
diff --git a/librdmacm/man/rdma_set_option.3 b/librdmacm/man/rdma_set_option.3
index 74bf5ceba88d..93a60476f18f 100644
--- a/librdmacm/man/rdma_set_option.3
+++ b/librdmacm/man/rdma_set_option.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_SET_OPTION" 3 "2007-08-06" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rdma_set_option \- Set communication options for an rdma_cm_id.
diff --git a/librdmacm/man/rdma_xclient.1 b/librdmacm/man/rdma_xclient.1
index b4bb04560d23..d874c6e91e73 100644
--- a/librdmacm/man/rdma_xclient.1
+++ b/librdmacm/man/rdma_xclient.1
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_XCLIENT" 1 "2011-06-15" "librdmacm" "librdmacm" librdmacm
 .SH NAME
 rdma_xclient \- RDMA CM communication client test program
diff --git a/librdmacm/man/rdma_xserver.1 b/librdmacm/man/rdma_xserver.1
index a26c96239389..4c12e2563319 100644
--- a/librdmacm/man/rdma_xserver.1
+++ b/librdmacm/man/rdma_xserver.1
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RDMA_XSERVER" 1 "2011-06-15" "librdmacm" "librdmacm" librdmacm
 .SH NAME
 rdma_xserver \- RDMA CM communication server test program
diff --git a/librdmacm/man/riostream.1 b/librdmacm/man/riostream.1
index 14e77fa0f822..537302b60b12 100644
--- a/librdmacm/man/riostream.1
+++ b/librdmacm/man/riostream.1
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RIOSTREAM" 1 "2012-10-24" "librdmacm" "librdmacm" librdmacm
 .SH NAME
 riostream \- zero-copy streaming over RDMA ping-pong test.
diff --git a/librdmacm/man/rping.1 b/librdmacm/man/rping.1
index 127d290d0cfd..fc3aa7b889a5 100644
--- a/librdmacm/man/rping.1
+++ b/librdmacm/man/rping.1
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RPING" 1 "2007-05-15" "librdmacm" "librdmacm" librdmacm
 .SH NAME
 rping \- RDMA CM connection and RDMA ping-pong test.
diff --git a/librdmacm/man/rsocket.7.in b/librdmacm/man/rsocket.7.in
index 6adf156f4062..5b7776900262 100644
--- a/librdmacm/man/rsocket.7.in
+++ b/librdmacm/man/rsocket.7.in
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RSOCKET" 7 "2013-01-21" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
 .SH NAME
 rsocket \- RDMA socket API
diff --git a/librdmacm/man/rstream.1 b/librdmacm/man/rstream.1
index f53679fd9f1a..7b1c25b2a2fc 100644
--- a/librdmacm/man/rstream.1
+++ b/librdmacm/man/rstream.1
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "RSTREAM" 1 "2011-11-16" "librdmacm" "librdmacm" librdmacm
 .SH NAME
 rstream \- streaming over RDMA ping-pong test.
diff --git a/librdmacm/man/ucmatose.1 b/librdmacm/man/ucmatose.1
index 57e2c1b23bd9..56e0702989ae 100644
--- a/librdmacm/man/ucmatose.1
+++ b/librdmacm/man/ucmatose.1
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "UCMATOSE" 1 "2007-05-15" "librdmacm" "librdmacm" librdmacm
 .SH NAME
 ucmatose \- RDMA CM connection and simple ping-pong test.
diff --git a/librdmacm/man/udaddy.1 b/librdmacm/man/udaddy.1
index 022018ec9449..bc84504347bd 100644
--- a/librdmacm/man/udaddy.1
+++ b/librdmacm/man/udaddy.1
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH "UDADDY" 1 "2007-05-15" "librdmacm" "librdmacm" librdmacm
 .SH NAME
 udaddy \- RDMA CM datagram setup and simple ping-pong test.
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related

* [PATCH rdma-core 5/8] ibverbs: Push COPYING file into individual files
From: Jason Gunthorpe @ 2016-11-10 18:47 UTC (permalink / raw)
  To: linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <1478803660-27959-1-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>

Add missing copyright headers and delete the COPYING file.

Signed-off-by: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
---
 libibverbs/COPYING                        | 378 ------------------------------
 libibverbs/man/ibv_alloc_mw.3             |   1 +
 libibverbs/man/ibv_alloc_pd.3             |   1 +
 libibverbs/man/ibv_asyncwatch.1           |   1 +
 libibverbs/man/ibv_attach_mcast.3         |   1 +
 libibverbs/man/ibv_bind_mw.3              |   1 +
 libibverbs/man/ibv_create_ah.3            |   1 +
 libibverbs/man/ibv_create_ah_from_wc.3    |   1 +
 libibverbs/man/ibv_create_comp_channel.3  |   1 +
 libibverbs/man/ibv_create_cq.3            |   1 +
 libibverbs/man/ibv_create_cq_ex.3         |   1 +
 libibverbs/man/ibv_create_flow.3          |   1 +
 libibverbs/man/ibv_create_qp.3            |   1 +
 libibverbs/man/ibv_create_qp_ex.3         |   1 +
 libibverbs/man/ibv_create_rwq_ind_table.3 |   1 +
 libibverbs/man/ibv_create_srq.3           |   1 +
 libibverbs/man/ibv_create_srq_ex.3        |   1 +
 libibverbs/man/ibv_create_wq.3            |   1 +
 libibverbs/man/ibv_devices.1              |   1 +
 libibverbs/man/ibv_devinfo.1              |   1 +
 libibverbs/man/ibv_event_type_str.3       |   1 +
 libibverbs/man/ibv_fork_init.3            |   1 +
 libibverbs/man/ibv_get_async_event.3      |   1 +
 libibverbs/man/ibv_get_cq_event.3         |   1 +
 libibverbs/man/ibv_get_device_guid.3      |   1 +
 libibverbs/man/ibv_get_device_list.3      |   1 +
 libibverbs/man/ibv_get_device_name.3      |   1 +
 libibverbs/man/ibv_get_srq_num.3          |   1 +
 libibverbs/man/ibv_inc_rkey.3             |   1 +
 libibverbs/man/ibv_modify_qp.3            |   1 +
 libibverbs/man/ibv_modify_srq.3           |   1 +
 libibverbs/man/ibv_modify_wq.3            |   1 +
 libibverbs/man/ibv_open_device.3          |   1 +
 libibverbs/man/ibv_open_qp.3              |   1 +
 libibverbs/man/ibv_open_xrcd.3            |   1 +
 libibverbs/man/ibv_poll_cq.3              |   1 +
 libibverbs/man/ibv_post_recv.3            |   1 +
 libibverbs/man/ibv_post_send.3            |   1 +
 libibverbs/man/ibv_post_srq_recv.3        |   1 +
 libibverbs/man/ibv_query_device.3         |   1 +
 libibverbs/man/ibv_query_device_ex.3      |   1 +
 libibverbs/man/ibv_query_gid.3            |   1 +
 libibverbs/man/ibv_query_pkey.3           |   1 +
 libibverbs/man/ibv_query_port.3           |   1 +
 libibverbs/man/ibv_query_qp.3             |   1 +
 libibverbs/man/ibv_query_rt_values_ex.3   |   1 +
 libibverbs/man/ibv_query_srq.3            |   1 +
 libibverbs/man/ibv_rate_to_mbps.3         |   1 +
 libibverbs/man/ibv_rate_to_mult.3         |   1 +
 libibverbs/man/ibv_rc_pingpong.1          |   1 +
 libibverbs/man/ibv_reg_mr.3               |   1 +
 libibverbs/man/ibv_req_notify_cq.3        |   1 +
 libibverbs/man/ibv_rereg_mr.3             |   1 +
 libibverbs/man/ibv_resize_cq.3            |   1 +
 libibverbs/man/ibv_srq_pingpong.1         |   1 +
 libibverbs/man/ibv_uc_pingpong.1          |   1 +
 libibverbs/man/ibv_ud_pingpong.1          |   1 +
 libibverbs/man/ibv_xsrq_pingpong.1        |   1 +
 libibverbs/neigh.c                        |   2 +
 libibverbs/neigh.h                        |   3 +
 libibverbs/nl1_compat.h                   |   3 +
 61 files changed, 65 insertions(+), 378 deletions(-)
 delete mode 100644 libibverbs/COPYING

diff --git a/libibverbs/COPYING b/libibverbs/COPYING
deleted file mode 100644
index ee1a79ffabf6..000000000000
diff --git a/libibverbs/man/ibv_alloc_mw.3 b/libibverbs/man/ibv_alloc_mw.3
index 366cefb82b2b..86acacabfd33 100644
--- a/libibverbs/man/ibv_alloc_mw.3
+++ b/libibverbs/man/ibv_alloc_mw.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_ALLOC_MW 3 2016-02-02 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_alloc_pd.3 b/libibverbs/man/ibv_alloc_pd.3
index 63e1aea24c8a..cc475f4a2301 100644
--- a/libibverbs/man/ibv_alloc_pd.3
+++ b/libibverbs/man/ibv_alloc_pd.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_ALLOC_PD 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_asyncwatch.1 b/libibverbs/man/ibv_asyncwatch.1
index 09f9f6505aa0..ae1011757315 100644
--- a/libibverbs/man/ibv_asyncwatch.1
+++ b/libibverbs/man/ibv_asyncwatch.1
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH IBV_ASYNCWATCH 1 "August 30, 2005" "libibverbs" "USER COMMANDS"
 
 .SH NAME
diff --git a/libibverbs/man/ibv_attach_mcast.3 b/libibverbs/man/ibv_attach_mcast.3
index 722ac9f468e3..2ae1f5d08d4a 100644
--- a/libibverbs/man/ibv_attach_mcast.3
+++ b/libibverbs/man/ibv_attach_mcast.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_ATTACH_MCAST 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_bind_mw.3 b/libibverbs/man/ibv_bind_mw.3
index 2943cbc9fb77..af309d000dea 100644
--- a/libibverbs/man/ibv_bind_mw.3
+++ b/libibverbs/man/ibv_bind_mw.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_BIND_MW 3 2016-02-02 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_create_ah.3 b/libibverbs/man/ibv_create_ah.3
index becc7d1b860f..0ca219887d08 100644
--- a/libibverbs/man/ibv_create_ah.3
+++ b/libibverbs/man/ibv_create_ah.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_CREATE_AH 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_create_ah_from_wc.3 b/libibverbs/man/ibv_create_ah_from_wc.3
index 8b92caf1e431..ec7d29f305b5 100644
--- a/libibverbs/man/ibv_create_ah_from_wc.3
+++ b/libibverbs/man/ibv_create_ah_from_wc.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_CREATE_AH_FROM_WC 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_create_comp_channel.3 b/libibverbs/man/ibv_create_comp_channel.3
index 15a9618845c7..7460978835fc 100644
--- a/libibverbs/man/ibv_create_comp_channel.3
+++ b/libibverbs/man/ibv_create_comp_channel.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_CREATE_COMP_CHANNEL 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_create_cq.3 b/libibverbs/man/ibv_create_cq.3
index 5dc333ec5217..98ea4d278286 100644
--- a/libibverbs/man/ibv_create_cq.3
+++ b/libibverbs/man/ibv_create_cq.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_CREATE_CQ 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_create_cq_ex.3 b/libibverbs/man/ibv_create_cq_ex.3
index ecaeb0ae69f2..a6ae7690dad6 100644
--- a/libibverbs/man/ibv_create_cq_ex.3
+++ b/libibverbs/man/ibv_create_cq_ex.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_CREATE_CQ_EX 3 2016-05-08 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_create_flow.3 b/libibverbs/man/ibv_create_flow.3
index df6ddd37529d..8b6e47206f64 100644
--- a/libibverbs/man/ibv_create_flow.3
+++ b/libibverbs/man/ibv_create_flow.3
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH IBV_CREATE_FLOW 3 2016-03-15 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
 ibv_create_flow, ibv_destroy_flow \- create or destroy flow steering rules
diff --git a/libibverbs/man/ibv_create_qp.3 b/libibverbs/man/ibv_create_qp.3
index 7feeab2c0c5d..78d7f43c1378 100644
--- a/libibverbs/man/ibv_create_qp.3
+++ b/libibverbs/man/ibv_create_qp.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_CREATE_QP 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_create_qp_ex.3 b/libibverbs/man/ibv_create_qp_ex.3
index 08cb92c1676f..c778d1596747 100644
--- a/libibverbs/man/ibv_create_qp_ex.3
+++ b/libibverbs/man/ibv_create_qp_ex.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_CREATE_QP_EX 3 2013-06-26 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_create_rwq_ind_table.3 b/libibverbs/man/ibv_create_rwq_ind_table.3
index 2b060b558c9c..176a5f14990f 100644
--- a/libibverbs/man/ibv_create_rwq_ind_table.3
+++ b/libibverbs/man/ibv_create_rwq_ind_table.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH CREATE_RWQ_IND_TBL 3  2016-07-27 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_create_srq.3 b/libibverbs/man/ibv_create_srq.3
index 7a826a1ee144..46ab8dd5b0bf 100644
--- a/libibverbs/man/ibv_create_srq.3
+++ b/libibverbs/man/ibv_create_srq.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_CREATE_SRQ 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_create_srq_ex.3 b/libibverbs/man/ibv_create_srq_ex.3
index 9151d6ea5541..c0319067b0f5 100644
--- a/libibverbs/man/ibv_create_srq_ex.3
+++ b/libibverbs/man/ibv_create_srq_ex.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_CREATE_SRQ_EX 3 2013-06-26 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_create_wq.3 b/libibverbs/man/ibv_create_wq.3
index 1ee584aee938..aad67416b84e 100644
--- a/libibverbs/man/ibv_create_wq.3
+++ b/libibverbs/man/ibv_create_wq.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_CREATE_WQ 3 2016-07-27 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_devices.1 b/libibverbs/man/ibv_devices.1
index 99b27e5c3b9d..ffd57f8e6929 100644
--- a/libibverbs/man/ibv_devices.1
+++ b/libibverbs/man/ibv_devices.1
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH IBV_DEVICES 1 "August 30, 2005" "libibverbs" "USER COMMANDS"
 
 .SH NAME
diff --git a/libibverbs/man/ibv_devinfo.1 b/libibverbs/man/ibv_devinfo.1
index 70f7ed2e67d7..b5e9a58a8b13 100644
--- a/libibverbs/man/ibv_devinfo.1
+++ b/libibverbs/man/ibv_devinfo.1
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH IBV_DEVINFO 1 "August 30, 2005" "libibverbs" "USER COMMANDS"
 
 .SH NAME
diff --git a/libibverbs/man/ibv_event_type_str.3 b/libibverbs/man/ibv_event_type_str.3
index f9ebc35bbacc..2ae8b1c7ee35 100644
--- a/libibverbs/man/ibv_event_type_str.3
+++ b/libibverbs/man/ibv_event_type_str.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_EVENT_TYPE_STR 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_fork_init.3 b/libibverbs/man/ibv_fork_init.3
index acffe3cb7c67..012ea20a4bff 100644
--- a/libibverbs/man/ibv_fork_init.3
+++ b/libibverbs/man/ibv_fork_init.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_FORK_INIT 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_get_async_event.3 b/libibverbs/man/ibv_get_async_event.3
index a76dc0c908f6..85ce6e16cbd7 100644
--- a/libibverbs/man/ibv_get_async_event.3
+++ b/libibverbs/man/ibv_get_async_event.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_GET_ASYNC_EVENT 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_get_cq_event.3 b/libibverbs/man/ibv_get_cq_event.3
index 70b2572ebef3..a1a42e646691 100644
--- a/libibverbs/man/ibv_get_cq_event.3
+++ b/libibverbs/man/ibv_get_cq_event.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_GET_CQ_EVENT 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_get_device_guid.3 b/libibverbs/man/ibv_get_device_guid.3
index 8cbe0e7f276a..4652614033ea 100644
--- a/libibverbs/man/ibv_get_device_guid.3
+++ b/libibverbs/man/ibv_get_device_guid.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_GET_DEVICE_GUID 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_get_device_list.3 b/libibverbs/man/ibv_get_device_list.3
index 96de554eaa38..71c4a740ec23 100644
--- a/libibverbs/man/ibv_get_device_list.3
+++ b/libibverbs/man/ibv_get_device_list.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_GET_DEVICE_LIST 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_get_device_name.3 b/libibverbs/man/ibv_get_device_name.3
index b6cb491bfd9b..ff9fa7fca9f5 100644
--- a/libibverbs/man/ibv_get_device_name.3
+++ b/libibverbs/man/ibv_get_device_name.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_GET_DEVICE_NAME 3  2006-10-31 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_get_srq_num.3 b/libibverbs/man/ibv_get_srq_num.3
index 00e4fb430519..4a1c92f32a22 100644
--- a/libibverbs/man/ibv_get_srq_num.3
+++ b/libibverbs/man/ibv_get_srq_num.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_GET_SRQ_NUM 3 2013-06-26 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_inc_rkey.3 b/libibverbs/man/ibv_inc_rkey.3
index 930368bef3b9..5c54a68bf344 100644
--- a/libibverbs/man/ibv_inc_rkey.3
+++ b/libibverbs/man/ibv_inc_rkey.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_INC_RKEY 3 2015-01-29 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_modify_qp.3 b/libibverbs/man/ibv_modify_qp.3
index cb3faaa089de..66a4974af5ff 100644
--- a/libibverbs/man/ibv_modify_qp.3
+++ b/libibverbs/man/ibv_modify_qp.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_MODIFY_QP 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_modify_srq.3 b/libibverbs/man/ibv_modify_srq.3
index 9cc04974569e..5233922896df 100644
--- a/libibverbs/man/ibv_modify_srq.3
+++ b/libibverbs/man/ibv_modify_srq.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_MODIFY_SRQ 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_modify_wq.3 b/libibverbs/man/ibv_modify_wq.3
index cf3786437a88..f17faedfa5a7 100644
--- a/libibverbs/man/ibv_modify_wq.3
+++ b/libibverbs/man/ibv_modify_wq.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_MODIFY_WQ 3 2016-07-27 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_open_device.3 b/libibverbs/man/ibv_open_device.3
index ed2226c8612a..cae2c4d32f0d 100644
--- a/libibverbs/man/ibv_open_device.3
+++ b/libibverbs/man/ibv_open_device.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_OPEN_DEVICE 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_open_qp.3 b/libibverbs/man/ibv_open_qp.3
index 71b5d464e378..e25e93389087 100644
--- a/libibverbs/man/ibv_open_qp.3
+++ b/libibverbs/man/ibv_open_qp.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_OPEN_QP 3 2011-08-12 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_open_xrcd.3 b/libibverbs/man/ibv_open_xrcd.3
index b9724bfa0c5f..239af2da3f63 100644
--- a/libibverbs/man/ibv_open_xrcd.3
+++ b/libibverbs/man/ibv_open_xrcd.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_OPEN_XRCD 3 2011-06-17 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_poll_cq.3 b/libibverbs/man/ibv_poll_cq.3
index bbf48ff2011b..cf3266bfa8ed 100644
--- a/libibverbs/man/ibv_poll_cq.3
+++ b/libibverbs/man/ibv_poll_cq.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_POLL_CQ 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_post_recv.3 b/libibverbs/man/ibv_post_recv.3
index 4e65c81f773c..affca74cfd2f 100644
--- a/libibverbs/man/ibv_post_recv.3
+++ b/libibverbs/man/ibv_post_recv.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_POST_RECV 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_post_send.3 b/libibverbs/man/ibv_post_send.3
index c45eb0122dcd..ebbbb806882e 100644
--- a/libibverbs/man/ibv_post_send.3
+++ b/libibverbs/man/ibv_post_send.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_POST_SEND 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_post_srq_recv.3 b/libibverbs/man/ibv_post_srq_recv.3
index 073972bd2b93..51d1516bd255 100644
--- a/libibverbs/man/ibv_post_srq_recv.3
+++ b/libibverbs/man/ibv_post_srq_recv.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_POST_SRQ_RECV 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_query_device.3 b/libibverbs/man/ibv_query_device.3
index afc757371b7c..35daa53fee39 100644
--- a/libibverbs/man/ibv_query_device.3
+++ b/libibverbs/man/ibv_query_device.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_QUERY_DEVICE 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_query_device_ex.3 b/libibverbs/man/ibv_query_device_ex.3
index 88c8ce4e48fa..4da63a08f825 100644
--- a/libibverbs/man/ibv_query_device_ex.3
+++ b/libibverbs/man/ibv_query_device_ex.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_QUERY_DEVICE_EX 3 2014-12-17 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_query_gid.3 b/libibverbs/man/ibv_query_gid.3
index b3a1b0fe05e7..45e128bcd1b0 100644
--- a/libibverbs/man/ibv_query_gid.3
+++ b/libibverbs/man/ibv_query_gid.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_QUERY_GID 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_query_pkey.3 b/libibverbs/man/ibv_query_pkey.3
index 96830491b4e8..3af40443bf5c 100644
--- a/libibverbs/man/ibv_query_pkey.3
+++ b/libibverbs/man/ibv_query_pkey.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_QUERY_PKEY 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_query_port.3 b/libibverbs/man/ibv_query_port.3
index 9bedd90e111d..6e480d6c166f 100644
--- a/libibverbs/man/ibv_query_port.3
+++ b/libibverbs/man/ibv_query_port.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_QUERY_PORT 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_query_qp.3 b/libibverbs/man/ibv_query_qp.3
index 3893ec8978e7..907bc56a52ef 100644
--- a/libibverbs/man/ibv_query_qp.3
+++ b/libibverbs/man/ibv_query_qp.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_QUERY_QP 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_query_rt_values_ex.3 b/libibverbs/man/ibv_query_rt_values_ex.3
index fcc460cd179c..8ff5b6634d28 100644
--- a/libibverbs/man/ibv_query_rt_values_ex.3
+++ b/libibverbs/man/ibv_query_rt_values_ex.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_QUERY_RT_VALUES_EX 3 2016-2-20 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_query_srq.3 b/libibverbs/man/ibv_query_srq.3
index 05519aa61441..8a35ce03d76b 100644
--- a/libibverbs/man/ibv_query_srq.3
+++ b/libibverbs/man/ibv_query_srq.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_QUERY_SRQ 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_rate_to_mbps.3 b/libibverbs/man/ibv_rate_to_mbps.3
index 089db0140bcf..27e8724b5fa3 100644
--- a/libibverbs/man/ibv_rate_to_mbps.3
+++ b/libibverbs/man/ibv_rate_to_mbps.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_RATE_TO_MBPS 3 2012-03-31 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_rate_to_mult.3 b/libibverbs/man/ibv_rate_to_mult.3
index fb57ff823e2f..6e2a59ddf109 100644
--- a/libibverbs/man/ibv_rate_to_mult.3
+++ b/libibverbs/man/ibv_rate_to_mult.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_RATE_TO_MULT 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_rc_pingpong.1 b/libibverbs/man/ibv_rc_pingpong.1
index d213c6ffab9e..865bbcb6b0a5 100644
--- a/libibverbs/man/ibv_rc_pingpong.1
+++ b/libibverbs/man/ibv_rc_pingpong.1
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH IBV_RC_PINGPONG 1 "August 30, 2005" "libibverbs" "USER COMMANDS"
 
 .SH NAME
diff --git a/libibverbs/man/ibv_reg_mr.3 b/libibverbs/man/ibv_reg_mr.3
index cf151113070c..d3f09c0dad9a 100644
--- a/libibverbs/man/ibv_reg_mr.3
+++ b/libibverbs/man/ibv_reg_mr.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_REG_MR 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_req_notify_cq.3 b/libibverbs/man/ibv_req_notify_cq.3
index 47d45fed8174..1d1d62130d7b 100644
--- a/libibverbs/man/ibv_req_notify_cq.3
+++ b/libibverbs/man/ibv_req_notify_cq.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_REQ_NOTIFY_CQ 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_rereg_mr.3 b/libibverbs/man/ibv_rereg_mr.3
index a67843772bd4..ca8fc4e4d9a1 100644
--- a/libibverbs/man/ibv_rereg_mr.3
+++ b/libibverbs/man/ibv_rereg_mr.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_REREG_MR 3 2016-03-13 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_resize_cq.3 b/libibverbs/man/ibv_resize_cq.3
index fbb1ebd6cd6d..b15950103733 100644
--- a/libibverbs/man/ibv_resize_cq.3
+++ b/libibverbs/man/ibv_resize_cq.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH IBV_RESIZE_CQ 3 2006-10-31 libibverbs "Libibverbs Programmer's Manual"
 .SH "NAME"
diff --git a/libibverbs/man/ibv_srq_pingpong.1 b/libibverbs/man/ibv_srq_pingpong.1
index d50f70e63315..dddbd029e625 100644
--- a/libibverbs/man/ibv_srq_pingpong.1
+++ b/libibverbs/man/ibv_srq_pingpong.1
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH IBV_SRQ_PINGPONG 1 "August 30, 2005" "libibverbs" "USER COMMANDS"
 
 .SH NAME
diff --git a/libibverbs/man/ibv_uc_pingpong.1 b/libibverbs/man/ibv_uc_pingpong.1
index ec97eb0a54f6..88c0417cf294 100644
--- a/libibverbs/man/ibv_uc_pingpong.1
+++ b/libibverbs/man/ibv_uc_pingpong.1
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH IBV_UC_PINGPONG 1 "August 30, 2005" "libibverbs" "USER COMMANDS"
 
 .SH NAME
diff --git a/libibverbs/man/ibv_ud_pingpong.1 b/libibverbs/man/ibv_ud_pingpong.1
index a05af8d6b80f..594aeb6711a1 100644
--- a/libibverbs/man/ibv_ud_pingpong.1
+++ b/libibverbs/man/ibv_ud_pingpong.1
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH IBV_UD_PINGPONG 1 "August 30, 2005" "libibverbs" "USER COMMANDS"
 
 .SH NAME
diff --git a/libibverbs/man/ibv_xsrq_pingpong.1 b/libibverbs/man/ibv_xsrq_pingpong.1
index db4a988bd432..ef2ee3c12c9b 100644
--- a/libibverbs/man/ibv_xsrq_pingpong.1
+++ b/libibverbs/man/ibv_xsrq_pingpong.1
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH IBV_XSRQ_PINGPONG 1 "May 24, 2016" "libibverbs" "USER COMMANDS"
 
 .SH NAME
diff --git a/libibverbs/neigh.c b/libibverbs/neigh.c
index 1856aab74842..12e58cd4b63c 100644
--- a/libibverbs/neigh.c
+++ b/libibverbs/neigh.c
@@ -1,3 +1,5 @@
+/* Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
+ */
 
 #include "config.h"
 #include <net/if_packet.h>
diff --git a/libibverbs/neigh.h b/libibverbs/neigh.h
index 61dfd85264b7..88211bf2f489 100644
--- a/libibverbs/neigh.h
+++ b/libibverbs/neigh.h
@@ -1,3 +1,6 @@
+/* Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
+ */
+
 #ifndef _NEIGH_H_
 #define _NEIGH_H_
 
diff --git a/libibverbs/nl1_compat.h b/libibverbs/nl1_compat.h
index 809259dce561..e0f4d8199b73 100644
--- a/libibverbs/nl1_compat.h
+++ b/libibverbs/nl1_compat.h
@@ -1,3 +1,6 @@
+/* Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
+ */
+
 #ifndef _NL1_COMPAT_H_
 #define _NL1_COMPAT_H_
 
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related

* [PATCH rdma-core 4/8] umad: Push COPYING file into individual files
From: Jason Gunthorpe @ 2016-11-10 18:47 UTC (permalink / raw)
  To: linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <1478803660-27959-1-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>

Add missing copyright headers and delete the COPYING file.

Signed-off-by: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
---
 libibumad/COPYING                     | 377 ----------------------------------
 libibumad/man/umad_addr_dump.3        |   1 +
 libibumad/man/umad_alloc.3            |   1 +
 libibumad/man/umad_class_str.3        |   1 +
 libibumad/man/umad_close_port.3       |   1 +
 libibumad/man/umad_debug.3            |   1 +
 libibumad/man/umad_dump.3             |   1 +
 libibumad/man/umad_free.3             |   1 +
 libibumad/man/umad_get_ca.3           |   1 +
 libibumad/man/umad_get_ca_portguids.3 |   1 +
 libibumad/man/umad_get_cas_names.3    |   1 +
 libibumad/man/umad_get_fd.3           |   1 +
 libibumad/man/umad_get_issm_path.3    |   1 +
 libibumad/man/umad_get_mad.3          |   1 +
 libibumad/man/umad_get_mad_addr.3     |   1 +
 libibumad/man/umad_get_pkey.3         |   1 +
 libibumad/man/umad_get_port.3         |   1 +
 libibumad/man/umad_init.3             |   1 +
 libibumad/man/umad_open_port.3        |   1 +
 libibumad/man/umad_poll.3             |   1 +
 libibumad/man/umad_recv.3             |   1 +
 libibumad/man/umad_register.3         |   1 +
 libibumad/man/umad_register2.3        |   1 +
 libibumad/man/umad_register_oui.3     |   1 +
 libibumad/man/umad_send.3             |   1 +
 libibumad/man/umad_set_addr.3         |   1 +
 libibumad/man/umad_set_addr_net.3     |   1 +
 libibumad/man/umad_set_grh.3          |   1 +
 libibumad/man/umad_set_grh_net.3      |   1 +
 libibumad/man/umad_set_pkey.3         |   1 +
 libibumad/man/umad_size.3             |   1 +
 libibumad/man/umad_status.3           |   1 +
 libibumad/man/umad_unregister.3       |   1 +
 33 files changed, 32 insertions(+), 377 deletions(-)
 delete mode 100644 libibumad/COPYING

diff --git a/libibumad/COPYING b/libibumad/COPYING
deleted file mode 100644
index c7f06f69e99e..000000000000
diff --git a/libibumad/man/umad_addr_dump.3 b/libibumad/man/umad_addr_dump.3
index 7f09214925e4..d082c37a0c16 100644
--- a/libibumad/man/umad_addr_dump.3
+++ b/libibumad/man/umad_addr_dump.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH UMAD_ADDR_DUMP 3  "May 21, 2007" "OpenIB" "OpenIB Programmer\'s Manual"
 .SH "NAME"
diff --git a/libibumad/man/umad_alloc.3 b/libibumad/man/umad_alloc.3
index 5c65f3ece42b..b5ef752a2a5c 100644
--- a/libibumad/man/umad_alloc.3
+++ b/libibumad/man/umad_alloc.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH UMAD_ALLOC 3  "May 21, 2007" "OpenIB" "OpenIB Programmer\'s Manual"
 .SH "NAME"
diff --git a/libibumad/man/umad_class_str.3 b/libibumad/man/umad_class_str.3
index 5bc813b68cdd..9adb0fd505b9 100644
--- a/libibumad/man/umad_class_str.3
+++ b/libibumad/man/umad_class_str.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH UMAD_CLASS_STR 3  "Feb 15, 2013" "OpenIB" "OpenIB Programmer\'s Manual"
 .SH "NAME"
diff --git a/libibumad/man/umad_close_port.3 b/libibumad/man/umad_close_port.3
index 2c56d906b9b4..341c2d271926 100644
--- a/libibumad/man/umad_close_port.3
+++ b/libibumad/man/umad_close_port.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH UMAD_OPEN_PORT 3  "May 11, 2007" "OpenIB" "OpenIB Programmer\'s Manual"
 .SH "NAME"
diff --git a/libibumad/man/umad_debug.3 b/libibumad/man/umad_debug.3
index b7da2b01f0e5..224d5c016984 100644
--- a/libibumad/man/umad_debug.3
+++ b/libibumad/man/umad_debug.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH UMAD_DEBUG 3  "May 21, 2007" "OpenIB" "OpenIB Programmer\'s Manual"
 .SH "NAME"
diff --git a/libibumad/man/umad_dump.3 b/libibumad/man/umad_dump.3
index 101a2e0c4997..c01d51bf3044 100644
--- a/libibumad/man/umad_dump.3
+++ b/libibumad/man/umad_dump.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH UMAD_DUMP 3  "May 17, 2007" "OpenIB" "OpenIB Programmer\'s Manual"
 .SH "NAME"
diff --git a/libibumad/man/umad_free.3 b/libibumad/man/umad_free.3
index ac397942ea76..e3473170a389 100644
--- a/libibumad/man/umad_free.3
+++ b/libibumad/man/umad_free.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH UMAD_FREE 3  "May 17, 2007" "OpenIB" "OpenIB Programmer\'s Manual"
 .SH "NAME"
diff --git a/libibumad/man/umad_get_ca.3 b/libibumad/man/umad_get_ca.3
index 8de61d06d6d3..760b6b65cea8 100644
--- a/libibumad/man/umad_get_ca.3
+++ b/libibumad/man/umad_get_ca.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH UMAD_GET_CA 3  "May 21, 2007" "OpenIB" "OpenIB Programmer\'s Manual"
 .SH "NAME"
diff --git a/libibumad/man/umad_get_ca_portguids.3 b/libibumad/man/umad_get_ca_portguids.3
index d002c2a4edb1..ae8418eff534 100644
--- a/libibumad/man/umad_get_ca_portguids.3
+++ b/libibumad/man/umad_get_ca_portguids.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH UMAD_GET_CA_PORTGUIDS 3  "August 8, 2016" "OpenIB" "OpenIB Programmer\'s Manual"
 .SH "NAME"
diff --git a/libibumad/man/umad_get_cas_names.3 b/libibumad/man/umad_get_cas_names.3
index 85e76f815ace..0366c16e52cf 100644
--- a/libibumad/man/umad_get_cas_names.3
+++ b/libibumad/man/umad_get_cas_names.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH UMAD_GET_CAS_NAMES 3  "May 21, 2007" "OpenIB" "OpenIB Programmer\'s Manual"
 .SH "NAME"
diff --git a/libibumad/man/umad_get_fd.3 b/libibumad/man/umad_get_fd.3
index 49aa83976cee..5fe531118ac0 100644
--- a/libibumad/man/umad_get_fd.3
+++ b/libibumad/man/umad_get_fd.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH UMAD_GET_FD 3  "May 17, 2007" "OpenIB" "OpenIB Programmer\'s Manual"
 .SH "NAME"
diff --git a/libibumad/man/umad_get_issm_path.3 b/libibumad/man/umad_get_issm_path.3
index ac538c935769..4abef18eef28 100644
--- a/libibumad/man/umad_get_issm_path.3
+++ b/libibumad/man/umad_get_issm_path.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH UMAD_GET_ISSM_PATH 3  "Oct 18, 2007" "OpenIB" "OpenIB Programmer\'s Manual"
 .SH "NAME"
diff --git a/libibumad/man/umad_get_mad.3 b/libibumad/man/umad_get_mad.3
index 78c59ac74331..ac56c4863eaa 100644
--- a/libibumad/man/umad_get_mad.3
+++ b/libibumad/man/umad_get_mad.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH UMAD_GET_MAD 3  "May 21, 2007" "OpenIB" "OpenIB Programmer\'s Manual"
 .SH "NAME"
diff --git a/libibumad/man/umad_get_mad_addr.3 b/libibumad/man/umad_get_mad_addr.3
index 5da86c247546..4a92b7b0a415 100644
--- a/libibumad/man/umad_get_mad_addr.3
+++ b/libibumad/man/umad_get_mad_addr.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH UMAD_GET_MAD_ADDR 3  "May 21, 2007" "OpenIB" "OpenIB Programmer\'s Manual"
 .SH "NAME"
diff --git a/libibumad/man/umad_get_pkey.3 b/libibumad/man/umad_get_pkey.3
index a03c0a6adffb..b9dd1be7cd75 100644
--- a/libibumad/man/umad_get_pkey.3
+++ b/libibumad/man/umad_get_pkey.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH UMAD_GET_PKEY 3  "Jan 15, 2008" "OpenIB" "OpenIB Programmer\'s Manual"
 .SH "NAME"
diff --git a/libibumad/man/umad_get_port.3 b/libibumad/man/umad_get_port.3
index 8dfa1d61933f..44dbfb0a8895 100644
--- a/libibumad/man/umad_get_port.3
+++ b/libibumad/man/umad_get_port.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH UMAD_GET_PORT 3  "May 21, 2007" "OpenIB" "OpenIB Programmer\'s Manual"
 .SH "NAME"
diff --git a/libibumad/man/umad_init.3 b/libibumad/man/umad_init.3
index 4c22d927d8ec..64366b9de7e4 100644
--- a/libibumad/man/umad_init.3
+++ b/libibumad/man/umad_init.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH UMAD_INIT 3  "May 21, 2007" "OpenIB" "OpenIB Programmer\'s Manual"
 .SH "NAME"
diff --git a/libibumad/man/umad_open_port.3 b/libibumad/man/umad_open_port.3
index 53f2946ea814..cac01a71026b 100644
--- a/libibumad/man/umad_open_port.3
+++ b/libibumad/man/umad_open_port.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH UMAD_OPEN_PORT 3  "May 21, 2007" "OpenIB" "OpenIB Programmer\'s Manual"
 .SH "NAME"
diff --git a/libibumad/man/umad_poll.3 b/libibumad/man/umad_poll.3
index 93f9425c5f0d..57b7a6536bdd 100644
--- a/libibumad/man/umad_poll.3
+++ b/libibumad/man/umad_poll.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH UMAD_POLL 3  "October 23, 2007" "OpenIB" "OpenIB Programmer\'s Manual"
 .SH "NAME"
diff --git a/libibumad/man/umad_recv.3 b/libibumad/man/umad_recv.3
index 56e4ca7708be..93eec993c81e 100644
--- a/libibumad/man/umad_recv.3
+++ b/libibumad/man/umad_recv.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH UMAD_RECV 3  "May 11, 2007" "OpenIB" "OpenIB Programmer\'s Manual"
 .SH "NAME"
diff --git a/libibumad/man/umad_register.3 b/libibumad/man/umad_register.3
index eb6b9862574c..58b88f3a3be9 100644
--- a/libibumad/man/umad_register.3
+++ b/libibumad/man/umad_register.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH UMAD_REGISTER 3  "May 11, 2007" "OpenIB" "OpenIB Programmer\'s Manual"
 .SH "NAME"
diff --git a/libibumad/man/umad_register2.3 b/libibumad/man/umad_register2.3
index 228ce268e004..74e87943674b 100644
--- a/libibumad/man/umad_register2.3
+++ b/libibumad/man/umad_register2.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH UMAD_REGISTER2 3  "March 25, 2014" "OpenIB" "OpenIB Programmer\'s Manual"
 .SH "NAME"
diff --git a/libibumad/man/umad_register_oui.3 b/libibumad/man/umad_register_oui.3
index 4e8171c5cbaa..19430a93250d 100644
--- a/libibumad/man/umad_register_oui.3
+++ b/libibumad/man/umad_register_oui.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH UMAD_REGISTER_OUI 3  "May 17, 2007" "OpenIB" "OpenIB Programmer\'s Manual"
 .SH "NAME"
diff --git a/libibumad/man/umad_send.3 b/libibumad/man/umad_send.3
index b85bc564c0b6..59af2cb9842a 100644
--- a/libibumad/man/umad_send.3
+++ b/libibumad/man/umad_send.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH UMAD_SEND 3  "May 11, 2007" "OpenIB" "OpenIB Programmer\'s Manual"
 .SH "NAME"
diff --git a/libibumad/man/umad_set_addr.3 b/libibumad/man/umad_set_addr.3
index 82f81908e0b5..03ac8625cd97 100644
--- a/libibumad/man/umad_set_addr.3
+++ b/libibumad/man/umad_set_addr.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH UMAD_SET_ADDR 3  "May 17, 2007" "OpenIB" "OpenIB Programmer\'s Manual"
 .SH "NAME"
diff --git a/libibumad/man/umad_set_addr_net.3 b/libibumad/man/umad_set_addr_net.3
index 1f409c2a1540..778faf41cc19 100644
--- a/libibumad/man/umad_set_addr_net.3
+++ b/libibumad/man/umad_set_addr_net.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH UMAD_SET_ADDR_NET 3  "May 21, 2007" "OpenIB" "OpenIB Programmer\'s Manual"
 .SH "NAME"
diff --git a/libibumad/man/umad_set_grh.3 b/libibumad/man/umad_set_grh.3
index 17fe73b74bae..4ff52ec20012 100644
--- a/libibumad/man/umad_set_grh.3
+++ b/libibumad/man/umad_set_grh.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH UMAD_SET_GRH 3  "May 24, 2007" "OpenIB" "OpenIB Programmer\'s Manual"
 .SH "NAME"
diff --git a/libibumad/man/umad_set_grh_net.3 b/libibumad/man/umad_set_grh_net.3
index 8425b3fbbc75..802b575dcfcc 100644
--- a/libibumad/man/umad_set_grh_net.3
+++ b/libibumad/man/umad_set_grh_net.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH UMAD_SET_GRH_NET 3  "May 24, 2007" "OpenIB" "OpenIB Programmer\'s Manual"
 .SH "NAME"
diff --git a/libibumad/man/umad_set_pkey.3 b/libibumad/man/umad_set_pkey.3
index d6b86064247d..23e858eceb12 100644
--- a/libibumad/man/umad_set_pkey.3
+++ b/libibumad/man/umad_set_pkey.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH UMAD_SET_PKEY 3  "June 20, 2007" "OpenIB" "OpenIB Programmer\'s Manual"
 .SH "NAME"
diff --git a/libibumad/man/umad_size.3 b/libibumad/man/umad_size.3
index db861ef21536..74737ccca08b 100644
--- a/libibumad/man/umad_size.3
+++ b/libibumad/man/umad_size.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH UMAD_SIZE 3  "May 21, 2007" "OpenIB" "OpenIB Programmer\'s Manual"
 .SH "NAME"
diff --git a/libibumad/man/umad_status.3 b/libibumad/man/umad_status.3
index 3978b84d04b2..fd5430a3e480 100644
--- a/libibumad/man/umad_status.3
+++ b/libibumad/man/umad_status.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH UMAD_STATUS 3  "May 17, 2007" "OpenIB" "OpenIB Programmer\'s Manual"
 .SH "NAME"
diff --git a/libibumad/man/umad_unregister.3 b/libibumad/man/umad_unregister.3
index 472afec6e779..785d22dbe065 100644
--- a/libibumad/man/umad_unregister.3
+++ b/libibumad/man/umad_unregister.3
@@ -1,4 +1,5 @@
 .\" -*- nroff -*-
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .\"
 .TH UMAD_UNREGISTER 3  "May 21, 2007" "OpenIB" "OpenIB Programmer\'s Manual"
 .SH "NAME"
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related

* [PATCH rdma-core 3/8] srp_daemon: Push COPYING file into individual files
From: Jason Gunthorpe @ 2016-11-10 18:47 UTC (permalink / raw)
  To: linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <1478803660-27959-1-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>

Add missing copyright headers and delete the COPYING file.

Signed-off-by: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
---
 srp_daemon/COPYING         | 376 ---------------------------------------------
 srp_daemon/ibsrpdm.1       |   1 +
 srp_daemon/srp_daemon.1.in |   1 +
 srp_daemon/srpd.in         |   1 +
 4 files changed, 3 insertions(+), 376 deletions(-)
 delete mode 100644 srp_daemon/COPYING

diff --git a/srp_daemon/COPYING b/srp_daemon/COPYING
deleted file mode 100644
index 34994d31ea0b..000000000000
diff --git a/srp_daemon/ibsrpdm.1 b/srp_daemon/ibsrpdm.1
index f1c1d2a78ee3..6e7fc0d6e036 100644
--- a/srp_daemon/ibsrpdm.1
+++ b/srp_daemon/ibsrpdm.1
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH IBSRPDM 1 "August 30, 2005" "OpenFabrics" "USER COMMANDS"
 
 .SH NAME
diff --git a/srp_daemon/srp_daemon.1.in b/srp_daemon/srp_daemon.1.in
index 6ee114284780..008d53a2a55a 100644
--- a/srp_daemon/srp_daemon.1.in
+++ b/srp_daemon/srp_daemon.1.in
@@ -1,3 +1,4 @@
+.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 .TH SRP_DAEMON 1 "September 5, 2006" "OpenFabrics" "USER COMMANDS"
 
 .SH NAME
diff --git a/srp_daemon/srpd.in b/srp_daemon/srpd.in
index d77579170a3b..7e2316f6fbc4 100755
--- a/srp_daemon/srpd.in
+++ b/srp_daemon/srpd.in
@@ -1,4 +1,5 @@
 #!/bin/bash
+# Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
 #
 # Manage the SRP client daemon (srp_daemon)
 #
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related

* [PATCH rdma-core 2/8] iwpmd: Delete COPYING file
From: Jason Gunthorpe @ 2016-11-10 18:47 UTC (permalink / raw)
  To: linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <1478803660-27959-1-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>

This COPYING has the default copyright.

Signed-off-by: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
---
 iwpmd/COPYING | 372 ----------------------------------------------------------
 1 file changed, 372 deletions(-)
 delete mode 100644 iwpmd/COPYING

diff --git a/iwpmd/COPYING b/iwpmd/COPYING
deleted file mode 100644
index b275c841fb59..000000000000
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* [PATCH rdma-core 1/8] ibcm: Delete COPYING file
From: Jason Gunthorpe @ 2016-11-10 18:47 UTC (permalink / raw)
  To: linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <1478803660-27959-1-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>

All files have copyright headers.

Signed-off-by: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
---
 libibcm/COPYING | 378 --------------------------------------------------------
 1 file changed, 378 deletions(-)
 delete mode 100644 libibcm/COPYING

diff --git a/libibcm/COPYING b/libibcm/COPYING
deleted file mode 100644
index ee1a79ffabf6..000000000000
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* [PATCH rdma-core 0/8] Eliminate most loose COPYING files
From: Jason Gunthorpe @ 2016-11-10 18:47 UTC (permalink / raw)
  To: linux-rdma-u79uwXL29TY76Z2rM5mHXA

This is done by pushing the copyright statement into the files in the
subdirectory without copyright.

https://github.com/linux-rdma/rdma-core/pull/39

Jason Gunthorpe (8):
  ibcm: Delete COPYING file
  iwpmd: Delete COPYING file
  srp_daemon: Push COPYING file into individual files
  umad: Push COPYING file into individual files
  ibverbs: Push COPYING file into individual files
  rdmacm: Push COPYING file into individual files
  ibacm: Push COPYING file into individual files
  mlx4: Push COPYING file into individual files

 ibacm/COPYING                              | 378 -----------------------------
 ibacm/ibacm.init.in                        |   1 +
 ibacm/man/ib_acme.1                        |   1 +
 ibacm/man/ibacm.1                          |   1 +
 ibacm/man/ibacm.7                          |   1 +
 ibacm/man/ibacm_prov.7.in                  |   1 +
 iwpmd/COPYING                              | 372 ----------------------------
 libibcm/COPYING                            | 378 -----------------------------
 libibumad/COPYING                          | 377 ----------------------------
 libibumad/man/umad_addr_dump.3             |   1 +
 libibumad/man/umad_alloc.3                 |   1 +
 libibumad/man/umad_class_str.3             |   1 +
 libibumad/man/umad_close_port.3            |   1 +
 libibumad/man/umad_debug.3                 |   1 +
 libibumad/man/umad_dump.3                  |   1 +
 libibumad/man/umad_free.3                  |   1 +
 libibumad/man/umad_get_ca.3                |   1 +
 libibumad/man/umad_get_ca_portguids.3      |   1 +
 libibumad/man/umad_get_cas_names.3         |   1 +
 libibumad/man/umad_get_fd.3                |   1 +
 libibumad/man/umad_get_issm_path.3         |   1 +
 libibumad/man/umad_get_mad.3               |   1 +
 libibumad/man/umad_get_mad_addr.3          |   1 +
 libibumad/man/umad_get_pkey.3              |   1 +
 libibumad/man/umad_get_port.3              |   1 +
 libibumad/man/umad_init.3                  |   1 +
 libibumad/man/umad_open_port.3             |   1 +
 libibumad/man/umad_poll.3                  |   1 +
 libibumad/man/umad_recv.3                  |   1 +
 libibumad/man/umad_register.3              |   1 +
 libibumad/man/umad_register2.3             |   1 +
 libibumad/man/umad_register_oui.3          |   1 +
 libibumad/man/umad_send.3                  |   1 +
 libibumad/man/umad_set_addr.3              |   1 +
 libibumad/man/umad_set_addr_net.3          |   1 +
 libibumad/man/umad_set_grh.3               |   1 +
 libibumad/man/umad_set_grh_net.3           |   1 +
 libibumad/man/umad_set_pkey.3              |   1 +
 libibumad/man/umad_size.3                  |   1 +
 libibumad/man/umad_status.3                |   1 +
 libibumad/man/umad_unregister.3            |   1 +
 libibverbs/COPYING                         | 378 -----------------------------
 libibverbs/man/ibv_alloc_mw.3              |   1 +
 libibverbs/man/ibv_alloc_pd.3              |   1 +
 libibverbs/man/ibv_asyncwatch.1            |   1 +
 libibverbs/man/ibv_attach_mcast.3          |   1 +
 libibverbs/man/ibv_bind_mw.3               |   1 +
 libibverbs/man/ibv_create_ah.3             |   1 +
 libibverbs/man/ibv_create_ah_from_wc.3     |   1 +
 libibverbs/man/ibv_create_comp_channel.3   |   1 +
 libibverbs/man/ibv_create_cq.3             |   1 +
 libibverbs/man/ibv_create_cq_ex.3          |   1 +
 libibverbs/man/ibv_create_flow.3           |   1 +
 libibverbs/man/ibv_create_qp.3             |   1 +
 libibverbs/man/ibv_create_qp_ex.3          |   1 +
 libibverbs/man/ibv_create_rwq_ind_table.3  |   1 +
 libibverbs/man/ibv_create_srq.3            |   1 +
 libibverbs/man/ibv_create_srq_ex.3         |   1 +
 libibverbs/man/ibv_create_wq.3             |   1 +
 libibverbs/man/ibv_devices.1               |   1 +
 libibverbs/man/ibv_devinfo.1               |   1 +
 libibverbs/man/ibv_event_type_str.3        |   1 +
 libibverbs/man/ibv_fork_init.3             |   1 +
 libibverbs/man/ibv_get_async_event.3       |   1 +
 libibverbs/man/ibv_get_cq_event.3          |   1 +
 libibverbs/man/ibv_get_device_guid.3       |   1 +
 libibverbs/man/ibv_get_device_list.3       |   1 +
 libibverbs/man/ibv_get_device_name.3       |   1 +
 libibverbs/man/ibv_get_srq_num.3           |   1 +
 libibverbs/man/ibv_inc_rkey.3              |   1 +
 libibverbs/man/ibv_modify_qp.3             |   1 +
 libibverbs/man/ibv_modify_srq.3            |   1 +
 libibverbs/man/ibv_modify_wq.3             |   1 +
 libibverbs/man/ibv_open_device.3           |   1 +
 libibverbs/man/ibv_open_qp.3               |   1 +
 libibverbs/man/ibv_open_xrcd.3             |   1 +
 libibverbs/man/ibv_poll_cq.3               |   1 +
 libibverbs/man/ibv_post_recv.3             |   1 +
 libibverbs/man/ibv_post_send.3             |   1 +
 libibverbs/man/ibv_post_srq_recv.3         |   1 +
 libibverbs/man/ibv_query_device.3          |   1 +
 libibverbs/man/ibv_query_device_ex.3       |   1 +
 libibverbs/man/ibv_query_gid.3             |   1 +
 libibverbs/man/ibv_query_pkey.3            |   1 +
 libibverbs/man/ibv_query_port.3            |   1 +
 libibverbs/man/ibv_query_qp.3              |   1 +
 libibverbs/man/ibv_query_rt_values_ex.3    |   1 +
 libibverbs/man/ibv_query_srq.3             |   1 +
 libibverbs/man/ibv_rate_to_mbps.3          |   1 +
 libibverbs/man/ibv_rate_to_mult.3          |   1 +
 libibverbs/man/ibv_rc_pingpong.1           |   1 +
 libibverbs/man/ibv_reg_mr.3                |   1 +
 libibverbs/man/ibv_req_notify_cq.3         |   1 +
 libibverbs/man/ibv_rereg_mr.3              |   1 +
 libibverbs/man/ibv_resize_cq.3             |   1 +
 libibverbs/man/ibv_srq_pingpong.1          |   1 +
 libibverbs/man/ibv_uc_pingpong.1           |   1 +
 libibverbs/man/ibv_ud_pingpong.1           |   1 +
 libibverbs/man/ibv_xsrq_pingpong.1         |   1 +
 libibverbs/neigh.c                         |   2 +
 libibverbs/neigh.h                         |   3 +
 libibverbs/nl1_compat.h                    |   3 +
 librdmacm/COPYING                          | 378 -----------------------------
 librdmacm/docs/rsocket                     |   1 +
 librdmacm/man/mckey.1                      |   1 +
 librdmacm/man/rcopy.1                      |   1 +
 librdmacm/man/rdma_accept.3                |   1 +
 librdmacm/man/rdma_ack_cm_event.3          |   1 +
 librdmacm/man/rdma_bind_addr.3             |   1 +
 librdmacm/man/rdma_client.1                |   1 +
 librdmacm/man/rdma_cm.7                    |   1 +
 librdmacm/man/rdma_connect.3               |   1 +
 librdmacm/man/rdma_create_ep.3             |   1 +
 librdmacm/man/rdma_create_event_channel.3  |   1 +
 librdmacm/man/rdma_create_id.3             |   1 +
 librdmacm/man/rdma_create_qp.3             |   1 +
 librdmacm/man/rdma_create_srq.3            |   1 +
 librdmacm/man/rdma_dereg_mr.3              |   1 +
 librdmacm/man/rdma_destroy_ep.3            |   1 +
 librdmacm/man/rdma_destroy_event_channel.3 |   1 +
 librdmacm/man/rdma_destroy_id.3            |   1 +
 librdmacm/man/rdma_destroy_qp.3            |   1 +
 librdmacm/man/rdma_destroy_srq.3           |   1 +
 librdmacm/man/rdma_disconnect.3            |   1 +
 librdmacm/man/rdma_event_str.3             |   1 +
 librdmacm/man/rdma_free_devices.3          |   1 +
 librdmacm/man/rdma_get_cm_event.3          |   1 +
 librdmacm/man/rdma_get_devices.3           |   1 +
 librdmacm/man/rdma_get_dst_port.3          |   1 +
 librdmacm/man/rdma_get_local_addr.3        |   1 +
 librdmacm/man/rdma_get_peer_addr.3         |   1 +
 librdmacm/man/rdma_get_recv_comp.3         |   1 +
 librdmacm/man/rdma_get_request.3           |   1 +
 librdmacm/man/rdma_get_send_comp.3         |   1 +
 librdmacm/man/rdma_get_src_port.3          |   1 +
 librdmacm/man/rdma_getaddrinfo.3           |   1 +
 librdmacm/man/rdma_join_multicast.3        |   1 +
 librdmacm/man/rdma_leave_multicast.3       |   1 +
 librdmacm/man/rdma_listen.3                |   1 +
 librdmacm/man/rdma_migrate_id.3            |   1 +
 librdmacm/man/rdma_notify.3                |   1 +
 librdmacm/man/rdma_post_read.3             |   1 +
 librdmacm/man/rdma_post_readv.3            |   1 +
 librdmacm/man/rdma_post_recv.3             |   1 +
 librdmacm/man/rdma_post_recvv.3            |   1 +
 librdmacm/man/rdma_post_send.3             |   1 +
 librdmacm/man/rdma_post_sendv.3            |   1 +
 librdmacm/man/rdma_post_ud_send.3          |   1 +
 librdmacm/man/rdma_post_write.3            |   1 +
 librdmacm/man/rdma_post_writev.3           |   1 +
 librdmacm/man/rdma_reg_msgs.3              |   1 +
 librdmacm/man/rdma_reg_read.3              |   1 +
 librdmacm/man/rdma_reg_write.3             |   1 +
 librdmacm/man/rdma_reject.3                |   1 +
 librdmacm/man/rdma_resolve_addr.3          |   1 +
 librdmacm/man/rdma_resolve_route.3         |   1 +
 librdmacm/man/rdma_server.1                |   1 +
 librdmacm/man/rdma_set_option.3            |   1 +
 librdmacm/man/rdma_xclient.1               |   1 +
 librdmacm/man/rdma_xserver.1               |   1 +
 librdmacm/man/riostream.1                  |   1 +
 librdmacm/man/rping.1                      |   1 +
 librdmacm/man/rsocket.7.in                 |   1 +
 librdmacm/man/rstream.1                    |   1 +
 librdmacm/man/ucmatose.1                   |   1 +
 librdmacm/man/udaddy.1                     |   1 +
 providers/mlx4/COPYING                     | 378 -----------------------------
 providers/mlx4/mmio.h                      |   2 +
 srp_daemon/COPYING                         | 376 ----------------------------
 srp_daemon/ibsrpdm.1                       |   1 +
 srp_daemon/srp_daemon.1.in                 |   1 +
 srp_daemon/srpd.in                         |   1 +
 172 files changed, 170 insertions(+), 3015 deletions(-)
 delete mode 100644 ibacm/COPYING
 delete mode 100644 iwpmd/COPYING
 delete mode 100644 libibcm/COPYING
 delete mode 100644 libibumad/COPYING
 delete mode 100644 libibverbs/COPYING
 delete mode 100644 librdmacm/COPYING
 delete mode 100644 providers/mlx4/COPYING
 delete mode 100644 srp_daemon/COPYING

-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* Re: [PATCHv12 0/3] rdmacg: IB/core: rdma controller support
From: Parav Pandit @ 2016-11-10 17:56 UTC (permalink / raw)
  To: Tejun Heo
  Cc: Leon Romanovsky, Liran Liss,
	cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-rdma,
	Li Zefan, Johannes Weiner, Doug Ledford, Christoph Hellwig,
	Hefty, Sean, Jason Gunthorpe, Haggai Eran,
	james.l.morris-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org,
	Or Gerlitz, Matan Barak
In-Reply-To: <20161110173217.GD26105-piEFEHQLUPpN0TnZuCh8vA@public.gmane.org>

Hi Tejun,


On Thu, Nov 10, 2016 at 11:02 PM, Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> wrote:
> Hello, Parav.
>
> On Thu, Nov 10, 2016 at 10:34:44PM +0530, Parav Pandit wrote:
>> user-kernel interface:
>> ---------------------------
>> (a) rdma.current - Will continue to report resource count.
>> (b) rdma.max - will continue to accept hca_handles, and hca_objects as
>> absolute number.
>>
>> Instead of mr, pd, qp, ah, srq entries of patch_v12, it will have just
>> two entries for each device.
>> (1) hca_handles, (2) hca_objects.
>>
>> rdmacg - IB stack interface:
>> --------------------------------
>> cgroup_rdma.h will have two enum entries.
>>
>> RDMACG_RESOURCE_HCA_HANDLE
>> RDMACG_RESOURCE_OBJECT
>>
>> IB stack will charge either of the object.
>> When HCA handles are allocated/freed IB core will request charge/uncharge.
>> When standard verb resources such as PD, MR, CQ, QP, SRQ are
>> allocated/freed IB core will request for XX_OBJECT charge/uncharge.
>>
>> Currently defined APIs and interfaces just remains same.
>
> That looks great to me from cgroup side.  Do you have plans for
> exposing the maximum numbers available?
>
I thought more on this.
If I have to expose max limits, I need new file interface as rdma.limit.
Because once rdma.max is set, user space cannot get back the old value.
It needs to cache it. user space tools might have been restarted and
so on, so store in other file etc.
So such user space solutions are just ugly.

Getting and setting values in device agnostic way, through cgroup
files is desirable, however its not must. It can fallback on using
verb based API.

So if there is no objection, I prefer to have rdma.limit file as
incremental patch once base version is merged.


> Thanks.
>
> --
> tejun

^ permalink raw reply

* Re: [PATCH net 0/2] qed: Fix RoCE infrastructure
From: David Miller @ 2016-11-10 17:55 UTC (permalink / raw)
  To: Yuval.Mintz-YGCgFSpz5w/QT0dZR+AlfA
  Cc: netdev-u79uwXL29TY76Z2rM5mHXA, linux-rdma-u79uwXL29TY76Z2rM5mHXA,
	dledford-H+wXaHxf7aLQT0dZR+AlfA,
	Ram.Amrani-YGCgFSpz5w/QT0dZR+AlfA
In-Reply-To: <1478724524-16940-1-git-send-email-Yuval.Mintz-YGCgFSpz5w/QT0dZR+AlfA@public.gmane.org>

From: Yuval Mintz <Yuval.Mintz-YGCgFSpz5w/QT0dZR+AlfA@public.gmane.org>
Date: Wed, 9 Nov 2016 22:48:42 +0200

> This series fixes 2 basic issues with RoCE support,
> one handles a missing configuration in the initial infrastructure
> support while the other is a regression introduced by one of the
> initial fix submissions.

Series applied, thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* Re: [PATCHv12 0/3] rdmacg: IB/core: rdma controller support
From: Tejun Heo @ 2016-11-10 17:32 UTC (permalink / raw)
  To: Parav Pandit
  Cc: Leon Romanovsky, Liran Liss,
	cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-rdma,
	Li Zefan, Johannes Weiner, Doug Ledford, Christoph Hellwig,
	Hefty, Sean, Jason Gunthorpe, Haggai Eran,
	james.l.morris-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org,
	Or Gerlitz, Matan Barak
In-Reply-To: <CAG53R5UGfhGHc3-jgUjH5taFzTHg3BOgXi25QjuQfUFc0U7tgw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

Hello, Parav.

On Thu, Nov 10, 2016 at 10:34:44PM +0530, Parav Pandit wrote:
> user-kernel interface:
> ---------------------------
> (a) rdma.current - Will continue to report resource count.
> (b) rdma.max - will continue to accept hca_handles, and hca_objects as
> absolute number.
> 
> Instead of mr, pd, qp, ah, srq entries of patch_v12, it will have just
> two entries for each device.
> (1) hca_handles, (2) hca_objects.
> 
> rdmacg - IB stack interface:
> --------------------------------
> cgroup_rdma.h will have two enum entries.
> 
> RDMACG_RESOURCE_HCA_HANDLE
> RDMACG_RESOURCE_OBJECT
> 
> IB stack will charge either of the object.
> When HCA handles are allocated/freed IB core will request charge/uncharge.
> When standard verb resources such as PD, MR, CQ, QP, SRQ are
> allocated/freed IB core will request for XX_OBJECT charge/uncharge.
> 
> Currently defined APIs and interfaces just remains same.

That looks great to me from cgroup side.  Do you have plans for
exposing the maximum numbers available?

Thanks.

-- 
tejun

^ permalink raw reply

* Re: [PATCH rdma-core 1/7] libhns: Add initial main frame
From: Jason Gunthorpe @ 2016-11-10 17:30 UTC (permalink / raw)
  To: oulijun
  Cc: Leon Romanovsky, dledford-H+wXaHxf7aLQT0dZR+AlfA,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA,
	linuxarm-hv44wF8Li93QT0dZR+AlfA
In-Reply-To: <58232047.4060709-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>

On Wed, Nov 09, 2016 at 09:10:31PM +0800, oulijun wrote:
> ??? 2016/11/8 20:54, Leon Romanovsky ??????:
> > On Mon, Nov 07, 2016 at 04:15:32PM -0700, Jason Gunthorpe wrote:
> >> On Sat, Oct 29, 2016 at 09:16:25AM +0800, oulijun wrote:
> >>
> >>> We hope that the only one userspace library file named
> >>> libhns-rdmav2.so will be used for the different hardware
> >>> version(hip06, hip07, ...), because there are only little change
> >>> between their userspace drivers. So we need to distinguish hardware
> >>> version.
> >>
> >> I guess that makes sense, but you still need to be able to parse dt
> >> compatible strings that are lists.
> > 
> > IMHO, it can be easily done as follow up patches.
> > 
> Hi, Leon & Jason
>    We hope that the only one userspace library file named libhns-rdmav2.so will be used for the different hardware version(hip06, hip07, ...),
> because there are only little change between their userspace drivers. So we need to distinguish hardware version.
> We can't distinguish them if only matching driver name "hns_roce".

That is fine..

> 	if (ibv_read_sysfs_file(uverbs_sys_path, "device/of_node/compatible",
> 				value, sizeof(value)) > 0)
> 		for (i = 0; i < sizeof(dt_table) / sizeof(dt_table[0]); ++i)
> 			if (!strcmp(value, dt_table[i].compatible)) {

This isn't right, compatible can be a list, if I recall it is a null
separated list of names, you need to parse the list.

Again, it would much better to just parse modalias directly, and
better still to add some core libiverbs code to do that for all
drivers.

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* Re: [PATCHv12 0/3] rdmacg: IB/core: rdma controller support
From: Parav Pandit @ 2016-11-10 17:04 UTC (permalink / raw)
  To: Tejun Heo
  Cc: Leon Romanovsky, Liran Liss,
	cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-rdma,
	Li Zefan, Johannes Weiner, Doug Ledford, Christoph Hellwig,
	Hefty, Sean, Jason Gunthorpe, Haggai Eran,
	james.l.morris-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org,
	Or Gerlitz, Matan Barak
In-Reply-To: <20161110164638.GC26105-piEFEHQLUPpN0TnZuCh8vA@public.gmane.org>

Hi Tejun,

On Thu, Nov 10, 2016 at 10:16 PM, Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> wrote:
> Hello,
>
> On Thu, Nov 10, 2016 at 06:38:37PM +0200, Leon Romanovsky wrote:
>> On Thu, Nov 10, 2016 at 01:11:18PM +0530, Parav Pandit wrote:
>> > Hi Leon, Tejun, Christoph, Liran,  Doug, Matan,
>> >
>> > So are you ok with below proposal?
>>
>> I'm fine with it and it looks like very clean approach
>> to solve our multi-object future.
>
> No ojbection.  Parav, can you write up how the interface would look
> like with examples?

Simplified version of v12 with no architecture change.
I will describe below.

user-kernel interface:
---------------------------
(a) rdma.current - Will continue to report resource count.
(b) rdma.max - will continue to accept hca_handles, and hca_objects as
absolute number.

Instead of mr, pd, qp, ah, srq entries of patch_v12, it will have just
two entries for each device.
(1) hca_handles, (2) hca_objects.

rdmacg - IB stack interface:
--------------------------------
cgroup_rdma.h will have two enum entries.

RDMACG_RESOURCE_HCA_HANDLE
RDMACG_RESOURCE_OBJECT

IB stack will charge either of the object.
When HCA handles are allocated/freed IB core will request charge/uncharge.
When standard verb resources such as PD, MR, CQ, QP, SRQ are
allocated/freed IB core will request for XX_OBJECT charge/uncharge.

Currently defined APIs and interfaces just remains same.

^ permalink raw reply

* Re: [PATCH] i40iw: Correct values for max_recv_sge, max_send_sge
From: Leon Romanovsky @ 2016-11-10 16:47 UTC (permalink / raw)
  To: Henry Orosco
  Cc: dledford-H+wXaHxf7aLQT0dZR+AlfA,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA,
	e1000-rdma-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
In-Reply-To: <20161110032639.7460-1-henry.orosco-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 2201 bytes --]

On Wed, Nov 09, 2016 at 09:26:39PM -0600, Henry Orosco wrote:
> When creating QPs, ensure init_attr->cap.max_recv_sge
> is clipped to MAX_FRAG_COUNT.
>
> Expose MAX_FRAG_COUNT for max_recv_sge and max_send_sge in
> i40iw_query_qp().
>
> Signed-off-by: Shiraz Saleem <shiraz.saleem-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> Signed-off-by: Henry Orosco <henry.orosco-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> ---
>  drivers/infiniband/hw/i40iw/i40iw_verbs.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/infiniband/hw/i40iw/i40iw_verbs.c b/drivers/infiniband/hw/i40iw/i40iw_verbs.c
> index 6329c97..d06fe593 100644
> --- a/drivers/infiniband/hw/i40iw/i40iw_verbs.c
> +++ b/drivers/infiniband/hw/i40iw/i40iw_verbs.c
> @@ -610,6 +610,9 @@ static struct ib_qp *i40iw_create_qp(struct ib_pd *ibpd,
>  	if (init_attr->cap.max_send_sge > I40IW_MAX_WQ_FRAGMENT_COUNT)
>  		init_attr->cap.max_send_sge = I40IW_MAX_WQ_FRAGMENT_COUNT;
>
> +	if (init_attr->cap.max_recv_sge > I40IW_MAX_WQ_FRAGMENT_COUNT)
> +		init_attr->cap.max_recv_sge = I40IW_MAX_WQ_FRAGMENT_COUNT;
> +

Just personal preference,
init_attr->cap.max_recv_sge = min(init_attr->cap.max_recv_sge, I40IW_MAX_WQ_FRAGMENT_COUNT);

Looks good,
Reviewed-By: Leon Romanovsky <leonro-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>

>  	memset(&init_info, 0, sizeof(init_info));
>
>  	sq_size = init_attr->cap.max_send_wr;
> @@ -815,8 +818,9 @@ static int i40iw_query_qp(struct ib_qp *ibqp,
>  	attr->qp_access_flags = 0;
>  	attr->cap.max_send_wr = qp->qp_uk.sq_size;
>  	attr->cap.max_recv_wr = qp->qp_uk.rq_size;
> -	attr->cap.max_recv_sge = 1;
>  	attr->cap.max_inline_data = I40IW_MAX_INLINE_DATA_SIZE;
> +	attr->cap.max_send_sge = I40IW_MAX_WQ_FRAGMENT_COUNT;
> +	attr->cap.max_recv_sge = I40IW_MAX_WQ_FRAGMENT_COUNT;
>  	init_attr->event_handler = iwqp->ibqp.event_handler;
>  	init_attr->qp_context = iwqp->ibqp.qp_context;
>  	init_attr->send_cq = iwqp->ibqp.send_cq;
> --
> 1.8.3.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply

* Re: [PATCH rdma-next 0/4] Add packet pacing support for IB verbs
From: Jason Gunthorpe @ 2016-11-10 16:47 UTC (permalink / raw)
  To: Leon Romanovsky
  Cc: Hefty, Sean, Bodong Wang,
	dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
In-Reply-To: <20161110072242.GC28957-2ukJVAZIZ/Y@public.gmane.org>

On Thu, Nov 10, 2016 at 09:22:42AM +0200, Leon Romanovsky wrote:
> I'll let to Bodong to elaborate on it more, but as far as I see, the AH
> attribute is relevant to UD QP only, while the packet pacing is intended
> for all types of QPs.

In IB static rate is supposed to work for all QP types.

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* Re: [PATCHv12 0/3] rdmacg: IB/core: rdma controller support
From: Tejun Heo @ 2016-11-10 16:46 UTC (permalink / raw)
  To: Leon Romanovsky
  Cc: Parav Pandit, Liran Liss,
	cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-rdma,
	Li Zefan, Johannes Weiner, Doug Ledford, Christoph Hellwig,
	Hefty, Sean, Jason Gunthorpe, Haggai Eran,
	james.l.morris-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org,
	Or Gerlitz, Matan Barak
In-Reply-To: <20161110163837.GE28957-2ukJVAZIZ/Y@public.gmane.org>

Hello,

On Thu, Nov 10, 2016 at 06:38:37PM +0200, Leon Romanovsky wrote:
> On Thu, Nov 10, 2016 at 01:11:18PM +0530, Parav Pandit wrote:
> > Hi Leon, Tejun, Christoph, Liran,  Doug, Matan,
> >
> > So are you ok with below proposal?
> 
> I'm fine with it and it looks like very clean approach
> to solve our multi-object future.

No ojbection.  Parav, can you write up how the interface would look
like with examples?

Thanks.

-- 
tejun

^ permalink raw reply

* Re: [PATCHv12 0/3] rdmacg: IB/core: rdma controller support
From: Leon Romanovsky @ 2016-11-10 16:38 UTC (permalink / raw)
  To: Parav Pandit
  Cc: Liran Liss, Tejun Heo,
	cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-rdma,
	Li Zefan, Johannes Weiner, Doug Ledford, Christoph Hellwig,
	Hefty, Sean, Jason Gunthorpe, Haggai Eran,
	james.l.morris-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org,
	Or Gerlitz, Matan Barak
In-Reply-To: <CAG53R5XqZwrYsdX=JQ1D4cDB0h65RDQVb=VCiaR5TXuf_uoO0Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 1917 bytes --]

On Thu, Nov 10, 2016 at 01:11:18PM +0530, Parav Pandit wrote:
> Hi Leon, Tejun, Christoph, Liran,  Doug, Matan,
>
> So are you ok with below proposal?

I'm fine with it and it looks like very clean approach
to solve our multi-object future.

>
> 1. Define two resources by rdmacg.
> (a) hca_handles (covers doorbell pages)
> (b) hca_resources (mr, pd, qp, srq, vendor defined, all consolidated count)
> Both cannot be combined as explained in [1].
>
> 2. User configures absolute count for above two resources (similar to
> today's file descriptors, pid cgroup controller max limit)
>
> Leon,
> Let us know if you have any further discussions during LPC on
> questions of [2] in using percentage based scheme or otherwise.

No, we didn't have.

>
> Parav
>
> [1] https://www.spinics.net/lists/linux-rdma/msg42771.html
> [2] https://www.spinics.net/lists/linux-rdma/msg42768.html
>
>
>
> On Tue, Nov 8, 2016 at 1:42 PM, Liran Liss <liranl-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org> wrote:
> >> From: Parav Pandit [mailto:pandit.parav-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org]
> >
> >> >
> >> > Hmm..
> >> > I guess that you are right.
> >> >
> >> > So we can add another count for "HCA handles",
> >> I prefer this. This keeps it vendor agnostic and clean if we don't go percentage
> >> route.
> >
> > OK; let's do it.
> >
> >> Would indirection table also fall in this category?
> >>
> >
> > No. It's just another HCA resource...
> >
> >> > or alternatively, each provider will restrict the number of handles
> >> > per device to a reasonable small number (which won't be treated as one of the
> >> "HCA resources").
> >> This would require vendor drivers to get the understanding of cgroup object
> >> and pid and that breaks the modular approach. I like to avoid this.
> >>
> >> > Typically, a process shouldn't need to open more than a single handle...
> >> Right. well behaved application won't do multiple handles.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply

* Re: [PATCH v3 rdma-core 0/7] libhns: userspace library for hns
From: Leon Romanovsky @ 2016-11-10 16:15 UTC (permalink / raw)
  To: Lijun Ou
  Cc: dledford-H+wXaHxf7aLQT0dZR+AlfA,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA,
	linuxarm-hv44wF8Li93QT0dZR+AlfA
In-Reply-To: <1478781977-116803-1-git-send-email-oulijun-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 2435 bytes --]

On Thu, Nov 10, 2016 at 08:46:10PM +0800, Lijun Ou wrote:
> This patch series introduces userspace library for hns RoCE driver.
>
> changes v2 -> v3:
> 1. Fix the code style, for example, if (addr == NULL)
> 2. Fix the bug for hns_roce_u_reg_mr
>
> changes v1 -> v2:
> 1. Delete the min() definition and instead of ccan header
> 2. Delete the CHECK_C_SOURCE_COMPILES
> 3. sort the c file in rdma_provider()
> 4. Delete the unused code in hns_roce_u_db.h
>
> Lijun Ou (7):
>   libhns: Add initial main frame
>   libhns: Add verbs of querying device and querying port
>   libhns: Add verbs of pd and mr support
>   libhns: Add verbs of cq support
>   libhns: Add verbs of qp support
>   libhns: Add verbs of post_send and post_recv support
>   libhns: Add consolidated repo for userspace library of hns

Hi Lijun,

I tried to take your patch set, but it fails to pass our Travis CI
tests.

https://github.com/linux-rdma/rdma-core/pull/38
https://travis-ci.org/linux-rdma/rdma-core/builds/174815897

You need to fix it prior to our acceptance.

Thanks


>
>  CMakeLists.txt                   |   1 +
>  MAINTAINERS                      |   6 +
>  README.md                        |   1 +
>  providers/hns/CMakeLists.txt     |   6 +
>  providers/hns/hns_roce_u.c       | 228 +++++++++++
>  providers/hns/hns_roce_u.h       | 255 ++++++++++++
>  providers/hns/hns_roce_u_abi.h   |  69 ++++
>  providers/hns/hns_roce_u_buf.c   |  61 +++
>  providers/hns/hns_roce_u_db.h    |  54 +++
>  providers/hns/hns_roce_u_hw_v1.c | 839 +++++++++++++++++++++++++++++++++++++++
>  providers/hns/hns_roce_u_hw_v1.h | 242 +++++++++++
>  providers/hns/hns_roce_u_verbs.c | 525 ++++++++++++++++++++++++
>  12 files changed, 2287 insertions(+)
>  create mode 100644 providers/hns/CMakeLists.txt
>  create mode 100644 providers/hns/hns_roce_u.c
>  create mode 100644 providers/hns/hns_roce_u.h
>  create mode 100644 providers/hns/hns_roce_u_abi.h
>  create mode 100644 providers/hns/hns_roce_u_buf.c
>  create mode 100644 providers/hns/hns_roce_u_db.h
>  create mode 100644 providers/hns/hns_roce_u_hw_v1.c
>  create mode 100644 providers/hns/hns_roce_u_hw_v1.h
>  create mode 100644 providers/hns/hns_roce_u_verbs.c
>
> --
> 1.9.1
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply

* Re: [PATCH rdma-next 0/4] Add packet pacing support for IB verbs
From: Bodong Wang @ 2016-11-10 16:07 UTC (permalink / raw)
  To: Leon Romanovsky, Hefty, Sean
  Cc: dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
In-Reply-To: <20161110072242.GC28957-2ukJVAZIZ/Y@public.gmane.org>

On 11/10/2016 1:22 AM, Leon Romanovsky wrote:
> On Wed, Nov 09, 2016 at 05:06:52PM +0000, Hefty, Sean wrote:
>>> On Tue, Nov 08, 2016 at 05:49:26PM +0000, Hefty, Sean wrote:
>>>>> When sending from a 10G host to a 1G host, it is easy to overrun
>>> the
>>>>> receiver,
>>>>> leading to packet loss and traffic backing off. Similar problems
>>> occur
>>>>> when
>>>>> a 10G host sends data to a sub-10G virtual circuit, or a 40G host
>>>>> sending
>>>>> to a 10G host. Packet pacing could control packet injection rate
>>> and
>>>>> reduces
>>>>> network congestion to maximize throughput & minimize network
>>> latency.
>>>> Why isn't the path record data and existing mechanisms sufficient to
>>> handle this?
>>> Packet pacing allows different combinations of traffic shaping: per-
>>> CPU,
>>> per-flow and their combinations with better and steady QoS requirements
>>> without involving subnet management.
>> The patch adds this as a QP attribute, and we already have a rate for that.  I still don't see why the standard mechanisms are insufficient or couldn't be adapted.
> I'll let to Bodong to elaborate on it more, but as far as I see, the AH
> attribute is relevant to UD QP only, while the packet pacing is intended
> for all types of QPs.
>
> Thanks
While the path record data can prevent the overrun but cannot control 
the rate speed easily within the hardware limitation range. One main use 
case for packet pacing is for streaming vendors to control the speed for 
different customers based on service coverage. For example, user's NIC 
supports 10G speed but only pays for 1G speed service, packet pacing can 
achieve this purpose only by modify_qp.

Another advantage, packet pacing doesn't need to involve with subnet 
admin which path record data has to. Moreover, like indicated in the 
other thread, the main flaw of the static rate is its limitations on the 
speed options.

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* [PATCH v3 rdma-core 7/7] libhns: Add consolidated repo for userspace library of hns
From: Lijun Ou @ 2016-11-10 12:46 UTC (permalink / raw)
  To: dledford-H+wXaHxf7aLQT0dZR+AlfA,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA
  Cc: linuxarm-hv44wF8Li93QT0dZR+AlfA
In-Reply-To: <1478781977-116803-1-git-send-email-oulijun-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>

This patch configures the consolidated repo to build userspace
library of hns(libhns).

Signed-off-by: Lijun Ou <oulijun-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
Signed-off-by: Wei Hu <xavier.huwei-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
---
v3:
- No change over v2

v2:
- Delete the CHECK_C_SOURCE_COMPILES and sort the .c file

v1:
- The initial submit
---
 CMakeLists.txt               | 1 +
 MAINTAINERS                  | 6 ++++++
 README.md                    | 1 +
 providers/hns/CMakeLists.txt | 6 ++++++
 4 files changed, 14 insertions(+)
 create mode 100644 providers/hns/CMakeLists.txt

diff --git a/CMakeLists.txt b/CMakeLists.txt
index b3b3ff1..e5d0c77 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -328,6 +328,7 @@ add_subdirectory(libibcm)
 add_subdirectory(providers/cxgb3)
 add_subdirectory(providers/cxgb4)
 add_subdirectory(providers/hfi1verbs)
+add_subdirectory(providers/hns)
 add_subdirectory(providers/i40iw)
 add_subdirectory(providers/ipathverbs)
 add_subdirectory(providers/mlx4)
diff --git a/MAINTAINERS b/MAINTAINERS
index d83de10..bc6eb50 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -57,6 +57,12 @@ S:	Supported
 L:	intel-opa-hn68Rpc1hR1g9hUCZPvPmw@public.gmane.org (moderated for non-subscribers)
 F:	providers/hfi1verbs/
 
+HNS USERSPACE PROVIDER (for hns-roce.ko)
+M:	Lijun Ou <oulijun-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
+M:	Wei Hu(Xavier) <xavier.huwei-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
+S:	Supported
+F:	providers/hns/
+
 I40IW USERSPACE PROVIDER (for i40iw.ko)
 M:	Tatyana Nikolova <Tatyana.E.Nikolova-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
 S:	Supported
diff --git a/README.md b/README.md
index 3a13042..e3bc33f 100644
--- a/README.md
+++ b/README.md
@@ -18,6 +18,7 @@ is included:
  - iw_cxgb3.ko
  - iw_cxgb4.ko
  - hfi1.ko
+ - hns-roce.ko
  - i40iw.ko
  - ib_qib.ko
  - mlx4_ib.ko
diff --git a/providers/hns/CMakeLists.txt b/providers/hns/CMakeLists.txt
new file mode 100644
index 0000000..19a793e
--- /dev/null
+++ b/providers/hns/CMakeLists.txt
@@ -0,0 +1,6 @@
+rdma_provider(hns
+  hns_roce_u.c
+  hns_roce_u_buf.c
+  hns_roce_u_hw_v1.c
+  hns_roce_u_verbs.c
+)
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related

* [PATCH v3 rdma-core 6/7] libhns: Add verbs of post_send and post_recv support
From: Lijun Ou @ 2016-11-10 12:46 UTC (permalink / raw)
  To: dledford-H+wXaHxf7aLQT0dZR+AlfA,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA
  Cc: linuxarm-hv44wF8Li93QT0dZR+AlfA
In-Reply-To: <1478781977-116803-1-git-send-email-oulijun-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>

This patch mainly introduces the verbs of posting send
and psoting recv.

Signed-off-by: Lijun Ou <oulijun-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
Signed-off-by: Wei Hu <xavier.huwei-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
---
v3/v2:
- No change over the v1

v1:
- The initial submit
---
 providers/hns/hns_roce_u.c       |   2 +
 providers/hns/hns_roce_u.h       |   8 +
 providers/hns/hns_roce_u_hw_v1.c | 314 +++++++++++++++++++++++++++++++++++++++
 providers/hns/hns_roce_u_hw_v1.h |  79 ++++++++++
 4 files changed, 403 insertions(+)

diff --git a/providers/hns/hns_roce_u.c b/providers/hns/hns_roce_u.c
index 30f8678..bceed84 100644
--- a/providers/hns/hns_roce_u.c
+++ b/providers/hns/hns_roce_u.c
@@ -131,6 +131,8 @@ static struct ibv_context *hns_roce_alloc_context(struct ibv_device *ibdev,
 	context->ibv_ctx.ops.query_qp	   = hns_roce_u_query_qp;
 	context->ibv_ctx.ops.modify_qp     = hr_dev->u_hw->modify_qp;
 	context->ibv_ctx.ops.destroy_qp    = hr_dev->u_hw->destroy_qp;
+	context->ibv_ctx.ops.post_send     = hr_dev->u_hw->post_send;
+	context->ibv_ctx.ops.post_recv     = hr_dev->u_hw->post_recv;
 
 	if (hns_roce_u_query_device(&context->ibv_ctx, &dev_attrs))
 		goto tptr_free;
diff --git a/providers/hns/hns_roce_u.h b/providers/hns/hns_roce_u.h
index 02b9251..4a6ed8e 100644
--- a/providers/hns/hns_roce_u.h
+++ b/providers/hns/hns_roce_u.h
@@ -51,6 +51,10 @@
 
 #define PFX				"hns: "
 
+#ifndef likely
+#define likely(x)     __builtin_expect(!!(x), 1)
+#endif
+
 #define roce_get_field(origin, mask, shift) \
 	(((origin) & (mask)) >> (shift))
 
@@ -171,6 +175,10 @@ struct hns_roce_qp {
 struct hns_roce_u_hw {
 	int (*poll_cq)(struct ibv_cq *ibvcq, int ne, struct ibv_wc *wc);
 	int (*arm_cq)(struct ibv_cq *ibvcq, int solicited);
+	int (*post_send)(struct ibv_qp *ibvqp, struct ibv_send_wr *wr,
+			 struct ibv_send_wr **bad_wr);
+	int (*post_recv)(struct ibv_qp *ibvqp, struct ibv_recv_wr *wr,
+			 struct ibv_recv_wr **bad_wr);
 	int (*modify_qp)(struct ibv_qp *qp, struct ibv_qp_attr *attr,
 			 int attr_mask);
 	int (*destroy_qp)(struct ibv_qp *ibqp);
diff --git a/providers/hns/hns_roce_u_hw_v1.c b/providers/hns/hns_roce_u_hw_v1.c
index fb81634..a3aad1c 100644
--- a/providers/hns/hns_roce_u_hw_v1.c
+++ b/providers/hns/hns_roce_u_hw_v1.c
@@ -37,6 +37,59 @@
 #include "hns_roce_u_hw_v1.h"
 #include "hns_roce_u.h"
 
+static inline void set_raddr_seg(struct hns_roce_wqe_raddr_seg *rseg,
+				 uint64_t remote_addr, uint32_t rkey)
+{
+	rseg->raddr    = remote_addr;
+	rseg->rkey     = rkey;
+	rseg->len      = 0;
+}
+
+static void set_data_seg(struct hns_roce_wqe_data_seg *dseg, struct ibv_sge *sg)
+{
+
+	dseg->lkey = sg->lkey;
+	dseg->addr = sg->addr;
+	dseg->len = sg->length;
+}
+
+static void hns_roce_update_rq_head(struct hns_roce_context *ctx,
+				    unsigned int qpn, unsigned int rq_head)
+{
+	struct hns_roce_rq_db rq_db;
+
+	rq_db.u32_4 = 0;
+	rq_db.u32_8 = 0;
+
+	roce_set_field(rq_db.u32_4, RQ_DB_U32_4_RQ_HEAD_M,
+		       RQ_DB_U32_4_RQ_HEAD_S, rq_head);
+	roce_set_field(rq_db.u32_8, RQ_DB_U32_8_QPN_M, RQ_DB_U32_8_QPN_S, qpn);
+	roce_set_field(rq_db.u32_8, RQ_DB_U32_8_CMD_M, RQ_DB_U32_8_CMD_S, 1);
+	roce_set_bit(rq_db.u32_8, RQ_DB_U32_8_HW_SYNC_S, 1);
+
+	hns_roce_write64((uint32_t *)&rq_db, ctx, ROCEE_DB_OTHERS_L_0_REG);
+}
+
+static void hns_roce_update_sq_head(struct hns_roce_context *ctx,
+				    unsigned int qpn, unsigned int port,
+				    unsigned int sl, unsigned int sq_head)
+{
+	struct hns_roce_sq_db sq_db;
+
+	sq_db.u32_4 = 0;
+	sq_db.u32_8 = 0;
+
+	roce_set_field(sq_db.u32_4, SQ_DB_U32_4_SQ_HEAD_M,
+		       SQ_DB_U32_4_SQ_HEAD_S, sq_head);
+	roce_set_field(sq_db.u32_4, SQ_DB_U32_4_PORT_M, SQ_DB_U32_4_PORT_S,
+		       port);
+	roce_set_field(sq_db.u32_4, SQ_DB_U32_4_SL_M, SQ_DB_U32_4_SL_S, sl);
+	roce_set_field(sq_db.u32_8, SQ_DB_U32_8_QPN_M, SQ_DB_U32_8_QPN_S, qpn);
+	roce_set_bit(sq_db.u32_8, SQ_DB_U32_8_HW_SYNC, 1);
+
+	hns_roce_write64((uint32_t *)&sq_db, ctx, ROCEE_DB_SQ_L_0_REG);
+}
+
 static void hns_roce_update_cq_cons_index(struct hns_roce_context *ctx,
 					  struct hns_roce_cq *cq)
 {
@@ -126,6 +179,16 @@ static struct hns_roce_cqe *next_cqe_sw(struct hns_roce_cq *cq)
 	return get_sw_cqe(cq, cq->cons_index);
 }
 
+static void *get_recv_wqe(struct hns_roce_qp *qp, int n)
+{
+	if ((n < 0) || (n > qp->rq.wqe_cnt)) {
+		printf("rq wqe index:%d,rq wqe cnt:%d\r\n", n, qp->rq.wqe_cnt);
+		return NULL;
+	}
+
+	return qp->buf.buf + qp->rq.offset + (n << qp->rq.wqe_shift);
+}
+
 static void *get_send_wqe(struct hns_roce_qp *qp, int n)
 {
 	if ((n < 0) || (n > qp->sq.wqe_cnt)) {
@@ -137,6 +200,26 @@ static void *get_send_wqe(struct hns_roce_qp *qp, int n)
 				  (n << qp->sq.wqe_shift));
 }
 
+static int hns_roce_wq_overflow(struct hns_roce_wq *wq, int nreq,
+				struct hns_roce_cq *cq)
+{
+	unsigned int cur;
+
+	cur = wq->head - wq->tail;
+	if (cur + nreq < wq->max_post)
+		return 0;
+
+	/* While the num of wqe exceeds cap of the device, cq will be locked */
+	pthread_spin_lock(&cq->lock);
+	cur = wq->head - wq->tail;
+	pthread_spin_unlock(&cq->lock);
+
+	printf("wq:(head = %d, tail = %d, max_post = %d), nreq = 0x%x\n",
+		wq->head, wq->tail, wq->max_post, nreq);
+
+	return cur + nreq >= wq->max_post;
+}
+
 static struct hns_roce_qp *hns_roce_find_qp(struct hns_roce_context *ctx,
 					    uint32_t qpn)
 {
@@ -374,6 +457,144 @@ static int hns_roce_u_v1_arm_cq(struct ibv_cq *ibvcq, int solicited)
 	return 0;
 }
 
+static int hns_roce_u_v1_post_send(struct ibv_qp *ibvqp, struct ibv_send_wr *wr,
+				   struct ibv_send_wr **bad_wr)
+{
+	unsigned int ind;
+	void *wqe;
+	int nreq;
+	int ps_opcode, i;
+	int ret = 0;
+	struct hns_roce_wqe_ctrl_seg *ctrl = NULL;
+	struct hns_roce_wqe_data_seg *dseg = NULL;
+	struct hns_roce_qp *qp = to_hr_qp(ibvqp);
+	struct hns_roce_context *ctx = to_hr_ctx(ibvqp->context);
+
+	pthread_spin_lock(&qp->sq.lock);
+
+	/* check that state is OK to post send */
+	ind = qp->sq.head;
+
+	for (nreq = 0; wr; ++nreq, wr = wr->next) {
+		if (hns_roce_wq_overflow(&qp->sq, nreq,
+					 to_hr_cq(qp->ibv_qp.send_cq))) {
+			ret = -1;
+			*bad_wr = wr;
+			goto out;
+		}
+		if (wr->num_sge > qp->sq.max_gs) {
+			ret = -1;
+			*bad_wr = wr;
+			printf("wr->num_sge(<=%d) = %d, check failed!\r\n",
+				qp->sq.max_gs, wr->num_sge);
+			goto out;
+		}
+
+		ctrl = wqe = get_send_wqe(qp, ind & (qp->sq.wqe_cnt - 1));
+		memset(ctrl, 0, sizeof(struct hns_roce_wqe_ctrl_seg));
+
+		qp->sq.wrid[ind & (qp->sq.wqe_cnt - 1)] = wr->wr_id;
+		for (i = 0; i < wr->num_sge; i++)
+			ctrl->msg_length += wr->sg_list[i].length;
+
+
+		ctrl->flag |= ((wr->send_flags & IBV_SEND_SIGNALED) ?
+				HNS_ROCE_WQE_CQ_NOTIFY : 0) |
+			      (wr->send_flags & IBV_SEND_SOLICITED ?
+				HNS_ROCE_WQE_SE : 0) |
+			      ((wr->opcode == IBV_WR_SEND_WITH_IMM ||
+			       wr->opcode == IBV_WR_RDMA_WRITE_WITH_IMM) ?
+				HNS_ROCE_WQE_IMM : 0) |
+			      (wr->send_flags & IBV_SEND_FENCE ?
+				HNS_ROCE_WQE_FENCE : 0);
+
+		if (wr->opcode == IBV_WR_SEND_WITH_IMM ||
+		    wr->opcode == IBV_WR_RDMA_WRITE_WITH_IMM)
+			ctrl->imm_data = wr->imm_data;
+
+		wqe += sizeof(struct hns_roce_wqe_ctrl_seg);
+
+		/* set remote addr segment */
+		switch (ibvqp->qp_type) {
+		case IBV_QPT_RC:
+			switch (wr->opcode) {
+			case IBV_WR_RDMA_READ:
+				ps_opcode = HNS_ROCE_WQE_OPCODE_RDMA_READ;
+				set_raddr_seg(wqe, wr->wr.rdma.remote_addr,
+					      wr->wr.rdma.rkey);
+				break;
+			case IBV_WR_RDMA_WRITE:
+			case IBV_WR_RDMA_WRITE_WITH_IMM:
+				ps_opcode = HNS_ROCE_WQE_OPCODE_RDMA_WRITE;
+				set_raddr_seg(wqe, wr->wr.rdma.remote_addr,
+					      wr->wr.rdma.rkey);
+				break;
+			case IBV_WR_SEND:
+			case IBV_WR_SEND_WITH_IMM:
+				ps_opcode = HNS_ROCE_WQE_OPCODE_SEND;
+				break;
+			case IBV_WR_ATOMIC_CMP_AND_SWP:
+			case IBV_WR_ATOMIC_FETCH_AND_ADD:
+			default:
+				ps_opcode = HNS_ROCE_WQE_OPCODE_MASK;
+				break;
+			}
+			ctrl->flag |= (ps_opcode);
+			wqe  += sizeof(struct hns_roce_wqe_raddr_seg);
+			break;
+		case IBV_QPT_UC:
+		case IBV_QPT_UD:
+		default:
+			break;
+		}
+
+		dseg = wqe;
+
+		/* Inline */
+		if (wr->send_flags & IBV_SEND_INLINE && wr->num_sge) {
+			if (ctrl->msg_length > qp->max_inline_data) {
+				ret = -1;
+				*bad_wr = wr;
+				printf("inline data len(1-32)=%d, send_flags = 0x%x, check failed!\r\n",
+					wr->send_flags, ctrl->msg_length);
+				return ret;
+			}
+
+			for (i = 0; i < wr->num_sge; i++) {
+				memcpy(wqe,
+				     ((void *) (uintptr_t) wr->sg_list[i].addr),
+				     wr->sg_list[i].length);
+				wqe = wqe + wr->sg_list[i].length;
+			}
+
+			ctrl->flag |= HNS_ROCE_WQE_INLINE;
+		} else {
+			/* set sge */
+			for (i = 0; i < wr->num_sge; i++)
+				set_data_seg(dseg+i, wr->sg_list + i);
+
+			ctrl->flag |= wr->num_sge << HNS_ROCE_WQE_SGE_NUM_BIT;
+		}
+
+		ind++;
+	}
+
+out:
+	/* Set DB return */
+	if (likely(nreq)) {
+		qp->sq.head += nreq;
+		wmb();
+
+		hns_roce_update_sq_head(ctx, qp->ibv_qp.qp_num,
+				qp->port_num - 1, qp->sl,
+				qp->sq.head & ((qp->sq.wqe_cnt << 1) - 1));
+	}
+
+	pthread_spin_unlock(&qp->sq.lock);
+
+	return ret;
+}
+
 static void __hns_roce_v1_cq_clean(struct hns_roce_cq *cq, uint32_t qpn,
 				   struct hns_roce_srq *srq)
 {
@@ -517,9 +738,102 @@ static int hns_roce_u_v1_destroy_qp(struct ibv_qp *ibqp)
 	return ret;
 }
 
+static int hns_roce_u_v1_post_recv(struct ibv_qp *ibvqp, struct ibv_recv_wr *wr,
+				   struct ibv_recv_wr **bad_wr)
+{
+	int ret = 0;
+	int nreq;
+	int ind;
+	struct ibv_sge *sg;
+	struct hns_roce_rc_rq_wqe *rq_wqe;
+	struct hns_roce_qp *qp = to_hr_qp(ibvqp);
+	struct hns_roce_context *ctx = to_hr_ctx(ibvqp->context);
+
+	pthread_spin_lock(&qp->rq.lock);
+
+	/* check that state is OK to post receive */
+	ind = qp->rq.head & (qp->rq.wqe_cnt - 1);
+
+	for (nreq = 0; wr; ++nreq, wr = wr->next) {
+		if (hns_roce_wq_overflow(&qp->rq, nreq,
+					 to_hr_cq(qp->ibv_qp.recv_cq))) {
+			ret = -1;
+			*bad_wr = wr;
+			goto out;
+		}
+
+		if (wr->num_sge > qp->rq.max_gs) {
+			ret = -1;
+			*bad_wr = wr;
+			goto out;
+		}
+
+		rq_wqe = get_recv_wqe(qp, ind);
+		if (wr->num_sge > HNS_ROCE_RC_RQ_WQE_MAX_SGE_NUM) {
+			ret = -1;
+			*bad_wr = wr;
+			goto out;
+		}
+
+		if (wr->num_sge == HNS_ROCE_RC_RQ_WQE_MAX_SGE_NUM) {
+			roce_set_field(rq_wqe->u32_2,
+				       RC_RQ_WQE_NUMBER_OF_DATA_SEG_M,
+				       RC_RQ_WQE_NUMBER_OF_DATA_SEG_S,
+				       HNS_ROCE_RC_RQ_WQE_MAX_SGE_NUM);
+			sg = wr->sg_list;
+
+			rq_wqe->va0 = (sg->addr);
+			rq_wqe->l_key0 = (sg->lkey);
+			rq_wqe->length0 = (sg->length);
+
+			sg = wr->sg_list + 1;
+
+			rq_wqe->va1 = (sg->addr);
+			rq_wqe->l_key1 = (sg->lkey);
+			rq_wqe->length1 = (sg->length);
+		} else if (wr->num_sge == HNS_ROCE_RC_RQ_WQE_MAX_SGE_NUM - 1) {
+			roce_set_field(rq_wqe->u32_2,
+				       RC_RQ_WQE_NUMBER_OF_DATA_SEG_M,
+				       RC_RQ_WQE_NUMBER_OF_DATA_SEG_S,
+				       HNS_ROCE_RC_RQ_WQE_MAX_SGE_NUM - 1);
+			sg = wr->sg_list;
+
+			rq_wqe->va0 = (sg->addr);
+			rq_wqe->l_key0 = (sg->lkey);
+			rq_wqe->length0 = (sg->length);
+
+		} else if (wr->num_sge == HNS_ROCE_RC_RQ_WQE_MAX_SGE_NUM - 2) {
+			roce_set_field(rq_wqe->u32_2,
+				       RC_RQ_WQE_NUMBER_OF_DATA_SEG_M,
+				       RC_RQ_WQE_NUMBER_OF_DATA_SEG_S,
+				       HNS_ROCE_RC_RQ_WQE_MAX_SGE_NUM - 2);
+		}
+
+		qp->rq.wrid[ind] = wr->wr_id;
+
+		ind = (ind + 1) & (qp->rq.wqe_cnt - 1);
+	}
+
+out:
+	if (nreq) {
+		qp->rq.head += nreq;
+
+		wmb();
+
+		hns_roce_update_rq_head(ctx, qp->ibv_qp.qp_num,
+				    qp->rq.head & ((qp->rq.wqe_cnt << 1) - 1));
+	}
+
+	pthread_spin_unlock(&qp->rq.lock);
+
+	return ret;
+}
+
 struct hns_roce_u_hw hns_roce_u_hw_v1 = {
 	.poll_cq = hns_roce_u_v1_poll_cq,
 	.arm_cq = hns_roce_u_v1_arm_cq,
+	.post_send = hns_roce_u_v1_post_send,
+	.post_recv = hns_roce_u_v1_post_recv,
 	.modify_qp = hns_roce_u_v1_modify_qp,
 	.destroy_qp = hns_roce_u_v1_destroy_qp,
 };
diff --git a/providers/hns/hns_roce_u_hw_v1.h b/providers/hns/hns_roce_u_hw_v1.h
index b249f54..128c66f 100644
--- a/providers/hns/hns_roce_u_hw_v1.h
+++ b/providers/hns/hns_roce_u_hw_v1.h
@@ -39,9 +39,15 @@
 #define HNS_ROCE_CQE_IS_SQ			0
 
 #define HNS_ROCE_RC_WQE_INLINE_DATA_MAX_LEN	32
+#define HNS_ROCE_RC_RQ_WQE_MAX_SGE_NUM		2
 
 enum {
+	HNS_ROCE_WQE_INLINE		= 1 << 31,
+	HNS_ROCE_WQE_SE			= 1 << 30,
+	HNS_ROCE_WQE_SGE_NUM_BIT	= 24,
 	HNS_ROCE_WQE_IMM		= 1 << 23,
+	HNS_ROCE_WQE_FENCE		= 1 << 21,
+	HNS_ROCE_WQE_CQ_NOTIFY		 = 1 << 20,
 	HNS_ROCE_WQE_OPCODE_SEND        = 0 << 16,
 	HNS_ROCE_WQE_OPCODE_RDMA_READ   = 1 << 16,
 	HNS_ROCE_WQE_OPCODE_RDMA_WRITE  = 2 << 16,
@@ -52,6 +58,20 @@ enum {
 struct hns_roce_wqe_ctrl_seg {
 	__be32		sgl_pa_h;
 	__be32		flag;
+	__be32		imm_data;
+	__be32		msg_length;
+};
+
+struct hns_roce_wqe_data_seg {
+	__be64		addr;
+	__be32		lkey;
+	__be32		len;
+};
+
+struct hns_roce_wqe_raddr_seg {
+	__be32		rkey;
+	__be32		len;
+	__be64		raddr;
 };
 
 enum {
@@ -102,6 +122,43 @@ struct hns_roce_cq_db {
 
 #define CQ_DB_U32_8_HW_SYNC_S 31
 
+struct hns_roce_rq_db {
+	unsigned int u32_4;
+	unsigned int u32_8;
+};
+
+#define RQ_DB_U32_4_RQ_HEAD_S 0
+#define RQ_DB_U32_4_RQ_HEAD_M   (((1UL << 15) - 1) << RQ_DB_U32_4_RQ_HEAD_S)
+
+#define RQ_DB_U32_8_QPN_S 0
+#define RQ_DB_U32_8_QPN_M   (((1UL << 24) - 1) << RQ_DB_U32_8_QPN_S)
+
+#define RQ_DB_U32_8_CMD_S 28
+#define RQ_DB_U32_8_CMD_M   (((1UL << 3) - 1) << RQ_DB_U32_8_CMD_S)
+
+#define RQ_DB_U32_8_HW_SYNC_S 31
+
+struct hns_roce_sq_db {
+	unsigned int u32_4;
+	unsigned int u32_8;
+};
+
+#define SQ_DB_U32_4_SQ_HEAD_S 0
+#define SQ_DB_U32_4_SQ_HEAD_M (((1UL << 15) - 1) << SQ_DB_U32_4_SQ_HEAD_S)
+
+#define SQ_DB_U32_4_SL_S 16
+#define SQ_DB_U32_4_SL_M (((1UL << 2) - 1) << SQ_DB_U32_4_SL_S)
+
+#define SQ_DB_U32_4_PORT_S 18
+#define SQ_DB_U32_4_PORT_M (((1UL << 3) - 1) << SQ_DB_U32_4_PORT_S)
+
+#define SQ_DB_U32_4_DIRECT_WQE_S 31
+
+#define SQ_DB_U32_8_QPN_S 0
+#define SQ_DB_U32_8_QPN_M (((1UL << 24) - 1) << SQ_DB_U32_8_QPN_S)
+
+#define SQ_DB_U32_8_HW_SYNC 31
+
 struct hns_roce_cqe {
 	unsigned int cqe_byte_4;
 	union {
@@ -160,4 +217,26 @@ struct hns_roce_rc_send_wqe {
 	unsigned int length1;
 };
 
+struct hns_roce_rc_rq_wqe {
+	unsigned int u32_0;
+	unsigned int sgl_ba_31_0;
+	unsigned int u32_2;
+	unsigned int rvd_5;
+	unsigned int rvd_6;
+	unsigned int rvd_7;
+	unsigned int rvd_8;
+	unsigned int rvd_9;
+
+	uint64_t     va0;
+	unsigned int l_key0;
+	unsigned int length0;
+
+	uint64_t     va1;
+	unsigned int l_key1;
+	unsigned int length1;
+};
+#define RC_RQ_WQE_NUMBER_OF_DATA_SEG_S 16
+#define RC_RQ_WQE_NUMBER_OF_DATA_SEG_M \
+	(((1UL << 6) - 1) << RC_RQ_WQE_NUMBER_OF_DATA_SEG_S)
+
 #endif /* _HNS_ROCE_U_HW_V1_H */
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox