IB_WC_WITH_NETWORK_HDR_TYPE flag in wc->wc_flags.
Signed-off-by: Somnath Kotur
Signed-off-by: Devesh Sharma
---
drivers/infiniband/hw/ocrdma/ocrdma.h |1 +
drivers/infiniband/hw/ocrdma/ocrdma_ah.c| 68 ++-
drivers/infiniband/hw/ocrdma/ocrdma_sli.h |5 ++-
driv
al index
IB/core: Initialize UD header structure with IP and UDP headers
IB/mlx4: Enable send of RoCE QP1 packets with IP/UDP headers
IB/mlx4: Create and use another QP1 for RoCEv2
IB/cma: Join and leave multicast groups with IGMP
Somnath Kotur (2):
IB/Core: Changes to the IB Core infrastructure
GIDs are also available if the net
device is down (in order to support loopback).
Moreover, these default GID addresses can't be deleted.
Signed-off-by: Matan Barak
Signed-off-by: Somnath Kotur
---
drivers/infiniband/core/core_priv.h | 10
drivers/infiniband/core/roce_gid_ca
e the configfs, one needs to mount it and
mkdir inside rdma_cm directory.
The patch adds support for a single configuration file,
default_roce_mode. The mode can either be IB & RoCEv1 or
RoCEv2.
Signed-off-by: Matan Barak
Signed-off-by: Somnath Kotur
---
drivers/infiniband/core/Makefile
done by Somnath Kotur
Signed-off-by: Matan Barak
Signed-off-by: Somnath Kotur
---
drivers/infiniband/core/addr.c |3 +-
drivers/infiniband/core/cm.c | 30 --
drivers/infiniband/core/cma.c|9 --
drivers/infiniband/core/core_priv.h |4
atan Barak
Signed-off-by: Somnath Kotur
---
drivers/infiniband/core/verbs.c | 106 +--
include/rdma/ib_verbs.h | 30 +++
2 files changed, 131 insertions(+), 5 deletions(-)
diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/ver
and//ports//gid_attrs/types/
The corresponds to the index of the respective GID in:
/sys/class/infiniband//ports//gids/
Signed-off-by: Matan Barak
Signed-off-by: Somnath Kotur
---
drivers/infiniband/core/core_priv.h |2 +
drivers/infiniband/core/roce_gid_cache.c | 13 ++
drivers/infin
te is problematic, since they may be vastly extended
in the future. As a result, we add a find function that
gets a user filter function and searches the GID table
until a match is found.
Signed-off-by: Matan Barak
Signed-off-by: Somnath Kotur
---
drivers/infiniband/core/cache.c |
(b) ib_find_cached_gid
(c) ib_find_cached_gid_by_port
(d) ib_query_gid
It changes the usage of those APIs and use the RoCE GID cache
when needed.
Signed-off-by: Matan Barak
Signed-off-by: Somnath Kotur
---
drivers/infiniband/core/cache.c| 225
drivers
From: Moni Shoua
Since RoCEv2 is a protocol over IP header it is required to send IGMP
join and leave requests to the network when joining and leaving
multicast groups.
Signed-off-by: Moni Shoua
Signed-off-by: Somnath Kotur
---
drivers/infiniband/core/cma.c | 78
.
Signed-off-by: Moni Shoua
Signed-off-by: Somnath Kotur
---
drivers/infiniband/hw/mlx4/qp.c | 84 ---
1 files changed, 52 insertions(+), 32 deletions(-)
diff --git a/drivers/infiniband/hw/mlx4/qp.c b/drivers/infiniband/hw/mlx4/qp.c
index f55f4d4..9996527 100644
From: Moni Shoua
ib_ud_header_init() is used to format InfiniBand headers
in a buffer up to (but not with) BTH. For RoCEv2 it is required that
this function would be able to build also IP and UDP headers.
Signed-off-by: Moni Shoua
Signed-off-by: Somnath Kotur
---
drivers/infiniband/core
: Somnath Kotur
---
drivers/infiniband/hw/mlx4/main.c | 10 ++-
drivers/infiniband/hw/mlx4/qp.c | 39 ++--
drivers/net/ethernet/mellanox/mlx4/fw.c | 16 +++-
drivers/net/ethernet/mellanox/mlx4/mlx4.h |3 +-
drivers/net/ethernet/mellanox
for receive are required.
Signed-off-by: Moni Shoua
Signed-off-by: Somnath Kotur
---
drivers/infiniband/hw/mlx4/mlx4_ib.h |7 ++
drivers/infiniband/hw/mlx4/qp.c | 154 ++
2 files changed, 143 insertions(+), 18 deletions(-)
diff --git a/drivers/infiniband
From: Moni Shoua
When QP is modified with path the given sgid_index is not necessarily
the index that HW knows. This is due to optimizations that can save
place in the HW table. Therefore, translation is required.
Signed-off-by: Moni Shoua
Signed-off-by: Somnath Kotur
---
drivers/infiniband
From: Moni Shoua
This is a new callback that is required for RoCEv2 support.
In port aggregation mode it is required to return the netdev of the
active port so support in mlx4 core driver to figure out that port
identity is required.
Signed-off-by: Moni Shoua
Signed-off-by: Somnath Kotur
indexes is
required.
Signed-off-by: Moni Shoua
Signed-off-by: Somnath Kotur
---
drivers/infiniband/hw/mlx4/main.c| 224 ++
drivers/infiniband/hw/mlx4/mlx4_ib.h | 18 +++
include/linux/mlx4/cmd.h |3 +-
include/linux/mlx4/device.h
problem.
Signed-off-by: Moni Shoua
Signed-off-by: Somnath Kotur
---
drivers/infiniband/hw/mlx4/main.c | 15 +++
1 files changed, 7 insertions(+), 8 deletions(-)
diff --git a/drivers/infiniband/hw/mlx4/main.c
b/drivers/infiniband/hw/mlx4/main.c
index d8b227e..32cd009 100644
--- a
From: Moni Shoua
The port capability flags should indicate the support in RoCE modes (V1
or V2) of the port. The mlx4 driver sets these flags according to the
capabilities reported by the HW.
Signed-off-by: Moni Shoua
Signed-off-by: Somnath Kotur
---
drivers/infiniband/hw/mlx4/main.c
his may
be confusing to listeners of netdev events.
This patch is a preparation to the patch that implements the
get_netdev() callback in the IB/mlx4 driver.
Signed-off-by: Moni Shoua
Signed-off-by: Somnath Kotur
---
drivers/net/ethernet/mellanox/mlx4/en_main.c | 36 +++---
d
answer from the cache when link layer
is Ethernet.
Signed-off-by: Moni Shoua
Signed-off-by: Somnath Kotur
---
drivers/infiniband/hw/mlx4/main.c| 495 +-
drivers/infiniband/hw/mlx4/mlx4_ib.h |4 -
2 files changed, 14 insertions(+), 485 deletions(-)
diff --git
From: Moni Shoua
Protection on iboe->netdevs is no longer required to be from an atomic context.
Replacing a spin_lock with a semaphore is allowed and makes more sense.
Signed-off-by: Moni Shoua
Signed-off-by: Somnath Kotur
---
drivers/infiniband/hw/mlx4/main.c|
From: Devesh Sharma
To support RoCE-V2 this patch implements following changes
1. Get the GID-type for a given sgid.
2. Based on the gid type get IPv4 L3 address
and give those to FW.
3. Provide l3-type to FW.
Signed-off-by: Somnath Kotur
Signed-off-by: Devesh Sharma
---
drivers
From: Devesh Sharma
To support user space AH this uses ahid field to convey
l3-type to user space library. The library is responsible
for decoding the l3-type out of ahid.
Signed-off-by: Somnath Kotur
Signed-off-by: Devesh Sharma
---
drivers/infiniband/hw/ocrdma/ocrdma_ah.c |5
IB_WC_WITH_NETWORK_HDR_TYPE flag in wc->wc_flags.
Signed-off-by: Somnath Kotur
Signed-off-by: Devesh Sharma
---
drivers/infiniband/hw/ocrdma/ocrdma.h |1 +
drivers/infiniband/hw/ocrdma/ocrdma_ah.c| 68 ++-
drivers/infiniband/hw/ocrdma/ocrdma_sli.h |5 ++-
driv
atan Barak
Signed-off-by: Somnath Kotur
---
drivers/infiniband/core/verbs.c | 106 +--
include/rdma/ib_verbs.h | 30 +++
2 files changed, 131 insertions(+), 5 deletions(-)
diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/ver
e the configfs, one needs to mount it and
mkdir inside rdma_cm directory.
The patch adds support for a single configuration file,
default_roce_mode. The mode can either be IB & RoCEv1 or
RoCEv2.
Signed-off-by: Matan Barak
Signed-off-by: Somnath Kotur
---
drivers/infiniband/core/Makefile
: Somnath Kotur
Signed-off-by: Devesh Sharma
---
drivers/infiniband/hw/ocrdma/ocrdma.h | 10 ++
drivers/infiniband/hw/ocrdma/ocrdma_hw.c|3 +
drivers/infiniband/hw/ocrdma/ocrdma_main.c | 233 +--
drivers/infiniband/hw/ocrdma/ocrdma_sli.h | 13
1. Choose sgid_index and type from all the matching entries in RDMA-CM
based on hint from the IP stack.
2. Set hop_limit for the IP Packet based on above hint from IP stack
3. Define a RDMA_NETWORK enum type.
Signed-off-by: Somnath Kotur
Signed-off-by: Matan Barak
---
drivers/infiniband
From: Matan Barak
When using rdma cm, we want to take the gid_type from
the rdma_id_private. This is mandatory before adding
an API from user-space/configfs that sets
the gid_type of CM connection.
Signed-off-by: Matan Barak
Signed-off-by: Somnath Kotur
---
drivers/infiniband/core/cm.c
done by Somnath Kotur
Signed-off-by: Matan Barak
Signed-off-by: Somnath Kotur
---
drivers/infiniband/core/addr.c |3 +-
drivers/infiniband/core/cm.c | 30 --
drivers/infiniband/core/cma.c|9 --
drivers/infiniband/core/core_priv.h |4
d-off-by: Matan Barak
Signed-off-by: Somnath Kotur
---
drivers/infiniband/core/roce_gid_mgmt.c | 137 ++-
drivers/net/bonding/bond_options.c | 13 ---
include/net/bonding.h |7 ++
3 files changed, 140 insertions(+), 17 deletions(-)
diff
(b) ib_find_cached_gid
(c) ib_find_cached_gid_by_port
(d) ib_query_gid
It changes the usage of those APIs and use the RoCE GID cache
when needed.
Signed-off-by: Matan Barak
Signed-off-by: Somnath Kotur
---
drivers/infiniband/core/cache.c| 225
drivers
GIDs are also available if the net
device is down (in order to support loopback).
Moreover, these default GID addresses can't be deleted.
Signed-off-by: Matan Barak
Signed-off-by: Somnath Kotur
---
drivers/infiniband/core/core_priv.h | 10
drivers/infiniband/core/roce_gid_ca
te is problematic, since they may be vastly extended
in the future. As a result, we add a find function that
gets a user filter function and searches the GID table
until a match is found.
Signed-off-by: Matan Barak
Signed-off-by: Somnath Kotur
---
drivers/infiniband/core/cache.c |
and//ports//gid_attrs/types/
The corresponds to the index of the respective GID in:
/sys/class/infiniband//ports//gids/
Signed-off-by: Matan Barak
Signed-off-by: Somnath Kotur
---
drivers/infiniband/core/core_priv.h |2 +
drivers/infiniband/core/roce_gid_cache.c | 13 ++
drivers/infin
using this RoCE GID cache table, providers must implement a
modify_gid callback. The table is managed exclusively by
this roce_gid_cache and the provider just need to write
the data to the hardware.
Signed-off-by: Matan Barak
Signed-off-by: Somnath Kotur
---
drivers/infiniband/core/Mak
s not held anymore.
Signed-off-by: Matan Barak
Signed-off-by: Somnath Kotur
---
drivers/infiniband/core/device.c | 41 ++
include/rdma/ib_verbs.h |6 +
2 files changed, 47 insertions(+), 0 deletions(-)
diff --git a/drivers/infiniband/core/
table.
(c) netdev up/down/change_addr - if a netdev is built onto our
RoCE device, we need to add/delete its IPs.
When an event is received, multiple entries (each with
different GID type) are added.
Signed-off-by: Matan Barak
Signed-off-by: Somnath Kotur
---
drivers/infiniband/core/Makefile
x4: Enable send of RoCE QP1 packets with IP/UDP headers
IB/mlx4: Create and use another QP1 for RoCEv2
IB/cma: Join and leave multicast groups with IGMP
Somnath Kotur (2):
IB/Core: Changes to the IB Core infrastructure for RoCEv2 support
RDMA/ocrdma: Changes in driver to incorporate the movi
sonli...@gmail.com] on behalf of Moni Shoua
[mo...@mellanox.com]
Sent: Thursday, December 25, 2014 9:37 PM
To: Somnath Kotur
Cc: rol...@kernel.org; linux-rdma; Devesh Sharma
Subject: Re: [PATCH 1/6] IB/Core: Changes to the IB Core infrastructure for
RoCEv2 support
On Thu, Dec 25, 2014 at 2:59 AM, So
From: Devesh Sharma
To support user space AH this uses ahid field to convey
l3-type to user space library. The library is responsible
for decoding the l3-type out of ahid.
Signed-off-by: Devesh Sharma
Signed-off-by: Somnath Kotur
---
drivers/infiniband/hw/ocrdma/ocrdma_ah.c |5
From: Devesh Sharma
This patch replaces the checks for RoCE-v2 support with
an inline function to perform the same check for ease
of readability.
Signed-off-by: Devesh Sharma
Signed-off-by: Somnath Kotur
---
drivers/infiniband/hw/ocrdma/ocrdma.h |5 +
drivers/infiniband/hw
From: Devesh Sharma
To support RoCE-V2 this patch implements following changes
1. Get the GID-type for a given sgid.
2. Based on the gid type get IPv4 L3 address
and give those to FW.
3. Provide l3-type to FW.
Signed-off-by: Somnath Kotur
Signed-off-by: Devesh Sharma
---
drivers
From: Somnath kotur
To support UD protocol this patch adds following
changes to exsiting UD implementation.
1. AH creation resolves gid-type for a given index.
2. Based on GID-type protocol header is built.
3. Work completion reports l3-type if f/w supports RoCE-v2
and sets
From: Somnath kotur
1. Associate gid_index with a Type (as per V2 SPEC) in GID Table
and GID Cache.
2. Modify GID Cache helper functions to search for gid_index based on
GID Value and Type.
3. Choose sgid_index from all the matching entries in RDMA-CM based on
hint from the IP stack.
4
From: Somnath kotur
As per the RoCE-v2 specification this patch introduces
following changes:
1. Ecah port consumes 2 gid table entries. first entry will be
of RoCE-v1 type and second entry will be of RoCE-v2 type.
GID entry of v1 type is used for non-routable traffic, while
GID entry
Sharma (3):
RDMA/ocrdma: changes to support RoCE-v2 in RC path
RDMA/ocrdma: changes to support user AH creation
RDMA/ocrdma: introducing a function to check RoCE-v2 support
Somnath kotur (3):
IB/Core: Changes to the IB Core infrastructure for RoCEv2 support
RDMA/ocrdma: populate GID ta
Hi Moni,
> -Original Message-
> From: monisonli...@gmail.com [mailto:monisonli...@gmail.com] On Behalf
> Of Moni Shoua
> Sent: Tuesday, December 02, 2014 12:17 PM
> To: Somnath Kotur
> Cc: rol...@kernel.org; linux-rdma@vger.kernel.org
> Subject: Re: [PATCH 0/2] Addin
HI Moni,
Thank you for your comments , please find my response inline.
> > The overarching goal behind this patch is to keep RDMA-CM as the
> > central entity that decides the protocol (ROCEV2 /ROCEV1) and hides all the
> address resolution details from applications.
> I agree but with on
Hi Moni/Shachar,
Thank you for your feedback/comments. I have tried to address some of
your concerns /comments inline below.
> Few comments to the IB/core part
>
> 1. RoCEv2 spec (Annex A17) sees RoCE type (or as the patch name
> it - network_hdr_type) as an attribute of the sour
Thursday, November 27, 2014 9:22 PM
> To: Somnath Kotur; rol...@kernel.org
> Cc: linux-rdma@vger.kernel.org
> Subject: RE: [PATCH 0/2] Adding support for RoCE V2 specification
>
> Hi,
>
> > -Original Message-
> > From: linux-rdma-ow...@vger.kernel.org [mailto:li
Made changes to convey 'network_hdr_type' to card both during modify_qp and
create_ah.
Signed-off-by: Somnath Kotur
Signed-off-by: Padmanabh Ratnakar
Signed-off-by: Devesh Sharma
---
drivers/infiniband/hw/ocrdma/ocrdma.h |2 +
drivers/infiniband/hw/ocrdma/ocrdma_ah.c
le and set hop_limit in IP HDR
> accordingly
> Repurpose rdma_addr_find_dmac_by_grh to get network hdr type
Signed-off-by: Somnath Kotur
Signed-off-by: Padmanabh Ratnakar
Signed-off-by: Devesh Sharma
---
PS: Not yet added UDP hdr addition to this. This sets the basic foundation for
the
I
Please apply.
Somnath Kotur (2):
IB/Core: Changes to the IB Core infrastructure for RoCE V2.
IB/ocrdma: Changes to comply with RoCEv2 Specification changes
drivers/infiniband/core/addr.c | 13 +-
drivers/infiniband/core/cm.c| 15 ---
drivers
Hi Roland,
Could you please ack/respond?
Thanks
Som
> -Original Message-
> From: linux-rdma-ow...@vger.kernel.org [mailto:linux-rdma-
> ow...@vger.kernel.org] On Behalf Of Somnath Kotur
> Sent: Tuesday, January 28, 2014 12:34 PM
> To: rol...@kernel.org
&
As suggested by Sean Hefty, take into account src/dst addresses on different
subnets and set hop_limit in cma_resolve_iboe_route accordingly instead of
blind hardcode to 1 or any other value.
Signed-off-by: Somnath Kotur
---
Incorporated comments by Sean Hefty
drivers/infiniband/core/addr.c
Roland,
It's been a couple of months since I posted this, could you please
apply this patch and/or respond ?
Thanks
Som
-Original Message-
From: linux-rdma-ow...@vger.kernel.org
[mailto:linux-rdma-ow...@vger.kernel.org] On Behalf Of Somnath Kotur
Sent: Saturday, Nov
Hi Roland,
Any idea/ETA on when you will be picking this up?
Thanks
Som
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Acked-by : Somnath Kotur
> -Original Message-
> From: linux-rdma-ow...@vger.kernel.org [mailto:linux-rdma-
> ow...@vger.kernel.org] On Behalf Of Or Gerlitz
> Sent: Thursday, November 14, 2013 4:00 AM
> To: rol...@kernel.org
> Cc: linux-rdma@vger.kernel.org; mo...@m
> I agree with Or. RDMA-CM takes care of resolving l2 addresses for kernel ULP
> and there are no _non-rdma-cm_ ULP right now in the IB-kernel-stack. On
> the other hand, for the user-space applications, which uses RDMA-CM V5 is a
> simplified approach. All the patches =< v4 was an effort to chang
Even if the addr is not a linklocal address, the code treats it as such
and assigns the bound dev addr to the scope id of the address which is invalid.
Fix by checking if it's a link local address first and return 0 if not.
Signed-off-by: Somnath Kotur
---
Incorporated comments from Phili
Please ignore this , re-sending this as I forgot to mark this patch as V1 and
mention the fact that this was a re-spin born out of review comments from
Philip and Sean Hefty.
Thanks
Som
> -Original Message-
> From: Somnath Kotur
> Sent: Friday, November 15, 2013 10:37 AM
> Because underlying code behaves differently based on the hop_limit
> (changes the timeout and LID values), I'd like to see the hop_limit setting at
> least take into account whether the src/dst addresses are on different
> subnets, so that it can remain 1 when routing is not in use.
>
Just wonde
Even if the addr is not a linklocal address, the code treats it as such
and assigns the bound dev addr to the scope id of the address which is invalid.
Fix by checking if it's a link local address first and return 0 if not.
Signed-off-by: Somnath Kotur
---
drivers/infiniband/core/cma.c |
Agreed, will do the change and resend the patch
Thanks
Som
From: Hefty, Sean [sean.he...@intel.com]
Sent: Friday, November 15, 2013 3:58 AM
To: Prindeville, Philip; Somnath Kotur
Cc: rol...@kernel.org; linux-rdma@vger.kernel.org
Subject: RE: [PATCH] IB
From: Hefty, Sean [sean.he...@intel.com]
Sent: Friday, November 15, 2013 1:09 AM
To: Somnath Kotur; rol...@kernel.org
Cc: linux-rdma@vger.kernel.org
Subject: RE: [PATCH] IB/CMA: Initialize hop_limit to a known default macro
instead of 1 as is done
Signed-off-by: Somnath Kotur
---
drivers/infiniband/core/cma.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c
index 5c9f1ad..2c03db2 100644
--- a/drivers/infiniband/core/cma.c
+++ b/drivers/infiniband/core
Even if the addr is not a linklocal address, the code treats it as such
and assigns the bound dev addr to the scope id of the address which is invalid.
Fix by checking if it's a link local address first and return 0 if not.
Signed-off-by: Somnath Kotur
---
drivers/infiniband/core/cma.c |
> Hey Somnath, thanks for providing this. What HW have you tested with?
>
> Steve.
Thank you Steve. Have tested it against the Emulex HW / ocrdma driver
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo
Signed-off-by: Somnath Kotur
---
v2: Incorporated Steve's comments and changed sockaddr to sockaddr_storage
krping.c | 51 ---
1 files changed, 36 insertions(+), 15 deletions(-)
diff --git a/krping.c b/krping.c
index 59900ab..ac31023 1
Signed-off-by: Somnath Kotur
---
krping.c | 55 ---
1 files changed, 40 insertions(+), 15 deletions(-)
diff --git a/krping.c b/krping.c
index 59900ab..43799eb 100644
--- a/krping.c
+++ b/krping.c
@@ -79,6 +79,7 @@ static const struct
101 - 172 of 172 matches
Mail list logo