[PATCH 1/6] iscsi-tools: Remove numbers used for network parameter settings
From: Harish Zunjarrao harish.zunjar...@qlogic.com Signed-off-by: Harish Zunjarrao harish.zunjar...@qlogic.com Signed-off-by: Vikas Chaudhary vikas.chaudh...@qlogic.com --- include/iscsi_if.h | 38 +++--- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/include/iscsi_if.h b/include/iscsi_if.h index 20f2bc2..08cfaa9 100644 --- a/include/iscsi_if.h +++ b/include/iscsi_if.h @@ -386,25 +386,25 @@ struct iscsi_path { /* iSCSI network params */ enum iscsi_net_param { ISCSI_NET_PARAM_IPV4_ADDR = 1, - ISCSI_NET_PARAM_IPV4_SUBNET = 2, - ISCSI_NET_PARAM_IPV4_GW = 3, - ISCSI_NET_PARAM_IPV4_BOOTPROTO = 4, - ISCSI_NET_PARAM_MAC = 5, - ISCSI_NET_PARAM_IPV6_LINKLOCAL = 6, - ISCSI_NET_PARAM_IPV6_ADDR = 7, - ISCSI_NET_PARAM_IPV6_ROUTER = 8, - ISCSI_NET_PARAM_IPV6_ADDR_AUTOCFG = 9, - ISCSI_NET_PARAM_IPV6_LINKLOCAL_AUTOCFG = 10, - ISCSI_NET_PARAM_IPV6_ROUTER_AUTOCFG = 11, - ISCSI_NET_PARAM_IFACE_ENABLE= 12, - ISCSI_NET_PARAM_VLAN_ID = 13, - ISCSI_NET_PARAM_VLAN_PRIORITY = 14, - ISCSI_NET_PARAM_VLAN_ENABLED= 15, - ISCSI_NET_PARAM_VLAN_TAG= 16, - ISCSI_NET_PARAM_IFACE_TYPE = 17, - ISCSI_NET_PARAM_IFACE_NAME = 18, - ISCSI_NET_PARAM_MTU = 19, - ISCSI_NET_PARAM_PORT= 20, + ISCSI_NET_PARAM_IPV4_SUBNET, + ISCSI_NET_PARAM_IPV4_GW, + ISCSI_NET_PARAM_IPV4_BOOTPROTO, + ISCSI_NET_PARAM_MAC, + ISCSI_NET_PARAM_IPV6_LINKLOCAL, + ISCSI_NET_PARAM_IPV6_ADDR, + ISCSI_NET_PARAM_IPV6_ROUTER, + ISCSI_NET_PARAM_IPV6_ADDR_AUTOCFG, + ISCSI_NET_PARAM_IPV6_LINKLOCAL_AUTOCFG, + ISCSI_NET_PARAM_IPV6_ROUTER_AUTOCFG, + ISCSI_NET_PARAM_IFACE_ENABLE, + ISCSI_NET_PARAM_VLAN_ID, + ISCSI_NET_PARAM_VLAN_PRIORITY, + ISCSI_NET_PARAM_VLAN_ENABLED, + ISCSI_NET_PARAM_VLAN_TAG, + ISCSI_NET_PARAM_IFACE_TYPE, + ISCSI_NET_PARAM_IFACE_NAME, + ISCSI_NET_PARAM_MTU, + ISCSI_NET_PARAM_PORT, }; enum iscsi_conn_state { -- 1.8.2.GIT -- You received this message because you are subscribed to the Google Groups open-iscsi group. To unsubscribe from this group and stop receiving emails from it, send an email to open-iscsi+unsubscr...@googlegroups.com. To post to this group, send email to open-iscsi@googlegroups.com. Visit this group at http://groups.google.com/group/open-iscsi?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
[PATCH 4/6] iscsi-tools: Use single function to set integer network parameters
From: Harish Zunjarrao harish.zunjar...@qlogic.com Signed-off-by: Harish Zunjarrao harish.zunjar...@qlogic.com Signed-off-by: Vikas Chaudhary vikas.chaudh...@qlogic.com --- usr/iface.c | 154 1 file changed, 83 insertions(+), 71 deletions(-) diff --git a/usr/iface.c b/usr/iface.c index 75ed28e..b77b564 100644 --- a/usr/iface.c +++ b/usr/iface.c @@ -1223,60 +1223,68 @@ int iface_get_param_count(struct iface_rec *iface, int iface_all) return iface_params.count; } -/* IPv4/IPv6 Port: 3260 or User defined */ -static int iface_fill_port(struct iovec *iov, struct iface_rec *iface, - uint32_t iface_type) +/* write integer parameter value */ +static int iface_fill_int_param_val(struct iovec *iov, uint32_t iface_num, + uint8_t iface_type, uint16_t param, + uint32_t param_len, uint32_t param_val) { int len; struct iscsi_iface_param_info *net_param; - uint16_t port = 3260; struct nlattr *attr; + uint8_t val8 = 0; + uint16_t val16 = 0; + uint32_t val32 = 0; + char *val = NULL; - len = sizeof(struct iscsi_iface_param_info) + sizeof(port); - iov-iov_base = iscsi_nla_alloc(ISCSI_NET_PARAM_PORT, len); - if (!iov-iov_base) - return 1; - attr = iov-iov_base; - iov-iov_len = NLA_ALIGN(attr-nla_len); - - net_param = (struct iscsi_iface_param_info *)ISCSI_NLA_DATA(attr); - net_param-param = ISCSI_NET_PARAM_PORT; - net_param-iface_type = iface_type; - net_param-iface_num = iface-iface_num; - net_param-param_type = ISCSI_NET_PARAM; - net_param-len = 2; - if (iface-port) - port = iface-port; - memcpy(net_param-value, port, net_param-len); - return 0; -} - -static int iface_fill_mtu(struct iovec *iov, struct iface_rec *iface, - uint32_t iface_type) -{ - int len; - struct iscsi_iface_param_info *net_param; - uint16_t mtu = 0; - struct nlattr *attr; - - len = sizeof(struct iscsi_iface_param_info) + 2; - iov-iov_base = iscsi_nla_alloc(ISCSI_NET_PARAM_MTU, len); + len = sizeof(struct iscsi_iface_param_info) + param_len; + iov-iov_base = iscsi_nla_alloc(param, len); if (!(iov-iov_base)) return 1; + attr = iov-iov_base; iov-iov_len = NLA_ALIGN(attr-nla_len); - net_param = (struct iscsi_iface_param_info *)ISCSI_NLA_DATA(attr); - net_param-param = ISCSI_NET_PARAM_MTU; + net_param-iface_num = iface_num; + net_param-len = param_len; + net_param-param = param; net_param-iface_type = iface_type; - net_param-iface_num = iface-iface_num; net_param-param_type = ISCSI_NET_PARAM; - net_param-len = 2; - mtu = iface-mtu; - memcpy(net_param-value, mtu, net_param-len); + switch (param_len) { + case 1: + val8 = (uint8_t)param_val; + val = (char *)val8; + break; + + case 2: + val16 = (uint16_t)param_val; + val = (char *)val16; + break; + + case 4: + val32 = (uint32_t)param_val; + val = (char *)val32; + break; + + default: + goto free; + } + memcpy(net_param-value, val, param_len); return 0; +free: + free(iov-iov_base); + iov-iov_base = NULL; + iov-iov_len = 0; + return 1; } +#define IFACE_SET_NET_PARAM_INTVAL(iov, inum, itype, param, plen, ival, \ + gcnt, lcnt) \ + if (ival !iface_fill_int_param_val(iov, inum, itype, param, \ + plen, ival)) {\ + (*gcnt)++; \ + (*lcnt)++; \ + } + /* IPv4/IPv6 VLAN_ID: decimal value = 4095 */ static int iface_fill_vlan_id(struct iovec *iov, struct iface_rec *iface, uint32_t iface_type) @@ -1656,22 +1664,24 @@ static int __iface_build_net_config(void *data, struct iface_rec *iface) count++; } } - if (iface-mtu) { - if (!iface_fill_mtu(iov[net_config-count], - iface, - ISCSI_IFACE_TYPE_IPV4)) { - net_config-count++; - count++; - } - } - if (iface-port) { - if
[PATCH 5/6] iscsi-tools: Ignore network parameter if not enabled/disabled
From: Harish Zunjarrao harish.zunjar...@qlogic.com If iface does not contain network parameter or incorrect value is set, do not send that network parameter value to driver. Signed-off-by: Harish Zunjarrao harish.zunjar...@qlogic.com Signed-off-by: Vikas Chaudhary vikas.chaudh...@qlogic.com --- usr/iface.c | 13 ++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/usr/iface.c b/usr/iface.c index b77b564..622c436 100644 --- a/usr/iface.c +++ b/usr/iface.c @@ -1346,11 +1346,18 @@ static int iface_fill_enable_disable_param(struct iovec *iov, net_param-param = param; net_param-iface_type = iface_type; net_param-param_type = ISCSI_NET_PARAM; - if (strcmp(param_val, disable)) - net_param-value[0] = ISCSI_NET_PARAM_ENABLE; - else /* Assume disabled */ + if (!strcmp(param_val, disable)) net_param-value[0] = ISCSI_NET_PARAM_DISABLE; + else if (!strcmp(param_val, enable)) + net_param-value[0] = ISCSI_NET_PARAM_ENABLE; + else + goto free; return 0; +free: + free(iov-iov_base); + iov-iov_base = NULL; + iov-iov_len = 0; + return 1; } #define IFACE_SET_NET_PARAM_EN(iov, inum, itype, param, ival, gcnt,\ -- 1.8.2.GIT -- You received this message because you are subscribed to the Google Groups open-iscsi group. To unsubscribe from this group and stop receiving emails from it, send an email to open-iscsi+unsubscr...@googlegroups.com. To post to this group, send email to open-iscsi@googlegroups.com. Visit this group at http://groups.google.com/group/open-iscsi?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
[PATCH 3/6] iscsi-tools: Use single function to enable/disable network parameters
From: Harish Zunjarrao harish.zunjar...@qlogic.com Signed-off-by: Harish Zunjarrao harish.zunjar...@qlogic.com Signed-off-by: Vikas Chaudhary vikas.chaudh...@qlogic.com --- include/iscsi_if.h | 10 ++-- usr/iface.c| 143 ++--- 2 files changed, 72 insertions(+), 81 deletions(-) diff --git a/include/iscsi_if.h b/include/iscsi_if.h index 08cfaa9..b34a91a 100644 --- a/include/iscsi_if.h +++ b/include/iscsi_if.h @@ -352,9 +352,9 @@ struct iscsi_path { uint16_tpmtu; } __attribute__ ((aligned (sizeof(uint64_t; -/* iscsi iface enabled/disabled setting */ -#define ISCSI_IFACE_DISABLE0x01 -#define ISCSI_IFACE_ENABLE 0x02 +/* iscsi generic enable/disable setting for various features */ +#define ISCSI_NET_PARAM_DISABLE0x01 +#define ISCSI_NET_PARAM_ENABLE 0x02 /* ipv4 bootproto */ #define ISCSI_BOOTPROTO_STATIC 0x01 @@ -379,10 +379,6 @@ struct iscsi_path { #define ISCSI_MAX_VLAN_ID 4095 #define ISCSI_MAX_VLAN_PRIORITY7 -/* iscsi vlan enable/disabled setting */ -#define ISCSI_VLAN_DISABLE 0x01 -#define ISCSI_VLAN_ENABLE 0x02 - /* iSCSI network params */ enum iscsi_net_param { ISCSI_NET_PARAM_IPV4_ADDR = 1, diff --git a/usr/iface.c b/usr/iface.c index d3bada4..75ed28e 100644 --- a/usr/iface.c +++ b/usr/iface.c @@ -1311,62 +1311,48 @@ static int iface_fill_vlan_id(struct iovec *iov, struct iface_rec *iface, return 0; } -/* IPv4/IPv6 VLAN state: disable/enable */ -static int iface_fill_vlan_state(struct iovec *iov, struct iface_rec *iface, -uint32_t iface_type) +/* disable/enable parameters */ +static int iface_fill_enable_disable_param(struct iovec *iov, + uint32_t iface_num, + uint8_t iface_type, + uint16_t param, + char *param_val) { int len; struct iscsi_iface_param_info *net_param; struct nlattr *attr; - len = sizeof(struct iscsi_iface_param_info) + 1; - iov-iov_base = iscsi_nla_alloc(ISCSI_NET_PARAM_VLAN_ENABLED, len); - if (!(iov-iov_base)) + if (!param_val[0]) return 1; - attr = iov-iov_base; - iov-iov_len = NLA_ALIGN(attr-nla_len); - net_param = (struct iscsi_iface_param_info *)ISCSI_NLA_DATA(attr); - net_param-param = ISCSI_NET_PARAM_VLAN_ENABLED; - net_param-iface_type = iface_type; - net_param-iface_num = iface-iface_num; - net_param-param_type = ISCSI_NET_PARAM; - net_param-len = 1; - if (strcmp(iface-vlan_state, disable) iface-vlan_id) - net_param-value[0] = ISCSI_VLAN_ENABLE; - else /* Assume disabled */ - net_param-value[0] = ISCSI_VLAN_DISABLE; - return 0; -} - -/* IPv4/IPv6 Network state: disable/enable */ -static int iface_fill_net_state(struct iovec *iov, struct iface_rec *iface, - uint32_t iface_type) -{ - int len; - struct iscsi_iface_param_info *net_param; - struct nlattr *attr; - len = sizeof(struct iscsi_iface_param_info) + 1; - iov-iov_base = iscsi_nla_alloc(ISCSI_NET_PARAM_IFACE_ENABLE, len); + iov-iov_base = iscsi_nla_alloc(param, len); if (!(iov-iov_base)) return 1; attr = iov-iov_base; iov-iov_len = NLA_ALIGN(attr-nla_len); net_param = (struct iscsi_iface_param_info *)ISCSI_NLA_DATA(attr); - net_param-param = ISCSI_NET_PARAM_IFACE_ENABLE; + net_param-iface_num = iface_num; + net_param-len = 1; + net_param-param = param; net_param-iface_type = iface_type; - net_param-iface_num = iface-iface_num; net_param-param_type = ISCSI_NET_PARAM; - net_param-len = 1; - if (!strcmp(iface-state, disable)) - net_param-value[0] = ISCSI_IFACE_DISABLE; - else /* Assume enabled */ - net_param-value[0] = ISCSI_IFACE_ENABLE; + if (strcmp(param_val, disable)) + net_param-value[0] = ISCSI_NET_PARAM_ENABLE; + else /* Assume disabled */ + net_param-value[0] = ISCSI_NET_PARAM_DISABLE; return 0; } +#define IFACE_SET_NET_PARAM_EN(iov, inum, itype, param, ival, gcnt,\ + lcnt)\ + if (!iface_fill_enable_disable_param(iov, inum, itype, param, \ +ival)) { \ + (*gcnt)++; \ + (*lcnt)++; \ + } + /* IPv4 Bootproto: DHCP/static */ static int iface_fill_net_bootproto(struct iovec *iov, struct iface_rec *iface) { @@ -1596,13 +1582,13 @@ static int
[PATCH 2/6] iscsi-tools: Use macro to set IPv4/IPv6 IP addresses
From: Harish Zunjarrao harish.zunjar...@qlogic.com Signed-off-by: Harish Zunjarrao harish.zunjar...@qlogic.com Signed-off-by: Vikas Chaudhary vikas.chaudh...@qlogic.com --- usr/iface.c | 152 +++- 1 file changed, 67 insertions(+), 85 deletions(-) diff --git a/usr/iface.c b/usr/iface.c index c86892e..d3bada4 100644 --- a/usr/iface.c +++ b/usr/iface.c @@ -1484,8 +1484,8 @@ static int iface_fill_router_autocfg(struct iovec *iov, struct iface_rec *iface) } /* IPv4 IPAddress/Subnet Mask/Gateway: 4 bytes */ -static int iface_fill_net_ipv4_addr(struct iovec *iov, struct iface_rec *iface, - uint32_t param) +static int iface_fill_net_ipv4_addr(struct iovec *iov, uint32_t iface_num, + uint16_t param, char *param_val) { int rc = 1; int len; @@ -1502,29 +1502,12 @@ static int iface_fill_net_ipv4_addr(struct iovec *iov, struct iface_rec *iface, net_param = (struct iscsi_iface_param_info *)ISCSI_NLA_DATA(attr); net_param-param = param; net_param-iface_type = ISCSI_IFACE_TYPE_IPV4; - net_param-iface_num = iface-iface_num; + net_param-iface_num = iface_num; net_param-len = 4; net_param-param_type = ISCSI_NET_PARAM; - - switch (param) { - case ISCSI_NET_PARAM_IPV4_ADDR: - rc = inet_pton(AF_INET, iface-ipaddress, net_param-value); - if (rc = 0) - goto free; - break; - case ISCSI_NET_PARAM_IPV4_SUBNET: - rc = inet_pton(AF_INET, iface-subnet_mask, net_param-value); - if (rc = 0) - goto free; - break; - case ISCSI_NET_PARAM_IPV4_GW: - rc = inet_pton(AF_INET, iface-gateway, net_param-value); - if (rc = 0) - goto free; - break; - default: + rc = inet_pton(AF_INET, param_val, net_param-value); + if (rc = 0) goto free; - } /* validate */ if (!net_param-value[0] !net_param-value[1] @@ -1539,9 +1522,18 @@ free: return 1; } +#define IFACE_SET_NET_PARAM_IPV4_ADDR(iov, inum, param, ival, gcnt,\ + lcnt) \ + if (strstr(ival, .)) {\ + if (!iface_fill_net_ipv4_addr(iov, inum, param, ival)) {\ + (*gcnt)++; \ + (*lcnt)++; \ + } \ + } + /* IPv6 IPAddress/LinkLocal/Router: 16 bytes */ -static int iface_fill_net_ipv6_addr(struct iovec *iov, struct iface_rec *iface, - uint32_t param) +static int iface_fill_net_ipv6_addr(struct iovec *iov, uint32_t iface_num, + uint16_t param, char *param_val) { int rc; int len; @@ -1558,30 +1550,12 @@ static int iface_fill_net_ipv6_addr(struct iovec *iov, struct iface_rec *iface, net_param = (struct iscsi_iface_param_info *)ISCSI_NLA_DATA(attr); net_param-param = param; net_param-iface_type = ISCSI_IFACE_TYPE_IPV6; - net_param-iface_num = iface-iface_num; + net_param-iface_num = iface_num; net_param-param_type = ISCSI_NET_PARAM; net_param-len = 16; - - switch (param) { - case ISCSI_NET_PARAM_IPV6_ADDR: - rc = inet_pton(AF_INET6, iface-ipaddress, net_param-value); - if (rc = 0) - goto free; - break; - case ISCSI_NET_PARAM_IPV6_LINKLOCAL: - rc = inet_pton(AF_INET6, iface-ipv6_linklocal, - net_param-value); - if (rc = 0) - goto free; - break; - case ISCSI_NET_PARAM_IPV6_ROUTER: - rc = inet_pton(AF_INET6, iface-ipv6_router, net_param-value); - if (rc = 0) - goto free; - break; - default: + rc = inet_pton(AF_INET6, param_val, net_param-value); + if (rc = 0) goto free; - } return 0; free: @@ -1591,6 +1565,15 @@ free: return 1; } +#define IFACE_SET_NET_PARAM_IPV6_ADDR(iov, inum, param, ival, gcnt,\ + lcnt) \ + if (strstr(ival, :)) {\ + if (!iface_fill_net_ipv6_addr(iov, inum, param, ival)) {\ + (*gcnt)++; \ + (*lcnt)++; \ + } \ + } + struct iface_net_config {
[PATCH 6/6] iscsi-tools: Additional parameters for network settings
From: Harish Zunjarrao harish.zunjar...@qlogic.com Signed-off-by: Harish Zunjarrao harish.zunjar...@qlogic.com Signed-off-by: Vikas Chaudhary vikas.chaudh...@qlogic.com --- include/iscsi_if.h | 75 usr/config.h | 52 +++ usr/idbm.c | 91 usr/idbm_fields.h | 53 +++ usr/iface.c| 1234 +++- 5 files changed, 1405 insertions(+), 100 deletions(-) diff --git a/include/iscsi_if.h b/include/iscsi_if.h index b34a91a..af33b84 100644 --- a/include/iscsi_if.h +++ b/include/iscsi_if.h @@ -401,6 +401,81 @@ 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_ISNS_EN, + ISCSI_NET_PARAM_ISNS_ADDR, + ISCSI_NET_PARAM_ISNS_PORT, + ISCSI_NET_PARAM_NAGLE_EN, + ISCSI_NET_PARAM_TCP_WIN_SCALE_EN, + ISCSI_NET_PARAM_TCP_WIN_SCALE, + 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_DHCP_REQ_ISNS_INFO_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_EN, + 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_DET_CNT, + ISCSI_NET_PARAM_IPV6_RTR_ADV_LINK_MTU, + ISCSI_NET_PARAM_REDIRECT_EN, + ISCSI_NET_PARAM_DEF_TMF_TMO, + ISCSI_NET_PARAM_DEF_HDRDGST_EN, + ISCSI_NET_PARAM_DEF_DATADGST_EN, + ISCSI_NET_PARAM_DEF_IMM_DATA_EN, + ISCSI_NET_PARAM_DEF_INITIAL_R2T_EN, + ISCSI_NET_PARAM_DEF_DATASEQ_INORDER_EN, + ISCSI_NET_PARAM_DEF_PDU_INORDER_EN, + ISCSI_NET_PARAM_DEF_ERL, + ISCSI_NET_PARAM_DEF_MAX_RECV_DLENGTH, + ISCSI_NET_PARAM_DEF_FIRST_BURST, + ISCSI_NET_PARAM_DEF_MAX_R2T, + ISCSI_NET_PARAM_DEF_MAX_BURST, + ISCSI_NET_PARAM_DEF_CHAP_AUTH_EN, + ISCSI_NET_PARAM_DEF_BIDI_CHAP_EN, + ISCSI_NET_PARAM_DEF_STRICT_LOGIN_COMP_EN, + ISCSI_NET_PARAM_DEF_DISCOVERY_AUTH_EN, + ISCSI_NET_PARAM_DEF_DISCOVERY_LOGOUT_EN, + ISCSI_NET_PARAM_DEF_ISCSI_NAME, + ISCSI_NET_PARAM_MAX, +}; + +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, }; enum iscsi_conn_state { diff --git a/usr/config.h b/usr/config.h index 998caff..80d97c8 100644 --- a/usr/config.h +++ b/usr/config.h @@ -229,6 +229,58 @@ typedef struct iface_rec { * 1 = enable */ uint16_tmtu; uint16_tport; + chardelayed_ack[ISCSI_MAX_STR_LEN]; + charisns[ISCSI_MAX_STR_LEN]; + charisns_ipaddress[ISCSI_MAX_STR_LEN]; + uint16_tisns_port; + charnagle[ISCSI_MAX_STR_LEN]; + chartcp_win_scale_state[ISCSI_MAX_STR_LEN]; + uint8_t tcp_win_scale; + uint8_t tcp_timer_scale; + chartcp_timestamp[ISCSI_MAX_STR_LEN]; + chardhcp_dns[ISCSI_MAX_STR_LEN]; + chardhcp_slp_da[ISCSI_MAX_STR_LEN]; + chardhcp_isns_info[ISCSI_MAX_STR_LEN]; + chartos_state[ISCSI_MAX_STR_LEN]; + uint8_t tos; + chargratuitous_arp[ISCSI_MAX_STR_LEN]; + chardhcp_alt_client_id_state[ISCSI_MAX_STR_LEN]; + char
RE: [PATCH 1/3] iscsiadm: Add flash node mgmt support.
-Original Message- From: Mike Christie [mailto:micha...@cs.wisc.edu] Sent: Thursday, May 09, 2013 7:31 AM To: open-iscsi@googlegroups.com Cc: The Lee-Man; Vikas Chaudhary; Lalit Chandivade; Ravi Anand; Poornima Vonti; Manish Rangankar; Adheer Chandravanshi Subject: Re: [PATCH 1/3] iscsiadm: Add flash node mgmt support. On 05/08/2013 05:52 PM, The Lee-Man wrote: -if (name value) { +if ((mode == MODE_IFACE || + (mode == MODE_HOST sub_mode == MODE_FLASHNODE)) +name value) { param = idbm_alloc_user_param(name, value); if (!param) { log_error(Cannot allocate memory for params.); I believe this is incorrect. After your patch, name and value will not be set in MODE_NODE. Should that be if (mode == MOD_IFACE || mode == MODE_NODE || ? @@ -2603,7 +3007,7 @@ main(int argc, char **argv) Thank you so much for helping to review! You are right. Mike, Please find the patch attached herewith that fixes the issue reported by Lee. Thanks, Adheer This message and any attached documents contain information from QLogic Corporation or its wholly-owned subsidiaries that may be confidential. If you are not the intended recipient, you may not read, copy, distribute, or use this information. If you have received this transmission in error, please notify the sender immediately by reply e-mail and then delete this message. -- You received this message because you are subscribed to the Google Groups open-iscsi group. To unsubscribe from this group and stop receiving emails from it, send an email to open-iscsi+unsubscr...@googlegroups.com. To post to this group, send email to open-iscsi@googlegroups.com. Visit this group at http://groups.google.com/group/open-iscsi?hl=en. For more options, visit https://groups.google.com/groups/opt_out. 0001-iscsiadm-Check-for-mode-is-not-required-when-creatin.patch Description: 0001-iscsiadm-Check-for-mode-is-not-required-when-creatin.patch
Re: [PATCH 1/3] iscsiadm: Add flash node mgmt support.
On Thursday, May 9, 2013 5:03:44 AM UTC-7, Adheer Chandravanshi wrote: -Original Message- From: Mike Christie [mailto:mich...@cs.wisc.edu javascript:] Sent: Thursday, May 09, 2013 7:31 AM To: open-...@googlegroups.com javascript: Cc: The Lee-Man; Vikas Chaudhary; Lalit Chandivade; Ravi Anand; Poornima Vonti; Manish Rangankar; Adheer Chandravanshi Subject: Re: [PATCH 1/3] iscsiadm: Add flash node mgmt support. On 05/08/2013 05:52 PM, The Lee-Man wrote: -if (name value) { +if ((mode == MODE_IFACE || + (mode == MODE_HOST sub_mode == MODE_FLASHNODE)) +name value) { param = idbm_alloc_user_param(name, value); if (!param) { log_error(Cannot allocate memory for params.); I believe this is incorrect. After your patch, name and value will not be set in MODE_NODE. Should that be if (mode == MOD_IFACE || mode == MODE_NODE || ? @@ -2603,7 +3007,7 @@ main(int argc, char **argv) Thank you so much for helping to review! You are right. Mike, Please find the patch attached herewith that fixes the issue reported by Lee. Thanks, Adheer Looks good to me, and tested as well. Acked-by: Lee Duncan leeman.dun...@mail.com This message and any attached documents contain information from QLogic Corporation or its wholly-owned subsidiaries that may be confidential. If you are not the intended recipient, you may not read, copy, distribute, or use this information. If you have received this transmission in error, please notify the sender immediately by reply e-mail and then delete this message. -- You received this message because you are subscribed to the Google Groups open-iscsi group. To unsubscribe from this group and stop receiving emails from it, send an email to open-iscsi+unsubscr...@googlegroups.com. To post to this group, send email to open-iscsi@googlegroups.com. Visit this group at http://groups.google.com/group/open-iscsi?hl=en. For more options, visit https://groups.google.com/groups/opt_out.