Re: [openib-general] [RFC][PATCH] rdma_cm: allow joins to return a unique address

2007-01-30 Thread Michael S. Tsirkin
> Quoting Sean Hefty <[EMAIL PROTECTED]>:
> Subject: Re: [RFC][PATCH] rdma_cm: allow joins to return a unique address
> 
> > Excellent -- is this in a git tree somewhere that I can grab (I'm new to 
> > git)?  Or, what would be an appropriate tree to apply this to?
> 
> This is now available from my rdma-dev.git tree on openfabrics.  The patch is 
> included in the multicast and ofed_1_2 branches.

Sean, when you put something in ofed_1_2 branch I assume this means that
you want it included in OFED 1.2? In this case, you should let Vlad know
(Cc list).

-- 
MST

___
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] Minutes for January 29, 2007 teleconference about OFED 1.2 release integration and build procedures

2007-01-30 Thread Michael S. Tsirkin
> Quoting Jeff Squyres <[EMAIL PROTECTED]>:
> Subject: Re: Minutes for January 29, 2007 teleconference about OFED 1.2 
> release integration and build procedures
> 
> On Jan 30, 2007, at 9:23 AM, Tziporet Koren wrote:
> 
> >4. Vlad to have a daily build of the full OFED package
> 
> Where is this build available from?

http://www.openfabrics.org/builds/

-- 
MST

___
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] IPOIB CM with Non SRQ support

2007-01-30 Thread Michael S. Tsirkin

> -One artifact of the current send side implemantation is that for every
> message we create a new set of tx qps.

I do not believe this describes the implementation correctly - ipoib_cm_tx is
cached in ipoib_neigh structure so that once a connection is setup, it is reused
for all messages to the same neighbour.

-- 
MST

___
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] nightly osm_sim report 2007-01-31:normal completion

2007-01-30 Thread Eitan Zahavi
OSM Simulation Regression Summary
OpenSM rev = Mon_Jan_29_10:06:23_2007 1f5e50 
ibutils rev = Wed_Jan_3_11:42:12_2007 913448 
Total=410 Pass=410 Fail=0

Pass:
30 Stability IS1-16.topo
30 Pkey IS1-16.topo
30 OsmTest IS1-16.topo
30 OsmStress IS1-16.topo
30 Multicast IS1-16.topo
30 LidMgr IS1-16.topo
10 Stability IS3-loop.topo
10 Stability IS3-128.topo
10 Pkey IS3-128.topo
10 OsmTest IS3-loop.topo
10 OsmTest IS3-128.topo
10 OsmStress IS3-128.topo
10 Multicast IS3-loop.topo
10 Multicast IS3-128.topo
10 LidMgr IS3-128.topo
10 FatTree part-4-ary-3-tree.topo
10 FatTree merge-roots-reorder-4-ary-2-tree.topo
10 FatTree merge-roots-4-ary-2-tree.topo
10 FatTree merge-root-4-ary-3-tree.topo
10 FatTree merge-root-12-ary-2-tree.topo
10 FatTree merge-2-ary-4-tree.topo
10 FatTree half-4-ary-3-tree.topo
10 FatTree blend-4-ary-2-tree.topo
10 FatTree 4-ary-4-tree.topo
10 FatTree 4-ary-3-tree.topo
10 FatTree 32nodes-3lvl-is1.topo
10 FatTree 2-ary-4-tree.topo
10 FatTree 12-node-spaced.topo
10 FatTree 12-ary-2-tree.topo

Failures:

___
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] [RFC][PATCH] rdma_cm: allow joins to return a unique address

2007-01-30 Thread Andrew Friedley
Sean Hefty wrote:
> I've committed changes to the librdmacm multicast test program (mckey) that
> provides an example of using this functionality.  The changes are in the
> librdmacm.git tree master branch.

Great, thanks for working on this!  Definitely a newbie here -- I'm 
seeing the patches and mckey code in git in your ofed_1_2 branches, does 
this mean it'll be in the upcoming 1.2 alpha tarballs?

Andrew

___
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] Minutes for January 29, 2007 teleconference about OFED 1.2 release integration and build procedures

2007-01-30 Thread Jeff Squyres
On Jan 30, 2007, at 9:23 AM, Tziporet Koren wrote:

>4. Vlad to have a daily build of the full OFED package

Where is this build available from?

Thanks.

-- 
Jeff Squyres
Server Virtualization Business Unit
Cisco Systems


___
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] OFED 1.2 release - to be reviewed in the meeting today

2007-01-30 Thread Jeff Squyres
It would be helpful to see the MVAPICH1 distribution for OFED 1.2  
somewhere on the OFA server (under ~vlad/ofed_1_2 or ~vlad/ 
public_html/ofed_1_2...?) for comparison / example purposes.


On Jan 30, 2007, at 8:36 PM, Shaun Rowland wrote:

> Tziporet Koren wrote:
>
>> *MPI packages:
>> *1. MPI packages are provided as source RPMs
>> 2. Each MPI owner will have an account on the OFA server and will  
>> open a
>> directory named ofed_1_2
>
> Hi. I am not exactly sure where the ofed_1_2 directory for MPI  
> SRPMs is
> supposed to go. I assume from previous meetings this is just a
> filesystem directory. Should it be a directory in my home directory on
> staging.openfabrics.org, in ~/public_html, or is there something  
> else I
> need to do to put this into place? I think from the previous MPI
> specific meeting, this was supposed to be done in a web directory.  
> Since
> I am unclear, I wanted to ask here.
> -- 
> Shaun Rowland [EMAIL PROTECTED]
> http://www.cse.ohio-state.edu/~rowland/
>
> ___
> 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


-- 
Jeff Squyres
Server Virtualization Business Unit
Cisco Systems


___
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] OFED 1.2 release - to be reviewed in the meeting today

2007-01-30 Thread Shaun Rowland
Tziporet Koren wrote:

> *MPI packages:
> *1. MPI packages are provided as source RPMs
> 2. Each MPI owner will have an account on the OFA server and will open a 
> directory named ofed_1_2

Hi. I am not exactly sure where the ofed_1_2 directory for MPI SRPMs is
supposed to go. I assume from previous meetings this is just a
filesystem directory. Should it be a directory in my home directory on
staging.openfabrics.org, in ~/public_html, or is there something else I
need to do to put this into place? I think from the previous MPI
specific meeting, this was supposed to be done in a web directory. Since
I am unclear, I wanted to ask here.
-- 
Shaun Rowland   [EMAIL PROTECTED]
http://www.cse.ohio-state.edu/~rowland/

___
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] [RFC][PATCH] rdma_cm: allow joins to return a unique address

2007-01-30 Thread Sean Hefty
>Excellent -- is this in a git tree somewhere that I can grab (I'm new to
>git)?  Or, what would be an appropriate tree to apply this to?

I've committed changes to the librdmacm multicast test program (mckey) that
provides an example of using this functionality.  The changes are in the
librdmacm.git tree master branch.

Execute the server side with something like:

mckey -m 0.0.0.0 -b local_ip_address (e.g. 192.168.0.1)

this will display something similar to:

mckey: joined dgid: ff12:a01b:fe80:c007:c007:0

The client can join the group with the -M option:

mckey -M ff12:a01b:fe80:c007:c007:0 -b local_ip_address

- Sean

___
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] Creation of a SRQ with many WR (> 16K) in kernel level fails

2007-01-30 Thread Roland Dreier
 > anyway, the solution that comes into my mind is to disable creating a
 > QP/SRQ for which > 128KB allocations are needed. So
 > mthca_query_device() will set the max_qp_wr and max_srq_wr attributes
 > to values whose derived size still allows to use kmalloc.

But that will limit the size of the queues that userspace can create
too.  I guess we could allocate kernel wrid arrays with vmalloc(), but
I wonder if anyone actually cares about this limit...

 - R.

___
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 ofed-1.2 alpha rel] ehca: reworked irq handler to support NAPI consistently

2007-01-30 Thread Hoang-Nam Nguyen
Hi Vladimir,
here is a patch for ehca with reworked irq handler. With those changes
the performance result without/with scaling code and with NAPI (scaling
code turned off) is consistent. They also reduce the rate of drop 
packets (when scaling code is turned off) significantly.
Thanks
Nam
PS: Roland, this patch is aligned with ofed-1.2 "only". I'l send this
patch for 2.6.21 separately next week.


Signed-off-by: Hoang-Nam Nguyen <[EMAIL PROTECTED]>
---


 ehca_classes.h |   18 +++--
 ehca_eq.c  |1 
 ehca_irq.c |  202 -
 ehca_irq.h |1 
 ehca_main.c|   24 +-
 ipz_pt_fn.h|9 ++
 6 files changed, 173 insertions(+), 82 deletions(-)


diff --git a/drivers/infiniband/hw/ehca/ehca_classes.h 
b/drivers/infiniband/hw/ehca/ehca_classes.h
index cf95ee4..002 100644
--- a/drivers/infiniband/hw/ehca/ehca_classes.h
+++ b/drivers/infiniband/hw/ehca/ehca_classes.h
@@ -42,8 +42,6 @@
 #ifndef __EHCA_CLASSES_H__
 #define __EHCA_CLASSES_H__

-#include "ehca_classes.h"
-#include "ipz_pt_fn.h"

 struct ehca_module;
 struct ehca_qp;
@@ -54,14 +52,22 @@ struct ehca_mw;
 struct ehca_pd;
 struct ehca_av;

+#include 
+#include 
+
 #ifdef CONFIG_PPC64
 #include "ehca_classes_pSeries.h"
 #endif
+#include "ipz_pt_fn.h"
+#include "ehca_qes.h"
+#include "ehca_irq.h"

