diff options
Diffstat (limited to 'results/classifier/zero-shot/108/other/1957')
| -rw-r--r-- | results/classifier/zero-shot/108/other/1957 | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/results/classifier/zero-shot/108/other/1957 b/results/classifier/zero-shot/108/other/1957 new file mode 100644 index 000000000..4d1d626c7 --- /dev/null +++ b/results/classifier/zero-shot/108/other/1957 @@ -0,0 +1,35 @@ +files: 0.876 +performance: 0.809 +network: 0.804 +graphic: 0.797 +device: 0.712 +boot: 0.689 +semantic: 0.582 +other: 0.539 +permissions: 0.532 +vnc: 0.530 +socket: 0.510 +PID: 0.453 +debug: 0.424 +KVM: 0.245 + +Reading files failed from QEMU TFTP server +Description of problem: +QEMU TFTP server on Linux is sensitive to the filename delimiters: + +After building QEMU UEFI firmware with the entire NetworkPkg stack and booting to UEFI shell, one can use `tftp` command to read files from the QEMU TFTP server specified during QEMU launching. i.e. `tftp 10.0.2.2 Boot\BCD`. However, when setting up the TFTP folder to be exactly the same (Linux and Windows), the result for running this command is different. On Windows host, this tftp command from emulated UEFI shell will proceed properly. But on Linux host, this will fail with "File Not Found". + +The issue seems to be around the slirp engine used by QEMU: the received packet will hand off to slirp as is, which leads to a host specific libc implementation of "open" function call: https://git.launchpad.net/ubuntu/+source/libslirp/tree/src/tftp.c#n113. Thus the server result would be different when the host is different. + +This will cause the PXE boot to fail when setting up the PXE folder on through QEMU on Linux because Windows will attempt to read BCD file at the same directory of the initial boot file, with a `\` in between. + +As TFTP protocol seems to be folder agnostic (just file names), in this case, should the TFTP server (QEMU here) handle the path normalization to make sure the file lookup to go through? Otherwise, Windows PXE boot on QEMU Linux host will always fail. + +Any suggestion here? Thanks in advance! +Steps to reproduce: +1. Build OVMF UEFI with full network stack +2. Launch QEMU with the built UEFI with nic enabled, boot to UEFI shell. +3. Invoke `tftp 10.0.2.2 Boot\BCD` from UEFI shell. +4. When performing step 1-3 on Windows, this will succeed. But on Linux, this will fail with "File Not Found" +Additional information: +Attached is a wireshark dump from QEMU on Linux host. The same command sequence will all be successful on Windows host. |