On Thu, Mar 21, 2024 at 11:47:45PM +1100, David Gibson wrote:
On Thu, Mar 21, 2024 at 01:21:03PM +0100, Laurent Vivier wrote:
On 3/21/24 11:55, David Gibson wrote:
On Thu, Mar 21, 2024 at 09:26:58AM +0100, Laurent Vivier wrote:
On 3/21/24 02:26, David Gibson wrote:
On Wed, Mar 20, 2024 at 05:31:46PM +0100, Laurent Vivier wrote:
To be able to provide pointers to TCP headers and IP headers without worrying about alignment in the structure, split the structure into several arrays and point to each part of the frame using an iovec array.
Using iovec also allows us to simply ignore the first entry when the vnet length header is not needed.
Signed-off-by: Laurent Vivier
[snip]
+static_assert(MSS4 <= sizeof(tcp4_payload[0].data));
This generates a clang-tidy warning, because apparently the C11 version of static_assert() requires a message - making it optional is a C2x extension.
Laurent, I know you're having trouble getting the full testsuite to run (but some ideas on that later today, I hope). But could you please add a "make cppcheck" and "make clang-tidy" to your pre-post routine.
I'll do. Thank you to have checked that. Are there any other commands to run before to send? Something like scripts/chekpatch.pl we have in QEMU?
I have always the same problem with the test suite, even after a "make realclean" in test (see attachment) How to debug?
Huh. Guest kernel can't find root. That's not a fault I was expecting (and alas, won't be helped by the patch I have in the works).
What's really weird is I don't see any signs of loading the initrd before that failure, and with the mbuto images we're using we should never *leave* the initrd. Which kind of makes sense - if it's not seeing the initrd, then there is indeed no root to mount.
Can you gran the full qemu command line it's trying to use?
My file mbuto seems to be empty:
Welp, that would explain it.
$ cd test/ $ make ./mbuto/mbuto -p ./passt.mem.mbuto -c lz4 -f mbuto.mem.img Applying profile from file ./passt.mem.mbuto depmod: WARNING: could not open modules.builtin.modinfo at /tmp/tmp.0Xr88SNogx/lib/modules/6.7.9-200.fc39.x86_64: No such file or directory
So now we have two mysteries. 1) Why is depmod failing here, and 2) why isn't depmod failing causing mbuto to fail, rather than generating nonsense output.
Can you get the output of running mbuto with sh -x? That might shed some light.
Size: bin 4.9M lib 15M kmod 218k total 20M compressed 4.1k KERNEL=/boot/vmlinuz-6.7.9-200.fc39.x86_64 INITRD=/home/lvivier/Projects/passt/test/mbuto.mem.img initramfs mounted at: /tmp/tmp.0Xr88SNogx $ ls -l /home/lvivier/Projects/passt/test/mbuto.mem.img -rw-r--r--. 1 lvivier lvivier 50 Mar 21 13:17 /home/lvivier/Projects/passt/test/mbuto.mem.img $ gzip -d - < /home/lvivier/Projects/passt/test/mbuto.mem.img|hexdump -C 00000000 30 37 30 37 30 31 30 30 30 30 30 30 30 30 30 30 |0707010000000000| 00000010 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 |0000000000000000| 00000020 30 30 30 30 30 30 30 30 30 30 30 30 30 31 30 30 |0000000000000100| 00000030 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 |0000000000000000| * 00000060 30 30 30 30 30 42 30 30 30 30 30 30 30 30 54 52 |00000B00000000TR| 00000070 41 49 4c 45 52 21 21 21 00 00 00 00 00 00 00 00 |AILER!!!........| 00000080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 00000200
Thanks, Laurent
-- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson