summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/meson.build4
-rw-r--r--test/mi.c2
-rw-r--r--test/nbft/diffs/NBFT-Dell.PowerEdge.R660-fw1.5.5-mpath+discovery312
-rw-r--r--test/nbft/diffs/NBFT-Dell.PowerEdge.R660-fw1.5.5-single58
-rw-r--r--test/nbft/diffs/NBFT-Dell.PowerEdge.R76064
-rw-r--r--test/nbft/diffs/NBFT-auto-ipv63
-rw-r--r--test/nbft/diffs/NBFT-dhcp-ipv43
-rw-r--r--test/nbft/diffs/NBFT-dhcp-ipv63
-rw-r--r--test/nbft/diffs/NBFT-mpath+disc-ipv4+6_half141
-rw-r--r--test/nbft/diffs/NBFT-rhpoc3
-rw-r--r--test/nbft/diffs/NBFT-static-ipv43
-rw-r--r--test/nbft/diffs/NBFT-static-ipv4-discovery3
-rw-r--r--test/nbft/diffs/NBFT-static-ipv63
-rw-r--r--test/nbft/meson.build4
-rw-r--r--test/nbft/nbft-dump.c2
-rw-r--r--test/nbft/tables/NBFT-Dell.PowerEdge.R660-fw1.5.5-mpath+discoverybin0 -> 4147 bytes
-rw-r--r--test/nbft/tables/NBFT-Dell.PowerEdge.R660-fw1.5.5-singlebin0 -> 930 bytes
l---------test/nbft/tables/NBFT-Dell.PowerEdge.R7601
-rw-r--r--test/nbft/tables/NBFT-mpath+disc-ipv4+6_halfbin0 -> 1922 bytes
-rw-r--r--test/register.c8
-rw-r--r--test/sysfs/data/nvme-sysfs-tw-carbon-6.8.0-rc1+.out32
-rw-r--r--test/sysfs/data/nvme-sysfs-tw-carbon-6.8.0-rc1+.tar.xzbin0 -> 19712 bytes
-rw-r--r--test/sysfs/meson.build36
-rw-r--r--test/sysfs/sysfs-tree-diff.sh22
-rw-r--r--test/sysfs/sysfs.c24
-rw-r--r--test/test-util.c58
26 files changed, 779 insertions, 10 deletions
diff --git a/test/meson.build b/test/meson.build
index 2b4c6d8..93e6999 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -97,3 +97,7 @@ endif
subdir('ioctl')
subdir('nbft')
+
+if json_c_dep.found()
+ subdir('sysfs')
+endif
diff --git a/test/mi.c b/test/mi.c
index a09c108..a86ba15 100644
--- a/test/mi.c
+++ b/test/mi.c
@@ -306,7 +306,7 @@ static void test_invalid_crc(nvme_mi_ep_t ep)
test_set_transport_callback(ep, test_invalid_crc_cb, NULL);
rc = nvme_mi_mi_read_mi_data_subsys(ep, &ss_info);
- assert(rc != 0);
+ assert(rc < 0);
}
/* test: test that the controller list populates the endpoint's list of
diff --git a/test/nbft/diffs/NBFT-Dell.PowerEdge.R660-fw1.5.5-mpath+discovery b/test/nbft/diffs/NBFT-Dell.PowerEdge.R660-fw1.5.5-mpath+discovery
new file mode 100644
index 0000000..7d44d92
--- /dev/null
+++ b/test/nbft/diffs/NBFT-Dell.PowerEdge.R660-fw1.5.5-mpath+discovery
@@ -0,0 +1,312 @@
+raw_nbft_size=4147
+host.id=44454c4c44010448030b8c04f445833
+host.nqn=nqn.2014-08.org.nvmexpress:uuid:4c4c4544-0044-4410-8030-b8c04f445833
+host.host_id_configured=1
+host.host_nqn_configured=1
+host.primary=0
+hfi_list[0]->index=1
+hfi_list[0]->transport=tcp
+hfi_list[0]->tcp_info.pci_sbdf=27136
+hfi_list[0]->tcp_info.mac_addr=062bcbeb70
+hfi_list[0]->tcp_info.vlan=0
+hfi_list[0]->tcp_info.ip_origin=95
+hfi_list[0]->tcp_info.ipaddr=172.18.240.1
+hfi_list[0]->tcp_info.subnet_mask_prefix=24
+hfi_list[0]->tcp_info.gateway_ipaddr=0.0.0.0
+hfi_list[0]->tcp_info.route_metric=500
+hfi_list[0]->tcp_info.primary_dns_ipaddr=0.0.0.0
+hfi_list[0]->tcp_info.secondary_dns_ipaddr=0.0.0.0
+hfi_list[0]->tcp_info.dhcp_server_ipaddr=
+hfi_list[0]->tcp_info.host_name=(null)
+hfi_list[0]->tcp_info.this_hfi_is_default_route=1
+hfi_list[0]->tcp_info.dhcp_override=0
+hfi_list[1]->index=2
+hfi_list[1]->transport=tcp
+hfi_list[1]->tcp_info.pci_sbdf=27137
+hfi_list[1]->tcp_info.mac_addr=062bcbeb71
+hfi_list[1]->tcp_info.vlan=0
+hfi_list[1]->tcp_info.ip_origin=95
+hfi_list[1]->tcp_info.ipaddr=172.18.230.2
+hfi_list[1]->tcp_info.subnet_mask_prefix=24
+hfi_list[1]->tcp_info.gateway_ipaddr=0.0.0.0
+hfi_list[1]->tcp_info.route_metric=500
+hfi_list[1]->tcp_info.primary_dns_ipaddr=0.0.0.0
+hfi_list[1]->tcp_info.secondary_dns_ipaddr=0.0.0.0
+hfi_list[1]->tcp_info.dhcp_server_ipaddr=
+hfi_list[1]->tcp_info.host_name=(null)
+hfi_list[1]->tcp_info.this_hfi_is_default_route=1
+hfi_list[1]->tcp_info.dhcp_override=0
+discovery_list[0]->index=1
+discovery_list[0]->hfi->index=1
+discovery_list[0]->uri=nvme+tcp://172.18.240.70:8009/
+discovery_list[0]->nqn=nqn.2014-08.org.nvmexpress.discovery
+discovery_list[1]->index=2
+discovery_list[1]->hfi->index=2
+discovery_list[1]->uri=nvme+tcp://172.18.230.70:8009/
+discovery_list[1]->nqn=nqn.2014-08.org.nvmexpress.discovery
+subsystem_ns_list[0]->index=1
+subsystem_ns_list[0]->discovery->index=1
+subsystem_ns_list[0]->num_hfis=1
+subsystem_ns_list[0]->hfis[0]->index=1
+subsystem_ns_list[0]->transport=tcp
+subsystem_ns_list[0]->traddr=172.18.240.60
+subsystem_ns_list[0]->trsvcid=4420
+subsystem_ns_list[0]->subsys_port_id=0
+subsystem_ns_list[0]->nsid=270
+subsystem_ns_list[0]->nid_type=2
+subsystem_ns_list[0]->nid=5380b42fc0c5de718ccf9680be3ca7
+subsystem_ns_list[0]->subsys_nqn=nqn.1988-11.com.dell:powerstore:00:88b402df2d762AA7AF94
+subsystem_ns_list[0]->pdu_header_digest_required=0
+subsystem_ns_list[0]->data_digest_required=0
+subsystem_ns_list[0]->controller_id=4186
+subsystem_ns_list[0]->asqsz=0
+subsystem_ns_list[0]->dhcp_root_path_string=(null)
+subsystem_ns_list[0]->discovered=1
+subsystem_ns_list[0]->unavailable=0
+subsystem_ns_list[1]->index=2
+subsystem_ns_list[1]->discovery->index=1
+subsystem_ns_list[1]->num_hfis=1
+subsystem_ns_list[1]->hfis[0]->index=1
+subsystem_ns_list[1]->transport=tcp
+subsystem_ns_list[1]->traddr=172.18.240.60
+subsystem_ns_list[1]->trsvcid=4420
+subsystem_ns_list[1]->subsys_port_id=0
+subsystem_ns_list[1]->nsid=1671
+subsystem_ns_list[1]->nid_type=2
+subsystem_ns_list[1]->nid=f4c66fce74afdb8ccf96807eaeae
+subsystem_ns_list[1]->subsys_nqn=nqn.1988-11.com.dell:powerstore:00:88b402df2d762AA7AF94
+subsystem_ns_list[1]->pdu_header_digest_required=0
+subsystem_ns_list[1]->data_digest_required=0
+subsystem_ns_list[1]->controller_id=4186
+subsystem_ns_list[1]->asqsz=0
+subsystem_ns_list[1]->dhcp_root_path_string=(null)
+subsystem_ns_list[1]->discovered=1
+subsystem_ns_list[1]->unavailable=0
+subsystem_ns_list[2]->index=3
+subsystem_ns_list[2]->discovery->index=1
+subsystem_ns_list[2]->num_hfis=1
+subsystem_ns_list[2]->hfis[0]->index=1
+subsystem_ns_list[2]->transport=tcp
+subsystem_ns_list[2]->traddr=172.18.240.61
+subsystem_ns_list[2]->trsvcid=4420
+subsystem_ns_list[2]->subsys_port_id=0
+subsystem_ns_list[2]->nsid=270
+subsystem_ns_list[2]->nid_type=2
+subsystem_ns_list[2]->nid=5380b42fc0c5de718ccf9680be3ca7
+subsystem_ns_list[2]->subsys_nqn=nqn.1988-11.com.dell:powerstore:00:88b402df2d762AA7AF94
+subsystem_ns_list[2]->pdu_header_digest_required=0
+subsystem_ns_list[2]->data_digest_required=0
+subsystem_ns_list[2]->controller_id=52
+subsystem_ns_list[2]->asqsz=0
+subsystem_ns_list[2]->dhcp_root_path_string=(null)
+subsystem_ns_list[2]->discovered=1
+subsystem_ns_list[2]->unavailable=0
+subsystem_ns_list[3]->index=4
+subsystem_ns_list[3]->discovery->index=1
+subsystem_ns_list[3]->num_hfis=1
+subsystem_ns_list[3]->hfis[0]->index=1
+subsystem_ns_list[3]->transport=tcp
+subsystem_ns_list[3]->traddr=172.18.240.61
+subsystem_ns_list[3]->trsvcid=4420
+subsystem_ns_list[3]->subsys_port_id=0
+subsystem_ns_list[3]->nsid=1671
+subsystem_ns_list[3]->nid_type=2
+subsystem_ns_list[3]->nid=f4c66fce74afdb8ccf96807eaeae
+subsystem_ns_list[3]->subsys_nqn=nqn.1988-11.com.dell:powerstore:00:88b402df2d762AA7AF94
+subsystem_ns_list[3]->pdu_header_digest_required=0
+subsystem_ns_list[3]->data_digest_required=0
+subsystem_ns_list[3]->controller_id=52
+subsystem_ns_list[3]->asqsz=0
+subsystem_ns_list[3]->dhcp_root_path_string=(null)
+subsystem_ns_list[3]->discovered=1
+subsystem_ns_list[3]->unavailable=0
+subsystem_ns_list[4]->index=5
+subsystem_ns_list[4]->discovery->index=1
+subsystem_ns_list[4]->num_hfis=1
+subsystem_ns_list[4]->hfis[0]->index=1
+subsystem_ns_list[4]->transport=tcp
+subsystem_ns_list[4]->traddr=172.18.240.51
+subsystem_ns_list[4]->trsvcid=4420
+subsystem_ns_list[4]->subsys_port_id=0
+subsystem_ns_list[4]->nsid=1
+subsystem_ns_list[4]->nid_type=3
+subsystem_ns_list[4]->nid=6be5e52f7fa24d57805b8cdce240e4c
+subsystem_ns_list[4]->subsys_nqn=nqn.1992-08.com.netapp:sn.643ecb551e6b11eda647d039ea98949f:subsystem.dellr660
+subsystem_ns_list[4]->pdu_header_digest_required=0
+subsystem_ns_list[4]->data_digest_required=0
+subsystem_ns_list[4]->controller_id=6209
+subsystem_ns_list[4]->asqsz=0
+subsystem_ns_list[4]->dhcp_root_path_string=(null)
+subsystem_ns_list[4]->discovered=1
+subsystem_ns_list[4]->unavailable=0
+subsystem_ns_list[5]->index=6
+subsystem_ns_list[5]->discovery->index=1
+subsystem_ns_list[5]->num_hfis=1
+subsystem_ns_list[5]->hfis[0]->index=1
+subsystem_ns_list[5]->transport=tcp
+subsystem_ns_list[5]->traddr=172.18.240.50
+subsystem_ns_list[5]->trsvcid=4420
+subsystem_ns_list[5]->subsys_port_id=0
+subsystem_ns_list[5]->nsid=1
+subsystem_ns_list[5]->nid_type=3
+subsystem_ns_list[5]->nid=6be5e52f7fa24d57805b8cdce240e4c
+subsystem_ns_list[5]->subsys_nqn=nqn.1992-08.com.netapp:sn.643ecb551e6b11eda647d039ea98949f:subsystem.dellr660
+subsystem_ns_list[5]->pdu_header_digest_required=0
+subsystem_ns_list[5]->data_digest_required=0
+subsystem_ns_list[5]->controller_id=6208
+subsystem_ns_list[5]->asqsz=0
+subsystem_ns_list[5]->dhcp_root_path_string=(null)
+subsystem_ns_list[5]->discovered=1
+subsystem_ns_list[5]->unavailable=0
+subsystem_ns_list[6]->index=7
+subsystem_ns_list[6]->discovery->index=1
+subsystem_ns_list[6]->num_hfis=1
+subsystem_ns_list[6]->hfis[0]->index=1
+subsystem_ns_list[6]->transport=tcp
+subsystem_ns_list[6]->traddr=172.18.230.51
+subsystem_ns_list[6]->trsvcid=4420
+subsystem_ns_list[6]->subsys_port_id=0
+subsystem_ns_list[6]->nsid=0
+subsystem_ns_list[6]->nid_type=0
+subsystem_ns_list[6]->nid=0000000000000000
+subsystem_ns_list[6]->subsys_nqn=nqn.1992-08.com.netapp:sn.643ecb551e6b11eda647d039ea98949f:subsystem.dellr660
+subsystem_ns_list[6]->pdu_header_digest_required=0
+subsystem_ns_list[6]->data_digest_required=0
+subsystem_ns_list[6]->controller_id=6208
+subsystem_ns_list[6]->asqsz=0
+subsystem_ns_list[6]->dhcp_root_path_string=(null)
+subsystem_ns_list[6]->discovered=1
+subsystem_ns_list[6]->unavailable=1
+subsystem_ns_list[7]->index=8
+subsystem_ns_list[7]->discovery->index=1
+subsystem_ns_list[7]->num_hfis=1
+subsystem_ns_list[7]->hfis[0]->index=1
+subsystem_ns_list[7]->transport=tcp
+subsystem_ns_list[7]->traddr=172.18.230.50
+subsystem_ns_list[7]->trsvcid=4420
+subsystem_ns_list[7]->subsys_port_id=0
+subsystem_ns_list[7]->nsid=0
+subsystem_ns_list[7]->nid_type=0
+subsystem_ns_list[7]->nid=0000000000000000
+subsystem_ns_list[7]->subsys_nqn=nqn.1992-08.com.netapp:sn.643ecb551e6b11eda647d039ea98949f:subsystem.dellr660
+subsystem_ns_list[7]->pdu_header_digest_required=0
+subsystem_ns_list[7]->data_digest_required=0
+subsystem_ns_list[7]->controller_id=6208
+subsystem_ns_list[7]->asqsz=0
+subsystem_ns_list[7]->dhcp_root_path_string=(null)
+subsystem_ns_list[7]->discovered=1
+subsystem_ns_list[7]->unavailable=1
+subsystem_ns_list[8]->index=9
+subsystem_ns_list[8]->discovery->index=2
+subsystem_ns_list[8]->num_hfis=1
+subsystem_ns_list[8]->hfis[0]->index=2
+subsystem_ns_list[8]->transport=tcp
+subsystem_ns_list[8]->traddr=172.18.230.61
+subsystem_ns_list[8]->trsvcid=4420
+subsystem_ns_list[8]->subsys_port_id=0
+subsystem_ns_list[8]->nsid=270
+subsystem_ns_list[8]->nid_type=2
+subsystem_ns_list[8]->nid=5380b42fc0c5de718ccf9680be3ca7
+subsystem_ns_list[8]->subsys_nqn=nqn.1988-11.com.dell:powerstore:00:88b402df2d762AA7AF94
+subsystem_ns_list[8]->pdu_header_digest_required=0
+subsystem_ns_list[8]->data_digest_required=0
+subsystem_ns_list[8]->controller_id=51
+subsystem_ns_list[8]->asqsz=0
+subsystem_ns_list[8]->dhcp_root_path_string=(null)
+subsystem_ns_list[8]->discovered=1
+subsystem_ns_list[8]->unavailable=0
+subsystem_ns_list[9]->index=10
+subsystem_ns_list[9]->discovery->index=2
+subsystem_ns_list[9]->num_hfis=1
+subsystem_ns_list[9]->hfis[0]->index=2
+subsystem_ns_list[9]->transport=tcp
+subsystem_ns_list[9]->traddr=172.18.230.61
+subsystem_ns_list[9]->trsvcid=4420
+subsystem_ns_list[9]->subsys_port_id=0
+subsystem_ns_list[9]->nsid=1671
+subsystem_ns_list[9]->nid_type=2
+subsystem_ns_list[9]->nid=f4c66fce74afdb8ccf96807eaeae
+subsystem_ns_list[9]->subsys_nqn=nqn.1988-11.com.dell:powerstore:00:88b402df2d762AA7AF94
+subsystem_ns_list[9]->pdu_header_digest_required=0
+subsystem_ns_list[9]->data_digest_required=0
+subsystem_ns_list[9]->controller_id=51
+subsystem_ns_list[9]->asqsz=0
+subsystem_ns_list[9]->dhcp_root_path_string=(null)
+subsystem_ns_list[9]->discovered=1
+subsystem_ns_list[9]->unavailable=0
+subsystem_ns_list[10]->index=11
+subsystem_ns_list[10]->discovery->index=2
+subsystem_ns_list[10]->num_hfis=1
+subsystem_ns_list[10]->hfis[0]->index=2
+subsystem_ns_list[10]->transport=tcp
+subsystem_ns_list[10]->traddr=172.18.230.60
+subsystem_ns_list[10]->trsvcid=4420
+subsystem_ns_list[10]->subsys_port_id=0
+subsystem_ns_list[10]->nsid=270
+subsystem_ns_list[10]->nid_type=2
+subsystem_ns_list[10]->nid=5380b42fc0c5de718ccf9680be3ca7
+subsystem_ns_list[10]->subsys_nqn=nqn.1988-11.com.dell:powerstore:00:88b402df2d762AA7AF94
+subsystem_ns_list[10]->pdu_header_digest_required=0
+subsystem_ns_list[10]->data_digest_required=0
+subsystem_ns_list[10]->controller_id=4185
+subsystem_ns_list[10]->asqsz=0
+subsystem_ns_list[10]->dhcp_root_path_string=(null)
+subsystem_ns_list[10]->discovered=1
+subsystem_ns_list[10]->unavailable=0
+subsystem_ns_list[11]->index=12
+subsystem_ns_list[11]->discovery->index=2
+subsystem_ns_list[11]->num_hfis=1
+subsystem_ns_list[11]->hfis[0]->index=2
+subsystem_ns_list[11]->transport=tcp
+subsystem_ns_list[11]->traddr=172.18.230.60
+subsystem_ns_list[11]->trsvcid=4420
+subsystem_ns_list[11]->subsys_port_id=0
+subsystem_ns_list[11]->nsid=1671
+subsystem_ns_list[11]->nid_type=2
+subsystem_ns_list[11]->nid=f4c66fce74afdb8ccf96807eaeae
+subsystem_ns_list[11]->subsys_nqn=nqn.1988-11.com.dell:powerstore:00:88b402df2d762AA7AF94
+subsystem_ns_list[11]->pdu_header_digest_required=0
+subsystem_ns_list[11]->data_digest_required=0
+subsystem_ns_list[11]->controller_id=4185
+subsystem_ns_list[11]->asqsz=0
+subsystem_ns_list[11]->dhcp_root_path_string=(null)
+subsystem_ns_list[11]->discovered=1
+subsystem_ns_list[11]->unavailable=0
+subsystem_ns_list[12]->index=13
+subsystem_ns_list[12]->discovery->index=2
+subsystem_ns_list[12]->num_hfis=1
+subsystem_ns_list[12]->hfis[0]->index=2
+subsystem_ns_list[12]->transport=tcp
+subsystem_ns_list[12]->traddr=172.18.230.51
+subsystem_ns_list[12]->trsvcid=4420
+subsystem_ns_list[12]->subsys_port_id=0
+subsystem_ns_list[12]->nsid=1
+subsystem_ns_list[12]->nid_type=3
+subsystem_ns_list[12]->nid=6be5e52f7fa24d57805b8cdce240e4c
+subsystem_ns_list[12]->subsys_nqn=nqn.1992-08.com.netapp:sn.643ecb551e6b11eda647d039ea98949f:subsystem.dellr660
+subsystem_ns_list[12]->pdu_header_digest_required=0
+subsystem_ns_list[12]->data_digest_required=0
+subsystem_ns_list[12]->controller_id=6273
+subsystem_ns_list[12]->asqsz=0
+subsystem_ns_list[12]->dhcp_root_path_string=(null)
+subsystem_ns_list[12]->discovered=1
+subsystem_ns_list[12]->unavailable=0
+subsystem_ns_list[13]->index=14
+subsystem_ns_list[13]->discovery->index=2
+subsystem_ns_list[13]->num_hfis=1
+subsystem_ns_list[13]->hfis[0]->index=2
+subsystem_ns_list[13]->transport=tcp
+subsystem_ns_list[13]->traddr=172.18.230.50
+subsystem_ns_list[13]->trsvcid=4420
+subsystem_ns_list[13]->subsys_port_id=0
+subsystem_ns_list[13]->nsid=1
+subsystem_ns_list[13]->nid_type=3
+subsystem_ns_list[13]->nid=6be5e52f7fa24d57805b8cdce240e4c
+subsystem_ns_list[13]->subsys_nqn=nqn.1992-08.com.netapp:sn.643ecb551e6b11eda647d039ea98949f:subsystem.dellr660
+subsystem_ns_list[13]->pdu_header_digest_required=0
+subsystem_ns_list[13]->data_digest_required=0
+subsystem_ns_list[13]->controller_id=6272
+subsystem_ns_list[13]->asqsz=0
+subsystem_ns_list[13]->dhcp_root_path_string=(null)
+subsystem_ns_list[13]->discovered=1
+subsystem_ns_list[13]->unavailable=0
diff --git a/test/nbft/diffs/NBFT-Dell.PowerEdge.R660-fw1.5.5-single b/test/nbft/diffs/NBFT-Dell.PowerEdge.R660-fw1.5.5-single
new file mode 100644
index 0000000..17631fb
--- /dev/null
+++ b/test/nbft/diffs/NBFT-Dell.PowerEdge.R660-fw1.5.5-single
@@ -0,0 +1,58 @@
+raw_nbft_size=930
+host.id=44454c4c44010448030b8c04f445833
+host.nqn=nqn.2014-08.org.nvmexpress:uuid:4c4c4544-0044-4410-8030-b8c04f445833
+host.host_id_configured=1
+host.host_nqn_configured=1
+host.primary=0
+hfi_list[0]->index=1
+hfi_list[0]->transport=tcp
+hfi_list[0]->tcp_info.pci_sbdf=27136
+hfi_list[0]->tcp_info.mac_addr=062bcbeb70
+hfi_list[0]->tcp_info.vlan=0
+hfi_list[0]->tcp_info.ip_origin=94
+hfi_list[0]->tcp_info.ipaddr=172.18.240.1
+hfi_list[0]->tcp_info.subnet_mask_prefix=24
+hfi_list[0]->tcp_info.gateway_ipaddr=0.0.0.0
+hfi_list[0]->tcp_info.route_metric=500
+hfi_list[0]->tcp_info.primary_dns_ipaddr=0.0.0.0
+hfi_list[0]->tcp_info.secondary_dns_ipaddr=0.0.0.0
+hfi_list[0]->tcp_info.dhcp_server_ipaddr=
+hfi_list[0]->tcp_info.host_name=(null)
+hfi_list[0]->tcp_info.this_hfi_is_default_route=1
+hfi_list[0]->tcp_info.dhcp_override=0
+subsystem_ns_list[0]->index=1
+subsystem_ns_list[0]->num_hfis=1
+subsystem_ns_list[0]->hfis[0]->index=1
+subsystem_ns_list[0]->transport=tcp
+subsystem_ns_list[0]->traddr=172.18.240.60
+subsystem_ns_list[0]->trsvcid=4420
+subsystem_ns_list[0]->subsys_port_id=0
+subsystem_ns_list[0]->nsid=270
+subsystem_ns_list[0]->nid_type=2
+subsystem_ns_list[0]->nid=5380b42fc0c5de718ccf9680be3ca7
+subsystem_ns_list[0]->subsys_nqn=nqn.1988-11.com.dell:powerstore:00:88b402df2d762AA7AF94
+subsystem_ns_list[0]->pdu_header_digest_required=0
+subsystem_ns_list[0]->data_digest_required=0
+subsystem_ns_list[0]->controller_id=4105
+subsystem_ns_list[0]->asqsz=0
+subsystem_ns_list[0]->dhcp_root_path_string=(null)
+subsystem_ns_list[0]->discovered=0
+subsystem_ns_list[0]->unavailable=0
+subsystem_ns_list[1]->index=2
+subsystem_ns_list[1]->num_hfis=1
+subsystem_ns_list[1]->hfis[0]->index=1
+subsystem_ns_list[1]->transport=tcp
+subsystem_ns_list[1]->traddr=172.18.240.60
+subsystem_ns_list[1]->trsvcid=4420
+subsystem_ns_list[1]->subsys_port_id=0
+subsystem_ns_list[1]->nsid=1671
+subsystem_ns_list[1]->nid_type=2
+subsystem_ns_list[1]->nid=f4c66fce74afdb8ccf96807eaeae
+subsystem_ns_list[1]->subsys_nqn=nqn.1988-11.com.dell:powerstore:00:88b402df2d762AA7AF94
+subsystem_ns_list[1]->pdu_header_digest_required=0
+subsystem_ns_list[1]->data_digest_required=0
+subsystem_ns_list[1]->controller_id=4105
+subsystem_ns_list[1]->asqsz=0
+subsystem_ns_list[1]->dhcp_root_path_string=(null)
+subsystem_ns_list[1]->discovered=0
+subsystem_ns_list[1]->unavailable=0
diff --git a/test/nbft/diffs/NBFT-Dell.PowerEdge.R760 b/test/nbft/diffs/NBFT-Dell.PowerEdge.R760
new file mode 100644
index 0000000..5bb854c
--- /dev/null
+++ b/test/nbft/diffs/NBFT-Dell.PowerEdge.R760
@@ -0,0 +1,64 @@
+raw_nbft_size=1017
+host.id=44454c4c34010368038b2c04f313233
+host.nqn=nqn.1988-11.com.dell:PowerEdge.R760.1234567
+host.host_id_configured=1
+host.host_nqn_configured=1
+host.primary=0
+hfi_list[0]->index=1
+hfi_list[0]->transport=tcp
+hfi_list[0]->tcp_info.pci_sbdf=16384
+hfi_list[0]->tcp_info.mac_addr=b02628e87ce
+hfi_list[0]->tcp_info.vlan=0
+hfi_list[0]->tcp_info.ip_origin=82
+hfi_list[0]->tcp_info.ipaddr=100.71.245.232
+hfi_list[0]->tcp_info.subnet_mask_prefix=24
+hfi_list[0]->tcp_info.gateway_ipaddr=100.71.245.254
+hfi_list[0]->tcp_info.route_metric=500
+hfi_list[0]->tcp_info.primary_dns_ipaddr=100.64.0.5
+hfi_list[0]->tcp_info.secondary_dns_ipaddr=100.64.0.6
+hfi_list[0]->tcp_info.dhcp_server_ipaddr=100.71.245.254
+hfi_list[0]->tcp_info.host_name=(null)
+hfi_list[0]->tcp_info.this_hfi_is_default_route=1
+hfi_list[0]->tcp_info.dhcp_override=1
+discovery_list[0]->index=1
+discovery_list[0]->hfi->index=1
+discovery_list[0]->uri=nvme+tcp://100.71.103.50:8009/
+discovery_list[0]->nqn=nqn.2014-08.org.nvmexpress.discovery
+subsystem_ns_list[0]->index=1
+subsystem_ns_list[0]->discovery->index=1
+subsystem_ns_list[0]->num_hfis=1
+subsystem_ns_list[0]->hfis[0]->index=1
+subsystem_ns_list[0]->transport=tcp
+subsystem_ns_list[0]->traddr=100.71.103.48
+subsystem_ns_list[0]->trsvcid=4420
+subsystem_ns_list[0]->subsys_port_id=0
+subsystem_ns_list[0]->nsid=148
+subsystem_ns_list[0]->nid_type=2
+subsystem_ns_list[0]->nid=c8244ed9c15f53b8ccf96802efca
+subsystem_ns_list[0]->subsys_nqn=nqn.1988-11.com.dell:powerstore:00:2a64abf1c5b81F6C4549
+subsystem_ns_list[0]->pdu_header_digest_required=0
+subsystem_ns_list[0]->data_digest_required=0
+subsystem_ns_list[0]->controller_id=5
+subsystem_ns_list[0]->asqsz=0
+subsystem_ns_list[0]->dhcp_root_path_string=(null)
+subsystem_ns_list[0]->discovered=1
+subsystem_ns_list[0]->unavailable=0
+subsystem_ns_list[1]->index=2
+subsystem_ns_list[1]->discovery->index=1
+subsystem_ns_list[1]->num_hfis=1
+subsystem_ns_list[1]->hfis[0]->index=1
+subsystem_ns_list[1]->transport=tcp
+subsystem_ns_list[1]->traddr=100.71.103.49
+subsystem_ns_list[1]->trsvcid=4420
+subsystem_ns_list[1]->subsys_port_id=0
+subsystem_ns_list[1]->nsid=148
+subsystem_ns_list[1]->nid_type=2
+subsystem_ns_list[1]->nid=c8244ed9c15f53b8ccf96802efca
+subsystem_ns_list[1]->subsys_nqn=nqn.1988-11.com.dell:powerstore:00:2a64abf1c5b81F6C4549
+subsystem_ns_list[1]->pdu_header_digest_required=0
+subsystem_ns_list[1]->data_digest_required=0
+subsystem_ns_list[1]->controller_id=4166
+subsystem_ns_list[1]->asqsz=0
+subsystem_ns_list[1]->dhcp_root_path_string=(null)
+subsystem_ns_list[1]->discovered=1
+subsystem_ns_list[1]->unavailable=0
diff --git a/test/nbft/diffs/NBFT-auto-ipv6 b/test/nbft/diffs/NBFT-auto-ipv6
index 32a8b60..4e19830 100644
--- a/test/nbft/diffs/NBFT-auto-ipv6
+++ b/test/nbft/diffs/NBFT-auto-ipv6
@@ -23,7 +23,6 @@ hfi_list[0]->tcp_info.dhcp_override=0
subsystem_ns_list[0]->index=1
subsystem_ns_list[0]->num_hfis=1
subsystem_ns_list[0]->hfis[0]->index=1
-subsystem_ns_list[0]->hfis[1]->index=1
subsystem_ns_list[0]->transport=tcp
subsystem_ns_list[0]->traddr=fd09:9a46:b5c1:1ff:5054:ff:fefd:9e66
subsystem_ns_list[0]->trsvcid=4420
@@ -37,3 +36,5 @@ subsystem_ns_list[0]->data_digest_required=0
subsystem_ns_list[0]->controller_id=1
subsystem_ns_list[0]->asqsz=0
subsystem_ns_list[0]->dhcp_root_path_string=(null)
+subsystem_ns_list[0]->discovered=0
+subsystem_ns_list[0]->unavailable=0
diff --git a/test/nbft/diffs/NBFT-dhcp-ipv4 b/test/nbft/diffs/NBFT-dhcp-ipv4
index cb280d9..4c9c61c 100644
--- a/test/nbft/diffs/NBFT-dhcp-ipv4
+++ b/test/nbft/diffs/NBFT-dhcp-ipv4
@@ -28,7 +28,6 @@ subsystem_ns_list[0]->index=1
subsystem_ns_list[0]->discovery->index=1
subsystem_ns_list[0]->num_hfis=1
subsystem_ns_list[0]->hfis[0]->index=1
-subsystem_ns_list[0]->hfis[1]->index=1
subsystem_ns_list[0]->transport=tcp
subsystem_ns_list[0]->traddr=192.168.49.10
subsystem_ns_list[0]->trsvcid=4420
@@ -42,3 +41,5 @@ subsystem_ns_list[0]->data_digest_required=0
subsystem_ns_list[0]->controller_id=7
subsystem_ns_list[0]->asqsz=0
subsystem_ns_list[0]->dhcp_root_path_string=(null)
+subsystem_ns_list[0]->discovered=1
+subsystem_ns_list[0]->unavailable=0
diff --git a/test/nbft/diffs/NBFT-dhcp-ipv6 b/test/nbft/diffs/NBFT-dhcp-ipv6
index b94cc39..27c54fd 100644
--- a/test/nbft/diffs/NBFT-dhcp-ipv6
+++ b/test/nbft/diffs/NBFT-dhcp-ipv6
@@ -23,7 +23,6 @@ hfi_list[0]->tcp_info.dhcp_override=1
subsystem_ns_list[0]->index=1
subsystem_ns_list[0]->num_hfis=1
subsystem_ns_list[0]->hfis[0]->index=1
-subsystem_ns_list[0]->hfis[1]->index=1
subsystem_ns_list[0]->transport=tcp
subsystem_ns_list[0]->traddr=fddf:d:f:49::10
subsystem_ns_list[0]->trsvcid=4420
@@ -37,3 +36,5 @@ subsystem_ns_list[0]->data_digest_required=0
subsystem_ns_list[0]->controller_id=34
subsystem_ns_list[0]->asqsz=0
subsystem_ns_list[0]->dhcp_root_path_string=(null)
+subsystem_ns_list[0]->discovered=0
+subsystem_ns_list[0]->unavailable=0
diff --git a/test/nbft/diffs/NBFT-mpath+disc-ipv4+6_half b/test/nbft/diffs/NBFT-mpath+disc-ipv4+6_half
new file mode 100644
index 0000000..1e1d678
--- /dev/null
+++ b/test/nbft/diffs/NBFT-mpath+disc-ipv4+6_half
@@ -0,0 +1,141 @@
+raw_nbft_size=1922
+host.id=12345678abcdabcdabcd123456789012
+host.nqn=nqn.2014-08.org.nvmexpress:uuid:12345678-abcd-abcd-abcd-123456789012
+host.host_id_configured=1
+host.host_nqn_configured=1
+host.primary=0
+hfi_list[0]->index=1
+hfi_list[0]->transport=tcp
+hfi_list[0]->tcp_info.pci_sbdf=24
+hfi_list[0]->tcp_info.mac_addr=5254072c5ae
+hfi_list[0]->tcp_info.vlan=0
+hfi_list[0]->tcp_info.ip_origin=1
+hfi_list[0]->tcp_info.ipaddr=192.168.122.158
+hfi_list[0]->tcp_info.subnet_mask_prefix=24
+hfi_list[0]->tcp_info.gateway_ipaddr=0.0.0.0
+hfi_list[0]->tcp_info.route_metric=0
+hfi_list[0]->tcp_info.primary_dns_ipaddr=0.0.0.0
+hfi_list[0]->tcp_info.secondary_dns_ipaddr=0.0.0.0
+hfi_list[0]->tcp_info.dhcp_server_ipaddr=
+hfi_list[0]->tcp_info.host_name=(null)
+hfi_list[0]->tcp_info.this_hfi_is_default_route=1
+hfi_list[0]->tcp_info.dhcp_override=0
+hfi_list[1]->index=2
+hfi_list[1]->transport=tcp
+hfi_list[1]->tcp_info.pci_sbdf=32
+hfi_list[1]->tcp_info.mac_addr=5254072c5af
+hfi_list[1]->tcp_info.vlan=0
+hfi_list[1]->tcp_info.ip_origin=1
+hfi_list[1]->tcp_info.ipaddr=4321::bbbb:2
+hfi_list[1]->tcp_info.subnet_mask_prefix=0
+hfi_list[1]->tcp_info.gateway_ipaddr=::
+hfi_list[1]->tcp_info.route_metric=0
+hfi_list[1]->tcp_info.primary_dns_ipaddr=::
+hfi_list[1]->tcp_info.secondary_dns_ipaddr=::
+hfi_list[1]->tcp_info.dhcp_server_ipaddr=
+hfi_list[1]->tcp_info.host_name=(null)
+hfi_list[1]->tcp_info.this_hfi_is_default_route=1
+hfi_list[1]->tcp_info.dhcp_override=0
+discovery_list[0]->index=1
+discovery_list[0]->hfi->index=1
+discovery_list[0]->uri=nvme+tcp://192.168.122.1:4420/
+discovery_list[0]->nqn=nqn.2014-08.org.nvmexpress.discovery
+discovery_list[1]->index=2
+discovery_list[1]->hfi->index=2
+discovery_list[1]->uri=nvme+tcp://[4321::BBBB:1]:4420/
+discovery_list[1]->nqn=nqn.2014-08.org.nvmexpress.discovery
+subsystem_ns_list[0]->index=1
+subsystem_ns_list[0]->discovery->index=1
+subsystem_ns_list[0]->num_hfis=1
+subsystem_ns_list[0]->hfis[0]->index=1
+subsystem_ns_list[0]->transport=tcp
+subsystem_ns_list[0]->traddr=192.168.122.1
+subsystem_ns_list[0]->trsvcid=4420
+subsystem_ns_list[0]->subsys_port_id=0
+subsystem_ns_list[0]->nsid=123
+subsystem_ns_list[0]->nid_type=3
+subsystem_ns_list[0]->nid=d592cdf3ffffffff84123fcf7d99df27
+subsystem_ns_list[0]->subsys_nqn=nqn.2014-08.org.nvmexpress.boot.poc:test-target
+subsystem_ns_list[0]->pdu_header_digest_required=0
+subsystem_ns_list[0]->data_digest_required=0
+subsystem_ns_list[0]->controller_id=0
+subsystem_ns_list[0]->asqsz=0
+subsystem_ns_list[0]->dhcp_root_path_string=(null)
+subsystem_ns_list[0]->discovered=1
+subsystem_ns_list[0]->unavailable=0
+subsystem_ns_list[1]->index=2
+subsystem_ns_list[1]->discovery->index=1
+subsystem_ns_list[1]->num_hfis=1
+subsystem_ns_list[1]->hfis[0]->index=1
+subsystem_ns_list[1]->transport=tcp
+subsystem_ns_list[1]->traddr=192.168.122.1
+subsystem_ns_list[1]->trsvcid=4420
+subsystem_ns_list[1]->subsys_port_id=0
+subsystem_ns_list[1]->nsid=201
+subsystem_ns_list[1]->nid_type=3
+subsystem_ns_list[1]->nid=9b9e1b6ea02c427fbdeb2a0be9cb945
+subsystem_ns_list[1]->subsys_nqn=nqn.2014-08.org.nvmexpress.boot.poc:test-target
+subsystem_ns_list[1]->pdu_header_digest_required=0
+subsystem_ns_list[1]->data_digest_required=0
+subsystem_ns_list[1]->controller_id=0
+subsystem_ns_list[1]->asqsz=0
+subsystem_ns_list[1]->dhcp_root_path_string=(null)
+subsystem_ns_list[1]->discovered=1
+subsystem_ns_list[1]->unavailable=0
+subsystem_ns_list[2]->index=3
+subsystem_ns_list[2]->discovery->index=1
+subsystem_ns_list[2]->num_hfis=1
+subsystem_ns_list[2]->hfis[0]->index=1
+subsystem_ns_list[2]->transport=tcp
+subsystem_ns_list[2]->traddr=192.168.122.1
+subsystem_ns_list[2]->trsvcid=4420
+subsystem_ns_list[2]->subsys_port_id=0
+subsystem_ns_list[2]->nsid=202
+subsystem_ns_list[2]->nid_type=3
+subsystem_ns_list[2]->nid=5353d4e551a40f492a563231b833c5
+subsystem_ns_list[2]->subsys_nqn=nqn.2014-08.org.nvmexpress.boot.poc:test-target
+subsystem_ns_list[2]->pdu_header_digest_required=0
+subsystem_ns_list[2]->data_digest_required=0
+subsystem_ns_list[2]->controller_id=0
+subsystem_ns_list[2]->asqsz=0
+subsystem_ns_list[2]->dhcp_root_path_string=(null)
+subsystem_ns_list[2]->discovered=1
+subsystem_ns_list[2]->unavailable=0
+subsystem_ns_list[3]->index=4
+subsystem_ns_list[3]->discovery->index=1
+subsystem_ns_list[3]->num_hfis=1
+subsystem_ns_list[3]->hfis[0]->index=1
+subsystem_ns_list[3]->transport=tcp
+subsystem_ns_list[3]->traddr=192.168.122.1
+subsystem_ns_list[3]->trsvcid=4420
+subsystem_ns_list[3]->subsys_port_id=0
+subsystem_ns_list[3]->nsid=203
+subsystem_ns_list[3]->nid_type=3
+subsystem_ns_list[3]->nid=fb13e6ffac2940c0a988cb1c17d39f4b
+subsystem_ns_list[3]->subsys_nqn=nqn.2014-08.org.nvmexpress.boot.poc:test-target
+subsystem_ns_list[3]->pdu_header_digest_required=0
+subsystem_ns_list[3]->data_digest_required=0
+subsystem_ns_list[3]->controller_id=0
+subsystem_ns_list[3]->asqsz=0
+subsystem_ns_list[3]->dhcp_root_path_string=(null)
+subsystem_ns_list[3]->discovered=1
+subsystem_ns_list[3]->unavailable=0
+subsystem_ns_list[4]->index=5
+subsystem_ns_list[4]->discovery->index=2
+subsystem_ns_list[4]->num_hfis=1
+subsystem_ns_list[4]->hfis[0]->index=2
+subsystem_ns_list[4]->transport=tcp
+subsystem_ns_list[4]->traddr=4321::bbbb:1
+subsystem_ns_list[4]->trsvcid=4420
+subsystem_ns_list[4]->subsys_port_id=0
+subsystem_ns_list[4]->nsid=0
+subsystem_ns_list[4]->nid_type=0
+subsystem_ns_list[4]->nid=0000000000000000
+subsystem_ns_list[4]->subsys_nqn=nqn.2014-08.org.nvmexpress.discovery
+subsystem_ns_list[4]->pdu_header_digest_required=0
+subsystem_ns_list[4]->data_digest_required=0
+subsystem_ns_list[4]->controller_id=0
+subsystem_ns_list[4]->asqsz=0
+subsystem_ns_list[4]->dhcp_root_path_string=(null)
+subsystem_ns_list[4]->discovered=1
+subsystem_ns_list[4]->unavailable=1
diff --git a/test/nbft/diffs/NBFT-rhpoc b/test/nbft/diffs/NBFT-rhpoc
index d4b4ad8..027ea40 100644
--- a/test/nbft/diffs/NBFT-rhpoc
+++ b/test/nbft/diffs/NBFT-rhpoc
@@ -23,7 +23,6 @@ hfi_list[0]->tcp_info.dhcp_override=0
subsystem_ns_list[0]->index=1
subsystem_ns_list[0]->num_hfis=1
subsystem_ns_list[0]->hfis[0]->index=1
-subsystem_ns_list[0]->hfis[1]->index=1
subsystem_ns_list[0]->transport=tcp
subsystem_ns_list[0]->traddr=192.168.101.20
subsystem_ns_list[0]->trsvcid=4420
@@ -37,3 +36,5 @@ subsystem_ns_list[0]->data_digest_required=0
subsystem_ns_list[0]->controller_id=12
subsystem_ns_list[0]->asqsz=0
subsystem_ns_list[0]->dhcp_root_path_string=(null)
+subsystem_ns_list[0]->discovered=0
+subsystem_ns_list[0]->unavailable=0
diff --git a/test/nbft/diffs/NBFT-static-ipv4 b/test/nbft/diffs/NBFT-static-ipv4
index 715b30d..697d0e5 100644
--- a/test/nbft/diffs/NBFT-static-ipv4
+++ b/test/nbft/diffs/NBFT-static-ipv4
@@ -23,7 +23,6 @@ hfi_list[0]->tcp_info.dhcp_override=0
subsystem_ns_list[0]->index=1
subsystem_ns_list[0]->num_hfis=1
subsystem_ns_list[0]->hfis[0]->index=1
-subsystem_ns_list[0]->hfis[1]->index=1
subsystem_ns_list[0]->transport=tcp
subsystem_ns_list[0]->traddr=192.168.49.10
subsystem_ns_list[0]->trsvcid=4420
@@ -37,3 +36,5 @@ subsystem_ns_list[0]->data_digest_required=0
subsystem_ns_list[0]->controller_id=38
subsystem_ns_list[0]->asqsz=0
subsystem_ns_list[0]->dhcp_root_path_string=(null)
+subsystem_ns_list[0]->discovered=0
+subsystem_ns_list[0]->unavailable=0
diff --git a/test/nbft/diffs/NBFT-static-ipv4-discovery b/test/nbft/diffs/NBFT-static-ipv4-discovery
index 67881b6..22473a0 100644
--- a/test/nbft/diffs/NBFT-static-ipv4-discovery
+++ b/test/nbft/diffs/NBFT-static-ipv4-discovery
@@ -28,7 +28,6 @@ subsystem_ns_list[0]->index=1
subsystem_ns_list[0]->discovery->index=1
subsystem_ns_list[0]->num_hfis=1
subsystem_ns_list[0]->hfis[0]->index=1
-subsystem_ns_list[0]->hfis[1]->index=1
subsystem_ns_list[0]->transport=tcp
subsystem_ns_list[0]->traddr=192.168.49.10
subsystem_ns_list[0]->trsvcid=4420
@@ -42,3 +41,5 @@ subsystem_ns_list[0]->data_digest_required=0
subsystem_ns_list[0]->controller_id=13
subsystem_ns_list[0]->asqsz=0
subsystem_ns_list[0]->dhcp_root_path_string=(null)
+subsystem_ns_list[0]->discovered=1
+subsystem_ns_list[0]->unavailable=0
diff --git a/test/nbft/diffs/NBFT-static-ipv6 b/test/nbft/diffs/NBFT-static-ipv6
index a5b02c1..12554f5 100644
--- a/test/nbft/diffs/NBFT-static-ipv6
+++ b/test/nbft/diffs/NBFT-static-ipv6
@@ -23,7 +23,6 @@ hfi_list[0]->tcp_info.dhcp_override=0
subsystem_ns_list[0]->index=1
subsystem_ns_list[0]->num_hfis=1
subsystem_ns_list[0]->hfis[0]->index=1
-subsystem_ns_list[0]->hfis[1]->index=1
subsystem_ns_list[0]->transport=tcp
subsystem_ns_list[0]->traddr=fd09:9a46:b5c1:1fe::13f
subsystem_ns_list[0]->trsvcid=4420
@@ -37,3 +36,5 @@ subsystem_ns_list[0]->data_digest_required=0
subsystem_ns_list[0]->controller_id=9
subsystem_ns_list[0]->asqsz=0
subsystem_ns_list[0]->dhcp_root_path_string=(null)
+subsystem_ns_list[0]->discovered=0
+subsystem_ns_list[0]->unavailable=0
diff --git a/test/nbft/meson.build b/test/nbft/meson.build
index 67b2d95..7882df6 100644
--- a/test/nbft/meson.build
+++ b/test/nbft/meson.build
@@ -18,6 +18,10 @@ tables = [
'NBFT-static-ipv4',
'NBFT-static-ipv4-discovery',
'NBFT-static-ipv6',
+ 'NBFT-Dell.PowerEdge.R760',
+ 'NBFT-Dell.PowerEdge.R660-fw1.5.5-single',
+ 'NBFT-Dell.PowerEdge.R660-fw1.5.5-mpath+discovery',
+ 'NBFT-mpath+disc-ipv4+6_half'
]
tables_bad = [
diff --git a/test/nbft/nbft-dump.c b/test/nbft/nbft-dump.c
index 3ff5efa..5fb2f2e 100644
--- a/test/nbft/nbft-dump.c
+++ b/test/nbft/nbft-dump.c
@@ -96,6 +96,8 @@ static void print_nbft(struct nbft_info *table)
printf("subsystem_ns_list[%u]->controller_id=%d\n", i, (*ssns)->controller_id);
printf("subsystem_ns_list[%u]->asqsz=%d\n", i, (*ssns)->asqsz);
printf("subsystem_ns_list[%u]->dhcp_root_path_string=%s\n", i, (*ssns)->dhcp_root_path_string);
+ printf("subsystem_ns_list[%u]->discovered=%d\n", i, (*ssns)->discovered);
+ printf("subsystem_ns_list[%u]->unavailable=%d\n", i, (*ssns)->unavailable);
}
}
diff --git a/test/nbft/tables/NBFT-Dell.PowerEdge.R660-fw1.5.5-mpath+discovery b/test/nbft/tables/NBFT-Dell.PowerEdge.R660-fw1.5.5-mpath+discovery
new file mode 100644
index 0000000..0fbb35c
--- /dev/null
+++ b/test/nbft/tables/NBFT-Dell.PowerEdge.R660-fw1.5.5-mpath+discovery
Binary files differ
diff --git a/test/nbft/tables/NBFT-Dell.PowerEdge.R660-fw1.5.5-single b/test/nbft/tables/NBFT-Dell.PowerEdge.R660-fw1.5.5-single
new file mode 100644
index 0000000..845a8e2
--- /dev/null
+++ b/test/nbft/tables/NBFT-Dell.PowerEdge.R660-fw1.5.5-single
Binary files differ
diff --git a/test/nbft/tables/NBFT-Dell.PowerEdge.R760 b/test/nbft/tables/NBFT-Dell.PowerEdge.R760
new file mode 120000
index 0000000..2e5c8dc
--- /dev/null
+++ b/test/nbft/tables/NBFT-Dell.PowerEdge.R760
@@ -0,0 +1 @@
+../../../libnvme/tests/NBFT \ No newline at end of file
diff --git a/test/nbft/tables/NBFT-mpath+disc-ipv4+6_half b/test/nbft/tables/NBFT-mpath+disc-ipv4+6_half
new file mode 100644
index 0000000..13333b1
--- /dev/null
+++ b/test/nbft/tables/NBFT-mpath+disc-ipv4+6_half
Binary files differ
diff --git a/test/register.c b/test/register.c
index 8a41628..1fb692b 100644
--- a/test/register.c
+++ b/test/register.c
@@ -79,10 +79,13 @@ void nvme_print_registers(void *regs)
printf(" %-8s : %llx\n", "NSSRC", NVME_CAP_NSSRC(cap));
printf(" %-8s : %llx\n", "CSS", NVME_CAP_CSS(cap));
printf(" %-8s : %llx\n", "BPS", NVME_CAP_BPS(cap));
+ printf(" %-8s : %llx\n", "CPS", NVME_CAP_CPS(cap));
printf(" %-8s : %llx\n", "MPSMIN", NVME_CAP_MPSMIN(cap));
printf(" %-8s : %llx\n", "MPSMAX", NVME_CAP_MPSMAX(cap));
- printf(" %-8s : %llx\n", "CMBS", NVME_CAP_CMBS(cap));
printf(" %-8s : %llx\n", "PMRS", NVME_CAP_PMRS(cap));
+ printf(" %-8s : %llx\n", "CMBS", NVME_CAP_CMBS(cap));
+ printf(" %-8s : %llx\n", "NSSS", NVME_CAP_NSSS(cap));
+ printf(" %-8s : %llx\n", "CRMS", NVME_CAP_CRMS(cap));
printf("%-10s : %x\n", "VS", vs);
printf(" %-8s : %x\n", "MJR", NVME_VS_TER(vs));
@@ -107,6 +110,7 @@ void nvme_print_registers(void *regs)
printf(" %-8s : %x\n", "SHST", NVME_CSTS_SHST(csts));
printf(" %-8s : %x\n", "NSSRO", NVME_CSTS_NSSRO(csts));
printf(" %-8s : %x\n", "PP", NVME_CSTS_PP(csts));
+ printf(" %-8s : %x\n", "ST", NVME_CSTS_ST(csts));
printf("%-10s : %x\n", "NSSR", nssr);
@@ -162,7 +166,7 @@ void nvme_print_registers(void *regs)
printf(" %-8s : %x\n", "WDS", NVME_PMRCAP_WDS(pmrcap));
printf(" %-8s : %x\n", "BIR", NVME_PMRCAP_BIR(pmrcap));
printf(" %-8s : %x\n", "PMRTU", NVME_PMRCAP_PMRTU(pmrcap));
- printf(" %-8s : %x\n", "PMRWMB", NVME_PMRCAP_PMRWMB(pmrcap));
+ printf(" %-8s : %x\n", "PMRWBM", NVME_PMRCAP_PMRWBM(pmrcap));
printf(" %-8s : %x\n", "PMRTO", NVME_PMRCAP_PMRTO(pmrcap));
printf(" %-8s : %x\n", "CMSS", NVME_PMRCAP_CMSS(pmrcap));
diff --git a/test/sysfs/data/nvme-sysfs-tw-carbon-6.8.0-rc1+.out b/test/sysfs/data/nvme-sysfs-tw-carbon-6.8.0-rc1+.out
new file mode 100644
index 0000000..1cb6de4
--- /dev/null
+++ b/test/sysfs/data/nvme-sysfs-tw-carbon-6.8.0-rc1+.out
@@ -0,0 +1,32 @@
+{
+ "hosts":[
+ {
+ "hostnqn":"nqn.2014-08.org.nvmexpress:uuid:ce4fee3e-c02c-11ee-8442-830d068a36c6",
+ "hostid":"ce4fee3e-c02c-11ee-8442-830d068a36c6",
+ "subsystems":[
+ {
+ "name":"nvme-subsys1",
+ "nqn":"nqn.2019-08.org.qemu:nvme-0",
+ "controllers":[
+ {
+ "name":"nvme1",
+ "transport":"pcie",
+ "traddr":"0000:00:05.0"
+ }
+ ]
+ },
+ {
+ "name":"nvme-subsys0",
+ "nqn":"nqn.2019-08.org.qemu:subsys1",
+ "controllers":[
+ {
+ "name":"nvme0",
+ "transport":"pcie",
+ "traddr":"0000:0f:00.0"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
diff --git a/test/sysfs/data/nvme-sysfs-tw-carbon-6.8.0-rc1+.tar.xz b/test/sysfs/data/nvme-sysfs-tw-carbon-6.8.0-rc1+.tar.xz
new file mode 100644
index 0000000..ee11fde
--- /dev/null
+++ b/test/sysfs/data/nvme-sysfs-tw-carbon-6.8.0-rc1+.tar.xz
Binary files differ
diff --git a/test/sysfs/meson.build b/test/sysfs/meson.build
new file mode 100644
index 0000000..119fa97
--- /dev/null
+++ b/test/sysfs/meson.build
@@ -0,0 +1,36 @@
+# SPDX-License-Identifier: LGPL-2.1-or-later
+#
+# This file is part of libnvme.
+# Copyright (c) 2024 SUSE LLC.
+#
+# Authors: Daniel Wagner <dwagner@suse.de>
+
+diff = find_program('diff', required : false)
+if diff.found()
+ sysfs_tree_print = executable(
+ 'sysfs-tree-print',
+ ['sysfs.c'],
+ dependencies: libnvme_dep,
+ include_directories: [incdir],
+ )
+
+ sysfs_files= [
+ 'nvme-sysfs-tw-carbon-6.8.0-rc1+'
+ ]
+
+ sysfs_tree_diff = find_program('sysfs-tree-diff.sh')
+
+ foreach t_file : sysfs_files
+ test(
+ 'sysfs',
+ sysfs_tree_diff,
+ args : [
+ meson.current_build_dir(),
+ sysfs_tree_print.full_path(),
+ files('data'/t_file + '.tar.xz'),
+ files('data'/t_file + '.out'),
+ ],
+ depends : sysfs_tree_print,
+ )
+ endforeach
+endif
diff --git a/test/sysfs/sysfs-tree-diff.sh b/test/sysfs/sysfs-tree-diff.sh
new file mode 100644
index 0000000..dfe3cb3
--- /dev/null
+++ b/test/sysfs/sysfs-tree-diff.sh
@@ -0,0 +1,22 @@
+#!/bin/bash -e
+# SPDX-License-Identifier: LGPL-2.1-or-later
+
+BUILD_DIR=$1
+SYSFS_TREE_PRINT=$2
+INPUT=$3
+EXPECTED_OUTPUT=$4
+
+TEST_NAME="$(basename -s .tar.xz $INPUT)"
+TEST_DIR="$BUILD_DIR/$TEST_NAME"
+ACTUAL_OUTPUT="$TEST_DIR.out"
+
+rm -rf "$TEST_DIR"
+mkdir "$TEST_DIR"
+tar -x -f "$INPUT" -C "$TEST_DIR"
+
+LIBNVME_SYSFS_PATH="$TEST_DIR" \
+LIBNVME_HOSTNQN=nqn.2014-08.org.nvmexpress:uuid:ce4fee3e-c02c-11ee-8442-830d068a36c6 \
+LIBNVME_HOSTID=ce4fee3e-c02c-11ee-8442-830d068a36c6 \
+"$SYSFS_TREE_PRINT" > "$ACTUAL_OUTPUT"
+
+diff -u "$EXPECTED_OUTPUT" "$ACTUAL_OUTPUT"
diff --git a/test/sysfs/sysfs.c b/test/sysfs/sysfs.c
new file mode 100644
index 0000000..06d0035
--- /dev/null
+++ b/test/sysfs/sysfs.c
@@ -0,0 +1,24 @@
+// SPDX-License-Identifier: LGPL-2.1-or-later
+/**
+ * This file is part of libnvme.
+ * Copyright (c) 2024 Daniel Wagner, SUSE LLC
+ */
+
+#include <assert.h>
+
+#include <libnvme.h>
+
+int main(int argc, char *argv[])
+{
+ nvme_root_t r;
+
+ r = nvme_create_root(stdout, LOG_ERR);
+ assert(r);
+
+ assert(nvme_scan_topology(r, NULL, NULL) == 0);
+
+ assert(nvme_dump_tree(r) == 0);
+ printf("\n");
+
+ nvme_free_tree(r);
+}
diff --git a/test/test-util.c b/test/test-util.c
index 88a3f42..6bee89b 100644
--- a/test/test-util.c
+++ b/test/test-util.c
@@ -89,6 +89,58 @@ static bool test_ipaddrs_eq() {
return test_success;
}
+static bool test_nvme_id_ns_flbas_to_lbaf_inuse() {
+ const __u8 flbas[] = {
+ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
+ 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
+ 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
+ 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F,
+ 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
+ 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F,
+ 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
+ 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F,
+ 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
+ 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F,
+ 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
+ 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F,
+ 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
+ 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F,
+ 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
+ 0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F,
+ };
+ const __u8 inuse[] = {
+ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
+ 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
+ 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
+ 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
+ 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
+ 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F,
+ 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
+ 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F,
+ 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
+ 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F,
+ 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
+ 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F,
+ 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
+ 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F,
+ 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
+ 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F,
+ };
+ __u8 test_in_use;
+ bool result, test_success = true;
+
+ for (int i = 0; i < sizeof(flbas); i++) {
+ nvme_id_ns_flbas_to_lbaf_inuse(flbas[i], &test_in_use);
+ result = (test_in_use == inuse[i] ? true : false);
+ printf("flbas = 0x%02x, inuse = 0x%02x (expect = 0x%02x) %s\n",
+ flbas[i], test_in_use, inuse[i],
+ result ? "[PASS]" : "[FAIL]");
+ if (!result)
+ test_success = false;
+ }
+ return test_success;
+}
+
int main(int argc, char *argv[]) {
int exit_val = EXIT_SUCCESS;
bool pass;
@@ -117,5 +169,11 @@ int main(int argc, char *argv[]) {
if (!pass)
exit_val = EXIT_FAILURE;
+ printf("\n------------------------------------------------------------------------------\n");
+ pass = test_nvme_id_ns_flbas_to_lbaf_inuse();
+ printf("nvme_id_ns_flbas_to_lbaf_inuse() %s\n", pass ? "[PASS]" : "[FAIL]");
+ if (!pass)
+ exit_val = EXIT_FAILURE;
+
exit(exit_val);
}