[SCSI] iscsi class: expand vlan support
Add support to set vlan priority and enable/disble a vlan. Patch based on code from Vikas Chaudhary. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:
parent
3093b0484d
commit
4223b9e919
|
@ -319,6 +319,8 @@ iscsi_iface_net_attr(ipv6_iface, linklocal_autocfg,
|
||||||
/* common read only iface attribute */
|
/* common read only iface attribute */
|
||||||
iscsi_iface_net_attr(iface, enabled, ISCSI_NET_PARAM_IFACE_ENABLE);
|
iscsi_iface_net_attr(iface, enabled, ISCSI_NET_PARAM_IFACE_ENABLE);
|
||||||
iscsi_iface_net_attr(iface, vlan, ISCSI_NET_PARAM_VLAN_ID);
|
iscsi_iface_net_attr(iface, vlan, ISCSI_NET_PARAM_VLAN_ID);
|
||||||
|
iscsi_iface_net_attr(iface, vlan_priority, ISCSI_NET_PARAM_VLAN_PRIORITY);
|
||||||
|
iscsi_iface_net_attr(iface, vlan_enabled, ISCSI_NET_PARAM_VLAN_ENABLED);
|
||||||
|
|
||||||
static mode_t iscsi_iface_attr_is_visible(struct kobject *kobj,
|
static mode_t iscsi_iface_attr_is_visible(struct kobject *kobj,
|
||||||
struct attribute *attr, int i)
|
struct attribute *attr, int i)
|
||||||
|
@ -332,6 +334,10 @@ static mode_t iscsi_iface_attr_is_visible(struct kobject *kobj,
|
||||||
param = ISCSI_NET_PARAM_IFACE_ENABLE;
|
param = ISCSI_NET_PARAM_IFACE_ENABLE;
|
||||||
else if (attr == &dev_attr_iface_vlan.attr)
|
else if (attr == &dev_attr_iface_vlan.attr)
|
||||||
param = ISCSI_NET_PARAM_VLAN_ID;
|
param = ISCSI_NET_PARAM_VLAN_ID;
|
||||||
|
else if (attr == &dev_attr_iface_vlan_priority.attr)
|
||||||
|
param = ISCSI_NET_PARAM_VLAN_PRIORITY;
|
||||||
|
else if (attr == &dev_attr_iface_vlan_enabled.attr)
|
||||||
|
param = ISCSI_NET_PARAM_VLAN_ENABLED;
|
||||||
else if (iface->iface_type == ISCSI_IFACE_TYPE_IPV4) {
|
else if (iface->iface_type == ISCSI_IFACE_TYPE_IPV4) {
|
||||||
if (attr == &dev_attr_ipv4_iface_ipaddress.attr)
|
if (attr == &dev_attr_ipv4_iface_ipaddress.attr)
|
||||||
param = ISCSI_NET_PARAM_IPV4_ADDR;
|
param = ISCSI_NET_PARAM_IPV4_ADDR;
|
||||||
|
@ -367,6 +373,8 @@ static mode_t iscsi_iface_attr_is_visible(struct kobject *kobj,
|
||||||
static struct attribute *iscsi_iface_attrs[] = {
|
static struct attribute *iscsi_iface_attrs[] = {
|
||||||
&dev_attr_iface_enabled.attr,
|
&dev_attr_iface_enabled.attr,
|
||||||
&dev_attr_iface_vlan.attr,
|
&dev_attr_iface_vlan.attr,
|
||||||
|
&dev_attr_iface_vlan_priority.attr,
|
||||||
|
&dev_attr_iface_vlan_enabled.attr,
|
||||||
&dev_attr_ipv4_iface_ipaddress.attr,
|
&dev_attr_ipv4_iface_ipaddress.attr,
|
||||||
&dev_attr_ipv4_iface_gateway.attr,
|
&dev_attr_ipv4_iface_gateway.attr,
|
||||||
&dev_attr_ipv4_iface_subnet.attr,
|
&dev_attr_ipv4_iface_subnet.attr,
|
||||||
|
|
|
@ -281,6 +281,13 @@ struct iscsi_path {
|
||||||
#define ISCSI_IFACE_TYPE_IPV4 0x01
|
#define ISCSI_IFACE_TYPE_IPV4 0x01
|
||||||
#define ISCSI_IFACE_TYPE_IPV6 0x02
|
#define ISCSI_IFACE_TYPE_IPV6 0x02
|
||||||
|
|
||||||
|
#define ISCSI_MAX_VLAN_ID 4095
|
||||||
|
#define ISCSI_MAX_VLAN_PRIORITY 7
|
||||||
|
|
||||||
|
/* iscsi vlan enable/disabled setting */
|
||||||
|
#define ISCSI_VLAN_DISABLE 0x01
|
||||||
|
#define ISCSI_VLAN_ENABLE 0x02
|
||||||
|
|
||||||
/* iSCSI network params */
|
/* iSCSI network params */
|
||||||
enum iscsi_net_param {
|
enum iscsi_net_param {
|
||||||
ISCSI_NET_PARAM_IPV4_ADDR = 1,
|
ISCSI_NET_PARAM_IPV4_ADDR = 1,
|
||||||
|
@ -296,8 +303,10 @@ enum iscsi_net_param {
|
||||||
ISCSI_NET_PARAM_IPV6_ROUTER_AUTOCFG = 11,
|
ISCSI_NET_PARAM_IPV6_ROUTER_AUTOCFG = 11,
|
||||||
ISCSI_NET_PARAM_IFACE_ENABLE = 12,
|
ISCSI_NET_PARAM_IFACE_ENABLE = 12,
|
||||||
ISCSI_NET_PARAM_VLAN_ID = 13,
|
ISCSI_NET_PARAM_VLAN_ID = 13,
|
||||||
ISCSI_NET_PARAM_IFACE_TYPE = 14,
|
ISCSI_NET_PARAM_VLAN_PRIORITY = 14,
|
||||||
ISCSI_NET_PARAM_IFACE_NAME = 15,
|
ISCSI_NET_PARAM_VLAN_ENABLED = 15,
|
||||||
|
ISCSI_NET_PARAM_IFACE_TYPE = 16,
|
||||||
|
ISCSI_NET_PARAM_IFACE_NAME = 17,
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue