[openib-general] Re: [PATCH 12 of 16] ipath - infiniband RC protocol support

Pavel Machek pavel at ucw.cz
Thu Mar 30 12:36:33 PST 2006


Hi!

> This is an implementation of the Infiniband RC ("reliable connection")
> protocol.

> +/* cut down ridiculously long IB macro names */
> +#define OP(x) IB_OPCODE_RC_##x

Heh... what about fixing those names in the first place?

> +	/* GRH header size in 32-bit words. */
> +	qp->s_hdrwords += 10;
> +	qp->s_hdr.u.l.grh.version_tclass_flow =
> +		cpu_to_be32((6 << 28) |
> +			    (grh->traffic_class << 20) |
> +			    grh->flow_label);
> +	qp->s_hdr.u.l.grh.paylen =
> +		cpu_to_be16(((qp->s_hdrwords - 12) + nwords +
> +			     SIZE_OF_CRC) << 2);
> +	/* next_hdr is defined by C8-7 in ch. 8.4.1 */
> +	qp->s_hdr.u.l.grh.next_hdr = 0x1B;
> +	qp->s_hdr.u.l.grh.hop_limit = grh->hop_limit;
> +	/* The SGID is 32-bit aligned. */
> +	qp->s_hdr.u.l.grh.sgid.global.subnet_prefix = dev->gid_prefix;
> +	qp->s_hdr.u.l.grh.sgid.global.interface_id =
> +		ipath_layer_get_guid(dev->dd);
> +	qp->s_hdr.u.l.grh.dgid = grh->dgid;

Don't know about you, but it looks like perl code to
me. qp->s_hdr.u.l.grh.next_hdr ?

> +	/* Check for a constructed packet to be sent. */
> +	if (qp->s_hdrwords != 0) {
> +		/*
> +		 * If no PIO bufs are available, return.  An interrupt will
> +		 * call ipath_ib_piobufavail() when one is available.
> +		 */
> +		_VERBS_INFO("h %u %p\n", qp->s_hdrwords, &qp->s_hdr);
> +		_VERBS_INFO("d %u %p %u %p %u %u %u %u\n",  qp->s_cur_size,

Info on verbs, or verbose info? Why does it start with _ ? What is
wrong with printk?
								Pavel
-- 
Picture of sleeping (Linux) penguin wanted...



More information about the general mailing list