Re: [openib-general] the rping test doesn't exit gracefuly

2006-03-19 Thread Steve Wise
I think that's the expected output...



On Sun, 2006-03-19 at 17:14 +0200, Dotan Barak wrote:
> Hi sean.
> 
> I tried to execute the test rping, but i'm having a problem.
> there are error messages at the end of the test but the return value of the 
> executable is 0. 
> is this is the expected behaviour of the test?
> 
> here is the output of both of the sides (with the command lines that i used):
> 
> server:
> ---
>  # ./rping  -s -V -v -p 12345 -C 10
> server ping data: rdma-ping-0: 
> ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqr
> server ping data: rdma-ping-1: 
> BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs
> server ping data: rdma-ping-2: 
> CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst
> server ping data: rdma-ping-3: 
> DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu
> server ping data: rdma-ping-4: 
> EFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv
> server ping data: rdma-ping-5: 
> FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw
> server ping data: rdma-ping-6: 
> GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwx
> server ping data: rdma-ping-7: 
> HIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy
> server ping data: rdma-ping-8: 
> IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz
> server ping data: rdma-ping-9: 
> JKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzA
> DISCONNECT EVENT...
> wait for RDMA_READ_ADV state 9
> cq completion failed status 5
>  # echo $?
> 0
> 
> client:
> ---
>  # ./rping -V -v -c -C 10 -a 11.4.8.31 -p 12345
> ping data: rdma-ping-0: ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqr
> ping data: rdma-ping-1: BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs
> ping data: rdma-ping-2: CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst
> ping data: rdma-ping-3: DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu
> ping data: rdma-ping-4: EFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv
> ping data: rdma-ping-5: FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw
> ping data: rdma-ping-6: GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwx
> ping data: rdma-ping-7: HIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy
> ping data: rdma-ping-8: IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz
> ping data: rdma-ping-9: JKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzA
> cq completion failed status 5
> DISCONNECT EVENT...
>  # echo $?
> 0
> 
> 
> Thanx
> Dotan
> ___
> openib-general mailing list
> openib-general@openib.org
> http://openib.org/mailman/listinfo/openib-general
> 
> To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general


Re: [openib-general] amso1100 userspace driver

2006-03-19 Thread Tom Tucker
On Sun, 2006-03-19 at 14:01 -0500, Pete Wyckoff wrote:
> Perhaps I'm being dense, but I can't seem to find the
> device-specific userspace driver for amso1100 in the SVN tree.
> Does one exist?  I'm looking for something that implements
> openib_driver_init() and all the ibv_context_ops for amso1100.
> There's drivers for mthca, ipath, cxgb3, ehca, but no amso1100?
> 
> Thanks,
> 

There is no userspace support yet for the Ammasso driver... 

>   -- Pete
> ___
> openib-general mailing list
> openib-general@openib.org
> http://openib.org/mailman/listinfo/openib-general
> 
> To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general


[openib-general] [PATCH] diags/smpquery: support for querying SL2VL and VLArbitration tables

2006-03-19 Thread Sasha Khapyorsky
Hello,

There is support for querying SL2VLMapping and VLArbitration tables -
'sl2vl' and 'vlarb' operations are added to smpquery.

Sasha.


Support for SL2VLMapping and VLArbitration tables querying.

Signed-off-by: Sasha Khapyorsky <[EMAIL PROTECTED]>
---

 diags/src/smpquery.c |  133 +-
 1 files changed, 119 insertions(+), 14 deletions(-)

diff --git a/diags/src/smpquery.c b/diags/src/smpquery.c
index 3ce3e9a..6f8d0c9 100644
--- a/diags/src/smpquery.c
+++ b/diags/src/smpquery.c
@@ -53,6 +53,7 @@
 #defineDEBUG   if (verbose>1) IBWARN
 #define IBERROR(fmt, args...)  iberror(__FUNCTION__, fmt, ## args)
 
+
 static int dest_type = IB_DEST_LID;
 static int verbose;
 
