Re: sysfs IPoIB root owned writable files

2010-06-24 Thread Or Gerlitz



the following files created under /sys which are world writeable
/sys/class/net/ib0/delete_child  /sys/class/net/ib0/create_child
At least the create_child  delete_child files appear to be dangerous to leave 
as world writeable because they result in resources allocations.

Roland,

If I see a patch in linux-rdma patchwork, e.g 
https://patchwork.kernel.org/patch/104502 with the below patch, does 
this mean it will get to be reviewed/merged towards 2.6.36, or you 
prefer a reminder on the list?


Or.

Yes, this looks bad. The below patch fixes that, I tested it on 2.6.35-rc1

[PATCH] make ipoib child entries non-world writable

Sumeet Lahorani sumeet.lahor...@oracle.com reported that the ipoib 
child entries are world writable, fix them to be root only writable


Signed-off-by: Or Gerlitz ogerl...@voltaire.com

diff --git a/drivers/infiniband/ulp/ipoib/ipoib_main.c 
b/drivers/infiniband/ulp/ipoib/ipoib_main.c
index df3eb8c..b4b2257 100644
--- a/drivers/infiniband/ulp/ipoib/ipoib_main.c
+++ b/drivers/infiniband/ulp/ipoib/ipoib_main.c
@@ -1163,7 +1163,7 @@ static ssize_t create_child(struct device *dev,
 
 	return ret ? ret : count;

 }
