[SCSI] iscsi_transport: Additional parameters for network settings

Added support to display and update additional network parameters
through iscsiadm.

Signed-off-by: Harish Zunjarrao <harish.zunjarrao@qlogic.com>
Signed-off-by: Adheer Chandravanshi <adheer.chandravanshi@qlogic.com>
Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:
Harish Zunjarrao
2013-10-18 09:01:41 -04:00
committed by James Bottomley
parent b867cda44e
commit 3e0f65b34c
3 changed files with 419 additions and 3 deletions

View File

@@ -311,6 +311,7 @@ enum iscsi_param_type {
ISCSI_NET_PARAM, /* iscsi_net_param */
ISCSI_FLASHNODE_PARAM, /* iscsi_flashnode_param */
ISCSI_CHAP_PARAM, /* iscsi_chap_param */
ISCSI_IFACE_PARAM, /* iscsi_iface_param */
};
/* structure for minimalist usecase */
@@ -383,6 +384,10 @@ struct iscsi_path {
#define ISCSI_VLAN_DISABLE 0x01
#define ISCSI_VLAN_ENABLE 0x02
/* iscsi generic enable/disabled setting for various features */
#define ISCSI_NET_PARAM_DISABLE 0x01
#define ISCSI_NET_PARAM_ENABLE 0x02
/* iSCSI network params */
enum iscsi_net_param {
ISCSI_NET_PARAM_IPV4_ADDR = 1,
@@ -405,6 +410,80 @@ enum iscsi_net_param {
ISCSI_NET_PARAM_IFACE_NAME,
ISCSI_NET_PARAM_MTU,
ISCSI_NET_PARAM_PORT,
ISCSI_NET_PARAM_IPADDR_STATE,
ISCSI_NET_PARAM_IPV6_LINKLOCAL_STATE,
ISCSI_NET_PARAM_IPV6_ROUTER_STATE,
ISCSI_NET_PARAM_DELAYED_ACK_EN,
ISCSI_NET_PARAM_TCP_NAGLE_DISABLE,
ISCSI_NET_PARAM_TCP_WSF_DISABLE,
ISCSI_NET_PARAM_TCP_WSF,
ISCSI_NET_PARAM_TCP_TIMER_SCALE,
ISCSI_NET_PARAM_TCP_TIMESTAMP_EN,
ISCSI_NET_PARAM_CACHE_ID,
ISCSI_NET_PARAM_IPV4_DHCP_DNS_ADDR_EN,
ISCSI_NET_PARAM_IPV4_DHCP_SLP_DA_EN,
ISCSI_NET_PARAM_IPV4_TOS_EN,
ISCSI_NET_PARAM_IPV4_TOS,
ISCSI_NET_PARAM_IPV4_GRAT_ARP_EN,
ISCSI_NET_PARAM_IPV4_DHCP_ALT_CLIENT_ID_EN,
ISCSI_NET_PARAM_IPV4_DHCP_ALT_CLIENT_ID,
ISCSI_NET_PARAM_IPV4_DHCP_REQ_VENDOR_ID_EN,
ISCSI_NET_PARAM_IPV4_DHCP_USE_VENDOR_ID_EN,
ISCSI_NET_PARAM_IPV4_DHCP_VENDOR_ID,
ISCSI_NET_PARAM_IPV4_DHCP_LEARN_IQN_EN,
ISCSI_NET_PARAM_IPV4_FRAGMENT_DISABLE,
ISCSI_NET_PARAM_IPV4_IN_FORWARD_EN,
ISCSI_NET_PARAM_IPV4_TTL,
ISCSI_NET_PARAM_IPV6_GRAT_NEIGHBOR_ADV_EN,
ISCSI_NET_PARAM_IPV6_MLD_EN,
ISCSI_NET_PARAM_IPV6_FLOW_LABEL,
ISCSI_NET_PARAM_IPV6_TRAFFIC_CLASS,
ISCSI_NET_PARAM_IPV6_HOP_LIMIT,
ISCSI_NET_PARAM_IPV6_ND_REACHABLE_TMO,
ISCSI_NET_PARAM_IPV6_ND_REXMIT_TIME,
ISCSI_NET_PARAM_IPV6_ND_STALE_TMO,
ISCSI_NET_PARAM_IPV6_DUP_ADDR_DETECT_CNT,
ISCSI_NET_PARAM_IPV6_RTR_ADV_LINK_MTU,
ISCSI_NET_PARAM_REDIRECT_EN,
};
enum iscsi_ipaddress_state {
ISCSI_IPDDRESS_STATE_UNCONFIGURED,
ISCSI_IPDDRESS_STATE_ACQUIRING,
ISCSI_IPDDRESS_STATE_TENTATIVE,
ISCSI_IPDDRESS_STATE_VALID,
ISCSI_IPDDRESS_STATE_DISABLING,
ISCSI_IPDDRESS_STATE_INVALID,
ISCSI_IPDDRESS_STATE_DEPRECATED,
};
enum iscsi_router_state {
ISCSI_ROUTER_STATE_UNKNOWN,
ISCSI_ROUTER_STATE_ADVERTISED,
ISCSI_ROUTER_STATE_MANUAL,
ISCSI_ROUTER_STATE_STALE,
};
/* iSCSI specific settings params for iface */
enum iscsi_iface_param {
ISCSI_IFACE_PARAM_DEF_TASKMGMT_TMO,
ISCSI_IFACE_PARAM_HDRDGST_EN,
ISCSI_IFACE_PARAM_DATADGST_EN,
ISCSI_IFACE_PARAM_IMM_DATA_EN,
ISCSI_IFACE_PARAM_INITIAL_R2T_EN,
ISCSI_IFACE_PARAM_DATASEQ_INORDER_EN,
ISCSI_IFACE_PARAM_PDU_INORDER_EN,
ISCSI_IFACE_PARAM_ERL,
ISCSI_IFACE_PARAM_MAX_RECV_DLENGTH,
ISCSI_IFACE_PARAM_FIRST_BURST,
ISCSI_IFACE_PARAM_MAX_R2T,
ISCSI_IFACE_PARAM_MAX_BURST,
ISCSI_IFACE_PARAM_CHAP_AUTH_EN,
ISCSI_IFACE_PARAM_BIDI_CHAP_EN,
ISCSI_IFACE_PARAM_DISCOVERY_AUTH_OPTIONAL,
ISCSI_IFACE_PARAM_DISCOVERY_LOGOUT_EN,
ISCSI_IFACE_PARAM_STRICT_LOGIN_COMP_EN,
ISCSI_IFACE_PARAM_INITIATOR_NAME,
};
enum iscsi_conn_state {