@@ -61,16 +62,21 @@ typedef char *(op_fn_t)(ib_portid_t *des
 typedef struct match_rec {
char *name;
op_fn_t *fn;
+   unsigned opt_portnum;
 } match_rec_t;
 
-static op_fn_t node_desc, node_info, port_info, switch_info, pkey_table;
 
-static match_rec_t match_tbl[] = {
+static op_fn_t node_desc, node_info, port_info, switch_info, pkey_table,
+   sl2vl_table, vlarb_table;
+
+static const match_rec_t match_tbl[] = {
{ "nodeinfo", node_info },
{ "nodedesc", node_desc },
-   { "portinfo", port_info },
+   { "portinfo", port_info , 1 },
{ "switchinfo", switch_info },
-   { "pkeys", pkey_table },
+   { "pkeys", pkey_table , 1 },
+   { "sl2vl", sl2vl_table , 1 },
+   { "vlarb", vlarb_table , 1 },
{0}
 };
 
@@ -214,22 +220,122 @@ pkey_table(ib_portid_t *dest, char **arg
return 0;
 }
 
-op_fn_t *
-match_op(char *name)
+static char *sl2vl_dump_table_entry(ib_portid_t *dest, int in, int out)
 {
-   match_rec_t *r;
+   char buf[2048];
+   char data[IB_SMP_DATA_SIZE];
+   int portnum = (in << 8) | out;
+
+   if (!smp_query(data, dest, IB_ATTR_SLVL_TABLE, portnum, 0))
+   return "smp query failed";
 
+   mad_dump_sltovl(buf, sizeof buf, data, sizeof data);
+   printf("ports: in %2d, out %2d: ", in, out);
+   printf("%s", buf);
+   return 0;
+}
+
+static char *
+sl2vl_table(ib_portid_t *dest, char **argv, int argc)
+{
+   char data[IB_SMP_DATA_SIZE];
+   int type, num_ports, portnum = 0;
+   int i;
+   char *ret;
+
+   if (argc > 0)
+   portnum = strtol(argv[0], 0, 0);
+
+   if (!smp_query(data, dest, IB_ATTR_NODE_INFO, 0, 0))
+   return "node info query failed";
+
+   mad_decode_field(data, IB_NODE_TYPE_F, &type);
+   mad_decode_field(data, IB_NODE_NPORTS_F, &num_ports);
+   if (portnum > num_ports)
+   return "invalid port number";
+
+   printf("# SL2VL table: %s\n", portid2str(dest));
+   printf("# SL: |");
+   for (i = 0 ; i < 16 ; i++)
+   printf("%2d|", i);
+   printf("\n");
+
+   if (type != IB_NODE_SWITCH)
+   return sl2vl_dump_table_entry(dest, 0, 0);
+
+   for (i = 0 ; i <= num_ports ; i++) {
+   ret = sl2vl_dump_table_entry(dest, i, portnum);
+   if (ret)
+   return ret;
+   }
+   return 0;
+}
+
+static char *vlarb_dump_table_entry(ib_portid_t *dest, int portnum, int offset)
+{
+   char buf[2048];
+   char data[IB_SMP_DATA_SIZE];
+   if (!smp_query(data, dest, IB_ATTR_VL_ARBITRATION,
+   (offset << 16) | portnum, 0))
+   return "smp query failed";
+   mad_dump_vlarbitration(buf, sizeof(buf), data, sizeof(data));
+   printf("%s", buf);
+   return 0;
+}
+
+static char *vlarb_dump_table(ib_portid_t *dest, int portnum,
+   char *name, int offset, char *data, int size_field)
+{
+   int size;
+   char *ret;
+   mad_decode_field(data,size_field, &size);
+   printf("# %s priority VL Arbitratoin Table:", name);
+   if ( (ret = vlarb_dump_table_entry(dest, portnum, offset)) ||
+   (size > 32 &&
+   (ret = vlarb_dump_table_entry(dest, portnum, offset + 1))) )
+   return ret;
+   return 0;
+}
+
+static char *
+vlarb_table(ib_portid_t *dest, char **argv, int argc)
+{
+   char data[IB_SMP_DATA_SIZE];
+   int portnum = 0;
+   char *ret;
+
+   if (argc > 0)
+   portnum = strtol(argv[0], 0, 0);
+
+   if (!smp_query(data, dest, IB_ATTR_PORT_INFO, portnum, 0))
+   return "node info query failed";
+
+   printf("# VLArbitration tables: %s port %d\n",
+   portid2str(dest), portnum);
+   if ( (ret = vlarb_dump_table(dest, portnum, "Low", 1,
+   data, IB_PORT_VL_ARBITRATION_LOW_CAP_F)) ||
+   (ret = vlarb_dump_table(dest, portnum, "High", 3,
+   data, IB_PORT_VL_ARBITRATION_HIGH_CAP_F)) )
+   return ret;
+
+   return 0;
+}
+
+static op_fn_t *
+match_op(char *name)
+{
+   const match_rec_t *r;
for (r = match_tbl; r->n

[openib-general] [PATCH] libibmad: mad_dump_sltovl() output simplification

2006-03-19 Thread Sasha Khapyorsky
Hello,

There is simplification of mad_dump_sltovl() output (and function). This
is helpful when multiple tables are queried for gracefull results
printing.

Sasha.


This simplifies mad_dump_sltovl() output and makes it possible to dump
multiple SL2VL tables.

Signed-off-by: Sasha Khapyorsky <[EMAIL PROTECTED]>
---

 libibmad/src/dump.c |   18 --
 1 files changed, 4 insertions(+), 14 deletions(-)

diff --git a/libibmad/src/dump.c b/libibmad/src/dump.c
index 7bfd92c..9389ce1 100644
--- a/libibmad/src/dump.c
+++ b/libibmad/src/dump.c
@@ -647,24 +647,14 @@ void
 mad_dump_sltovl(char *buf, int bufsz, void *val, int valsz)
 {
ib_slvl_table_t* p_slvl_tbl = val;
-   char buf_line1[1024];
-   char buf_line2[1024];
uint8_t vl;
-   int i;
-
-   buf_line1[0] = 0;
-   buf_line2[0] = 0;
-
-   for (i = 0; i < 16; i++)
-   sprintf(buf_line1, "%s%-4u|", buf_line1, i);
-
+   int i, n = 0;
+   n = snprintf(buf, bufsz, "|");
for (i = 0; i < 16; i++) {
ib_slvl_get_i(p_slvl_tbl, i, &vl);
-   sprintf(buf_line2, "%s0x%-2X|", buf_line2, vl);
-
+   n += snprintf(buf + n, bufsz - n, "%2u|", vl);
}
-   
-   snprintf(buf, bufsz, "\nSL: |%s\nVL: |%s\n", buf_line1, buf_line2);
+   snprintf(buf + n, bufsz - n, "\n");
 }
 
 void
___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general


[openib-general] krping minor fixes

2006-03-19 Thread Pete Wyckoff
This patch fixes some little issues in krping.

-- Pete

Add some comments into the source explaining how to get krping to
do its business.  The use of /bin/echo rather than the bash builtin
avoids killing the shell in some error exit cases.

Return an error if the route doesn't resolve to avoid an oops on
the client when it can't connect to a server, and make the error
say more clearly that something failed.

Setting size=65536 (RPING_BUFSIZE) seems to work just fine.  Or
fix the printk error to report RPING_BUFSIZE-1 too.

Getopt taken from mount code isn't really mounting anything.

Signed-off-by: Pete Wyckoff <[EMAIL PROTECTED]>

Index: gen2/branches/iwarp/src/linux-kernel/infiniband/ulp/krping/krping.c
===
--- gen2/branches/iwarp/src/linux-kernel/infiniband/ulp/krping/krping.c 
(revision 5878)
+++ gen2/branches/iwarp/src/linux-kernel/infiniband/ulp/krping/krping.c 
(working copy)
@@ -97,6 +97,12 @@
 static struct proc_dir_entry *krping_proc;
 
 /*
+ * Invoke like this, one on each side, using the server's address on
+ * the RDMA device (iw%d):
+ *
+ * /bin/echo server,port=,addr=192.168.69.142,validate > /proc/krping  
+ * /bin/echo client,port=,addr=192.168.69.142,validate > /proc/krping  
+ *
  * krping "ping/pong" loop:
  * client sends source rkey/addr/len
  * server receives source rkey/add/len
@@ -884,9 +890,9 @@
wait_event_interruptible(cb->sem, cb->state >= ROUTE_RESOLVED);
if (cb->state != ROUTE_RESOLVED) {
printk(KERN_ERR PFX 
-  "waiting for addr/route resolution state %d\n",
+  "addr/route resolution did not resolve: state %d\n",
   cb->state);
-   return ret;
+   return -EINTR;
}
 
DEBUG_LOG("rdma_resolve_addr - rdma_resolve_route successful\n");
@@ -978,7 +984,7 @@
case 'S':
cb->size = optint;
if ((cb->size < 1) ||
-   (cb->size > (RPING_BUFSIZE - 1))) {
+   (cb->size > RPING_BUFSIZE)) {
printk(KERN_ERR PFX "Invalid size %d "
   "(valid range is 1 to %d)\n",
   cb->size, RPING_BUFSIZE);
Index: gen2/branches/iwarp/src/linux-kernel/infiniband/ulp/krping/getopt.c
===
--- gen2/branches/iwarp/src/linux-kernel/infiniband/ulp/krping/getopt.c 
(revision 5878)
+++ gen2/branches/iwarp/src/linux-kernel/infiniband/ulp/krping/getopt.c 
(working copy)
@@ -70,6 +70,6 @@
return -EINVAL;
}
}
-   printk(KERN_INFO "%s: Unrecognized mount option %s\n", caller, token);
+   printk(KERN_INFO "%s: Unrecognized option %s\n", caller, token);
return -EOPNOTSUPP;
 }
___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general


[openib-general] amso1100 userspace driver

2006-03-19 Thread Pete Wyckoff
Perhaps I'm being dense, but I can't seem to find the
device-specific userspace driver for amso1100 in the SVN tree.
Does one exist?  I'm looking for something that implements
openib_driver_init() and all the ibv_context_ops for amso1100.
There's drivers for mthca, ipath, cxgb3, ehca, but no amso1100?

Thanks,

-- Pete
___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general


[openib-general] RE: [PATCH] vendor: identify rmpp mads

2006-03-19 Thread Ofer Gigi
Hi Hal,

Please check-in the change in osm_vendor_mlx_svc.h

I have tested it for IB_MCLASS_SUBN_ADM

As far as I know BIS, DevAdm and the vendor classes range are not part
of the management, so they are not needed in this patch (but should be
added to Kernel file mad.c I sent you - if it's not there, I looked on
the file mad.c in my machine, and I am not sure it is updated)

Thanks!
Ofer


-Original Message-
From: Hal Rosenstock [mailto:[EMAIL PROTECTED] 
Sent: Friday, March 17, 2006 2:07 AM
To: Ofer Gigi
Cc: OPENIB
Subject: Re: [PATCH] vendor: identify rmpp mads

Hi Ofer,

On Thu, 2006-03-16 at 12:14, Ofer Gigi wrote:
> Hi Hal,
> 
> RMPP mad can only sent in 4 kinds of mad:
> 1. IB_MCLASS_SUBN_ADM 
> 2. IB_MCLASS_DEV_MGMT 
> 3. BIS 
> 4. DevAdm

There are more than these. There is also the vendor class 2 range as
well.

> If the packet is not 1 or 2 - the mad is not checked and returned in
advance as not a 
> rmpp packet.
> Since 3,4 are not management classes (see 13.4.4 page 720 in the spec)
I don't know 
> whether they are defined as constants or not - so I didn't handle
them.

3 and 4 are management classes defined in the IBA 1.2 annexes (and do
support RMPP).

> Thanks
> 
> Ofer G.
> 
> Signed-off-by:  Ofer Gigi <[EMAIL PROTECTED]>
> 
> Index: osm_vendor_mlx_svc.h
> ===
> --- osm_vendor_mlx_svc.h(revision 5836)
> +++ osm_vendor_mlx_svc.h(working copy)
> @@ -116,6 +116,9 @@ osmv_mad_is_rmpp(IN const ib_mad_t *p_ma
>  CL_ASSERT(NULL != p_mad);
>  
>  rmpp_flags = ((ib_rmpp_mad_t*)p_mad)->rmpp_flags;
> +/* HACK - JUST SA and DevMgt for now - need to add BIS and
DevAdm*/
> +if ( (p_mad->mgmt_class != CL_NTOH16(IB_MCLASS_SUBN_ADM)) &&
> +(p_mad->mgmt_class != CL_NTOH16(IB_MCLASS_DEV_MGMT))
) return(0);
>  return (0 != (rmpp_flags & IB_RMPP_FLAG_ACTIVE));
>  }

Given the above comments, what do you want me to do with this ?

Also, I have no way of testing this. Should I just check it in ?

-- Hal
___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general


RE: [openib-general] mthca FMR correctness (and memory windows)

2006-03-19 Thread Dror Goldenberg


> From:  Talpey, Thomas
> Sent: Sunday, March 19, 2006 5:36 PM
> 
> I'm implementing FMR memory registration mode in the NFS/RDMA 
> client, and I've got it mostly working. However as I 
> understand it, mthca's existing fmr's do not guarantee that 
> the r_key is completely invalidated when the ib_unmap_fmr() 
> returns. This makes using them rather problematic, to say the least.

When ib_unmap_fmr() is done, you can be sure that the old FMR is 
inaccessible. That's why this call blocks...

> 
> Now, I notice that ib_unmap_fmr() is a blocking operation (at 
> least, the kernel whines about semaphores being waited in 
> interrupt context, when I experimented with that).
> 
> Does this mean mthca's ib_unmap_fmr() is waiting for the 
> invalidation now, or plans to in the future?

It is indeed waiting for true invalidation.


But Tom, I think that you should be looking at rdma/ib_fmr_pool.h for a
better API
to use for FMRs. This way you can allocate a pool and remap FMRs each 
time you need one. You can look for examples in ulp/sdp directory.

> 
> Is there a plan to make fmr's compliant with verbs 1.2?

In the future... And it will probably be a different API, such an API
that can go through a WQE->CQE.

> 
> Final question is memory windows. The code is there in the 
> NFS/RDMA client, but all it gets is ENOSYS from ib_bind_mw(). 
> (Yes, I know memory windows may not perform well on mthca. 
> However, they're correct and hopefully faster than ib_reg_phys_mr()).

FMR's the fastest. MWs are supported by the mthca HW. To my 
knowledge there was no demand for MWs so far and that's why the
code to handle them hasn't been implemented in mthca.

> 
> What is the plan to implement mthca memory windows?
> 
> Thanks,
> Tom.
___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general


[openib-general] rdma_cm README file is inconsistent with the source code

2006-03-19 Thread Dotan Barak
Hi sean.

1) In the source code of the rdma_cm (cma.c) i saw that the library tries to 
open the file: "/dev/infiniband/rdma_cm".

2) I saw the following lines in the README file:

To create the appropriate character device file automatically with
udev, a rule like

KERNEL="ucma", NAME="infiniband/%k", MODE="0666"

can be used.  This will create the device node named

/dev/infiniband/ucma


which file is the updated one?

thanks
Dotan
___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general


Re: [openib-general] Re: [PATCH 1 of 3] core: static rate encoding changesupport

2006-03-19 Thread Jack Morgenstein
On Thursday 16 March 2006 19:17, Bryan O'Sullivan wrote:
> On Thu, 2006-03-16 at 18:58 +0200, Michael S. Tsirkin wrote:
> > > BTW, have you looked at ehca or ipath?  Do they need their static rate
> > > handling fixed up?
> >
> > Not sure, I think they do.
>
> Came a bit late to this discussion, sorry.  If you make core changes
> that require driver changes to work with them, it's probably a good idea
> to file bugs against those drivers in Bugzilla so that the ehca and
> ipath owners know something is up that they'll need to fix.
>
This encoding change DOES demand changes to the provider code.

I note that both ehca and ipath take the static rate field as the IPD value.
(ehca copies the static rate value in the ah attr struct to an "ipd" field, 
ipath copies the entire ah attribute structure as-is).
The new encoding will require ehca and ipath to translate the new encoding to 
an IPD value at the provider layer (from the encoding as given in the URLs 
above -- essentially the encoding described in the PathRecord rate field 
(Table 205 on page 901, section 15.2.5.6 of IB Spec).

Such translation is currently done by ULPs! (not good).

For example,  in IPoIB:
   ipoib_multicast.c, procedure  ipoib_mcast_join_task() :
   (tracking current rate)
if (!ib_query_port(priv->ca, priv->port, &attr)) {
priv->local_lid  = attr.lid;
priv->local_rate = attr.active_speed *
ib_width_enum_to_int(attr.active_width);
} else

  and ipoib_main.c, procedure path_rec_completion :
   (computing IPD from current rate and desired rate)
int path_rate = ib_sa_rate_enum_to_int(pathrec->rate);

if (path_rate > 0 && priv->local_rate > path_rate)
av.static_rate = (priv->local_rate - 1) / path_rate;

The proper place for this translation is at the provider layer (ULPs should 
NOT be involved in IPD calculations).

The changes to ehca and ipath should be very minor, but must be done

(For full discussion, see the links below)
http://openib.org/pipermail/openib-general/2006-March/017452.html
http://openib.org/pipermail/openib-general/2006-March/017453.html
http://openib.org/pipermail/openib-general/2006-March/017454.html

Definition of new encoding:
http://openib.org/pipermail/openib-general/2006-March/017999.html
(and see thread starting at this point)

ULP (ipoib) changes for new encoding:
http://openib.org/pipermail/openib-general/2006-March/018000.html

Finally, changes submitted for Mellanox provider layer:
http://openib.org/pipermail/openib-general/2006-March/018001.html

- Jack
___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general


[openib-general] [PATCH] libibverbs/examples/asyncwatch.c: Added a print of the event name in string format

2006-03-19 Thread Dotan Barak
Added a print of the event name in string format.

Signed-off-by: Dotan Barak <[EMAIL PROTECTED]>

Index: latest/src/userspace/libibverbs/examples/asyncwatch.c
===
--- latest.orig/src/userspace/libibverbs/examples/asyncwatch.c  2006-03-19 
12:03:02.0 +0200
+++ latest/src/userspace/libibverbs/examples/asyncwatch.c   2006-03-19 
17:36:14.0 +0200
@@ -42,6 +42,38 @@
 
 #include 
 
+static const char *event_name_str(enum ibv_event_type event_type)
+{
+   switch (event_type) {
+   case IBV_EVENT_DEVICE_FATAL:
+   return "IBV_EVENT_DEVICE_FATAL";
+   case IBV_EVENT_PORT_ACTIVE:
+   return "IBV_EVENT_PORT_ACTIVE";
+   case IBV_EVENT_PORT_ERR:
+   return "IBV_EVENT_PORT_ERR";
+   case IBV_EVENT_LID_CHANGE:
+   return "IBV_EVENT_LID_CHANGE";
+   case IBV_EVENT_PKEY_CHANGE:
+   return "IBV_EVENT_PKEY_CHANGE";
+   case IBV_EVENT_SM_CHANGE:
+   return "IBV_EVENT_SM_CHANGE";
+
+   case IBV_EVENT_CQ_ERR:
+   case IBV_EVENT_QP_FATAL:
+   case IBV_EVENT_QP_REQ_ERR:
+   case IBV_EVENT_QP_ACCESS_ERR:
+   case IBV_EVENT_COMM_EST:
+   case IBV_EVENT_SQ_DRAINED:
+   case IBV_EVENT_PATH_MIG:
+   case IBV_EVENT_PATH_MIG_ERR:
+   case IBV_EVENT_SRQ_ERR:
+   case IBV_EVENT_SRQ_LIMIT_REACHED:
+   case IBV_EVENT_QP_LAST_WQE_REACHED:
+   default:
+   return "unexpected";
+   }
+}
+
 int main(int argc, char *argv[])
 {
struct ibv_device **dev_list;
@@ -73,9 +105,9 @@ int main(int argc, char *argv[])
if (ibv_get_async_event(context, &event))
return 1;
 
-   printf("  event_type %d, port %d\n", event.event_type,
-  event.element.port_num);
-
+   printf("  event_type %s (%d), port %d\n",
+  event_name_str(event.event_type),
+  event.event_type, event.element.port_num);
ibv_ack_async_event(&event);
}
 
___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general


[openib-general] mthca FMR correctness (and memory windows)

2006-03-19 Thread Talpey, Thomas
I'm implementing FMR memory registration mode in the NFS/RDMA
client, and I've got it mostly working. However as I understand it,
mthca's existing fmr's do not guarantee that the r_key is completely
invalidated when the ib_unmap_fmr() returns. This makes using them
rather problematic, to say the least.

Now, I notice that ib_unmap_fmr() is a blocking operation (at least,
the kernel whines about semaphores being waited in interrupt context,
when I experimented with that).

Does this mean mthca's ib_unmap_fmr() is waiting for the invalidation
now, or plans to in the future?

Second comment is that the existing fmr api is (IMO) very inconsistent.
Why does ib_map_phys_fmr() take an array of u64 physaddrs and not
struct page *'s? And the unmap api mysteriously takes a struct list *,
not any object returned by ib_alloc_fmr() or ib_map_phys_fmr().

Is there a plan to make fmr's compliant with verbs 1.2?

Final question is memory windows. The code is there in the NFS/RDMA
client, but all it gets is ENOSYS from ib_bind_mw(). (Yes, I know memory
windows may not perform well on mthca. However, they're correct and
hopefully faster than ib_reg_phys_mr()).

What is the plan to implement mthca memory windows?

Thanks,
Tom.

___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general


[openib-general] [PATCH] mthca: add a check to modify_qp that sgid_index and path_mtu are valid

2006-03-19 Thread Dotan Barak
Added a check that the parameters sgid_index and path_mtu are valid,
since they might come from userspace.

Signed-off-by: Dotan Barak <[EMAIL PROTECTED]>

Index: latest/drivers/infiniband/hw/mthca/mthca_qp.c
===
--- latest.orig/drivers/infiniband/hw/mthca/mthca_qp.c  2006-03-19 
16:25:48.0 +0200
+++ latest/drivers/infiniband/hw/mthca/mthca_qp.c   2006-03-19 
16:54:05.0 +0200
@@ -481,13 +481,20 @@
return err;
 }
 
-static void mthca_path_set(struct ib_ah_attr *ah, struct mthca_qp_path *path)
+static int mthca_path_set(struct mthca_dev *dev, struct ib_ah_attr *ah,
+ struct mthca_qp_path *path)
 {
path->g_mylmc = ah->src_path_bits & 0x7f;
path->rlid= cpu_to_be16(ah->dlid);
path->static_rate = !!ah->static_rate;
 
if (ah->ah_flags & IB_AH_GRH) {
+   if (ah->grh.sgid_index >= dev->limits.gid_table_len) {
+   mthca_dbg(dev, "sgid_index (%u) too large. max is %d\n",
+ ah->grh.sgid_index, 
dev->limits.gid_table_len-1);
+   return -1;
+   }
+
path->g_mylmc   |= 1 << 7;
path->mgid_index = ah->grh.sgid_index;
path->hop_limit  = ah->grh.hop_limit;
@@ -498,6 +505,8 @@
memcpy(path->rgid, ah->grh.dgid.raw, 16);
} else
path->sl_tclass_flowlabel = cpu_to_be32(ah->sl << 28);
+
+   return 0;
 }
 
 int mthca_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, int attr_mask)
@@ -590,8 +599,14 @@
 
if (qp->transport == MLX || qp->transport == UD)
qp_context->mtu_msgmax = (IB_MTU_2048 << 5) | 11;
-   else if (attr_mask & IB_QP_PATH_MTU)
+   else if (attr_mask & IB_QP_PATH_MTU) {
+   if (attr->path_mtu < IB_MTU_256 || attr->path_mtu > 
IB_MTU_2048) {
+   mthca_dbg(dev, "path MTU (%u) is invalid\n",
+ attr->path_mtu);
+   return -EINVAL;
+   }
qp_context->mtu_msgmax = (attr->path_mtu << 5) | 31;
+   }
 
if (mthca_is_memfree(dev)) {
if (qp->rq.max)
@@ -640,7 +655,9 @@
}
 
if (attr_mask & IB_QP_AV) {
-   mthca_path_set(&attr->ah_attr, &qp_context->pri_path);
+   if (mthca_path_set(dev, &attr->ah_attr, &qp_context->pri_path))
+   return -EINVAL;
+
qp_param->opt_param_mask |= 
cpu_to_be32(MTHCA_QP_OPTPAR_PRIMARY_ADDR_PATH);
}
 
@@ -662,7 +679,9 @@
return -EINVAL;
}
 
