From: Matt Mackall <mpm@selenic.com>
To: Alex Aizman <itn780@yahoo.com>
Cc: linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [ANNOUNCE 2/6] Open-iSCSI High-Performance Initiator for Linux
Date: Tue, 8 Mar 2005 22:32:09 -0800 [thread overview]
Message-ID: <20050309063209.GV3163@waste.org> (raw)
In-Reply-To: <422BFEC6.70305@yahoo.com>
On Sun, Mar 06, 2005 at 11:12:06PM -0800, Alex Aizman wrote:
> +#define iscsi_ptr(_handle) ((void*)(unsigned long)_handle)
> +#define iscsi_handle(_ptr) ((uint64_t)(unsigned long)_ptr)
This is a bit wonky. Why is there a distinction?
> +#ifndef ISCSI_PROTO_H
> +#define ISCSI_PROTO_H
> +
> +#define ISCSI_VERSION_STR "0.1.0"
> +#define ISCSI_DATE_STR "17-Jan-2005"
> +#define ISCSI_DRAFT20_VERSION 0x00
> +
> +/* default iSCSI listen port for incoming connections */
> +#define ISCSI_LISTEN_PORT 3260
> +
> +/* Padding word length */
> +#define PAD_WORD_LEN 4
Namespace.
> +
> +/*
> + * useful common(control and data pathes) macro
> + */
> +#define ntoh24(p) (((p)[0] << 16) | ((p)[1] << 8) | ((p)[2]))
> +#define hton24(p, v) { \
> + p[0] = (((v) >> 16) & 0xFF); \
> + p[1] = (((v) >> 8) & 0xFF); \
> + p[2] = ((v) & 0xFF); \
> +}
> +#define zero_data(p) {p[0]=0;p[1]=0;p[2]=0;}
These are specific to dlength, yes? Can we instead roll dlength and
hlength together, and do this with masking?
#define iscsi_hlen(hdr) (ntohl(hdr->hdlen)>>24)
#define iscsi_dlen(hdr) (ntohl(hdr->hdlen) & 0xffffff)
#define iscsi_set_hlen(hdr, len) (hdr->hdlen=htonl(iscsi_dlen(hdr)|(len<<24)))
#define iscsi_set_hlen(hdr, len) (hdr->hdlen=htonl(len|(iscsi_hlen(hdr)<<24)))
The last two obviously have multiple evaluation, but you get the idea.
> +/* SNACK Header */
Mmm, snacks.
> +/* Reason for Reject */
> +#define CMD_BEFORE_LOGIN 1
> +#define DATA_DIGEST_ERROR 2
> +#define DATA_SNACK_REJECT 3
> +#define ISCSI_PROTOCOL_ERROR 4
> +#define CMD_NOT_SUPPORTED 5
> +#define IMM_CMD_REJECT 6
> +#define TASK_IN_PROGRESS 7
> +#define INVALID_SNACK 8
> +#define BOOKMARK_REJECTED 9
> +#define BOOKMARK_NO_RESOURCES 10
> +#define NEGOTIATION_RESET 11
> +
> +/* Max. number of Key=Value pairs in a text message */
> +#define MAX_KEY_VALUE_PAIRS 8192
> +
> +/* maximum length for text keys/values */
> +#define KEY_MAXLEN 64
> +#define VALUE_MAXLEN 255
> +#define TARGET_NAME_MAXLEN VALUE_MAXLEN
> +
> +#define DEFAULT_MAX_RECV_DATA_SEGMENT_LENGTH 8192
Namespace.
--
Mathematics is the supreme nostalgia of our time.
prev parent reply other threads:[~2005-03-09 6:32 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-03-07 7:12 [ANNOUNCE 2/6] Open-iSCSI High-Performance Initiator for Linux Alex Aizman
2005-03-07 10:08 ` Alexey Dobriyan
2005-03-09 6:32 ` Matt Mackall [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050309063209.GV3163@waste.org \
--to=mpm@selenic.com \
--cc=itn780@yahoo.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox