[ofw] patch 2/2 Add support for RDMAoEth to the low level driver

James Yang jyang at xsigo.com
Thu Dec 3 17:06:17 PST 2009


RDMAoE always use gid for communication, thus grh_valid should be always true. With dgid=fe80::0,  ib_gid_is_link_local() will return true, and make grh_valid FALSE.

Agree 8 bits checking is better.

Thanks,
James

-----Original Message-----
From: Sean Hefty [mailto:sean.hefty at intel.com] 
Sent: Thursday, December 03, 2009 4:51 PM
To: James Yang; Tzachi Dar; ofw at lists.openfabrics.org
Subject: RE: [ofw] patch 2/2 Add support for RDMAoEth to the low level driver

>I digged out following Linux code, which check hop_limit. Might need to 
>get Linux guys for comments as well.

Yes - I wrote that code. :)

The check is okay for IB path records.  The problem is the change within the context of the RDMAoE patch.  RDMAoE does not support routing as far as I know, and it should not set the hop_limit > 1 for any path record.  (And I still don't have a clue what network protocol RDMAoE is trying to support.)

If you're saying that we want this change independent of any RDMAoE patch, I'm fine with that - let's just separate that change out.  What I don't understand is why the change is relevant for RDMAoE.  Tzachi seemed to indicate that the change was not needed, but you mentioned that it was.

I'd like to understand what is wrong with the current check:

>  p_av->attr.grh_valid = !ib_gid_is_link_local( &p_path->dgid );

that this change fixes?

>+ // make this same as Linux code: p_path->hop_flow_raw >= 2 means grh present.
>+ if(cl_hton32(p_path->hop_flow_raw) >= 2)  p_av->attr.grh_valid = 1;

And note that the check for windows should be:

	if (((uint8_t) cl_hton32(p_path->hop_flow_raw)) > = 2)

so that only the hop_limit bits are checked.

- Sean




More information about the ofw mailing list