-   mthca_path_set(&attr->alt_ah_attr, &qp_context->alt_path);
+   if (mthca_path_set(dev, &attr->alt_ah_attr, 
&qp_context->alt_path))
+   return -EINVAL;
+
qp_context->alt_path.port_pkey |= 
cpu_to_be32(attr->alt_pkey_index |
  
attr->alt_port_num << 24);
qp_context->alt_path.ackto = attr->alt_timeout << 3;
___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general


[openib-general] the rping test doesn't exit gracefuly

2006-03-19 Thread Dotan Barak
Hi sean.

I tried to execute the test rping, but i'm having a problem.
there are error messages at the end of the test but the return value of the 
executable is 0. 
is this is the expected behaviour of the test?

here is the output of both of the sides (with the command lines that i used):

server:
---
 # ./rping  -s -V -v -p 12345 -C 10
server ping data: rdma-ping-0: 
ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqr
server ping data: rdma-ping-1: 
BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs
server ping data: rdma-ping-2: 
CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst
server ping data: rdma-ping-3: 
DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu
server ping data: rdma-ping-4: 
EFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv
server ping data: rdma-ping-5: 
FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw
server ping data: rdma-ping-6: 
GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwx
server ping data: rdma-ping-7: 
HIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy
server ping data: rdma-ping-8: 
IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz
server ping data: rdma-ping-9: 
JKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzA
DISCONNECT EVENT...
wait for RDMA_READ_ADV state 9
cq completion failed status 5
 # echo $?