-#include 
-#include 
+#define EHCA_EQE_CACHE_SIZE 20

-#include "ehca_irq.h"
+struct ehca_eqe_cache_entry {
+   struct ehca_eqe *eqe;
+   struct ehca_cq *cq;
+};

 struct ehca_eq {
u32 length;
@@ -74,6 +80,8 @@ struct ehca_eq {
spinlock_t spinlock;
struct tasklet_struct interrupt_task;
u32 ist;
+   spinlock_t irq_spinlock;
+   struct ehca_eqe_cache_entry eqe_cache[EHCA_EQE_CACHE_SIZE];
 };

 struct ehca_sport {
diff --git a/drivers/infiniband/hw/ehca/ehca_eq.c 
b/drivers/infiniband/hw/ehca/ehca_eq.c
index 5281dec..33c822e 100644
--- a/drivers/infiniband/hw/ehca/ehca_eq.c
+++ b/drivers/infiniband/hw/ehca/ehca_eq.c
@@ -61,6 +61,7 @@ int ehca_create_eq(struct ehca_shca *shc
struct ib_device *ib_dev = &shca->ib_device;

spin_lock_init(&eq->spinlock);
+   spin_lock_init(&eq->irq_spinlock);
eq->is_initialized = 0;

if (type != EHCA_EQ && type != EHCA_NEQ) {
diff --git a/drivers/infiniband/hw/ehca/ehca_irq.c 
b/drivers/infiniband/hw/ehca/ehca_irq.c
index c069be8..1a9ec79 100644
--- a/drivers/infiniband/hw/ehca/ehca_irq.c
+++ b/drivers/infiniband/hw/ehca/ehca_irq.c
@@ -401,87 +401,143 @@ irqreturn_t ehca_interrupt_eq(int irq, v
return IRQ_HANDLED;
 }

-void ehca_tasklet_eq(unsigned long data)
-{
-   struct ehca_shca *shca = (struct ehca_shca*)data;
-   struct ehca_eqe *eqe;
-   int int_state;
-   int query_cnt = 0;

-   do {
-   eqe = (struct ehca_eqe *)ehca_poll_eq(shca, &shca->eq);
-
-   if ((shca->hw_level >= 2) && eqe)
-   int_state = 1;
-   else
-   int_state = 0;
-
-   while ((int_state == 1) || eqe) {
-   while (eqe) {
-   u64 eqe_value = eqe->entry;
-
-   ehca_dbg(&shca->ib_device,
-"eqe_value=%lx", eqe_value);
-
-   /* TODO: better structure */
-   if (EHCA_BMASK_GET(EQE_COMPLETION_EVENT,
-  eqe_value)) {
-   unsigned long flags;
-   u32 token;
-   struct ehca_cq *cq;
-
-   ehca_dbg(&shca->ib_device,
-"... completion event");
-   token =
-   EHCA_BMASK_GET(EQE_CQ_TOKEN,
-  eqe_value);
-   spin_lock_irqsave(&ehca_cq_idr_lock,
- flags);
-   cq = idr_find(&ehca_cq_idr, token);
-
-   if (cq == NULL) {
-   
spin_unlock_irqrestore(&ehca_cq_idr_lock,
-  flags);
-   break;
-   }
-
-   reset_eq_pending(cq);
+static inline void process_eqe(struct ehca_shca *shca, struct ehca_eqe *eqe)
+{
+   u64 eqe_value;
+   u32 token;
+   unsigned long flags;
+   struct ehca_cq *cq;
+   eqe_value = eqe->entry;
+   ehca_dbg(&shca->ib_device, "eqe_value=%lx", eqe_value);
+   if (EHCA_BMASK_GET(EQE_COMPLETION_EVENT, eqe_value)) {
+   ehca_dbg(&sh

Re: [openib-general] OFED 1.2 release - to be reviewed in the meeting today

2007-01-30 Thread Sean Hefty
> *Sources developed in OFA:*
> 1. Each git owner will open a branch with the name ofed_1_2. This branch
> should be opened on 31-Jan (based on code readiness we will review today).

I've added ofed_1_2 branches to my libibcm.git, librdmacm.git, and rdma-dev.git
trees.

- Sean

___
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] [RFC][PATCH] rdma_cm: allow joins to return a unique address

2007-01-30 Thread Sean Hefty
> Excellent -- is this in a git tree somewhere that I can grab (I'm new to 
> git)?  Or, what would be an appropriate tree to apply this to?

This is now available from my rdma-dev.git tree on openfabrics.  The patch is 
included in the multicast and ofed_1_2 branches.

- Sean

___
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] please pull for 2.6.21: fix + add IB multicast support

2007-01-30 Thread Sean Hefty
Roland,

I've created a 'for-roland' branch off of my git tree:

git://git.openfabrics.org/~shefty/rdma-dev.git

with the following changes:

Sean Hefty (3):
   rdma_cm: Increment port number after close to avoid re-use.
   ib_sa: track multicast join/leave requests
   rdma_cm: add multicast communication support

The multicast patches combine additional patches posted to the list, including 
the fix for the multiple HCA issue reported by Michael.

- Sean

___
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] [PATCH ofed-1.2 0/6] ehca (kernel space) patches for ofed-1.2

2007-01-30 Thread Vladimir Sokolovsky
On Sat, 2007-01-27 at 01:59 +0100, Hoang-Nam Nguyen wrote:
> Hello Vladimir!
> Here is a patch set for ehca device driver with the following changes:
> * Fix yield with spinlock held (this has been queued for 2.6.20)
> * Fix mismatched unlock in irq handler (this has been queued for 2.6.20)
> * Remove mmap (this has been queued for 2.6.21)
> * Remove obsolete prototypes (this has been queued for 2.6.21)
> * Backport for 2.6.16, 2.6.16sles10, 2.6.18, 2.6.18_FC6 (RHEL5)
> With those patches we are able to support the following platforms:
> * 2.6.20, 2.6.19, 2.6.18, RHEL5, 2.6.16, SLES10
> Thanks
> Nam
> PS1: The first two patches are actually not required since ofed-1.2
> is based on 2.6.20. Since I did not see them in daily build yesterday
> I'm sending here for completeness.
> PS2: For backport on 2.6.16 resp. SLES10 I saw that there is a
> hvcall.h under backport/2.6.16/include/linux. However that one
> is not sufficient for ehca and include/linux is the wrong place.
> Hence, I'm patching a new one under include/asm. If I'm right,
> please remove include/linux/hvcall.h!
> 

Hi Nam,
Applied patches 2-6.


-- 
Vladimir Sokolovsky <[EMAIL PROTECTED]>
Mellanox Technologies Ltd.

___
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] topspin vs ofed ?

2007-01-30 Thread Scott Weitzenkamp (sweitzen)
If you have a Cisco support contract, you can use either stack and get
support from Cisco, such as RPMs for some errata kernels.  With OFED you
can compile the source yourself for errata kernels.

Scott Weitzenkamp
SQA and Release Manager
Server Virtualization Business Unit
Cisco Systems
 

> -Original Message-
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On Behalf Of Jonas Mardosas
> Sent: Tuesday, January 30, 2007 2:29 AM
> To: openib-general@openib.org
> Subject: [openib-general] topspin vs ofed ?
> 
> Hello,
> 
> I need some information about infiniband drivers. I use 
> Scientific linux 
> 4.4, and now i installed newest kernel, but topspin drivers for my 
> adapters dont work on newest kernel, i looked  in  cisco 
> website, there 
> is the same version of infiniband host adapters drivers, that 
> was before 
> 3.2.0 (118), so how i understund i can use OFED-1.1, what are 
> differences between topspin drivers and Ofed? wich is better? 
> what are 
> your suggestions?
> Thak you for your responses.
> 
> 
> -- 
> Jonas Mardosas
> BGM
> Sistemu inzinierius
> M.K.Ciurlionio 17, LT-03104 Vilnius
> mob.tel. +370 698 74002 
> mail:[EMAIL PROTECTED]
> http://www.bgm.lt
> 
> 
> ___
> 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] I created a git tree for the libibverbs man pages

2007-01-30 Thread Dotan Barak
Roland Dreier wrote:
>  > I created a git tree for the libibverbs man pages in the path:
>  > ~dotanb/libibverbs_man_pages.git
>
> Great, I was just about to ask for your latest work so that I can
> start reviewing the man pages and merging them.
>
> However, what's the URL of your git tree...
> never mind, git://git.openfabrics.org/~dotanb/libibverbs_man_pages.git
> worked for me.
>
>   
sorry, i thought that this info is obvious so i didn't send the full URL.
> So just starting in alphabetical order, I see
>
> $ cat man3/ibv_ack_async_event.3 
> .so  man3/ibv_get_async_event.3
> $
>
>   
Instead of create a file duplication, this is the best way to do it 
(other man pages uses the same trick)
> And it looks like many other files are stubs too.  What are your plans
> for continuing to write man pages?
>
>  - R.
>   
I have the following issues in my "to do list":

* I still need to update the man page of the ibv_get_cq_event page
* I plan to add an example for non blocked polling of events for the 
pages of ibv_get_cq_event and ibv_get_async_event
* If you are planning to add the MR reregister verb, i will add a man 
page for it as well.
* If i will get any request / problem report from anyone, i will fix it

I hope to finish those issues soon.


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] I created a git tree for the libibverbs man pages

2007-01-30 Thread Roland Dreier
 > I would suggest s/OpenIB/OpenFabrics/ throughout the man pages, though.

Actually I think I'll just do s/OpenIB// since I see no reason to
plaster the OpenFabrics brand all over libibverbs.  I guess I'll
change them to say "Libibverbs Programmer's Manual".

 - R.

___
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] I created a git tree for the libibverbs man pages

2007-01-30 Thread Roland Dreier
 > I created a git tree for the libibverbs man pages in the path:
 > ~dotanb/libibverbs_man_pages.git

Great, I was just about to ask for your latest work so that I can
start reviewing the man pages and merging them.

However, what's the URL of your git tree...
never mind, git://git.openfabrics.org/~dotanb/libibverbs_man_pages.git
worked for me.

So just starting in alphabetical order, I see

$ cat man3/ibv_ack_async_event.3 
.so  man3/ibv_get_async_event.3
$

And it looks like many other files are stubs too.  What are your plans
for continuing to write man pages?

 - R.

___
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] [PATCH 00/12] ofed_1_2 - Neighbour update support

2007-01-30 Thread Vladimir Sokolovsky
On Fri, 2007-01-26 at 15:11 -0600, Steve Wise wrote:
> Michael/Vlad:
> 
> I've pushed these up to my git tree.  Can you merge them in?  
> 
> git://staging.openfabrics.com/~swise/ofed_1_2.git cxgb3
> 
> Here is the short log of the commits:
> 
> aedc0b3c1681fb550ec4b8d1021caa2ce3dcbfd7 iw_cxgb3: allow doorbell mappings 
> with VM_READ set.
> 5ea83b9e3ec6f9c74040944adb83e4faf6613fe1 Backport Chelsio to rhel5 
> (2.6.18_FC6).
> ff38246f6f07ff25609eaa304a707748904bf2bf Backport sles9sp3: Simulate neigh 
> update events by snooping ARP packets
> b88d46d10ce15f8ee725454f4998af6497cc13e1 Backport rhel4u4: Simulate neigh 
> update events by snooping ARP packets
> ab3a817b10da2df2e3d5bf08018be3d0212dc5bd Backport 2.6.11: Simulate neigh 
> update events by snooping ARP packets
> e545001a94c180c32b8b15d4ca4351506bd50fc2 Backport 2.6.12: Simulate neigh 
> update events by snooping ARP packets
> 8ddafe035c1a997c7625ae1bd42767deed148cb7 Backport 2.6.13: Simulate neigh 
> update events by snooping ARP packets
> ef260b8242d90edcabdc3153b829eda65d451672 Backport 2.6.14: Simulate neigh 
> update events by snooping ARP packets
> 84c78965a7c6a2a831fb2a49c6936321e2566904 Backport ubuntu606: Simulate neigh 
> update events by snooping ARP packets
> eb09f52a33471613fc29f898dfad8d9a57238d3e Backport 2.6.15: Simulate neigh 
> update events by snooping ARP packets
> ddc3ec432bd1898005ab52241d125dd4a71436aa Backport sles10: Simulate neigh 
> update events by snooping ARP packets
> b4af429744ff06545b2941fc5ef1ab4d6f0c0e77 Backport 2.6.16: Simulate neigh 
> update events by snooping ARP packets
> fe1a597f3aa409465d5b1b577a3b28c4a002f143 Backport 2.6.17: Simulate neighbour 
> update events by snooping ARP packets
> 9b3bfe5696aa417d38ce903eb345a03d65743dd2 Handle Ethernet neighbour updates 
> during route resolution.
> 

Done.

-- 
Vladimir Sokolovsky <[EMAIL PROTECTED]>
Mellanox Technologies Ltd.

___
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 9/10] osm: QoS in OpenSM

2007-01-30 Thread Yevgeny Kliteynik
Added new command line option for OSM: '-Y' or '--qos_policy_file'

Signed-off-by: Yevgeny Kliteynik <[EMAIL PROTECTED]>
---
 osm/include/opensm/osm_subnet.h |4 
 osm/opensm/main.c   |   10 +-
 osm/opensm/osm_opensm.c |   10 ++
 osm/opensm/osm_subnet.c |   10 ++
 4 files changed, 33 insertions(+), 1 deletions(-)

diff --git a/osm/include/opensm/osm_subnet.h b/osm/include/opensm/osm_subnet.h
index a6ffd45..58be7c9 100644
--- a/osm/include/opensm/osm_subnet.h
+++ b/osm/include/opensm/osm_subnet.h
@@ -264,6 +264,7 @@ typedef struct _osm_subn_opt
   char *   partition_config_file;
   boolean_tno_partition_enforcement;
   boolean_tno_qos;
+  char *   qos_policy_file;
   boolean_taccum_log_file;
   char *   console;
   uint16_t console_port;
@@ -397,6 +398,9 @@ typedef struct _osm_subn_opt
 *  specified the log file will be truncated upon reaching
 *  this limit.
 *
+*  qos_policy_file
+*  Name of the QoS policy file.
+*
 *  accum_log_file
 *  If TRUE (default) - the log file will be accumulated.
 *  If FALSE - the log file will be erased before starting current 
opensm run.
diff --git a/osm/opensm/main.c b/osm/opensm/main.c
index 69c940c..8db1938 100644
--- a/osm/opensm/main.c
+++ b/osm/opensm/main.c
@@ -259,6 +259,9 @@ show_usage(void)
   printf( "-Q\n"
   "--qos\n"
   "  This option enables QoS setup.\n\n");
+  printf( "-Y\n"
+  "--qos_policy_file\n"
+  "  This option defines the optional QoS policy file.\n\n");
   printf( "-N\n"
   "--no_part_enforce\n"
   "  This option disables partition enforcement on switch 
external ports.\n\n");
@@ -551,7 +554,7 @@ main(
   boolean_t cache_options = FALSE;
   char *ignore_guids_file_name = NULL;
   uint32_t  val;
-  const char * constshort_option = 
"i:f:ed:g:l:L:s:t:a:R:M:U:S:P:NQvVhorcyx";
+  const char * constshort_option = 
"i:f:ed:g:l:L:s:t:a:R:M:U:S:P:Y:NQvVhorcyx";
 
   /*
 In the array below, the 2nd parameter specified the number
@@ -576,6 +579,7 @@ main(
   {  "Pconfig",   1, NULL, 'P'},
   {  "no_part_enforce",0,NULL, 'N'},
   {  "qos",   0, NULL, 'Q'},
+  {  "qos_policy_file",1, NULL, 'Y'},
   {  "maxsmps",   1, NULL, 'n'},
   {  "console",   1, NULL, 'q'},
   {  "V", 0, NULL, 'V'},
@@ -793,6 +797,10 @@ main(
   opt.no_qos = FALSE;
   break;
 
+case 'Y':
+  opt.qos_policy_file = optarg;
+  break;
+
 case 'y':
   opt.exit_on_fatal = FALSE;
   printf(" Staying on fatal initialization errors\n");
diff --git a/osm/opensm/osm_opensm.c b/osm/opensm/osm_opensm.c
index 1c17979..52923b7 100644
--- a/osm/opensm/osm_opensm.c
+++ b/osm/opensm/osm_opensm.c
@@ -63,6 +63,7 @@
 #include 
 #include 
 #include 
+#include 
 
 struct routing_engine_module {
const char *name;
@@ -290,6 +291,15 @@ osm_opensm_init(
   goto Exit;
}
 
+   if( p_opt->qos_policy_file )
+   {
+   if (!osm_qos_parse_policy_file(&p_osm->log,
+  p_opt->qos_policy_file))
+  osm_log(&p_osm->log, OSM_LOG_VERBOSE,
+  "osm_opensm_init: QoS policy file %s parsed successfully\n",
+  p_opt->qos_policy_file);
+   }
+
  Exit:
osm_log( &p_osm->log, OSM_LOG_FUNCS, "osm_opensm_init: ]\n" ); /* Format 
Waived */
return ( status );
diff --git a/osm/opensm/osm_subnet.c b/osm/opensm/osm_subnet.c
index f2e909b..9905335 100644
--- a/osm/opensm/osm_subnet.c
+++ b/osm/opensm/osm_subnet.c
@@ -470,6 +470,7 @@ osm_subn_set_default_opt(
   p_opt->partition_config_file = OSM_DEFAULT_PARTITION_CONFIG_FILE;
   p_opt->no_partition_enforcement = FALSE;
   p_opt->no_qos = TRUE;
+  p_opt->qos_policy_file = NULL;
   p_opt->accum_log_file = TRUE;
   p_opt->port_profile_switch_nodes = FALSE;
   p_opt->pfn_ui_pre_lid_assign = NULL;
@@ -977,6 +978,9 @@ osm_subn_parse_conf_file(
 "no_qos",
 p_key, p_val, &p_opts->no_qos);
 
+  __osm_subn_opts_unpack_charp(
+"qos_policy_file", p_key, p_val, &p_opts->qos_policy_file);
+
   __osm_subn_opts_unpack_boolean(
 "accum_log_file",
 p_key, p_val, &p_opts->accum_log_file);
@@ -1281,6 +1285,12 @@ osm_subn_write_conf_file(
 "no_qos %s\n\n",
 p_opts->no_qos ? "TRUE" : "FALSE");
 
+  if (p_opts->qos_policy_file)
+fprintf( opts_file,
+ "# QoS policy file name\n"
+ "qos_policy_file %s\n\n",
+ p_opts->qos_policy_file);
+
   subn_dump_qos_options(opts_file,
 "QoS default options", "qos", &p_opts->qos_options);
   fprintf(opts_file, "\n");
-- 
1.4.4.1.GIT




___
openib-general mailing list
openib-general@openib.org
http:

[openib-general] [PATCH 10/10] osm: QoS in OpenSM

2007-01-30 Thread Yevgeny Kliteynik
Checking PathRecord query for QoS constraints

The QoS-aware path selection logic is implemented in a
separate function that is called only when QoS in OpenSM
is on. It causes some code duplication, but the idea is
to minimize the changes in the existing logic in OSM.
Eventually, these two function (the old path selection
and the new QoS-aware path selection) will be merged
into a single function.

Signed-off-by: Yevgeny Kliteynik <[EMAIL PROTECTED]>
---
 osm/opensm/osm_sa_path_record.c |  822 ++-
 1 files changed, 816 insertions(+), 6 deletions(-)

diff --git a/osm/opensm/osm_sa_path_record.c b/osm/opensm/osm_sa_path_record.c
index a0dbb07..2ff7a42 100644
--- a/osm/opensm/osm_sa_path_record.c
+++ b/osm/opensm/osm_sa_path_record.c
@@ -70,6 +70,7 @@
 #include 
 #include 
 #endif
+#include 
 
 #define OSM_PR_RCV_POOL_MIN_SIZE64
 #define OSM_PR_RCV_POOL_GROW_SIZE   64
@@ -87,6 +88,7 @@ typedef struct _osm_path_parms
   uint8_trate;
   uint8_tsl;
   uint8_tpkt_life;
+  uint16_t   class;
   boolean_t  reversible;
 } osm_path_parms_t;
 
@@ -716,6 +718,799 @@ __osm_pr_rcv_get_path_parms(
 
 /**
  **/
+
+static ib_api_status_t
+__osm_pr_rcv_get_path_parms_qos(
+  IN osm_pr_rcv_t* const p_rcv,
+  IN const ib_path_rec_t*  const p_pr,
+  IN const osm_port_t* const p_src_port,
+  IN const osm_port_t* const p_dest_port,
+  IN const uint16_tdest_lid_ho,
+  IN const ib_net64_t  comp_mask,
+  OUT osm_path_parms_t*const p_parms )
+{
+   const osm_node_t*p_node;
+   const osm_physp_t*   p_physp;
+   const osm_physp_t*   p_src_physp;
+   const osm_physp_t*   p_dest_physp;
+   const osm_prtn_t*p_prtn;
+   const ib_port_info_t*p_pi;
+   ib_api_status_t  status = IB_SUCCESS;
+   ib_net16_t   pkey = 0;
+   ib_net16_t   shared_pkey = 0;
+   uint8_t  mtu = 0;
+   uint8_t  rate = 0;
+   uint8_t  pkt_life = 0;
+   uint8_t  sl = 0;
+   uint16_t class = 0;
+   uint8_t  required_mtu;
+   uint8_t  required_rate;
+   uint8_t  required_pkt_life;
+   uint8_t  in_port_num;
+   uint8_t  out_port_num;
+   ib_net16_t   dest_lid;
+   uint8_t  i;
+   uint8_t  vl;
+   ib_slvl_table_t *p_slvl_tbl = NULL;
+   boolean_tvalid_sls[IB_MAX_NUM_VLS];
+   boolean_tsl2vl_valid_path = FALSE;
+   uint8_t  first_valid_sl;
+   osm_qos_level_t *p_qos_level = NULL;
+
+   OSM_LOG_ENTER( p_rcv->p_log, __osm_pr_rcv_get_path_parms_qos );
+
+   memset(valid_sls,TRUE,sizeof(valid_sls));
+   dest_lid = cl_hton16( dest_lid_ho );
+
+   p_dest_physp = osm_port_get_default_phys_ptr( p_dest_port );
+   p_physp = osm_port_get_default_phys_ptr( p_src_port );
+   p_src_physp = p_physp;
+   p_pi = &p_physp->port_info;
+
+   mtu = ib_port_info_get_mtu_cap( p_pi );
+   rate = ib_port_info_compute_rate( p_pi );
+
+   /*
+* Mellanox Tavor device performance is better using 1K MTU.
+* If required MTU and MTU selector are such that 1K is OK 
+* and at least one end of the path is Tavor we override the
+* port MTU with 1K.
+*/
+   if ( p_rcv->p_subn->opt.enable_quirks &&
+  __osm_sa_path_rec_apply_tavor_mtu_limit(
+ p_pr, p_src_port, p_dest_port, comp_mask) )
+   {
+  if (mtu > IB_MTU_LEN_1024) 
+  {
+ mtu = IB_MTU_LEN_1024;
+ osm_log( p_rcv->p_log, OSM_LOG_DEBUG,
+  "__osm_pr_rcv_get_path_parms_qos: "
+  "Optimized Path MTU to 1K for Mellanox Tavor device\n");
+  }
+   }
+
+   /*
+* Walk the subnet object from source to destination,
+* tracking the most restrictive rate and mtu values along the way...
+*
+* If source port node is a switch, then p_physp should
+* point to the port that routes the destination lid
+*/
+
+   p_node = osm_physp_get_node_ptr( p_physp );
+
+   if( p_node->sw )
+   {
+  /* source node is a switch */
+  in_port_num = osm_physp_get_port_num(p_physp);
+  /*
+   * If the dest_lid_ho is equal to the lid of the switch pointed by
+   * p_sw then p_physp will be the physical port of the switch port zero,
+   * and out_port_num will be 0.
+   */
+  p_physp = osm_switch_get_route_by_lid(p_node->sw, cl_hton16( dest_lid_ho 
) );
+  if ( p_physp == 0 )
+  {
+ osm_log( p_rcv->p_log, OSM_LOG_ERROR,
+  "__osm_pr_rcv_get_path_parms_qos: ERR 1F02: "
+  "Cannot find routing to LID 0x%X from switch for GUID 
0x%016" PRIx64 "\n",
+  dest_lid_ho,
+  cl_ntoh64( osm_nod

[openib-general] [PATCH 8/10] osm: QoS in OpenSM

2007-01-30 Thread Yevgeny Kliteynik
Added QoS class and service id fields to the path record

Signed-off-by: Yevgeny Kliteynik <[EMAIL PROTECTED]>
---
 diags/src/saquery.c  |6 +-
 osm/include/iba/ib_types.h   |  148 +++---
 osm/opensm/osm_helper.c  |8 +-
 osm/opensm/osm_sa_multipath_record.c |2 +-
 osm/osmtest/osmtest.c|2 +-
 5 files changed, 146 insertions(+), 20 deletions(-)

diff --git a/diags/src/saquery.c b/diags/src/saquery.c
index b69bd63..baf8736 100644
--- a/diags/src/saquery.c
+++ b/diags/src/saquery.c
@@ -168,7 +168,7 @@ static void
 print_path_record(ib_path_rec_t *p_pr)
 {
printf("PathRecord dump:\n"
-  "\t\tresv0...0x%016" PRIx64 "\n"
+  "\t\tservice_id..0x%016" PRIx64 "\n"
   "\t\tdgid0x%016" PRIx64 " : "
   "0x%016" PRIx64 "\n"
   "\t\tsgid0x%016" PRIx64 " : "
@@ -187,7 +187,7 @@ print_path_record(ib_path_rec_t *p_pr)
   "\t\tresv2...0x%X\n"
   "\t\tresv3...0x%X\n"
   "",
-  *(uint64_t*)p_pr->resv0,
+  cl_ntoh64( p_pr->service_id ),
   cl_ntoh64( p_pr->dgid.unicast.prefix ),
   cl_ntoh64( p_pr->dgid.unicast.interface_id ),
   cl_ntoh64( p_pr->sgid.unicast.prefix ),
@@ -198,7 +198,7 @@ print_path_record(ib_path_rec_t *p_pr)
   p_pr->tclass,
   p_pr->num_path,
   cl_ntoh16( p_pr->pkey ),
-  cl_ntoh16( p_pr->sl ),
+  cl_ntoh16( p_pr->qos_class_sl ),
   p_pr->mtu,
   p_pr->rate,
   p_pr->pkt_life,
diff --git a/osm/include/iba/ib_types.h b/osm/include/iba/ib_types.h
index 22f7f62..5399ea6 100644
--- a/osm/include/iba/ib_types.h
+++ b/osm/include/iba/ib_types.h
@@ -1700,6 +1700,28 @@ ib_class_is_rmpp(
 #define IB_SMINFO_STATE_MASTER 3
 /**/
 
+/d* IBA Base: Constants/IB_PATH_REC_SL_MASK
+* NAME
+*  IB_PATH_REC_SL_MASK
+*
+* DESCRIPTION
+*  Mask for the sl field for path record
+*
+* SOURCE
+*/
+#define IB_PATH_REC_SL_MASK0xF
+
+/d* IBA Base: Constants/IB_PATH_REC_QOS_CLASS_MASK
+* NAME
+*  IB_PATH_REC_QOS_CLASS_MASK
+*
+* DESCRIPTION
+*  Mask for the QoS class field for path record
+*
+* SOURCE
+*/
+#define IB_PATH_REC_QOS_CLASS_MASK 0xFFF0
+
 /d* IBA Base: Constants/IB_PATH_REC_SELECTOR_MASK
 * NAME
 *  IB_PATH_REC_SELECTOR_MASK
@@ -2314,7 +2336,7 @@ ib_gid_get_guid(
 #include 
 typedef struct _ib_path_rec
 {
-   uint8_t resv0[8];
+   ib_net64_t  service_id;
ib_gid_tdgid;
ib_gid_tsgid;
ib_net16_t  dlid;
@@ -2323,7 +2345,7 @@ typedef struct _ib_path_rec
uint8_t tclass;
uint8_t num_path; 
ib_net16_t  pkey;
-   ib_net16_t  sl;
+   ib_net16_t  qos_class_sl;
uint8_t mtu;
uint8_t rate;
uint8_t pkt_life;
@@ -2363,11 +2385,8 @@ typedef struct _ib_path_rec
 *  pkey
 *  Partition key (P_Key) to use on this path.
 *
-*  resv1
-*  Reserved byte.
-*
-*  sl
-*  Service level to use on this path.
+*  qos_class_sl
+*  QoS class and service level to use on this path.
 *
 *  mtu
 *  MTU and MTU selector fields to use on this path
@@ -2388,6 +2407,7 @@ typedef struct _ib_path_rec
 */
 
 /* Path Record Component Masks */
+#define  IB_PR_COMPMASK_SERVICEID (CL_HTON64(((uint64_t)1)<<1))
 #define  IB_PR_COMPMASK_DGID  (CL_HTON64(((uint64_t)1)<<2))
 #define  IB_PR_COMPMASK_SGID  (CL_HTON64(((uint64_t)1)<<3))
 #define  IB_PR_COMPMASK_DLID  (CL_HTON64(((uint64_t)1)<<4))
@@ -2400,7 +2420,7 @@ typedef struct _ib_path_rec
 #define  IB_PR_COMPMASK_REVERSIBLE(CL_HTON64(((uint64_t)1)<<11))
 #define  IB_PR_COMPMASK_NUMBPATH  (CL_HTON64(((uint64_t)1)<<12))
 #define  IB_PR_COMPMASK_PKEY  (CL_HTON64(((uint64_t)1)<<13))
-#define  IB_PR_COMPMASK_RESV1 (CL_HTON64(((uint64_t)1)<<14))
+#define  IB_PR_COMPMASK_QOS_CLASS (CL_HTON64(((uint64_t)1)<<14))
 #define  IB_PR_COMPMASK_SL(CL_HTON64(((uint64_t)1)<<15))
 #define  IB_PR_COMPMASK_MTUSELEC  (CL_HTON64(((uint64_t)1)<<16))
 #define  IB_PR_COMPMASK_MTU   (CL_HTON64(((uint64_t)1)<<17))
@@ -2658,6 +2678,7 @@ ib_path_rec_init_local(
IN  ib_net16_t  slid,
IN  uint8

[openib-general] [PATCH 7/10] osm: QoS in OpenSM

2007-01-30 Thread Yevgeny Kliteynik
Renamed static function find_prtn_by_name() to non-static 
osm_prtn_find_by_name()

This function will be used later by the PathRecord logic.

Signed-off-by: Yevgeny Kliteynik <[EMAIL PROTECTED]>
---
 osm/include/opensm/osm_partition.h |   29 +
 osm/opensm/osm_prtn.c  |4 ++--
 2 files changed, 31 insertions(+), 2 deletions(-)

diff --git a/osm/include/opensm/osm_partition.h 
b/osm/include/opensm/osm_partition.h
index 41f18fa..6e123e6 100644
--- a/osm/include/opensm/osm_partition.h
+++ b/osm/include/opensm/osm_partition.h
@@ -251,6 +251,35 @@ ib_api_status_t osm_prtn_make_partitions
 * SEE ALSO
 */
 
+/f* OpenSM: Partition/osm_prtn_find_by_name
+* NAME
+*  osm_prtn_find_by_name
+*
+* DESCRIPTION
+*  Fides partition by name.
+*
+* SYNOPSIS
+*/
+osm_prtn_t *
+osm_prtn_find_by_name(
+   IN osm_subn_t *p_subn,
+   IN const char *name);
+/*
+* PARAMETERS
+*  p_subn
+*  [in] Pointer to a subnet object.
+*
+*  name
+*  [in] Required partition name.
+*
+* RETURN VALUES
+*  Pointer to the partition object on success.
+*
+* NOTES
+*
+* SEE ALSO
+*/
+
 END_C_DECLS
 
 #endif /* _OSM_PARTITION_H_ */
diff --git a/osm/opensm/osm_prtn.c b/osm/opensm/osm_prtn.c
index 4099cee..4b2cf23 100644
--- a/osm/opensm/osm_prtn.c
+++ b/osm/opensm/osm_prtn.c
@@ -264,7 +264,7 @@ static uint16_t __generate_pkey(osm_subn
return 0;
 }
 
-static osm_prtn_t *find_prtn_by_name(osm_subn_t *p_subn, const char *name)
+osm_prtn_t *osm_prtn_find_by_name(osm_subn_t *p_subn, const char *name)
 {
cl_map_item_t *p_next;
osm_prtn_t *p;
@@ -288,7 +288,7 @@ osm_prtn_t *osm_prtn_make_new(osm_log_t
pkey &= cl_hton16((uint16_t)~0x8000);
 
if (!pkey) {
-   if (name && (p = find_prtn_by_name(p_subn, name)))
+   if (name && (p = osm_prtn_find_by_name(p_subn, name)))
return p;
if(!(pkey = __generate_pkey(p_subn)))
return NULL;
-- 
1.4.4.1.GIT



___
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 6/10] osm: QoS in OpenSM

2007-01-30 Thread Yevgeny Kliteynik
Compilation changes for QoS policy file parser

- Added new files to makefiles.
- Introduced new configuration switch '--enable-maintainer-mode',
  which will run Lex & Yacc instead of just using the generated
  files.

Signed-off-by: Yevgeny Kliteynik <[EMAIL PROTECTED]>
---
 osm/include/Makefile.am |2 ++
 osm/opensm/Makefile.am  |   16 +++-
 osm/opensm/configure.in |4 
 3 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/osm/include/Makefile.am b/osm/include/Makefile.am
index 5efc11a..2b5a17e 100644
--- a/osm/include/Makefile.am
+++ b/osm/include/Makefile.am
@@ -87,6 +87,8 @@ EXTRA_DIST = \
$(srcdir)/opensm/osm_drop_mgr.h \
$(srcdir)/opensm/osm_port_info_rcv.h \
$(srcdir)/opensm/osm_state_mgr_ctrl.h \
+   $(srcdir)/opensm/osm_qos_parser.h \
+   $(srcdir)/opensm/osm_qos_parser_y.h \
$(srcdir)/complib/cl_thread_osd.h \
$(srcdir)/complib/cl_packon.h \
$(srcdir)/complib/cl_atomic_osd.h \
diff --git a/osm/opensm/Makefile.am b/osm/opensm/Makefile.am
index b1028d8..5898d66 100644
--- a/osm/opensm/Makefile.am
+++ b/osm/opensm/Makefile.am
@@ -56,7 +56,21 @@ opensm_SOURCES = main.c osm_console.c os
 osm_trap_rcv.c osm_ucast_mgr.c osm_ucast_updn.c \
 osm_ucast_file.c osm_ucast_ftree.c \
 osm_vl15intf.c osm_vl_arb_rcv.c \
-st.c
+st.c \
+osm_qos_parser_y.c osm_qos_parser_l.c osm_qos_parser.c
+
+osm_qos_parser_y.c: @MAINTAINER_MODE_TRUE@ $(srcdir)/osm_qos_parser.y
+   $(YACC) -y -d $(srcdir)/osm_qos_parser.y
+   mv y.tab.c osm_qos_parser_y.c
+   mv y.tab.h osm_qos_parser_y.h
+   cp -f osm_qos_parser_y.c $(srcdir)/
+   cp -f osm_qos_parser_y.h $(srcdir)/../include/opensm/
+
+osm_qos_parser_l.c: @MAINTAINER_MODE_TRUE@ $(srcdir)/osm_qos_parser.l
+   $(LEX) $(srcdir)/osm_qos_parser.l
+   mv lex.yy.c osm_qos_parser_l.c
+   cp -f osm_qos_parser_l.c $(srcdir)/
+
 if OSMV_OPENIB
 opensm_CFLAGS = -Wall $(OSMV_CFLAGS) -fno-strict-aliasing 
-DVENDOR_RMPP_SUPPORT -DDUAL_SIDED_RMPP $(DBGFLAGS) -D_XOPEN_SOURCE=600 
-D_BSD_SOURCE=1
 opensm_CXXFLAGS = -Wall $(OSMV_CFLAGS) -DVENDOR_RMPP_SUPPORT -DDUAL_SIDED_RMPP 
$(DBGFLAGS) -D_XOPEN_SOURCE=600 -D_BSD_SOURCE=1
diff --git a/osm/opensm/configure.in b/osm/opensm/configure.in
index 893e3b1..01340a5 100644
--- a/osm/opensm/configure.in
+++ b/osm/opensm/configure.in
@@ -14,6 +14,8 @@ if test -z $opensm_api_version; then
 fi
 AC_SUBST(opensm_api_version)
 
+AM_MAINTAINER_MODE
+
 dnl Checks for programs
 AC_PROG_CXX
 AC_PROG_CC
@@ -22,6 +24,8 @@ AC_PROG_INSTALL
 AC_PROG_LN_S
 AC_PROG_MAKE_SET
 AC_PROG_LIBTOOL
+AC_PROG_LEX
+AC_PROG_YACC
 
 dnl Checks for libraries
 
-- 
1.4.4.1.GIT



___
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 5/10] osm: QoS in OpenSM

2007-01-30 Thread Yevgeny Kliteynik
QoS policy file parser C file with auxiliary functions

Signed-off-by: Yevgeny Kliteynik <[EMAIL PROTECTED]>
---
 osm/opensm/osm_qos_parser.c |  548 +++
 1 files changed, 548 insertions(+), 0 deletions(-)

diff --git a/osm/opensm/osm_qos_parser.c b/osm/opensm/osm_qos_parser.c
new file mode 100644
index 000..690535a
--- /dev/null
+++ b/osm/opensm/osm_qos_parser.c
@@ -0,0 +1,548 @@
+/*
+ * Copyright (c) 2004-2006 Voltaire, Inc. All rights reserved.
+ * Copyright (c) 2002-2005 Mellanox Technologies LTD. All rights reserved.
+ * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.
+ *
+ * This software is available to you under a choice of one of two
+ * licenses.  You may choose to be licensed under the terms of the GNU
+ * General Public License (GPL) Version 2, available from the file
+ * COPYING in the main directory of this source tree, or the
+ * OpenIB.org BSD license below:
+ *
+ * Redistribution and use in source and binary forms, with or
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ *  - Redistributions of source code must retain the above
+ *copyright notice, this list of conditions and the following
+ *disclaimer.
+ *
+ *  - Redistributions in binary form must reproduce the above
+ *copyright notice, this list of conditions and the following
+ *disclaimer in the documentation and/or other materials
+ *provided with the distribution.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ */
+
+/*
+ * Abstract:
+ *OSM QoS parser functions.
+ *
+ * Environment:
+ *Linux User Mode
+ *
+ * Author:
+ *Yevgeny Kliteynik, Mellanox
+ */
+
+#include 
+#include 
+#include 
+
+/**
+ **/
+
+boolean_t osm_qos_parser_is_port_in_group(
+   IN  const osm_pr_rcv_t* const p_rcv,
+   IN  osm_physp_t   * p_physp,
+   IN  osm_qos_port_group_t  * p_port_group)
+{
+   uint16_t   i;
+   osm_node_t   * p_node = osm_physp_get_node_ptr(p_physp);
+   osm_qos_uint8_vector_item_t  * p_uint8_vector_item = NULL;
+   osm_qos_uint64_vector_item_t * p_uint64_vector_item = NULL;
+   osm_qos_string_vector_item_t * p_string_vector_item = NULL;
+   osm_prtn_t   * p_prtn = NULL;
+   ib_net64_t port_guid = osm_physp_get_port_guid(p_physp);
+   uint64_t   port_guid_ho = cl_ntoh64(port_guid);
+   uint8_tnode_type = osm_node_get_type(p_node);
+   char desc[IB_NODE_DESCRIPTION_SIZE + 1];
+
+   for (i = 0; i < cl_ptr_vector_get_size(&p_port_group->port_guids); i++)
+   {
+   cl_ptr_vector_at(&p_port_group->port_guids, i, (void 
**)&p_uint64_vector_item);
+   if ( memcmp(&p_uint64_vector_item->value, &port_guid_ho, 
sizeof(uint64_t)) == 0 )
+  return TRUE;
+   }
+
+   for (i = 0; i < cl_ptr_vector_get_size(&p_port_group->node_types); i++)
+   {
+   cl_ptr_vector_at(&p_port_group->node_types, i, (void 
**)&p_uint8_vector_item);
+   if (p_uint8_vector_item->value == node_type)
+  return TRUE;
+   }
+
+   for (i = 0; i < cl_ptr_vector_get_size(&p_port_group->partitions); i++)
+   {
+   cl_ptr_vector_at(&p_port_group->partitions, i, (void 
**)&p_string_vector_item);
+   p_prtn = osm_prtn_find_by_name(p_rcv->p_subn, 
p_string_vector_item->str);
+   if (!p_prtn)
+  continue;
+   if (osm_prtn_is_guid(p_prtn, port_guid))
+  return TRUE;
+   }
+
+   memcpy(desc, p_node->node_desc.description, IB_NODE_DESCRIPTION_SIZE);
+   desc[IB_NODE_DESCRIPTION_SIZE] = '\0';
+   printf("Description: <%s>\n\n",desc);
+   
+   for (i = 0; i < cl_ptr_vector_get_size(&p_port_group->port_names); i++)
+   {
+   cl_ptr_vector_at(&p_port_group->port_names, i, (void 
**)&p_string_vector_item);
+   //p_string_vector_item->str;
+   }
+
+   /* 
+* TODO: //cl_ptr_vector_t  port_names; (vector of string)
+*
+*  
+*  vs1/HCA-1/P1
+*  vs3/HCA-1/P1
+*/
+
+   return FALSE;
+}
+
+/**
+ **/
+
+void osm_qos_parser_get_qos_level_by_pr(
+   IN  const osm_pr_rcv_t  * const p_rcv,
+   IN  const ib_path_rec_t * const p_pr,
+   IN  const osm_port_t* const p_src_port,
+   IN  const osm_port

[openib-general] [PATCH 4/10] osm: QoS in OpenSM

2007-01-30 Thread Yevgeny Kliteynik
QoS policy file parser header file

Signed-off-by: Yevgeny Kliteynik <[EMAIL PROTECTED]>
---
 osm/include/opensm/osm_qos_parser.h |  218 +++
 1 files changed, 218 insertions(+), 0 deletions(-)

diff --git a/osm/include/opensm/osm_qos_parser.h 
b/osm/include/opensm/osm_qos_parser.h
new file mode 100644
index 000..4f0e598
--- /dev/null
+++ b/osm/include/opensm/osm_qos_parser.h
@@ -0,0 +1,218 @@
+/*
+ * Copyright (c) 2004-2006 Voltaire, Inc. All rights reserved.
+ * Copyright (c) 2002-2005 Mellanox Technologies LTD. All rights reserved.
+ * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.
+ *
+ * This software is available to you under a choice of one of two
+ * licenses.  You may choose to be licensed under the terms of the GNU
+ * General Public License (GPL) Version 2, available from the file
+ * COPYING in the main directory of this source tree, or the
+ * OpenIB.org BSD license below:
+ *
+ * Redistribution and use in source and binary forms, with or
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ *  - Redistributions of source code must retain the above
+ *copyright notice, this list of conditions and the following
+ *disclaimer.
+ *
+ *  - Redistributions in binary form must reproduce the above
+ *copyright notice, this list of conditions and the following
+ *disclaimer in the documentation and/or other materials
+ *provided with the distribution.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ */
+
+/*
+ * Abstract:
+ *Declaration of OSM QoS parser.
+ *
+ * Environment:
+ *Linux User Mode
+ *
+ * Author:
+ *Yevgeny Kliteynik, Mellanox
+ */
+
+#ifndef OSM_QOS_PARSER_H
+#define OSM_QOS_PARSER_H
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#define YYSTYPE char *
+
+#define OSM_QOS_NODE_TYPE_CA "CA"
+#define OSM_QOS_NODE_TYPE_SWITCH "SWITCH"
+#define OSM_QOS_NODE_TYPE_ROUTER "ROUTER"
+
+typedef enum {UNDEF, ROUTER, CA, SWITCH} node_type_t;
+
+/***/
+
+typedef struct osm_qos_string_vector_item_t_ {
+   cl_map_item_t   map_item;
+   char  * str;
+} osm_qos_string_vector_item_t;
+
+typedef struct osm_qos_uint64_vector_item_t_ {
+   cl_map_item_t   map_item;
+   uint64_tvalue;
+} osm_qos_uint64_vector_item_t;
+
+typedef struct osm_qos_uint32_vector_item_t_ {
+   cl_map_item_t   map_item;
+   uint32_tvalue;
+} osm_qos_uint32_vector_item_t;
+
+typedef struct osm_qos_uint16_vector_item_t_ {
+   cl_map_item_t   map_item;
+   uint16_tvalue;
+} osm_qos_uint16_vector_item_t;
+
+typedef struct osm_qos_uint8_vector_item_t_ {
+   cl_map_item_t   map_item;
+   uint8_t value;
+} osm_qos_uint8_vector_item_t;
+
+typedef struct osm_qos_vlarb_hl_vector_item_t_ {
+   cl_map_item_t   map_item;
+   uint32_tsl;
+   uint32_tcredits;
+} osm_qos_vlarb_hl_vector_item_t;
+
+/***/
+
+typedef struct osm_qos_port_group_t_ {
+   cl_map_item_tmap_item;
+   char   * name;
+   char   * use;
+   cl_ptr_vector_t  port_guids; /* vector of uint64_t */
+   cl_ptr_vector_t  port_names; /* vector of string   */
+   cl_ptr_vector_t  partitions; /* vector of string   */
+   cl_ptr_vector_t  node_types; /* vector of uint8_t  */
+} osm_qos_port_group_t;
+
+/***/
+
+typedef struct osm_qos_sl2vl_scope_t_ {
+   cl_map_item_tmap_item;
+   cl_ptr_vector_t  groups;  /* vector of string */
+   cl_ptr_vector_t  from;/* vector of string */
+   cl_ptr_vector_t  to;  /* vector of string */
+   cl_ptr_vector_t  across_from; /* vector of string */
+   cl_ptr_vector_t  across_to;   /* vector of string */
+   uint8_t  sl2vl_table[16];
+} osm_qos_sl2vl_scope_t;
+
+/***/
+
+typedef struct osm_qos_vlarb_scope_t_ {
+   cl_map_item_tmap_item;
+   cl_ptr_vector_t  groups;   /* vector of string */
+   cl_ptr_vector_t  across;   /* vector of string */
+   cl_ptr_vector_t  vlarb_highs;  /* vector of string */
+   cl_ptr_vector_t  vlarb_lows;   /* vector of string */
+   uint32_t vl_high_limit;
+} osm_qos_vlarb_scope_t;
+
+/***/
+
+typedef struct osm_qos_level_t_ {
+   cl_map_item_tmap_item;
+   char   * use;
+   uint32_t sn;
+ 

Re: [openib-general] I created a git tree for the libibverbs man pages

2007-01-30 Thread Jeff Squyres
Ooohhh -- yes, this would be wonderful!

I would suggest s/OpenIB/OpenFabrics/ throughout the man pages, though.


On Jan 30, 2007, at 10:26 AM, Dotan Barak wrote:

> Hi all.
>
> I created a git tree for the libibverbs man pages in the path:
>  ~dotanb/libibverbs_man_pages.git
>
> Roland, can you please take those files and add them to libibverbs?
>
> I will be more than happy to see those man pages in OFED 1.2
>
>
> 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


-- 
Jeff Squyres
Server Virtualization Business Unit
Cisco Systems


___
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] [RFC][PATCH] rdma_cm: allow joins to return a unique address

2007-01-30 Thread Andrew Friedley
Sean Hefty wrote:
> I believe that this patch lets you can do what you're trying to do.  The 
> group handle would be the returned mgid from the initial join that 
> created the group.  The mgid would need to be passed to other processes 
> as an IPv6 address, who issue a join request on that group.  (The mgid 
> is available from the rdma_cm_event.param.ud.ah_attr.grh.dgid.)
> 
> Typically, the rdma_cm maps IP addresses to mgids using the ipoib ip 
> mapping algorithm.  This patch avoids that mapping if the upper 32-bits 
> of the IP address match a specific pattern.

Excellent -- is this in a git tree somewhere that I can grab (I'm new to 
git)?  Or, what would be an appropriate tree to apply this to?

Andrew

___
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] I created a git tree for the libibverbs man pages

2007-01-30 Thread Dotan Barak
Hi all.

I created a git tree for the libibverbs man pages in the path:
 ~dotanb/libibverbs_man_pages.git

Roland, can you please take those files and add them to libibverbs?

I will be more than happy to see those man pages in OFED 1.2


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



[openib-general] [PATCH 2/10] osm: QoS in OpenSM

2007-01-30 Thread Yevgeny Kliteynik
QoS policy file parser Lex file

Signed-off-by: Yevgeny Kliteynik <[EMAIL PROTECTED]>
---
 osm/opensm/osm_qos_parser.l |  253 +++
 1 files changed, 253 insertions(+), 0 deletions(-)

diff --git a/osm/opensm/osm_qos_parser.l b/osm/opensm/osm_qos_parser.l
new file mode 100644
index 000..e57eb9f
--- /dev/null
+++ b/osm/opensm/osm_qos_parser.l
@@ -0,0 +1,253 @@
+%{
+/*
+ * Copyright (c) 2004-2006 Voltaire, Inc. All rights reserved.
+ * Copyright (c) 2002-2005 Mellanox Technologies LTD. All rights reserved.
+ * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.
+ *
+ * This software is available to you under a choice of one of two
+ * licenses.  You may choose to be licensed under the terms of the GNU
+ * General Public License (GPL) Version 2, available from the file
+ * COPYING in the main directory of this source tree, or the
+ * OpenIB.org BSD license below:
+ *
+ * Redistribution and use in source and binary forms, with or
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ *
+ *  - Redistributions of source code must retain the above
+ *copyright notice, this list of conditions and the following
+ *disclaimer.
+ *
+ *  - Redistributions in binary form must reproduce the above
+ *copyright notice, this list of conditions and the following
+ *disclaimer in the documentation and/or other materials
+ *provided with the distribution.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ */
+
+/*
+ * Abstract:
+ *Lexer of OSM QoS parser.
+ *
+ * Environment:
+ *Linux User Mode
+ *
+ * Author:
+ *Yevgeny Kliteynik, Mellanox
+ */
+
+#include 
+#include 
+
+#define SAVE_POS save_pos()
+static void save_pos();
+
+extern int column_num;
+extern int line_num;
+extern FILE * yyin;
+
+%}
+
+XML_VERSION_START <\?
+XML_VERSION_END   \?>
+QOS_POLICY_START  
+QOS_POLICY_END<\/qos\-policy>
+PORT_GROUPS_START 
+PORT_GROUPS_END   <\/port\-groups>
+PORT_GROUP_START  
+PORT_GROUP_END<\/port\-group>
+NAME_START
+NAME_END  <\/name>
+USE_START 
+USE_END   <\/use>
+PORT_GUID_START   
+PORT_GUID_END <\/port\-guid>
+PORT_NAME_START   
+PORT_NAME_END <\/port\-name>
+PARTITION_START   
+PARTITION_END <\/partition>
+NODE_TYPE_START   
+NODE_TYPE_END <\/node\-type>
+QOS_SETUP_START   
+QOS_SETUP_END <\/qos\-setup>
+SL2VL_TABLES_START
+SL2VL_TABLES_END  <\/sl2vl\-tables>
+SL2VL_SCOPE_START 
+SL2VL_SCOPE_END   <\/sl2vl\-scope>
+GROUP_START   
+GROUP_END <\/group>
+FROM_START
+FROM_END  <\/from>
+TO_START  
+TO_END<\/to>
+SL2VL_TABLE_START 
+SL2VL_TABLE_END   <\/sl2vl\-table>
+ACROSS_START  
+ACROSS_END<\/across>
+ACROSS_FROM_START 
+ACROSS_FROM_END   <\/across\-from>
+ACROSS_TO_START   
+ACROSS_TO_END <\/across\-to>
+VLARB_TABLES_START
+VLARB_TABLES_END  <\/vlarb\-tables>
+VLARB_SCOPE_START 
+VLARB_SCOPE_END   <\/vlarb\-scope>
+VLARB_HIGH_START  
+VLARB_HIGH_END<\/vlarb\-high>
+VLARB_LOW_START   
+VLARB_LOW_END <\/vlarb\-low>
+VLARB_HIGH_LIMIT_START
+VLARB_HIGH_LIMIT_END  <\/vl\-high\-limit>
+QOS_LEVELS_START  
+QOS_LEVELS_END<\/qos\-levels>
+QOS_LEVEL_START   
+QOS_LEVEL_END <\/qos\-level>
+SN_START  
+SN_END<\/sn>
+SL_START  
+SL_END<\/sl>
+CLASS_START   
+CLASS_END <\/class>
+MTU_LIMIT_START   
+MTU_LIMIT_END <\/mtu\-limit>
+RATE_LIMIT_START  
+RATE_LIMIT_END<\/rate\-limit>
+PACKET_LIFE_START 
+PACKET_LIFE_END   <\/packet\-life>
+PKEY_START
+PKEY_END  <\/pkey>
+QOS_MATCH_RULES_START 
+QOS_MATCH_RULES_END   <\/qos\-match\-rules>
+QOS_MATCH_RULE_START  
+QOS_MATCH_RULE_END<\/qos\-match\-rule>
+QOS_LEVEL_SN_START
+QOS_LEVEL_SN_END  <\/qos\-level\-sn>
+SOURCE_START  
+SOURCE_END<\/source>
+DESTINATION_START 
+DESTINATION_END

Re: [openib-general] [openfabrics-ewg] [PATCH ofed-1.2 0/6] ehca (kernel space) patches for ofed-1.2

2007-01-30 Thread Vladimir Sokolovsky
On Tue, 2007-01-30 at 09:47 -0500, Hoang-Nam Nguyen wrote:
> > > Can someone from iser group please check this?
> > > On pseries hvcall.h is placed under include/asm which is a link to
> > > include/asm-ppc resp include/asm-powerpc.
> > I don't think that we did anything with this in iSER.
> > Erez
> Erez, thanks for this info.
> Vladimir, please remove include/linux/hvcall.h from backport/2.6.16
> resp backport/2.6.16sles9.
> Thanks
> Nam

Done.

-- 
Vladimir Sokolovsky <[EMAIL PROTECTED]>
Mellanox Technologies Ltd.

___
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 0/10] osm: QoS in OpenSM

2007-01-30 Thread Yevgeny Kliteynik
Hi Hal.

The following is a series of 10 patches:
1. QoS policy file parser Yacc file
2. QoS policy file parser Lex file
3. QoS policy file parser Yacc & Lex generated files
4. QoS policy file parser header file
5. QoS policy file parser C file with auxiliary functions
6. Compilation changes for QoS policy file parser:
   Added new files to makefiles.
   Introduced new configuration switch '--enable-maintainer-mode',
   which will run Lex & Yacc instead of just using the generated
   files.
7. Renamed static function find_prtn_by_name() to non-static 
osm_prtn_find_by_name()
   This function will be used later by the PathRecord logic.
8. Added QoS class and service id fields to the path record.
9. Added new command line option for OSM: '-Y' or '--qos_policy_file'
10.Checking PathRecord query for QoS constraints.

--
Yevgeny

Signed-off-by:  Yevgeny Kliteynik <[EMAIL PROTECTED]>
 



___
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] [openfabrics-ewg] [PATCH ofed-1.2 0/6] ehca (kernel space) patches for ofed-1.2

2007-01-30 Thread Hoang-Nam Nguyen
> > Can someone from iser group please check this?
> > On pseries hvcall.h is placed under include/asm which is a link to
> > include/asm-ppc resp include/asm-powerpc.
> I don't think that we did anything with this in iSER.
> Erez
Erez, thanks for this info.
Vladimir, please remove include/linux/hvcall.h from backport/2.6.16
resp backport/2.6.16sles9.
Thanks
Nam


___
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] Minutes for January 29, 2007 teleconference about OFED 1.2 release integration and build procedures

2007-01-30 Thread Tziporet Koren
The meeting summary is also available on the Wiki:
https://wiki.openfabrics.org/tiki-index.php?page=Teleconf+01-29-2007

Tziporet

Abbreviated minutes / summary
* We are going for code freeze at Feb 1.
* Alpha1 release will be ready at beginning of next week
  o There are 3 components that are not yet ready for the code
freeze (see details) 
* Agreed on branching and tagging for the OFED 1.2 (see details)
* Approved the way external components will be provided
* Decided to have a daily build for the full OFED package 

Action Items:
   1. Tziporet to verify QoS status with OSM
   2. Or to review all multicast patches in current build to make sure
that all needed changes are in.
   3. Each git maintainer: open ofed_1_2 branch till Feb 1.
   4. Vlad to have a daily build of the full OFED package
   5. Roland to send branch name from which to take libibverbs and
libmthca 

Detailed Minutes
* The following components are still under development (to be
completed after alpha1):
  o OSM: QoS and LASH routing
  o RDS: integration to OFED is ongoing
  o ipath: driver backport patches are not ready yet 
* Bonding module will support only SLES10 and RHEL up3 for now. 

Release tagging and branching:

Sources developed in OFA:
   1. Each git owner will open a branch with the name ofed_1_2. This
branch should be opened on Feb 1.
   2. Vlad will open a new directory /pub/ofed_1_2.
   3. All ofed_1_2 branches will be cloned to this directory. (Note:
libibverbs and libmthca will be cloned from kernel.org for Roland's
trees.)
   4. Any change that should be included in the next OFED package will
be first check-in to the maintainer ofed_1_2 branch. A mail should be
sent to Vlad (and cc the list) to pull this change.
   5. A tag will be set before any package is build. Tag name
convention: ofed_1_2_ where version will be the suffix of OFED
package (e.g. 1.2-alpha1)
   6. OFED release package will be built based on this tag.
   7. There will be a build script (as in OFED 1.1) to enable each owner
to build the package for testing.
   8. A daily build of the OFED package will be provided on the OFA
server 

MPI packages:
   1. MPI packages are provided as source RPMs
   2. Each MPI owner will have an account on the OFA server and will
open a directory named ofed_1_2
   3. The SRPM package will be placed in this directory, with version
indication in the filename (e.g.ompi-1.2.1-xxx)
   4. There will be a file named latest.txt that will contain the
package that should be taken in the OFED package 

External packages:
Any other external packages that supplied as SRPs (e.g. bonding) and not
source will use the same method as above.


___
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 332] New: Data does not get to IPv6 sockets after driver reset

2007-01-30 Thread bugzilla-daemon
https://bugs.openfabrics.org/show_bug.cgi?id=332

   Summary: Data does not get to IPv6 sockets after driver reset
   Product: OpenFabrics Linux
   Version: gen2
  Platform: All
OS/Version: Other
Status: NEW
  Severity: normal
  Priority: P3
 Component: IPoIB
AssignedTo: [EMAIL PROTECTED]
ReportedBy: [EMAIL PROTECTED]


When there is a socket that send data over IPv6, and at the same time the
driver is doing reset, after the reset the data does not get to the
destination.

More Info:
- Over IPv4 the data get to the remote side after the driver reset finished.
- Running the application again, after the reset, will succeed to send data.


How to reproduce:

1) run opensm on remote side.

run on local side:
2) ping6  -I 
3) run on ather shell: rmmod ib_mthca; modprob -i ib_mthca

You will see that after the reset the ping6 continue to fail, even after the
driver is up.

Output:
64 bytes from fe80::202:c900:100:d061: icmp_seq=1 ttl=64 time=9.77 ms
64 bytes from fe80::202:c900:100:d061: icmp_seq=2 ttl=64 time=0.071 ms
64 bytes from fe80::202:c900:100:d061: icmp_seq=3 ttl=64 time=0.063 ms
64 bytes from fe80::202:c900:100:d061: icmp_seq=4 ttl=64 time=0.084 ms
ping: sendmsg: Network is unreachable
ping: sendmsg: Network is unreachable
ping: sendmsg: Network is unreachable
ping: sendmsg: Network is unreachable
ping: sendmsg: Network is unreachable
ping: sendmsg: Network is unreachable
ping: sendmsg: Network is unreachable
ping: sendmsg: Network is unreachable


-- 
Configure bugmail: https://bugs.openfabrics.org/userprefs.cgi?tab=email
--- 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



[openib-general] topspin vs ofed ?

2007-01-30 Thread Jonas Mardosas
Hello,

I need some information about infiniband drivers. I use Scientific linux 
4.4, and now i installed newest kernel, but topspin drivers for my 
adapters dont work on newest kernel, i looked  in  cisco website, there 
is the same version of infiniband host adapters drivers, that was before 
3.2.0 (118), so how i understund i can use OFED-1.1, what are 
differences between topspin drivers and Ofed? wich is better? what are 
your suggestions?
Thak you for your responses.


-- 
Jonas Mardosas
BGM
Sistemu inzinierius
M.K.Ciurlionio 17, LT-03104 Vilnius
mob.tel. +370 698 74002 
mail:[EMAIL PROTECTED]
http://www.bgm.lt


___
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] ofa_1_2_kernel 20070130-0200 daily build status

2007-01-30 Thread vlad
This email was generated automatically, please do not reply


Common build parameters:  --with-ipoib-mod --with-sdp-mod --with-srp-mod 
--with-user_mad-mod --with-user_access-mod --with-mthca-mod --with-core-mod 
--with-addr_trans-mod --with-cxgb3-mod 

Passed:
Passed on i686 with 2.6.15-23-server
Passed on i686 with linux-2.6.18
Passed on i686 with linux-2.6.17
Passed on i686 with linux-2.6.12
Passed on i686 with linux-2.6.16
Passed on i686 with linux-2.6.15
Passed on i686 with linux-2.6.14
Passed on i686 with linux-2.6.19
Passed on i686 with linux-2.6.13
Passed on powerpc with linux-2.6.19
Passed on x86_64 with linux-2.6.12
Passed on powerpc with linux-2.6.18
Passed on x86_64 with linux-2.6.18
Passed on x86_64 with linux-2.6.17
Passed on x86_64 with linux-2.6.15
Passed on x86_64 with linux-2.6.16
Passed on powerpc with linux-2.6.17
Passed on x86_64 with linux-2.6.14
Passed on x86_64 with linux-2.6.13
Passed on x86_64 with linux-2.6.19
Passed on ia64 with linux-2.6.19
Passed on ppc64 with linux-2.6.19
Passed on powerpc with linux-2.6.12
Passed on powerpc with linux-2.6.14
Passed on powerpc with linux-2.6.16
Passed on ppc64 with linux-2.6.17
Passed on ppc64 with linux-2.6.12
Passed on ppc64 with linux-2.6.15
Passed on ia64 with linux-2.6.18
Passed on powerpc with linux-2.6.13
Passed on ppc64 with linux-2.6.16
Passed on ppc64 with linux-2.6.13
Passed on powerpc with linux-2.6.15
Passed on ppc64 with linux-2.6.18
Passed on ppc64 with linux-2.6.14
Passed on ia64 with linux-2.6.15
Passed on ia64 with linux-2.6.16
Passed on ia64 with linux-2.6.12
Passed on ia64 with linux-2.6.17
Passed on ia64 with linux-2.6.13
Passed on ia64 with linux-2.6.14

Failed:

___
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] Creation of a SRQ with many WR (> 16K) in kernel level fails

2007-01-30 Thread Or Gerlitz
Dotan Barak wrote:
> When one tries to create a SRQ with many WR (> 16K WR), creation of the SRQ
> fails.

> static int mthca_alloc_srq_buf(struct mthca_dev *dev, struct mthca_pd *pd,
>struct mthca_srq *srq)
> srq->wrid = kmalloc(srq->max * sizeof (u64), GFP_KERNEL);
> if (!srq->wrid)
> return -ENOMEM;
> which means that creating a SRQ with 16K WRs (or more), the driver will try to
> allocate 16K*8=128K bytes using kmalloc. This is a very high amount of memory
> to be allocated using kmalloc.

mthca_alloc_wqe_buf has the same problem, as it does qp->wrid = 
kmalloc((qp->rq.max + qp->sq.max) * sizeof (u64), GFP_KERNEL);

anyway, the solution that comes into my mind is to disable creating a 
QP/SRQ for which > 128KB allocations are needed. So mthca_query_device() 
will set the max_qp_wr and max_srq_wr attributes to values whose derived 
size still allows to use kmalloc.

Or.



___
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] [openfabrics-ewg] [PATCH ofed-1.2 0/6] ehca (kernel space) patches for ofed-1.2

2007-01-30 Thread Erez Zilber
Hoang-Nam Nguyen wrote:
> [EMAIL PROTECTED] wrote on 27.01.2007 17:11:34:
>   
>>> PS2: For backport on 2.6.16 resp. SLES10 I saw that there is a
>>> hvcall.h under backport/2.6.16/include/linux. However that one
>>> is not sufficient for ehca and include/linux is the wrong place.
>>> Hence, I'm patching a new one under include/asm. If I'm right,
>>> please remove include/linux/hvcall.h!
>>>   
>> I remember this was needed for iser backport for some reason.
>> Does someone remember?
>> 
> Can someone from iser group please check this?
> On pseries hvcall.h is placed under include/asm which is a link to
> include/asm-ppc resp include/asm-powerpc.
> Thanks
> Nam
>
>   

I don't think that we did anything with this in iSER.

Erez


___
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] Creation of a SRQ with many WR (> 16K) in kernel level fails

2007-01-30 Thread Dotan Barak
Hi Roland.

I opened bug 331 in the bugzilla with the following content:


When one tries to create a SRQ with many WR (> 16K WR), creation of the SRQ
fails.

The problem appears to be in the file: mthca_srq.c.

Here is the problematic code:

static int mthca_alloc_srq_buf(struct mthca_dev *dev, struct mthca_pd *pd,
   struct mthca_srq *srq)
{
struct mthca_data_seg *scatter;
void *wqe;
int err;
int i;

if (pd->ibpd.uobject)
return 0;

srq->wrid = kmalloc(srq->max * sizeof (u64), GFP_KERNEL);
if (!srq->wrid)
return -ENOMEM;


which means that creating a SRQ with 16K WRs (or more), the driver will try to
allocate 16K*8=128K bytes using kmalloc. This is a very high amount of memory
to be allocated using kmalloc.


The fix can be replacing this kmalloc with a different type of memory 
allocation.


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