summaryrefslogtreecommitdiff
path: root/libopeniscsiusr
diff options
context:
space:
mode:
authorChris Leech <cleech@redhat.com>2018-06-13 08:09:05 -0700
committerChris Leech <cleech@redhat.com>2018-06-13 08:10:57 -0700
commita9a36675dc79ce00cdbfa436b247a198aba9ae30 (patch)
tree945a8aa4494a7478357ea7cfc1f0a58cd0fec50a /libopeniscsiusr
parent0cfebb10d29382ac1058c950a60a946c28b01e53 (diff)
downloadopen-iscsi-a9a36675dc79ce00cdbfa436b247a198aba9ae30.tar.gz
libopeniscsiusr: fixes err on prefix_len
The iface.prefix_len field might be present in existing records created with older versions of the Open-iSCSI tools. Need to not start throwing errors after an update.
Diffstat (limited to 'libopeniscsiusr')
-rw-r--r--libopeniscsiusr/idbm.c2
-rw-r--r--libopeniscsiusr/idbm_fields.h1
-rw-r--r--libopeniscsiusr/iface.h6
3 files changed, 8 insertions, 1 deletions
diff --git a/libopeniscsiusr/idbm.c b/libopeniscsiusr/idbm.c
index b881eab..f7dc592 100644
--- a/libopeniscsiusr/idbm.c
+++ b/libopeniscsiusr/idbm.c
@@ -370,6 +370,8 @@ static int _idbm_iface_rec_link(struct iscsi_iface *iface,
_CAN_MODIFY);
_rec_str(IFACE_IPADDR, recs, iface, ipaddress, IDBM_SHOW, num,
_CAN_MODIFY);
+ _rec_uint8(IFACE_PREFIX_LEN, recs, iface, prefix_len, IDBM_SHOW, num,
+ _CAN_MODIFY);
_rec_str(IFACE_HWADDR, recs, iface, hwaddress, IDBM_SHOW, num,
_CAN_MODIFY);
_rec_str(IFACE_TRANSPORTNAME, recs, iface, transport_name, IDBM_SHOW,
diff --git a/libopeniscsiusr/idbm_fields.h b/libopeniscsiusr/idbm_fields.h
index 090c4f9..3b28089 100644
--- a/libopeniscsiusr/idbm_fields.h
+++ b/libopeniscsiusr/idbm_fields.h
@@ -29,6 +29,7 @@
#define IFACE_ISID "iface.isid"
#define IFACE_BOOT_PROTO "iface.bootproto"
#define IFACE_IPADDR "iface.ipaddress"
+#define IFACE_PREFIX_LEN "iface.prefix_len"
#define IFACE_SUBNET_MASK "iface.subnet_mask"
#define IFACE_GATEWAY "iface.gateway"
#define IFACE_PRIMARY_DNS "iface.primary_dns"
diff --git a/libopeniscsiusr/iface.h b/libopeniscsiusr/iface.h
index af3d9c7..eaf1832 100644
--- a/libopeniscsiusr/iface.h
+++ b/libopeniscsiusr/iface.h
@@ -57,9 +57,13 @@ struct iscsi_iface {
char ipv6_autocfg[NI_MAXHOST];
char linklocal_autocfg[NI_MAXHOST];
char router_autocfg[NI_MAXHOST];
-// uint8_t prefix_len;
+ uint8_t prefix_len;
/* ^ prefix_len is removed, as linux kernel has no such sysfs property
* and there is no actual code in usr/ folder set this property
+ *
+ * Added back, we need to be backward compatible with iface records
+ * created by older tools. Look at fixing code to ignore in record
+ * files instead? - cleech
*/
uint16_t vlan_id;
uint8_t vlan_priority;