0

client:
---
 # ./rping -V -v -c -C 10 -a 11.4.8.31 -p 12345
ping data: rdma-ping-0: ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqr
ping data: rdma-ping-1: BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs
ping data: rdma-ping-2: CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst
ping data: rdma-ping-3: DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstu
ping data: rdma-ping-4: EFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv
ping data: rdma-ping-5: FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw
ping data: rdma-ping-6: GHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwx
ping data: rdma-ping-7: HIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy
ping data: rdma-ping-8: IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz
ping data: rdma-ping-9: JKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzA
cq completion failed status 5
DISCONNECT EVENT...
 # echo $?
0


Thanx
Dotan
___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general


[openib-general] [PATCH] IPoIB network interface "RUNNING" status with the cable disconnected - fix

2006-03-19 Thread Leonid Arsh
Sorry, the same message, but with a subject.
  
Hello,

   the patch fixes a problem with the network interface "RUNNING"
status.
   The problem was  that the status stayed  "RUNNING" with the cable
disconnected,
   both for ib0 network interface and a vlan (partition) child device
(like ib0.f1f1)

   The patch causes the network interface device to be flushed when
cable is disconnected.

   This patch requires also my previous patch to be applied (ipoib_ib.c
- wrong pointer memory access bug fix), see below.


Signed-off-by: Leonid Arsh <[EMAIL PROTECTED]>

 Index: infiniband/ulp/ipoib/ipoib_verbs.c