-static DEVICE_ATTR(create_child, S_IWUGO, NULL, create_child);
+static DEVICE_ATTR(create_child, S_IWUSR, NULL, create_child);
 
 static ssize_t delete_child(struct device *dev,

struct device_attribute *attr,
@@ -1183,7 +1183,7 @@ static ssize_t delete_child(struct device *dev,
return ret ? ret : count;
 
 }

-static DEVICE_ATTR(delete_child, S_IWUGO, NULL, delete_child);
+static DEVICE_ATTR(delete_child, S_IWUSR, NULL, delete_child);
 
 int ipoib_add_pkey_attr(struct net_device *dev)

 {


--
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


[PATCH] opensm: event plig-in API fixed to compile with g++

2010-06-24 Thread Yevgeny Kliteynik
Event API should have been able to be used by libraries
written both in C and C++. The problem is, one of the
fields in struct osm_event_plugin is called delete.
Changing it to destroy and promoting the API version.

Signed-off-by: Yevgeny Kliteynik klit...@dev.mellanox.co.il
---
 opensm/include/opensm/osm_event_plugin.h|2 +-
 opensm/opensm/osm_event_plugin.c|4 ++--
 opensm/osmeventplugin/libosmeventplugin.ver |2 +-
 opensm/osmeventplugin/src/osmeventplugin.c  |2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/opensm/include/opensm/osm_event_plugin.h 
b/opensm/include/opensm/osm_event_plugin.h
index 0b3464e..aa3fed4 100644
--- a/opensm/include/opensm/osm_event_plugin.h
+++ b/opensm/include/opensm/osm_event_plugin.h
@@ -145,7 +145,7 @@ typedef struct osm_api_ps_event {
 typedef struct osm_event_plugin {
const char *osm_version;
void *(*create) (struct osm_opensm *osm);
-   void (*delete) (void *plugin_data);
+   void (*destroy) (void *plugin_data);
void (*report) (void *plugin_data, osm_epi_event_id_t event_id,
void *event_data);
 } osm_event_plugin_t;
diff --git a/opensm/opensm/osm_event_plugin.c b/opensm/opensm/osm_event_plugin.c
index 2d67065..7f61960 100644
--- a/opensm/opensm/osm_event_plugin.c
+++ b/opensm/opensm/osm_event_plugin.c
@@ -141,8 +141,8 @@ DLOPENFAIL:
 void osm_epi_destroy(osm_epi_plugin_t * plugin)
 {
if (plugin) {
-   if (plugin-impl-delete)
-   plugin-impl-delete(plugin-plugin_data);
+   if (plugin-impl-destroy)
+   plugin-impl-destroy(plugin-plugin_data);
dlclose(plugin-handle);
free(plugin-plugin_name);
free(plugin);
diff --git a/opensm/osmeventplugin/libosmeventplugin.ver 
b/opensm/osmeventplugin/libosmeventplugin.ver
index f755ff6..0c3a85b 100644
--- a/opensm/osmeventplugin/libosmeventplugin.ver
+++ b/opensm/osmeventplugin/libosmeventplugin.ver
@@ -6,4 +6,4 @@
 # API_REV - advance on any added API
 # RUNNING_REV - advance any change to the vendor files
 # AGE - number of backward versions the API still supports
-LIBVERSION=1:0:0
+LIBVERSION=2:0:0
diff --git a/opensm/osmeventplugin/src/osmeventplugin.c 
b/opensm/osmeventplugin/src/osmeventplugin.c
index f40f7fe..a82be07 100644
--- a/opensm/osmeventplugin/src/osmeventplugin.c
+++ b/opensm/osmeventplugin/src/osmeventplugin.c
@@ -207,6 +207,6 @@ static void report(void *_log, osm_epi_event_id_t event_id, 
void *event_data)
 osm_event_plugin_t osm_event_plugin = {
   osm_version:OSM_VERSION,
   create:construct,
-  delete:destroy,
+  destroy:destroy,
   report:report
 };
-- 
1.5.1.4

--
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


RDMA synchronous operations

2010-06-24 Thread Andrea Gozzelino
Hi all,

I’m testing the latency time of an RDMA system (2 card and 1 switch).

The connection server/client is established and the code is just as
mirror on both sides.

The RDMA action scheme is below:
1-  client sends a buffer;
2-  server receives a buffer;
3-  server sends a buffer;
4-  client receives a buffer.

The scheme is in a for loop, so after step 4 client repeats step 1.
On client side I put a clock: t_start is before loop and t_end is after
loop.
I consider the round trip time RTT as (t_end-t_start)/NTX where NTX is
number of transfer (number of loop). The latency time is half RTT, if
transfer time is negligible, i.e. for small (8 Bytes – 4 Kbytes) buffer
size and high NTX value ( 1) is true.

The RDMA communication stops casually with error status 5. It means that
the send or receive operation on one side (server or client) casually is
not in time. I summarize post_send and post_receive operation are
quasi-synchronous. I would like that RDMA operation are completely
synchronous. I use the completion queue and the acknowledgement event.

Do you see the same character in other RDMA use? How can I synchronize
all RDMA operation?
Could you please give me some suggestions?

Thank you very much,
Andrea

Example of structure code:
Ibv_recv_wr rrq(mr), *bad_rrq;
assert(!conn-post_recv(rrq, bad_rrq, 0));
assert(!conn-get_completion(compl_queue));
//printf(ok %p %s
, compl_queue, strerror(errno));
assert(1 == compl_queue-poll(1, wc));
//printf(status %i
, (int)wc.status);
if (wc.status !=0){
printf(RDMA server closes. 
);
break;
}
-
Ibv_send_wr srq((void *)rpd-address, rpd-rkey), *bad_srq;
srq.add_sge(mr);
assert(!conn.post_send(srq, bad_srq, 0));
assert(!conn.get_completion(compl_queue));
assert(1 == compl_queue-poll(1, wc));
  
//printf(ok %p %s status %i
, compl_queue, strerror(errno), wc.status);
//printf(loop %i
, i);
  
if (wc.status != 0){
//printf(KO %p %s status %i
, compl_queue, strerror(errno), wc.status);
printf(RDMA data sending problem in loop %i.
, i);
break;
}
---
Andrea Gozzelino

INFN - Laboratori Nazionali di Legnaro  (LNL)
Viale dell'Universita' 2 -I-35020 - Legnaro (PD)- ITALIA
Office: E-101
Tel: +39 049 8068346
Fax: +39 049 641925
Mail: andrea.gozzel...@lnl.infn.it
Cell: +39 3488245552

--
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


RDMA synchronous operations

2010-06-24 Thread Andrea Gozzelino
Hi all,

I’m testing the latency time of an RDMA system (2 card and 1 switch).

The connection server/client is established and the code is just as
mirror on both sides.

The RDMA action scheme is below:
1-  client sends a buffer;
2-  server receives a buffer;
3-  server sends a buffer;
4-  client receives a buffer.

The scheme is in a for loop, so after step 4 client repeats step 1.
On client side I put a clock: t_start is before loop and t_end is after
loop.
I consider the round trip time RTT as (t_end-t_start)/NTX where NTX is
number of transfer (number of loop). The latency time is half RTT, if
transfer time is negligible, i.e. for small (8 Bytes – 4 Kbytes) buffer
size and high NTX value ( 1) is true.

