qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
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 (?)


  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).