===
--- infiniband/ulp/ipoib/ipoib_verbs.c  (revision 8499)
+++ infiniband/ulp/ipoib/ipoib_verbs.c  (working copy)
@@ -251,10 +251,11 @@
struct ipoib_dev_priv *priv =
container_of(handler, struct ipoib_dev_priv,
event_handler);
 
-   if (record->event == IB_EVENT_PORT_ACTIVE ||
+if (record->event == IB_EVENT_PORT_ERR||
+record->event == IB_EVENT_PORT_ACTIVE ||
record->event == IB_EVENT_LID_CHANGE  ||
record->event == IB_EVENT_SM_CHANGE) {
-   ipoib_dbg(priv, "Port active event\n");
+   ipoib_dbg(priv, "Port state change event\n");
schedule_work(&priv->flush_task);
}
 }



-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Leonid Arsh
Sent: Sunday, March 19, 2006 4:03 PM
To: openib-general@openib.org
Subject: [openib-general] [PATCH] ipoib_ib.c - wrong pointer memory
accessbug

Hello,
   Trying to understand the problem with "RUNNING" network interface
status when a cable is disconnected, I found an error in
ipoib_ib_dev_flush() function.
   Although this patch doesn't fix the "RUNNING" status problem yet, it
fixes a serious wrong pointer memory access bug.

 Signed-off-by: Leonid Arsh <[EMAIL PROTECTED]>