The RDMA communication stops casually with error status 5. It means that
the send or receive operation on one side (server or client) casually is
not in time. I summarize post_send and post_receive operation are
quasi-synchronous. I would like that RDMA operation are completely
synchronous. I use the completion queue and the acknowledgement event.

Do you see the same character in other RDMA use? How can I synchronize
all RDMA operation?
Could you please give me some suggestions?

Thank you very much,
Andrea

Example of structure code:
Ibv_recv_wr rrq(mr), *bad_rrq;
assert(!conn-post_recv(rrq, bad_rrq, 0));
assert(!conn-get_completion(compl_queue));
//printf(ok %p %s
, compl_queue, strerror(errno));
assert(1 == compl_queue-poll(1, wc));
//printf(status %i
, (int)wc.status);
if (wc.status !=0){
printf(RDMA server closes. 
);
break;
}
-
Ibv_send_wr srq((void *)rpd-address, rpd-rkey), *bad_srq;
srq.add_sge(mr);
assert(!conn.post_send(srq, bad_srq, 0));
assert(!conn.get_completion(compl_queue));
assert(1 == compl_queue-poll(1, wc));
  
//printf(ok %p %s status %i
, compl_queue, strerror(errno), wc.status);
//printf(loop %i
, i);
  
if (wc.status != 0){
//printf(KO %p %s status %i
, compl_queue, strerror(errno), wc.status);
printf(RDMA data sending problem in loop %i.
, i);
break;
}
---
Andrea Gozzelino

INFN - Laboratori Nazionali di Legnaro  (LNL)
Viale dell'Universita' 2 -I-35020 - Legnaro (PD)- ITALIA
Office: E-101
Tel: +39 049 8068346
Fax: +39 049 641925
Mail: andrea.gozzel...@lnl.infn.it
Cell: +39 3488245552

--
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


RDMA synchronous operations

2010-06-24 Thread Andrea Gozzelino
Hi all,

I’m testing the latency time of an RDMA system (2 card and 1 switch).

The connection server/client is established and the code is just as
mirror on both sides.

The RDMA action scheme is below:
1-  client sends a buffer;
2-  server receives a buffer;
3-  server sends a buffer;
4-  client receives a buffer.

The scheme is in a for loop, so after step 4 client repeats step 1.
On client side I put a clock: t_start is before loop and t_end is after
loop.
I consider the round trip time RTT as (t_end-t_start)/NTX where NTX is
number of transfer (number of loop). The latency time is half RTT, if
transfer time is negligible, i.e. for small (8 Bytes – 4 Kbytes) buffer
size and high NTX value ( 1) is true.

The RDMA communication stops casually with error status 5. It means that
the send or receive operation on one side (server or client) casually is
not in time. I summarize post_send and post_receive operation are
quasi-synchronous. I would like that RDMA operation are completely
synchronous. I use the completion queue and the acknowledgement event.

Do you see the same character in other RDMA use? How can I synchronize
all RDMA operation?
Could you please give me some suggestions?

Thank you very much,
Andrea

Example of structure code:
Ibv_recv_wr rrq(mr), *bad_rrq;
assert(!conn-post_recv(rrq, bad_rrq, 0));
assert(!conn-get_completion(compl_queue));
//printf(ok %p %s
, compl_queue, strerror(errno));
assert(1 == compl_queue-poll(1, wc));
//printf(status %i
, (int)wc.status);
if (wc.status !=0){
printf(RDMA server closes. 
);
break;
}
-
Ibv_send_wr srq((void *)rpd-address, rpd-rkey), *bad_srq;
srq.add_sge(mr);
assert(!conn.post_send(srq, bad_srq, 0));
assert(!conn.get_completion(compl_queue));
assert(1 == compl_queue-poll(1, wc));
  
//printf(ok %p %s status %i
, compl_queue, strerror(errno), wc.status);
//printf(loop %i
, i);
  
if (wc.status != 0){
//printf(KO %p %s status %i
, compl_queue, strerror(errno), wc.status);
printf(RDMA data sending problem in loop %i.
, i);
break;
}
---
Andrea Gozzelino

INFN - Laboratori Nazionali di Legnaro  (LNL)
Viale dell'Universita' 2 -I-35020 - Legnaro (PD)- ITALIA
Office: E-101
Tel: +39 049 8068346
Fax: +39 049 641925
Mail: andrea.gozzel...@lnl.infn.it
Cell: +39 3488245552

