diff options
author | Ted Unangst <tedu@cvs.openbsd.org> | 2008-11-23 23:44:02 +0000 |
---|---|---|
committer | Ted Unangst <tedu@cvs.openbsd.org> | 2008-11-23 23:44:02 +0000 |
commit | 36d86842c62d9f315ab7ef88ca0d65df1b403787 (patch) | |
tree | 7a95a3954994cbe36ebba8ac731d19f72aa6c278 /sys/dev/softraidvar.h | |
parent | 1d7e5147d3dc81330b16094ced38b06c932348c5 (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.h | 19 |
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 |