Index: infiniband/ulp/ipoib/ipoib_ib.c
===
--- infiniband/ulp/ipoib/ipoib_ib.c (revision 8499)
+++ infiniband/ulp/ipoib/ipoib_ib.c (working copy)
@@ -603,7 +603,7 @@
 
/* Flush any child interfaces too */
list_for_each_entry(cpriv, &priv->child_intfs, list)
-   ipoib_ib_dev_flush(&cpriv->dev);
+   ipoib_ib_dev_flush(cpriv->dev);
 
mutex_unlock(&priv->vlan_mutex);
 }
___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit
http://openib.org/mailman/listinfo/openib-general
___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general


[openib-general] [PATCH]

2006-03-19 Thread Leonid Arsh
Hello,
   the patch fixes a problem with the network interface "RUNNING"
status.
   The problem was  that the status stayed  "RUNNING" with the cable
disconnected,
   both for ib0 network interface and a vlan (partition) child device
(like ib0.f1f1)

   The patch causes the network interface device to be flushed when
cable is disconnected.

   This patch requires also my previous patch to be applied (ipoib_ib.c
- wrong pointer memory access bug fix), see below.


Signed-off-by: Leonid Arsh <[EMAIL PROTECTED]>

 Index: infiniband/ulp/ipoib/ipoib_verbs.c
===
--- infiniband/ulp/ipoib/ipoib_verbs.c  (revision 8499)
+++ infiniband/ulp/ipoib/ipoib_verbs.c  (working copy)
@@ -251,10 +251,11 @@
struct ipoib_dev_priv *priv =
container_of(handler, struct ipoib_dev_priv,
event_handler);
 
-   if (record->event == IB_EVENT_PORT_ACTIVE ||
+if (record->event == IB_EVENT_PORT_ERR||
+record->event == IB_EVENT_PORT_ACTIVE ||
record->event == IB_EVENT_LID_CHANGE  ||
record->event == IB_EVENT_SM_CHANGE) {
-   ipoib_dbg(priv, "Port active event\n");
+   ipoib_dbg(priv, "Port state change event\n");
schedule_work(&priv->flush_task);
}
 }



-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Leonid Arsh
Sent: Sunday, March 19, 2006 4:03 PM
To: openib-general@openib.org
Subject: [openib-general] [PATCH] ipoib_ib.c - wrong pointer memory
accessbug

Hello,
   Trying to understand the problem with "RUNNING" network interface
status when a cable is disconnected, I found an error in
ipoib_ib_dev_flush() function.
   Although this patch doesn't fix the "RUNNING" status problem yet, it
fixes a serious wrong pointer memory access bug.

 Signed-off-by: Leonid Arsh <[EMAIL PROTECTED]>

Index: infiniband/ulp/ipoib/ipoib_ib.c
===
--- infiniband/ulp/ipoib/ipoib_ib.c (revision 8499)
+++ infiniband/ulp/ipoib/ipoib_ib.c (working copy)
@@ -603,7 +603,7 @@
 
/* Flush any child interfaces too */
list_for_each_entry(cpriv, &priv->child_intfs, list)
-   ipoib_ib_dev_flush(&cpriv->dev);
+   ipoib_ib_dev_flush(cpriv->dev);
 
mutex_unlock(&priv->vlan_mutex);
 }
___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit
http://openib.org/mailman/listinfo/openib-general
___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general


[openib-general] Aide Orphélin !!

2006-03-19 Thread pabloadjas



Pablo Adjas
ABIDJAN COTE D'IVOIRE 
Cher , 
Je suis Monsieur  Pablo Adjas le seul fils de 'ancien chef
PAUL Adjas de la SIERA LEONNE. 
La source de votre contact me donne le courage et la confiance de me
confier à vous.  Je vous écris avec une confidence absolue
premièrement  pour demander votre assistance pour transférer
notre  liquidité de 25 000 000 de dollar qui actuellement se 
trouve dans le coffre fort d'une compagnie de  sécurité ici en
Abidjan dans votre compte personnel  jusqu'à notre arrivée dans votre
pays. 
   
  
SOURCEDE L'ARGENT    
 Mon défunt père, chef PAUL Adjas, le patron des  extracteur