--
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


RDMA synchronous operations

2010-06-24 Thread Andrea Gozzelino
Hi all,

I’m testing the latency time of an RDMA system (2 card and 1 switch).

The connection server/client is established and the code is just as
mirror on both sides.

The RDMA action scheme is below:
1-  client sends a buffer;
2-  server receives a buffer;
3-  server sends a buffer;
4-  client receives a buffer.

The scheme is in a for loop, so after step 4 client repeats step 1.
On client side I put a clock: t_start is before loop and t_end is after
loop.
I consider the round trip time RTT as (t_end-t_start)/NTX where NTX is
number of transfer (number of loop). The latency time is half RTT, if
transfer time is negligible, i.e. for small (8 Bytes – 4 Kbytes) buffer
size and high NTX value ( 1) is true.

The RDMA communication stops casually with error status 5. It means that
the send or receive operation on one side (server or client) casually is
not in time. I summarize post_send and post_receive operation are
quasi-synchronous. I would like that RDMA operation are completely
synchronous. I use the completion queue and the acknowledgement event.

Do you see the same character in other RDMA use? How can I synchronize
all RDMA operation?
Could you please give me some suggestions?

Thank you very much,
Andrea

Example of structure code:
Ibv_recv_wr rrq(mr), *bad_rrq;
assert(!conn-post_recv(rrq, bad_rrq, 0));
assert(!conn-get_completion(compl_queue));
//printf(ok %p %s
, compl_queue, strerror(errno));
assert(1 == compl_queue-poll(1, wc));
//printf(status %i
, (int)wc.status);
if (wc.status !=0){
printf(RDMA server closes. 
);
break;
}
-
Ibv_send_wr srq((void *)rpd-address, rpd-rkey), *bad_srq;
srq.add_sge(mr);
assert(!conn.post_send(srq, bad_srq, 0));
assert(!conn.get_completion(compl_queue));
assert(1 == compl_queue-poll(1, wc));
  
//printf(ok %p %s status %i
, compl_queue, strerror(errno), wc.status);
//printf(loop %i
, i);
  
if (wc.status != 0){
//printf(KO %p %s status %i
, compl_queue, strerror(errno), wc.status);
printf(RDMA data sending problem in loop %i.
, i);
break;
}
---
Andrea Gozzelino

INFN - Laboratori Nazionali di Legnaro  (LNL)
Viale dell'Universita' 2 -I-35020 - Legnaro (PD)- ITALIA
Office: E-101
Tel: +39 049 8068346
Fax: +39 049 641925
Mail: andrea.gozzel...@lnl.infn.it
Cell: +39 3488245552

--
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


RDMA synchronous operations

2010-06-24 Thread Andrea Gozzelino
Hi all,

I’m testing the latency time of an RDMA system (2 card and 1 switch).
The connection server/client is established and the code is just as
mirror on both sides.

The RDMA action scheme is below:
1-  client sends a buffer;
2-  server receives a buffer;
3-  server sends a buffer;
4-  client receives a buffer.

The scheme is in a for loop, so after step 4 client repeats step 1.
On client side I put a clock: t_start is before loop and t_end is after
loop.
I consider the round trip time RTT as (t_end-t_start)/NTX where NTX is
number of transfer (number of loop). The latency time is half RTT, if
transfer time is negligible, i.e. for small (8 Bytes – 4 Kbytes) buffer
size and high NTX value ( 1) is true.

The RDMA communication stops casually with error status 5. It means that
the send or receive operation on one side (server or client) casually is
not in time. I summarize post_send and post_receive operation are
quasi-synchronous. I would like that RDMA operation are completely
synchronous. I use the completion queue and the acknowledgement event.

Do you see the same character in other RDMA use? How can I synchronize
all RDMA operation?
Could you please give me some suggestions?

Thank you very much,
Andrea

Example of structure code:
Ibv_recv_wr rrq(mr), *bad_rrq;
assert(!conn-post_recv(rrq, bad_rrq, 0));
assert(!conn-get_completion(compl_queue));
//printf(ok %p %s\n, compl_queue, strerror(errno));
assert(1 == compl_queue-poll(1, wc));
//printf(status %i\n, (int)wc.status);
if (wc.status !=0){
printf(RDMA server closes. \n);
break;
--
Ibv_send_wr srq((void *)rpd-address, rpd-rkey), *bad_srq;
srq.add_sge(mr);
assert(!conn.post_send(srq, bad_srq, 0));
assert(!conn.get_completion(compl_queue));
assert(1 == compl_queue-poll(1, wc));
  
//printf(ok %p %s status %i\n, compl_queue, strerror(errno),
  wc.status);
