[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PULL 00/14] Net patches
From: |
Wen Congyang |
Subject: |
Re: [Qemu-devel] [PULL 00/14] Net patches |
Date: |
Tue, 8 Mar 2016 17:13:35 +0800 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 |
On 03/08/2016 05:06 PM, Zhang Chen wrote:
>
>
> On 03/08/2016 03:56 PM, Jason Wang wrote:
>>
>> On 03/08/2016 03:50 PM, Wen Congyang wrote:
>>> On 03/08/2016 03:33 PM, Jason Wang wrote:
>>>> On 03/08/2016 12:51 PM, Peter Maydell wrote:
>>>>> On 7 March 2016 at 10:12, Jason Wang <address@hidden> wrote:
>>>>>> The following changes since commit
>>>>>> 1464ad45cd6cdeb0b5c1a54d3d3791396e47e52f:
>>>>>>
>>>>>> Merge remote-tracking branch
>>>>>> 'remotes/armbru/tags/pull-qapi-2016-03-04' into staging (2016-03-06
>>>>>> 11:53:27 +0000)
>>>>>>
>>>>>> are available in the git repository at:
>>>>>>
>>>>>> https://github.com/jasowang/qemu.git tags/net-pull-request
>>>>>>
>>>>>> for you to fetch changes up to a2f2e45c6edbba9e1961056fa77c696208b40c8e:
>>>>>>
>>>>>> net: check packet payload length (2016-03-07 10:15:48 +0800)
>>>>>>
>>>>>> ----------------------------------------------------------------
>>>>>>
>>>>>> - a new netfilter implementation: mirror
>>>>>> - netfilter could be disabled and enabled through qom-set now
>>>>>> - fix netfilter crash when specifiying wrong parameters
>>>>>> - rocker switch now can allow user to specifiy world
>>>>>> - fix OOB access for ne2000
>>>>> Hi; I'm afraid this makes "make check" hang for me (Linux, x86-64):
>>>>>
>>>>> TEST: tests/test-netfilter... (pid=26854)
>>>>> /i386/netfilter/addremove_one: OK
>>>>> /i386/netfilter/remove_netdev_one: OK
>>>>> /i386/netfilter/addremove_multi: OK
>>>>> /i386/netfilter/remove_netdev_multi: OK
>>>>> PASS: tests/test-netfilter
>>>>> TEST: tests/test-filter-mirror... (pid=26858)
>>>>> /i386/netfilter/mirror:
>>>>>
>>>>> (consistently, every time I run make check, on the same test).
>>>>>
>>>>> thanks
>>>>> -- PMM
>>>> Sorry, it manages to pass on my machine before submitting the pull
>>>> request. But when I re-try this several times, it fails.
>>>>
>>>> This probably means we have bug in mirror implementation. Chen and
>>>> Congyang, please try to fix this bug and resubmit a new version of the
>>>> patch.
>>>>
>>>> Will drop mirror from this pull request and submit a V2.
>>> OK. what is the version of the kernel that you use?
>> 4.2 but probably unrelated. Gdb shows the test wait at recv().
>
> Hi~ Jason.
>
> I found the reason for this problem is that
> unix_connect() have not connect to sock_path before iov_send().
After unix_connect() returns, the connection is established.
qemu char device will call qemu_chr_accept() after the connection
is established. If we send data before qemu_chr_accept() is called,
the data will be dropped by qemu char device:
static int tcp_chr_write(CharDriverState *chr, const uint8_t *buf, int len)
{
TCPCharDriver *s = chr->opaque;
if (s->connected) {
...
return ret;
} else {
/* XXX: indicate an error ? */
return len;
}
}
We should wait some to let qemu_chr_accept() is called before sending
data.
Thanks
Wen Congyang
> It need time to establish connection. so can we fix it with usleep()
> like this:
>
> recv_sock = unix_connect(sock_path, NULL);
> g_assert_cmpint(recv_sock, !=, -1);
> + usleep(1000);
>
> ret = iov_send(send_sock[0], iov, 2, 0, sizeof(size) + sizeof(send_buf));
> g_assert_cmpint(ret, ==, sizeof(send_buf) + sizeof(size));
> close(send_sock[0]);
>
> ret = qemu_recv(recv_sock, &len, sizeof(len), 0);
>
>
>
>>> Thanks
>>> Wen Congyang
>>>
>>>> Thanks
>>>>
>>>>
>>>> .
>>>>
>>>
>>
>>
>> .
>>
>
- [Qemu-devel] [PULL 10/14] rocker: add name field into WorldOps ale let world specify its name, (continued)
- [Qemu-devel] [PULL 10/14] rocker: add name field into WorldOps ale let world specify its name, Jason Wang, 2016/03/06
- [Qemu-devel] [PULL 11/14] rocker: allow user to specify rocker world by property, Jason Wang, 2016/03/06
- [Qemu-devel] [PULL 12/14] filter: Add 'status' property for filter object, Jason Wang, 2016/03/06
- [Qemu-devel] [PULL 13/14] filter-buffer: Add status_changed callback processing, Jason Wang, 2016/03/06
- [Qemu-devel] [PULL 14/14] net: check packet payload length, Jason Wang, 2016/03/06
- Re: [Qemu-devel] [PULL 00/14] Net patches, Peter Maydell, 2016/03/07
- Re: [Qemu-devel] [PULL 00/14] Net patches, Jason Wang, 2016/03/08
- Re: [Qemu-devel] [PULL 00/14] Net patches, Wen Congyang, 2016/03/08
- Re: [Qemu-devel] [PULL 00/14] Net patches, Jason Wang, 2016/03/08
- Re: [Qemu-devel] [PULL 00/14] Net patches, Zhang Chen, 2016/03/08
- Re: [Qemu-devel] [PULL 00/14] Net patches,
Wen Congyang <=
- Re: [Qemu-devel] [PULL 00/14] Net patches, Peter Maydell, 2016/03/08
- Re: [Qemu-devel] [PULL 00/14] Net patches, Wen Congyang, 2016/03/08
- Re: [Qemu-devel] [PULL 00/14] Net patches, Li Zhijian, 2016/03/08
- Re: [Qemu-devel] [PULL 00/14] Net patches, Wen Congyang, 2016/03/09
- Re: [Qemu-devel] [PULL 00/14] Net patches, Jason Wang, 2016/03/14
- Re: [Qemu-devel] [PULL 00/14] Net patches, Jason Wang, 2016/03/09
- Re: [Qemu-devel] [PULL 00/14] Net patches, Li Zhijian, 2016/03/09
- Re: [Qemu-devel] [PULL 00/14] Net patches, Jason Wang, 2016/03/14
- Re: [Qemu-devel] [PULL 00/14] Net patches, Li Zhijian, 2016/03/14