-
Notifications
You must be signed in to change notification settings - Fork 5
/
if_aoe.h
61 lines (51 loc) · 942 Bytes
/
if_aoe.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/* Copyright (C) 2006 Coraid, Inc. See COPYING for GPL terms. */
/* apparently a compatibility hack */
#ifndef ETH_P_AOE
#define ETH_P_AOE 0x88a2
#endif
enum {
AOECMD_ATA,
AOECMD_CFG,
AOECCMD_READ = 0,
AOECCMD_TEST,
AOECCMD_PTEST,
AOECCMD_SET,
AOECCMD_FSET,
AOEERR_CMD= 1,
AOEERR_ARG,
AOEERR_DEV,
AOEERR_CFG,
AOEERR_VER,
AOEFL_RSP = 1<<3,
AOEFL_ERR = 1<<2,
AOE_HVER = 0x20,
};
struct aoe_hdr {
unsigned char dst[6];
unsigned char src[6];
__be16 type;
unsigned char verfl;
unsigned char err;
__be16 major;
unsigned char minor;
unsigned char cmd;
__be32 tag;
unsigned char data[0];
};
struct aoe_atahdr {
unsigned char aflags;
unsigned char errfeat;
unsigned char scnt;
unsigned char cmdstat;
unsigned char lba[6];
unsigned char res[2];
unsigned char data[0];
};
struct aoe_cfghdr {
__be16 bufcnt;
__be16 fwver;
unsigned char scnt;
unsigned char aoeccmd;
__be16 cslen;
unsigned char data[0];
};