//printf(loop %i\n, i);
  
if (wc.status != 0){
//printf(KO %p %s status %i\n, compl_queue, 
strerror(errno),
  wc.status);
printf(RDMA data sending problem in loop %i.\n, i);
break;
}
-
Andrea Gozzelino

INFN - Laboratori Nazionali di Legnaro  (LNL)
Viale dell'Universita' 2 -I-35020 - Legnaro (PD)- ITALIA
Office: E-101
Tel: +39 049 8068346
Fax: +39 049 641925
Mail: andrea.gozzel...@lnl.infn.it
Cell: +39 3488245552

--
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


RE: When IBoE will be merged to upstream?

2010-06-24 Thread Liran Liss
Regarding GID to Eth mappings, we discussed using the standard create_ah() Verb 
for this.
In the kernel, create_ah() will call a generic address resolution function in 
the cma.
The returned information will be copied back to user-space in a device-specific 
structure (since address handles are device-specific).

This eliminates adding a new get_eth_l2_addr() ABI call (device-specific or 
not).
In fact, this approach eliminates adding new ABIs for any kind of address 
translation...

Does this seem reasonable?
--Liran


-Original Message-
From: linux-rdma-ow...@vger.kernel.org 
[mailto:linux-rdma-ow...@vger.kernel.org] On Behalf Of Roland Dreier
Sent: Thursday, June 24, 2010 2:24 AM
To: Aleksey Senin
Cc: linux-rdma; mo...@voltaire.com; aleks...@voltaire.com; 
yift...@voltaire.com; Tziporet Koren; al...@voltaire.com
Subject: Re: When IBoE will be merged to upstream?

  This is actually a continue of the RAW_ET()  issue. We want to   make a 
  submition  of the patches to the upstream, but there is not   support for 
  IB transport in Ethernet devices, and the mlx4_en drivers   version  is a 
  bit outdated 1.4.1.1 in upstream and 1.5.1 in the OFED   There is also 
  missing VLAN support that already present in the OFED.
  When do you planning to submit changes from OFED to upstream?

 - I do not search for more things to merge upstream.  I have enough
   work reviewing things that are sent to me.  So I will never look
   through OFED for changes.

 - I do not handle the mlx4_en driver.  Changes for mlx4_en should go to
   netdev and Dave Miller.

 - I will try to get back to the IBoE changes when I have time, and I
   will admit that my time to spend as RDMA maintainer is nowhere near
   full time and less than it was in the past.

 - I did allocate a fair amount of time to spend on IBoE recently but
   unfortunately the patches were not really in a suitable state to
   merge, and I exhausted that time slice before we reached the end.
   When patch sets sit outside of the upstream kernel and are shipped in
   OFED for months and years, it would probably make upstream merging
   easier if that time was used to fix the patch set.

 - Specifically for the IBoE patches, shouldn't someone have realized
   that having a device-specific interface to do the standard mapping of
   GID to Ethernet address makes no sense?
--
Roland Dreier rola...@cisco.com || For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/index.html
--
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
--
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


Fwd: [ewg] Updates to OFA Web site

2010-06-24 Thread Jeff Becker
Resending

Hi all. In conjunction with the update below, we will slowly begin
migrating to sofa.openfabrics.org as our server (finally 8^)). I have
already set up gitweb, so sofa.openfabrics.org/gitweb shows all the git
trees on sofa. It might be a good idea to start migrating your trees
over there. Also, Vlad, perhaps we should start doing the nightly builds
there.