d'or et de diamant en Sierra Leone  (S.L.M.C) Freetown. Concernant
mon père, cet argent  est le résultat de l'or et le diamant extraient
des  mines Sierra Léonaise avant le début de la guerre civil entre
les forces rebelles et les forces de maintien de la paix de l'ECOMOG qui a
détruit mon pays après le coup de force qui a chassé du pouvoir,le
président démocratiquement élu AHMED TEJAN KABBAH. 
Mon père avait déjà mis en place un plan pour nous évacuer (ma
famille) ma mère, ma petite sour et moi même sur Abidjan en Cote d'ivoire
avec nos effets personnels et la boite contenant l'argent par le
biais  des forces d'évacuation des nations unies. 
Mon père nous a demandé de déposer la boite dans une compagnie 
privée de sécurité jusqu'à ce qu'il nous rejoigne  après la guerre.
Pendant la guerre dans mon pays, et avec pour  conséquence le pillage
des propriétés publiques et du  gouvernement par les forces rebelles,
la coopération des mines sierra léonaise étaient l'une des cibles pillées
et détruites. Mon père et plusieurs autres haut fonctionnaires ont été
attaqués et tués par les  rebelles en novembre 2000 pour leur
relation avec le gouvernement civil d'AHMED TEJAN KABBAH.  
Suite à la mort de mon père, et avec les nouvelles de  mon oncle
à propos de son accident d'avion en janvier,  nos espoirs de survie
étaient complètement noyés. Cette mort prématurée de mon père et de mon
oncle a provoqué un arrêt cardiaque chez ma mère et d'autres complications
qui ont provoqués sa mort plus tard dans un hôpital et après on a eu à
dépenser une importante  somme d'argent pour elle.  
Actuellement ma sœur  et moi même sommes  seuls dans
ce pays étrange, souffrant et sans aucun  soutien . sans aucune
relations, nous sommes actuellement comme des réfugiés et des orphelins.
Notre seul espoir actuellement est en vous et en la boite qu'on déposé
dans la compagnie de sécurité. 
A cet effet, je sollicite humblement votre assistance dans le sens
suivant :
1- m'aider à faire sortir la boite de la compagnie de sécurité comme
CO- bénéficiaire pour transférer cet argent en votre nom dans votre propre
compte dans votre pays pour un investissement lucratif .avec vous comme
principal acteur. 
2-  Le plus important c'est que la compagnie de sécurité ne
connaît pas le contenu exact de la boite  parce qu'on l'a déclaré
comme richesses familiales.
3-  Tous les documents relatifs au dépôts sont dans mon 
coffre a la maison. 
4-  Pour votre assistance, je vous céderai 20% de cet 
argent pour vos efforts et votre assistance. 
5-  Enfin je vous prie de garder cette transaction 
strictement confidentiel.   
Merci et que Dieu vous bénisse pour votre assistance à  notre
égard. 
Très sincèrement
 
Pablo Adjas
contact me [EMAIL PROTECTED]







Web Sitesi Sahibi Olmanın Tam Zamanı: Mynet Proservis Basit
Paket: 25 YTL / Yıl



Web Sitesi Sahibi Olmanın Tam Zamanı: Mynet
Proservis Basit Paket: 25 YTL / Yıl



___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

[openib-general] [PATCH] ipoib_ib.c - wrong pointer memory access bug

2006-03-19 Thread Leonid Arsh
Hello,
   Trying to understand the problem with "RUNNING" network interface
status when a cable is disconnected, I found an error in
ipoib_ib_dev_flush() function.
   Although this patch doesn't fix the "RUNNING" status problem yet, it
fixes a serious wrong pointer memory access bug.

 Signed-off-by: Leonid Arsh <[EMAIL PROTECTED]>

Index: infiniband/ulp/ipoib/ipoib_ib.c
===
--- infiniband/ulp/ipoib/ipoib_ib.c (revision 8499)
+++ infiniband/ulp/ipoib/ipoib_ib.c (working copy)
@@ -603,7 +603,7 @@
 
/* Flush any child interfaces too */
list_for_each_entry(cpriv, &priv->child_intfs, list)
-   ipoib_ib_dev_flush(&cpriv->dev);
+   ipoib_ib_dev_flush(cpriv->dev);
 
mutex_unlock(&priv->vlan_mutex);
 }
___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general


[openib-general] [PATCH] OpenSM - fix sm_key check in osm_sa_mcmember_record.c

2006-03-19 Thread Yael Kalka

Hi Hal,

We noticed that when sending MCMemberRecord query, there is a check if
the requestor is trusted (if not then PortGid, join_state and
proxy_join are returned as zero). But, currently the trusted check is
done on the sm_key in the response mad, which is set to zero
(according to C15-0.1.5), instead of checking the sm_key in the
request mad.
The following patch fixes this issue, and also removes a comment out
of place.

Thanks,
Yael

Signed-off-by:  Yael Kalka <[EMAIL PROTECTED]>

