On Fri, 14 Mar 2008 07:14:05 -0700
Hal Rosenstock <[EMAIL PROTECTED]> wrote:

> On Fri, 2008-03-14 at 00:12 +0000, Sasha Khapyorsky wrote:
> > On 11:13 Wed 12 Mar     , Hal Rosenstock wrote:
> > > >  
> > > >                 struct _ntc_144 {
> > > >                         ib_net16_t pad1;
> > > > -                       ib_net16_t lid; // lid where capability mask 
> > > > changed
> > > > -                       ib_net16_t pad2;
> > > > -                       ib_net32_t new_cap_mask;        // new 
> > > > capability mask
> > > > +                       ib_net16_t lid;             // lid where change 
> > > > occured
> > > > +                       uint8_t    pad2;            // reserved
> > > > +                       uint8_t    local_changes;   // 7b reserved 1b 
> > > > local changes
> > > > +                       ib_net32_t new_cap_mask;    // new capability 
> > > > mask
> > > > +                       ib_net16_t change_flgs;     // 13b reserved 3b 
> > > > change flags
> > > 
> > > Should this be padded out as in the 1.2.1 spec ?
> > 
> > It is stated in the 1.2.1 that an upper bits in change_flgs are reserved
> > for the same purpose - OtherLocalChanges mask. So it looks ok for me to
> > have it as one field and not redo later.
> 
> Have what as one field ? change_flgs ?
> 
> I was referring to a pad3 at the end of the structure as in the spec.
> 

I don't think we need this as the union has a "raw_data" of size 54 bytes at
the beginning.  However, here is a patch which pads out all the structures
according to the spec.

Ira

>From 9c3deb0df42e31a3807ee32a0ea7c20b8303b016 Mon Sep 17 00:00:00 2001
From: Ira K. Weiny <[EMAIL PROTECTED]>
Date: Fri, 14 Mar 2008 09:38:36 -0700
Subject: [PATCH] opensm/include/iba/ib_types.h: pad structs in 
ib_mad_notice_attr_t.data_details


Signed-off-by: Ira K. Weiny <[EMAIL PROTECTED]>
---
 opensm/include/iba/ib_types.h |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/opensm/include/iba/ib_types.h b/opensm/include/iba/ib_types.h
index 51695b5..edc1732 100644
--- a/opensm/include/iba/ib_types.h
+++ b/opensm/include/iba/ib_types.h
@@ -7129,16 +7129,19 @@ typedef struct _ib_mad_notice_attr      // Total Size 
calc  Accumulated
                struct _ntc_64_67 {
                        uint8_t res[6];
                        ib_gid_t gid;   // the Node or Multicast Group that 
came in/out
+                       uint8_t pad[32];
                } PACK_SUFFIX ntc_64_67;
 
                struct _ntc_128 {
                        ib_net16_t sw_lid;      // the sw lid of which link 
state changed
+                       uint8_t pad[52];
                } PACK_SUFFIX ntc_128;
 
                struct _ntc_129_131 {
                        ib_net16_t pad;
                        ib_net16_t lid; // lid and port number of the violation
                        uint8_t port_num;
+                       uint8_t pad2[49];
                } PACK_SUFFIX ntc_129_131;
 
                struct _ntc_144 {
@@ -7148,6 +7151,7 @@ typedef struct _ib_mad_notice_attr        // Total Size 
calc  Accumulated
                        uint8_t    local_changes;   // 7b reserved 1b local 
changes
                        ib_net32_t new_cap_mask;    // new capability mask
                        ib_net16_t change_flgs;     // 13b reserved 3b change 
flags
+                       uint8_t pad3[42];
                } PACK_SUFFIX ntc_144;
 
                struct _ntc_145 {
@@ -7155,6 +7159,7 @@ typedef struct _ib_mad_notice_attr        // Total Size 
calc  Accumulated
                        ib_net16_t lid; // lid where sys guid changed
                        ib_net16_t pad2;
                        ib_net64_t new_sys_guid;        // new system image guid
+                       uint8_t pad3[40];
                } PACK_SUFFIX ntc_145;
 
                struct _ntc_256 {       // total: 54
@@ -7182,6 +7187,7 @@ typedef struct _ib_mad_notice_attr        // Total Size 
calc  Accumulated
                        ib_net32_t qp2; // 4
                        ib_gid_t gid1;  // 16
                        ib_gid_t gid2;  // 16
+                       uint8_t pad2[4];
                } PACK_SUFFIX ntc_257_258;
 
                struct _ntc_259 // pkey violation from switch 51
@@ -7196,6 +7202,7 @@ typedef struct _ib_mad_notice_attr        // Total Size 
calc  Accumulated
                        ib_gid_t gid2;  // 16
                        ib_net16_t sw_lid;      // 2
                        uint8_t port_no;        // 1
+                       uint8_t pad2[3];
                } PACK_SUFFIX ntc_259;
 
        } data_details;
-- 
1.5.1
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

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

Reply via email to