In addition, I have set up mediawiki (sofa.openfabrics.org/mediawiki) so
if you want to add wiki content (there's nothing there yet), go ahead,
but please coordinate with Cheri at Owen Media, as their team is looking
at moving our old wiki content over. In particular, tell them about
out-of-date content we don't want moved.

Thanks, and let me know if you have any questions/issues.

-jeff


 Original Message 
Subject:[ewg] Updates to OFA Web site
Date:   Wed, 23 Jun 2010 20:52:17 -0500
From:   Cheri Winterberg che...@owenmedia.com
To: e...@lists.openfabrics.org e...@lists.openfabrics.org



EWG – the OFA is in the early stages of updating several elements of the
OFA Web site. We'll be looking at the look  feel, organization and
content of the site. We're also considering adding a members-only area
with password-protected pages.

We'd like input from the technical working groups on the following:

· What are the features of the current OFA Web site that you are using
and would like to see remain relatively unchanged?

· What are we missing on the current OFA Web site that you would like to
see added?

I'm with the marketing agency working on the site. If you have any input
or feedback on potential changes, please e-mail me directly.


Thanks!

Cheri

Cheri Winterberg │ Owen Media, Inc. │ 978.660.6405 │ che...@owenmedia.com

--
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


RE: When IBoE will be merged to upstream?

2010-06-24 Thread Liran Liss
S.B.
--Liran 

-Original Message-
From: Hefty, Sean [mailto:sean.he...@intel.com] 
Sent: Thursday, June 24, 2010 9:06 PM
To: Liran Liss; Roland Dreier; Aleksey Senin
Cc: linux-rdma; mo...@voltaire.com; aleks...@voltaire.com; 
yift...@voltaire.com; Tziporet Koren; al...@voltaire.com
Subject: RE: When IBoE will be merged to upstream?

 Regarding GID to Eth mappings, we discussed using the standard 
 create_ah() Verb for this.
 In the kernel, create_ah() will call a generic address resolution 
 function in the cma.
 The returned information will be copied back to user-space in a 
 device- specific structure (since address handles are device-specific).
 
 This eliminates adding a new get_eth_l2_addr() ABI call 
 (device-specific or not).
 In fact, this approach eliminates adding new ABIs for any kind of 
 address translation...
 
 Does this seem reasonable?

The current behavior of ibv_create_ah() requires that the caller provide the 
L2, and if needed, L3 addressing.  Any translation between the L3 and L2 
addressing must be done before the call is made.  E.g. ibv_create_ah does not 
use the GID to query the SA to obtain LIDs.  Why doesn't IBoE follow this same 
model?

LL: because of the RoCE spec, which states that only GID addressing is used at 
the Verbs level. The address handle fields are unchanged, and the L2 fields 
(e.g., lid) are reserved.
Note that in Ethernet, you normally don't specify L2 addresses at the transport 
level (i.e., sockets).

Callers can use some out of band mechanism for the mapping, call 
rdma_resolve_addr, or use some standard networking routine.
LL: this would require changes to the Verbs API. rdmacm programs addresses 
using user-space Verbs, or even just passes the application just address handle 
attributes...
--
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


RE: [ewg] [PATCH v4] IB Core: RAW ETH support

2010-06-24 Thread Moni Shoua
Thanks. I accept this remark.
We will try to address all the bothering issues regarding the patch set
of RAW QP support and resubmit them linux-rdma.
Since it won't work with Mellanox the patches will be only for Intel
(nes) driver. When time comes and Mellanox cards  can be tested for RAQ
QO feature they will benefit from the common part.



---
  Moni Shoua|  +972-54-5567934  


-Original Message-
From: Roland Dreier [mailto:rdre...@cisco.com] 
Sent: Wednesday, June 23, 2010 8:32 PM
To: Moni Shoua
Cc: Aleksey Senin; Eli Cohen; e...@openfabrics.org;
linux-rdma@vger.kernel.org; Tziporet Koren; Yiftah Shahar
Subject: Re: [ewg] [PATCH v4] IB Core: RAW ETH support

  There is no qp type IBV_QPT_RAW_ETY in user space (at least not in
the definitions   coming with libibverbs). In fact, libibverbs that
comes with OFED defines (in verbs.h)   a qp type called IBV_QPT_RAW_ETT
which equals to 7.
  The patch that is under discussion here adds a new qp type
IB_QPT_RAW_ETH and equals it to 7   to match the definition in user
space. This indeed changes the value of IB_QPT_RAW_ETY to 8   but I
don't see who can be affected since   1. No user space program that
uses IB_QPT_RAW_ETY exists   2. kernel is compiled as one piece of
code.

Why renumber the _ETY enum?  Maybe it doesn't break anything serious but
why risk it?
--
Roland Dreier rola...@cisco.com || For corporate legal information go
to:
http://www.cisco.com/web/about/doing_business/legal/cri/index.html
--
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