[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