Index: opensm/osm_sa_mcmember_record.c
===
--- opensm/osm_sa_mcmember_record.c (revision 5882)
+++ opensm/osm_sa_mcmember_record.c (working copy)
@@ -1952,13 +1952,6 @@ __osm_sa_mcm_by_comp_mask_cb(
   if (! osm_physp_has_pkey( p_rcv->p_log, p_mgrp->mcmember_rec.pkey, 
p_req_physp ))
 goto Exit;
 
-  /*
-   * o15-0.1.16: If SA supports UD multicast, then if it receives a
-   * SubnAdmGetTable() of MCMemberRecord with the MCMemberRecord:PortGID
-   * wildcarded, then SA shall return a single MCMemberRecord for each
-   * multicast group that matches the query operation.
-   */
-
   /* so did we got the PortGUID mask */
   if (IB_MCR_COMPMASK_PORT_GID & comp_mask)
   {
@@ -2219,7 +2212,7 @@ osm_mcmr_query_mgrp(IN osm_mcmr_recv_t* 
 the mad is valid. Meaning - is either zero or equal to the local
 sm_key.
   */
-  if (p_resp_sa_mad->sm_key == 0)
+  if (p_rcvd_mad->sm_key == 0)
 trusted_req = FALSE;
 
   for ( i = 0; i < pre_trim_num_rec; i++ )

___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general


[openib-general] modify QP from reset->reset or reset->error fails in mthca

2006-03-19 Thread Dotan Barak
According to the IB spec: 
QP state can be modified from any state to reset
QP state can be modified from any state to error

Modify QP from reset to reset or from reset to error fail in Mellanox HCAs.
Here if the error message from the /var/log/messages:

+  kernel: ib_mthca :05:00.0: modify QP 0->0 returned status 0a.

i guess that the problem is that the HCA don't know that this QP is in use 
until the QP is in the init state.

roland: how do you think the mthca driver should behave in those scenarios?


Dotan
___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general


[openib-general] [Bug 22] IBED RC2 Installation fails

2006-03-19 Thread bugzilla-daemon
http://openib.org/bugzilla/show_bug.cgi?id=22

[EMAIL PROTECTED] changed:

   What|Removed |Added

 CC||[EMAIL PROTECTED]



--- Additional Comments From [EMAIL PROTECTED]  2006-03-19 02:05 ---
Please attach /tmp/IBED.*.log files after failure.

Note: openibd is a part of kernel-ib RPM.
Check that ipoib and kernel-ib packages selected while installing IBED.



--- You are receiving this mail because: ---
You are the assignee for the bug, or are watching the assignee.
___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general


Re: [openib-general] Re: [PATCH] mthca - query qp

2006-03-19 Thread Jack Morgenstein
On Sunday 19 March 2006 11:31, Michael S. Tsirkin wrote:
> I think even QP state is already reported to user by means of completion
> with error and asynchronous event (and I think same can be said for path
> migration state).
>
The same CANNOT be said for static rate.

- Jack

___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general


[openib-general] Re: [PATCH] mthca - query qp

2006-03-19 Thread Michael S. Tsirkin
Quoting r. Roland Dreier <[EMAIL PROTECTED]>:
> Subject: Re: [PATCH] mthca - query qp
> 
> OK, I at least applied the error flow part of this patch, since that's
> clearly something we want.
> 
> I need to think about how to handle the other attributes.  Probably
> anything that just copies values from the struct ib_qp passed in to
> the function should at least be in the generic ib_query_qp function,
> since there's no good reason for every low-level driver to duplicate it.
> 
> However I'm wondering whether we even have the right interface for
> query QP at all.



I think even QP state is already reported to user by means of completion
with error and asynchronous event (and I think same can be said for path
migration state).

I conclude that ib_query_qp is mostly useful for debug.
However, speaking from experience, things you need the most during debug:
number of end to end credits (debug performance problems),
work requests executed (debug data/debug problems)
are actually not part of query qp verb.

> The only thing that the consumer couldn't have saved
> off for themselves is the QP state,

Formally speaking, we also have the send/receive PSN which the users couldn't
have saved off for themselves.

> so maybe the right interface is
> just an ib_query_qp_state() function that gives back the QP's current state.

I don't thinj anyone actually uses query qp, so we probably even can
kill it off altogether.

If the point is to make debugging possible/easier, what I think we are missing
is an interface (in debugfs?) that given QP number, will get us the QP state
in hardware format, with all the detail. This could be implemented as
a separate module.

-- 
Michael S. Tsirkin
Staff Engineer, Mellanox Technologies
___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general


[openib-general] Re: [PATCH] mthca - query qp

2006-03-19 Thread Eli Cohen
On Thu, 2006-03-16 at 14:38 -0800, Roland Dreier wrote:
> I need to think about how to handle the other attributes.  Probably
> anything that just copies values from the struct ib_qp passed in to
> the function should at least be in the generic ib_query_qp function,
> since there's no good reason for every low-level driver to duplicate it.
> 
Probably this is how it should be done

> However I'm wondering whether we even have the right interface for
> query QP at all.  The only thing that the consumer couldn't have saved
> off for themselves is the QP state, so maybe the right interface is
> just an ib_query_qp_state() function that gives back the QP's current state.
> 
I think we should pass to the consumer all the info in a centralized way
through a standard query_qp verb.
___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general


[openib-general] Re: Re: [PATCH] mthca - query qp

2006-03-19 Thread Michael S. Tsirkin
Quoting r. Jack Morgenstein <[EMAIL PROTECTED]>:
> Subject: Re: Re: [PATCH] mthca - query qp
> 
> On Friday 17 March 2006 00:38, Roland Dreier wrote:
> >
> > However I'm wondering whether we even have the right interface for
> > query QP at all.  The only thing that the consumer couldn't have saved
> > off for themselves is the QP state, so maybe the right interface is
> > just an ib_query_qp_state() function that gives back the QP's current
> > state.
> >
> 
> The static rate is another value that may be changed by the HCA.  Furthermore,
> the HCA may set a static rate lower than that requested by the caller.  The 
> only way to know the actual, operative static rate is via ib_query_qp.

I don't think that's the intended result of the ib_query_qp. The spec says:

Primary Address vector, for RC & UC transports only, containing:



. Maximum Static Rate.

-- 
Michael S. Tsirkin
Staff Engineer, Mellanox Technologies
___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general


RE: [openib-general] Re: [PATCH] mthca - query qp

2006-03-19 Thread Dotan Barak
> > However I'm wondering whether we even have the right interface for 
> > query QP at all.  The only thing that the consumer couldn't 
> have saved 
> > off for themselves is the QP state, so maybe the right interface is 
> > just an ib_query_qp_state() function that gives back the 
> QP's current 
> > state.
> >
> 
> The static rate is another value that may be changed by the 
> HCA.  Furthermore, the HCA may set a static rate lower than 
> that requested by the caller.  The 
> only way to know the actual, operative static rate is via ib_query_qp.
> 
> Jack

The HCA changes the path_mig_state, so it is also needed.

Dotan
___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general


Re: [openib-general] Re: [PATCH] mthca - query qp

2006-03-19 Thread Jack Morgenstein
On Friday 17 March 2006 00:38, Roland Dreier wrote:
>
> However I'm wondering whether we even have the right interface for
> query QP at all.  The only thing that the consumer couldn't have saved
> off for themselves is the QP state, so maybe the right interface is
> just an ib_query_qp_state() function that gives back the QP's current
> state.
>

The static rate is another value that may be changed by the HCA.  Furthermore,
the HCA may set a static rate lower than that requested by the caller.  The 
only way to know the actual, operative static rate is via ib_query_qp.

Jack
___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general


[openib-general] [PATCH] OpenSM - recognize port change not as duplicated guids

2006-03-19 Thread Yael Kalka

Hi Hal,

This is a patch to solve the issue of port move during heavy sweep
being recognized as duplicated guids. 
If the SM sees what seems to be duplicated guids, but it also received
an indication for immediatly forcing another heavy sweep (for example,
as a result of receiving trap 128) - then it shouldn't issue a
duplicated guids error (and exit), but just ignore and continue.
This means that only if the SM recognizes such a duplication in a
stable subnet it'll issue the error and exit.

Thanks,
Yael

Signed-off-by:  Yael Kalka <[EMAIL PROTECTED]>

Index: opensm/osm_node_info_rcv.c
===
--- opensm/osm_node_info_rcv.c  (revision 5882)
+++ opensm/osm_node_info_rcv.c  (working copy)
@@ -129,12 +129,17 @@ __osm_ni_rcv_set_links(
 }
 else
 {
-  if( osm_node_has_any_link( p_node, port_num ) )
+  if( osm_node_has_any_link( p_node, port_num ) && 
+  p_rcv->p_subn->force_immediate_heavy_sweep == FALSE )
   {
 /*
   Uh oh...
   This means that we found 2 nodes with the same guid,
   or a 12x link with lane reversal that is not configured 
correctly.
+  If the force_immediate_heavy_sweep == TRUE, then this might be a 
case
+  of port being moved (causing trap 128), and thus re-discovered. 
+  In this case - just continue. There will be another heavy sweep 
+  immediatly after, when the subnet is stable again.
 */
 char line[BUF_SIZE];
 char dr_new_path[BUF_SIZE];

___
openib-general mailing list
openib-general@openib.org
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general