summaryrefslogtreecommitdiff
path: root/sys/dev/softraidvar.h
diff options
context:
space:
mode:
authorTed Unangst <tedu@cvs.openbsd.org>2008-11-23 23:44:02 +0000
committerTed Unangst <tedu@cvs.openbsd.org>2008-11-23 23:44:02 +0000
commit36d86842c62d9f315ab7ef88ca0d65df1b403787 (patch)
tree7a95a3954994cbe36ebba8ac731d19f72aa6c278 /sys/dev/softraidvar.h
parent1d7e5147d3dc81330b16094ced38b06c932348c5 (diff)
softraid support for ata over ethernet (aoe). this includes a client and
part of a server. there's no configuration yet, and several other drawbacks, but it can be hammered into shape. i haven't moved the code forward in a year, and marco wants it in the tree to hack on.
Diffstat (limited to 'sys/dev/softraidvar.h')
-rw-r--r--sys/dev/softraidvar.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/sys/dev/softraidvar.h b/sys/dev/softraidvar.h
index 20e77ab5e8c..827a75a6fc1 100644
--- a/sys/dev/softraidvar.h
+++ b/sys/dev/softraidvar.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: softraidvar.h,v 1.63 2008/07/29 01:18:02 marco Exp $ */
+/* $OpenBSD: softraidvar.h,v 1.64 2008/11/23 23:44:01 tedu Exp $ */
/*
* Copyright (c) 2006 Marco Peereboom <marco@peereboom.us>
* Copyright (c) 2008 Chris Kuethe <ckuethe@openbsd.org>
@@ -304,6 +304,14 @@ struct sr_crypto {
u_int64_t scr_sid[SR_CRYPTO_MAXKEYS];
};
+/* ata over ethernet */
+#define SR_RAIDAOE_NOWU 2
+struct sr_aoe {
+ struct aoe_handler *sra_ah;
+ int sra_tag;
+ char sra_eaddr[6];
+};
+
struct sr_metadata_list {
u_int8_t sml_metadata[SR_META_SIZE * 512];
dev_t sml_mm;
@@ -350,6 +358,7 @@ struct sr_discipline {
#define SR_MD_RAID5 2
#define SR_MD_CACHE 3
#define SR_MD_CRYPTO 4
+#define SR_MD_AOE 5
char sd_name[10]; /* human readable dis name */
u_int8_t sd_scsibus; /* scsibus discipline uses */
struct scsi_link sd_link; /* link to midlayer */
@@ -358,6 +367,9 @@ struct sr_discipline {
struct sr_raid0 mdd_raid0;
struct sr_raid1 mdd_raid1;
struct sr_crypto mdd_crypto;
+#ifdef AOE
+ struct sr_aoe mdd_aoe;
+#endif /* AOE */
} sd_dis_specific;/* dis specific members */
#define mds sd_dis_specific
@@ -491,6 +503,11 @@ int sr_crypto_get_kdf(struct bioc_createraid *,
struct sr_discipline *);
int sr_crypto_create_keys(struct sr_discipline *);
+/* aoe discipline */
+int sr_aoe_alloc_resources(struct sr_discipline *);
+int sr_aoe_free_resources(struct sr_discipline *);
+int sr_aoe_rw(struct sr_workunit *);
+
#ifdef SR_DEBUG
void sr_dump_mem(u_int8_t *, int);
#endif