From: Finn Thain <fthain@telegraphics.com.au>
To: Aleksandar Markovic <aleksandar.m.mail@gmail.com>,
Herve Poussineau <hpoussin@reactos.org>
Cc: Jason Wang <jasowang@redhat.com>,
Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
"qemu-stable@nongnu.org" <qemu-stable@nongnu.org>,
Laurent Vivier <laurent@vivier.eu>
Subject: Re: [PATCH 00/10] Fixes for DP8393X SONIC device emulation
Date: Mon, 16 Dec 2019 11:36:41 +1100 (AEDT) [thread overview]
Message-ID: <alpine.LNX.2.21.1.1912160906420.11@nippy.intranet> (raw)
In-Reply-To: <alpine.LNX.2.21.1.1912150915460.8@nippy.intranet>
On Sun, 15 Dec 2019, Finn Thain wrote:
> I test the qemu build like this,
>
> qemu-system-m68k -M q800 -m 512M -serial none -serial mon:stdio -g 800x600x4
> -net nic,model=dp83932,addr=00:00:00:01:02:03
> -net bridge,helper=/opt/qemu/libexec/qemu-bridge-helper,br=br0
> -append "fbcon=font:ProFont6x11 console=tty0 console=ttyS0 ignore_loglevel"
> -kernel vmlinux-4.14.157-mac-backport+
> -initrd /mnt/loop/install/cdrom/initrd.gz
>
> You can obtain this kernel binary from the linux-mac68k project on
> sourceforge. (I usually use a mainline Linux build but it makes no
> difference.)
>
One difficulty with testing these patches with Linux guests is some old
bugs in drivers/net/ethernet/natsemi/sonic.c that can cause tx watchdog
timeouts on real hardware.
I have some patches for that driver which may be useful when testing
QEMU's hw/net/dp8393x.c device. (I've pushed those patches to my github
repo.)
The second obstacle I have involves testing the dp8393x device with a
bridge device on a Linux/i686 host.
Running tcpdump in the Linux/m68k guest showed these two ping packets from
the host,
00:15:28.480164 IP 192.168.66.1 > 192.168.66.111: ICMP echo request, id 23957, seq 11, length 64
0x0000: 0800 0702 0304 fe16 d9ae 6943 0800 4500 ..........iC..E.
0x0010: 0054 ff4d 4000 4001 359a c0a8 4201 c0a8 .T.M@.@.5...B...
0x0020: 426f 0800 4243 5d95 000b a0cc f65d cfee Bo..BC]......]..
0x0030: 0600 0809 0a0b 0c0d 0e0f 1011 1213 1415 ................
0x0040: 1617 1819 1a1b 1c1d 1e1f 2021 2223 2425 ...........!"#$%
0x0050: 2627 2829 2a2b 2c2d 2e2f 3031 3233 3435 &'()*+,-./012345
0x0060: 3637 33e0 14c7 673...
00:15:29.341601 IP truncated-ip - 52 bytes missing! 192.168.66.1 > 192.168.66.111: ICMP echo request, id 23957, seq 12, length 64
0x0000: 0800 0702 0304 fe16 d9ae 6943 0800 4500 ..........iC..E.
0x0010: 0054 ff4e 4000 4001 3599 c0a8 4201 c0a8 .T.N@.@.5...B...
0x0020: 426f 0800 d61a 5d95 000c a0cc f65d Bo....]......]
Sniffing br0 on the host shows no sign of the truncated packet at all
which leaves a gap in the packet sequence numbers captured on the host.
Weird.
When I log the calls to,
static ssize_t dp8393x_receive(NetClientState *nc, const uint8_t * buf,
size_t pkt_size)
the corresponding pkt_size values look like this,
pkt_size 98
pkt_size 42
So this seems to show that the bug is not in dp8393x. Possibly not in
QEMU?
I don't see any options in 'man brctl' that might explain why the host and
guest see different packets. I guess I'll have to find a way to avoid
using bridge interfaces (?)
next prev parent reply other threads:[~2019-12-16 0:37 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-14 1:25 [PATCH 00/10] Fixes for DP8393X SONIC device emulation Finn Thain
2019-12-14 1:25 ` [PATCH 06/10] dp8393x: Clear RRRA command register bit only when appropriate Finn Thain
2019-12-14 13:31 ` Philippe Mathieu-Daudé
2019-12-14 1:25 ` [PATCH 07/10] dp8393x: Implement TBWC0 and TBWC1 registers to restore buffer state Finn Thain
2019-12-14 1:25 ` [PATCH 04/10] dp8393x: Don't advance RX descriptor twice Finn Thain
2019-12-14 1:25 ` [PATCH 01/10] dp8393x: Mask EOL bit from descriptor addresses Finn Thain
2019-12-14 13:35 ` Philippe Mathieu-Daudé
2019-12-14 23:21 ` Finn Thain
2019-12-14 1:25 ` [PATCH 10/10] dp8393x: Don't clobber packet checksum Finn Thain
2019-12-14 13:21 ` Philippe Mathieu-Daudé
2019-12-14 1:25 ` [PATCH 08/10] dp8393x: Implement packet size limit and RBAE interrupt Finn Thain
2019-12-14 1:25 ` [PATCH 03/10] dp8393x: Have dp8393x_receive() return the packet size Finn Thain
2019-12-14 13:26 ` Philippe Mathieu-Daudé
2019-12-14 1:25 ` [PATCH 09/10] dp8393x: Don't stop reception upon RBE interrupt assertion Finn Thain
2019-12-14 1:25 ` [PATCH 02/10] dp8393x: Clean up endianness hacks Finn Thain
2019-12-14 1:25 ` [PATCH 05/10] dp8393x: Update LLFA register Finn Thain
2019-12-14 1:43 ` [PATCH 00/10] Fixes for DP8393X SONIC device emulation no-reply
2019-12-14 2:52 ` Finn Thain
2019-12-14 13:38 ` Philippe Mathieu-Daudé
2019-12-14 13:45 ` Eric Blake
2019-12-14 17:17 ` Aleksandar Markovic
2019-12-14 23:16 ` Finn Thain
2019-12-14 23:32 ` Aleksandar Markovic
2019-12-14 23:35 ` Aleksandar Markovic
2019-12-20 4:24 ` Finn Thain
2019-12-23 17:17 ` Philippe Mathieu-Daudé
2019-12-24 0:12 ` NetBSD/arc on MIPS Magnum, was " Finn Thain
2019-12-24 4:33 ` Finn Thain
2019-12-24 6:53 ` Hervé Poussineau
2020-01-06 22:15 ` Finn Thain
2019-12-16 0:36 ` Finn Thain [this message]
2019-12-20 4:21 ` Finn Thain
2019-12-20 11:38 ` Aleksandar Markovic
2019-12-20 12:03 ` Aleksandar Markovic
2019-12-20 12:54 ` Laurent Vivier
2019-12-20 23:22 ` Finn Thain
2019-12-21 12:03 ` Aleksandar Markovic
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.LNX.2.21.1.1912160906420.11@nippy.intranet \
--to=fthain@telegraphics.com.au \
--cc=aleksandar.m.mail@gmail.com \
--cc=aleksandar.rikalo@rt-rk.com \
--cc=hpoussin@reactos.org \
--cc=jasowang@redhat.com \
--cc=laurent@vivier.eu \
--cc=qemu-devel@nongnu.org \
--cc=qemu-stable@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).