Subject: [Ipoverib] GRH and IP packets

From: Vivek Kashyap <[email-masked]>
Date: Wed, 7 Nov 2001 01:10:24 -0800 (PST)

IB packets have two distinct formats:

		LRH_only:	LRH:BTH:DETH:<Payload>
		GRH_too :	LRH:GRH:BTH:DETH:<Payload>

        The GRH_too format is usable in all modes of communication.
        The LRH_only format works with local-IB subnet based unicast
        packets only.

		Multicast packets: GRH_too

		Cross IB subnet:   GRH_too

		Local IB subnet, unicast packets:   GRH_too, LRH_only
	
        The GRH comprises of 40 bytes of data which includes the GID
        (64 bits of EUI-64 identifier and 64 bits of IB subnet
        prefix). 

        If a received packet includes the GRH the receiving QP,
        irrespective of everything else, copies these 40 bytes to the
        begining of the buffer posted to receive the data. Thus the
        receiver must always expect these 40 bytes. It would have been
        nice if the payload was always put skipping the first 40 bytes
        if GRH was not present. But this is not the case.

        Thus if the sender sent 40 bytes of the GRH the receiver has
        to skip the first 40 bytes. If the sender chose not to include
        these 40 bytes then the receiver must realise this and read
        the data accordingly.

        It would be more efficient to get the incoming data at a well
        defined location always. This is possible if the GRH is always
        included. The receiver can then always post 40 bytes of buffer
        for the GRH and have the data copied to a separate buffer or
        copied to a specific offset. 

        Otherwise we have the situation where the data buffer gets a
        variable amount of link-header that must be skipped. The IP
        data may then have to be moved to the 'right' location.

	Suggestion:

                Recommend GRH to be always included in IPoIB packets.
                It is only a recommendation. The implementations must
                be able to receive data if it doesn't contain the
                GRH. 

Vivek

-- 
Vivek Kashyap
IBM
[email-masked] 
[email-masked] 
503 578 3422 (o)

_______________________________________________
IPoverIB mailing list
[email-masked]
http://www.ietf.org/mailman/listinfo/ipoverib

---

From: Joe Pelissier <[email-masked]>
Date: Wed, 07 Nov 2001 09:18:16 -0800

Hi Vivek,

Below you stated:
"It would have been nice if the payload was always put skipping the first
40 bytes if GRH was not present. But this is not the case."

Actually, I think this *is* the case.  Check out page 534 of the 1.0.a
Vol. 1 specification, especially the paragraphs starting at lines 8 and
18.  Given this, I do not believe there is any need for the recommendation
you propose.

Regards,
Joe Pelissier
[email-masked]

---

From: Vivek Kashyap <[email-masked]>
Date: Wed, 7 Nov 2001 09:42:28 -0800 (PST)

Hi Joe, 
        You are right. It says what I want :). I agree then that it
        doesn't matter if the GRH is included in the IB frame or not.
        No need for the recommendation.

Vivek

-- 
Vivek Kashyap
IBM
[email-masked] 
[email-masked] 
503 578 3422 (o)