Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 06 Sep 2015 19:22:18 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-net@FreeBSD.org
Subject:   [Bug 202875] ixv driver in 11.0-CURRENT doesn't pass traffic using KVM hypervisor
Message-ID:  <bug-202875-2472-uec4GdALhy@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-202875-2472@https.bugs.freebsd.org/bugzilla/>
References:  <bug-202875-2472@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=202875

--- Comment #6 from Patrick Kelsey <pkelsey@freebsd.org> ---
(In reply to Jeff Pieper from comment #5)
> (In reply to Patrick Kelsey from comment #3)
> 
> Our internal out-of-tree driver has all commits included in HEAD with the
> exceptions being r285590 and r285592, and It works as expected. During
> discussion with Eric Joyner, r285590 was determined to be the most likely
> cause.

If you are down to two revisions in question, that's only one patch-and-test
step away from knowing with certainty which is the culprit...

If r285590 is indeed the culprit, then the change I made to the receive tail
pointer initialization needs to be looked at.  On the hardware I was using at
least, initializing the tail pointer before enabling the queue was not
sufficient because enabling the queue would clear the tail pointer (the driver
was working only by coincidence as it would wind up falling into the rx ring
refresh logic and wind up rewriting the tail pointer).  Moving the
initialization to after the queue was enabled resolved this issue.  Perhaps
there are other constraints/requirements on tail pointer initialization - for
example, maybe on some hardware, enabling the queue with both the head and tail
pointers set to zero wedges the queue, or maybe another wmb() is required
between the tail pointer initialization where it is now and the register writes
that follow.

The hardware I'm using:

ix0@pci0:6:0:0: class=0x020000 card=0x000c8086 chip=0x10fb8086 rev=0x01
hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82599EB 10-Gigabit SFI/SFP+ Network Connection'

On the hardware you are seeing this issue on, are you able to test ixv under a
FreeBSD 11.0-CURRENT host? By that, I mean run FreeBSD as the host on the
system and create and test VFs within the host by using iovctl.

-- 
You are receiving this mail because:
You are the assignee for the bug.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-202875-2472-uec4GdALhy>