[SCSI] iscsi_transport: Additional parameters for network settings
[linux-2.6-microblaze.git] / include / scsi / iscsi_if.h
index 765c982..a572083 100644 (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 {