From 526224a6b8e67d3831e8de241c1a7888792f0cf7 Mon Sep 17 00:00:00 2001 From: Tomas Bzatek Date: Fri, 2 May 2025 18:28:04 +0200 Subject: [PATCH 1/2] tests: Add sample NBFT table with empty HFI ipv6 address Contains a single HFI record with an unconfigured IPv6 address ('::'), referenced to by a discovery descriptor and corresponding SSNS record. In theory this is recoverable by having the distribution network management framework re-acquire an IP address, followed by NVMe discovery and connect-all. Signed-off-by: Tomas Bzatek --- test/nbft/diffs/NBFT-ipv6-noip+disc | 45 +++++++++++++++++++++++++++ test/nbft/meson.build | 3 +- test/nbft/tables/NBFT-ipv6-noip+disc | Bin 0 -> 785 bytes 3 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 test/nbft/diffs/NBFT-ipv6-noip+disc create mode 100644 test/nbft/tables/NBFT-ipv6-noip+disc diff --git a/test/nbft/diffs/NBFT-ipv6-noip+disc b/test/nbft/diffs/NBFT-ipv6-noip+disc new file mode 100644 index 000000000..620912f1c --- /dev/null +++ b/test/nbft/diffs/NBFT-ipv6-noip+disc @@ -0,0 +1,45 @@ +raw_nbft_size=785 +host.id=78563412aaaabbbbcccc123456789012 +host.nqn=nqn.2014-08.org.nvmexpress:uuid:12345678-aaaa-bbbb-cccc-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=3329 +hfi_list[0]->tcp_info.mac_addr=40a6b7c08ac9 +hfi_list[0]->tcp_info.vlan=0 +hfi_list[0]->tcp_info.ip_origin=3 +hfi_list[0]->tcp_info.ipaddr=:: +hfi_list[0]->tcp_info.subnet_mask_prefix=0 +hfi_list[0]->tcp_info.gateway_ipaddr=:: +hfi_list[0]->tcp_info.route_metric=500 +hfi_list[0]->tcp_info.primary_dns_ipaddr=:: +hfi_list[0]->tcp_info.secondary_dns_ipaddr=:: +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=1 +discovery_list[0]->index=1 +discovery_list[0]->hfi->index=1 +discovery_list[0]->uri=nvme+tcp://[4321:BBBB::1]:4420/ +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=4321:bbbb::1 +subsystem_ns_list[0]->trsvcid=4420 +subsystem_ns_list[0]->subsys_port_id=0 +subsystem_ns_list[0]->nsid=0 +subsystem_ns_list[0]->nid_type=0 +subsystem_ns_list[0]->nid=0000000000000000 +subsystem_ns_list[0]->subsys_nqn=nqn.2014-08.org.nvmexpress.discovery +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=1 diff --git a/test/nbft/meson.build b/test/nbft/meson.build index 7882df612..b2603ac4b 100644 --- a/test/nbft/meson.build +++ b/test/nbft/meson.build @@ -21,7 +21,8 @@ tables = [ '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' + 'NBFT-mpath+disc-ipv4+6_half', + 'NBFT-ipv6-noip+disc' ] tables_bad = [ diff --git a/test/nbft/tables/NBFT-ipv6-noip+disc b/test/nbft/tables/NBFT-ipv6-noip+disc new file mode 100644 index 0000000000000000000000000000000000000000..7a0690cb9ab504388e3031b27eecef3c84498a5d GIT binary patch literal 785 zcmb7ByGjF55S?p+!9vjZ0j^*Xk(=zjd$X@XlFjZ`L42kW@sTVN(5Q)q2!g2vLBtQR zvaqvJBuxq%A%!1eVPR+Etg8?=cv$f7sGs;V zb+FPXJiS*9mvHL|)lgloazPzgQK_(PPK~T;QOB?>J*zTB)zT9wx9*lVy@X>4T@y^9 zve0EJat4ZBrcs+2Lg%)^({_3SD!Y{=mzkilp4_f(BrEkTud!40YBh6zzg#jIS43LX zbh?J1>j+vz&>(Nfj6;mza?uXr1ut*g#}5FZRfh)&qL*(c44B_MxqmGAn&+eOxp!@D ztkvrIiGUDX#_Rk%U9wcJ6}RhN^#BI2_b;vZTbSG{?wG06l2AA^Ere;ZWz#R5`di&M D#@%lL literal 0 HcmV?d00001 From f5be67f2d00105ed751756ba5b4ec2b2b3bac48a Mon Sep 17 00:00:00 2001 From: Tomas Bzatek Date: Fri, 2 May 2025 19:01:46 +0200 Subject: [PATCH 2/2] tests: Add an empty NBFT table Some machines still do provide an empty NBFT table even when the whole NVMeoF subsystem is not enabled in the UEFI Setup. Contains just the HostNQN and HostID configured from the time it was enabled. Signed-off-by: Tomas Bzatek --- test/nbft/diffs/NBFT-empty | 6 ++++++ test/nbft/meson.build | 3 ++- test/nbft/tables/NBFT-empty | Bin 0 -> 315 bytes 3 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 test/nbft/diffs/NBFT-empty create mode 100644 test/nbft/tables/NBFT-empty diff --git a/test/nbft/diffs/NBFT-empty b/test/nbft/diffs/NBFT-empty new file mode 100644 index 000000000..b8b84e15d --- /dev/null +++ b/test/nbft/diffs/NBFT-empty @@ -0,0 +1,6 @@ +raw_nbft_size=315 +host.id=78563412aaaabbbbcccc123456789012 +host.nqn=nqn.2014-08.org.nvmexpress:uuid:12345678-aaaa-bbbb-cccc-123456789012 +host.host_id_configured=1 +host.host_nqn_configured=1 +host.primary=0 diff --git a/test/nbft/meson.build b/test/nbft/meson.build index b2603ac4b..fcef93440 100644 --- a/test/nbft/meson.build +++ b/test/nbft/meson.build @@ -22,7 +22,8 @@ tables = [ 'NBFT-Dell.PowerEdge.R660-fw1.5.5-single', 'NBFT-Dell.PowerEdge.R660-fw1.5.5-mpath+discovery', 'NBFT-mpath+disc-ipv4+6_half', - 'NBFT-ipv6-noip+disc' + 'NBFT-ipv6-noip+disc', + 'NBFT-empty' ] tables_bad = [ diff --git a/test/nbft/tables/NBFT-empty b/test/nbft/tables/NBFT-empty new file mode 100644 index 0000000000000000000000000000000000000000..b558b6c5ab26a8346582b1adb4c988c04764da4a GIT binary patch literal 315 zcmb7+Jx&8L5QV)o^veZYCdDlNnf2PCA&%`TLXiS#5kIRa5iF1>t1USKJq>lPkSpXo z)C@%;T0ZINjo!?>E1#|}GRCrHh~qKmlXyEFY0eqJi8ES#(fmpJ^&8S(GWxw_8GEOY zlmC~K({6_OcDvi{_c_kGkNle|!m%c`J>yJLMj=F@4PXcg+|YQ4&U-sFQk$ympQko0 zp6XuoXe*Q&1X=+&a&(+z1wlHrDri-Pvd@~grcgp62wS|Y=0(#!*WK%?Uatq6&Ejz& VmB!Lk7VZeRC*XmAL+*rB><3-iIRO9w literal 0 HcmV?d00001