gro: Allow tunnel stacking in the case of FOU/GUE
[linux/fpc-iii.git] / include / target / target_core_fabric_configfs.h
blob7a0649c09e792e27ea073892f368a958c33ce02c
1 /*
2 * Used for tfc_wwn_cit attributes
3 */
5 #include <target/configfs_macros.h>
7 CONFIGFS_EATTR_STRUCT(target_fabric_nacl_attrib, se_node_acl);
8 #define TF_NACL_ATTRIB_ATTR(_fabric, _name, _mode) \
9 static struct target_fabric_nacl_attrib_attribute _fabric##_nacl_attrib_##_name = \
10 __CONFIGFS_EATTR(_name, _mode, \
11 _fabric##_nacl_attrib_show_##_name, \
12 _fabric##_nacl_attrib_store_##_name);
14 CONFIGFS_EATTR_STRUCT(target_fabric_nacl_auth, se_node_acl);
15 #define TF_NACL_AUTH_ATTR(_fabric, _name, _mode) \
16 static struct target_fabric_nacl_auth_attribute _fabric##_nacl_auth_##_name = \
17 __CONFIGFS_EATTR(_name, _mode, \
18 _fabric##_nacl_auth_show_##_name, \
19 _fabric##_nacl_auth_store_##_name);
21 #define TF_NACL_AUTH_ATTR_RO(_fabric, _name) \
22 static struct target_fabric_nacl_auth_attribute _fabric##_nacl_auth_##_name = \
23 __CONFIGFS_EATTR_RO(_name, \
24 _fabric##_nacl_auth_show_##_name);
26 CONFIGFS_EATTR_STRUCT(target_fabric_nacl_param, se_node_acl);
27 #define TF_NACL_PARAM_ATTR(_fabric, _name, _mode) \
28 static struct target_fabric_nacl_param_attribute _fabric##_nacl_param_##_name = \
29 __CONFIGFS_EATTR(_name, _mode, \
30 _fabric##_nacl_param_show_##_name, \
31 _fabric##_nacl_param_store_##_name);
33 #define TF_NACL_PARAM_ATTR_RO(_fabric, _name) \
34 static struct target_fabric_nacl_param_attribute _fabric##_nacl_param_##_name = \
35 __CONFIGFS_EATTR_RO(_name, \
36 _fabric##_nacl_param_show_##_name);
39 CONFIGFS_EATTR_STRUCT(target_fabric_nacl_base, se_node_acl);
40 #define TF_NACL_BASE_ATTR(_fabric, _name, _mode) \
41 static struct target_fabric_nacl_base_attribute _fabric##_nacl_##_name = \
42 __CONFIGFS_EATTR(_name, _mode, \
43 _fabric##_nacl_show_##_name, \
44 _fabric##_nacl_store_##_name);
46 #define TF_NACL_BASE_ATTR_RO(_fabric, _name) \
47 static struct target_fabric_nacl_base_attribute _fabric##_nacl_##_name = \
48 __CONFIGFS_EATTR_RO(_name, \
49 _fabric##_nacl_show_##_name);
51 CONFIGFS_EATTR_STRUCT(target_fabric_np_base, se_tpg_np);
52 #define TF_NP_BASE_ATTR(_fabric, _name, _mode) \
53 static struct target_fabric_np_base_attribute _fabric##_np_##_name = \
54 __CONFIGFS_EATTR(_name, _mode, \
55 _fabric##_np_show_##_name, \
56 _fabric##_np_store_##_name);
58 CONFIGFS_EATTR_STRUCT(target_fabric_tpg_attrib, se_portal_group);
59 #define TF_TPG_ATTRIB_ATTR(_fabric, _name, _mode) \
60 static struct target_fabric_tpg_attrib_attribute _fabric##_tpg_attrib_##_name = \
61 __CONFIGFS_EATTR(_name, _mode, \
62 _fabric##_tpg_attrib_show_##_name, \
63 _fabric##_tpg_attrib_store_##_name);
65 CONFIGFS_EATTR_STRUCT(target_fabric_tpg_auth, se_portal_group);
66 #define TF_TPG_AUTH_ATTR(_fabric, _name, _mode) \
67 static struct target_fabric_tpg_auth_attribute _fabric##_tpg_auth_##_name = \
68 __CONFIGFS_EATTR(_name, _mode, \
69 _fabric##_tpg_auth_show_##_name, \
70 _fabric##_tpg_auth_store_##_name);
72 #define TF_TPG_AUTH_ATTR_RO(_fabric, _name) \
73 static struct target_fabric_tpg_auth_attribute _fabric##_tpg_auth_##_name = \
74 __CONFIGFS_EATTR_RO(_name, \
75 _fabric##_tpg_auth_show_##_name);
77 CONFIGFS_EATTR_STRUCT(target_fabric_tpg_param, se_portal_group);
78 #define TF_TPG_PARAM_ATTR(_fabric, _name, _mode) \
79 static struct target_fabric_tpg_param_attribute _fabric##_tpg_param_##_name = \
80 __CONFIGFS_EATTR(_name, _mode, \
81 _fabric##_tpg_param_show_##_name, \
82 _fabric##_tpg_param_store_##_name);
85 CONFIGFS_EATTR_STRUCT(target_fabric_tpg, se_portal_group);
86 #define TF_TPG_BASE_ATTR(_fabric, _name, _mode) \
87 static struct target_fabric_tpg_attribute _fabric##_tpg_##_name = \
88 __CONFIGFS_EATTR(_name, _mode, \
89 _fabric##_tpg_show_##_name, \
90 _fabric##_tpg_store_##_name);
93 #define TF_TPG_BASE_ATTR_RO(_fabric, _name) \
94 static struct target_fabric_tpg_attribute _fabric##_tpg_##_name = \
95 __CONFIGFS_EATTR_RO(_name, \
96 _fabric##_tpg_show_##_name);
98 CONFIGFS_EATTR_STRUCT(target_fabric_wwn, target_fabric_configfs);
99 #define TF_WWN_ATTR(_fabric, _name, _mode) \
100 static struct target_fabric_wwn_attribute _fabric##_wwn_##_name = \
101 __CONFIGFS_EATTR(_name, _mode, \
102 _fabric##_wwn_show_attr_##_name, \
103 _fabric##_wwn_store_attr_##_name);
105 #define TF_WWN_ATTR_RO(_fabric, _name) \
106 static struct target_fabric_wwn_attribute _fabric##_wwn_##_name = \
107 __CONFIGFS_EATTR_RO(_name, \
108 _fabric##_wwn_show_attr_##_name);
110 CONFIGFS_EATTR_STRUCT(target_fabric_discovery, target_fabric_configfs);
111 #define TF_DISC_ATTR(_fabric, _name, _mode) \
112 static struct target_fabric_discovery_attribute _fabric##_disc_##_name = \
113 __CONFIGFS_EATTR(_name, _mode, \
114 _fabric##_disc_show_##_name, \
115 _fabric##_disc_store_##_name);
117 #define TF_DISC_ATTR_RO(_fabric, _name) \
118 static struct target_fabric_discovery_attribute _fabric##_disc_##_name = \
119 __CONFIGFS_EATTR_RO(_name, \
120 _fabric##_disc_show_##_name);
122 extern int target_fabric_setup_cits(struct target_fabric_configfs *);