From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44276) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Veq1Y-0004ZD-PC for qemu-devel@nongnu.org; Fri, 08 Nov 2013 12:39:18 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Veq1S-0006Ul-Ov for qemu-devel@nongnu.org; Fri, 08 Nov 2013 12:39:12 -0500 Received: from mx1.redhat.com ([209.132.183.28]:9403) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Veq1S-0006UP-EV for qemu-devel@nongnu.org; Fri, 08 Nov 2013 12:39:06 -0500 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id rA8Hd3HK018050 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Fri, 8 Nov 2013 12:39:04 -0500 Message-ID: <527D21B6.7060202@redhat.com> Date: Fri, 08 Nov 2013 12:39:02 -0500 From: Vlad Yasevich MIME-Version: 1.0 References: <1383926869-5518-1-git-send-email-vyasevic@redhat.com> In-Reply-To: <1383926869-5518-1-git-send-email-vyasevic@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] virtio-net: Correctly store multicast filter entries Reply-To: vyasevic@redhat.com List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org On 11/08/2013 11:07 AM, Vlad Yasevich wrote: > Commit 921ac5d0f3a0df869db5ce4edf752f51d8b1596a > virtio-net: remove layout assumptions for ctrl vq > introduced a regression where the multicast address filter > entries are written to the beginning of the mac table array, > thus overwriting any unicast addresses that may have been > programmed in the filter. > The multicast addresses should be written after all the > unicast addresses. > > Signed-off-by: Vlad Yasevich Please ignore. Just saw pull pull request with similar patch. -vlad > --- > hw/net/virtio-net.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c > index 22dbd05..94e8b68 100644 > --- a/hw/net/virtio-net.c > +++ b/hw/net/virtio-net.c > @@ -657,7 +657,8 @@ static int virtio_net_handle_mac(VirtIONet *n, uint8_t cmd, > } > > if (n->mac_table.in_use + mac_data.entries <= MAC_TABLE_ENTRIES) { > - s = iov_to_buf(iov, iov_cnt, 0, n->mac_table.macs, > + s = iov_to_buf(iov, iov_cnt, 0, > + n->mac_table.macs + (n->mac_table.in_use * ETH_ALEN), > mac_data.entries * ETH_ALEN); > if (s != mac_data.entries * ETH_ALEN) { > goto error; >