Discussion of the implementations of VIRTIO specification
 help / color / mirror / Atom feed
From: "Samudrala, Sridhar" <sridhar.samudrala@intel.com>
To: Sameeh Jubran <sameeh@daynix.com>, "Michael S. Tsirkin" <mst@redhat.com>
Cc: Siwei Liu <loseweigh@gmail.com>,
	venu.busireddy@oracle.com, cohuck@redhat.com,
	virtio-dev <virtio-dev@lists.oasis-open.org>,
	liran.alon@oracle.com, Yan Vugenfirer <yan@daynix.com>
Subject: Re: [virtio-dev] [PATCH v4] content: Introduce VIRTIO_NET_F_STANDBY feature
Date: Mon, 26 Nov 2018 12:22:56 -0800	[thread overview]
Message-ID: <25a340eb-62a8-ea90-5f0d-0ee3171479ce@intel.com> (raw)
In-Reply-To: <CAKPgXcEXVjH6ZHLLYA-rC+4LM43HMmZN2AgsJMpJJjhPm7cK2Q@mail.gmail.com>

On 11/26/2018 7:43 AM, Sameeh Jubran wrote:
> On Mon, Nov 26, 2018 at 5:13 PM Sameeh Jubran <sameeh@daynix.com> wrote:
>> On Thu, Nov 22, 2018 at 8:27 PM Michael S. Tsirkin <mst@redhat.com> wrote:
>>> On Wed, Nov 21, 2018 at 10:04:53PM +0200, Sameeh Jubran wrote:
>>>> On Wed, Nov 21, 2018 at 8:41 PM Michael S. Tsirkin <mst@redhat.com> wrote:
>>>>> Great to see you making progress on this!
>>>>> Some comments below:
>>>>>
>>>>> On Wed, Nov 21, 2018 at 05:39:38PM +0200, Sameeh Jubran wrote:
>>>>>> I have created a setup which has two hosts (host A and host B) with X710 10G
>>>>>> cards connected back to back. On one host (I'll refer to this host as host A) I
>>>>>> have configured a bridge with the PF interface as well as vitio-net's interface
>>>>>> (standby) both attached to it.
>>>>> ...
>>>>>
>>>>>> The command line I used:
>>>>>>
>>>>>> /root/qemu/x86_64-softmmu/qemu-system-x86_64 \
>>>>>> -netdev tap,id=hostnet0,script=world_bridge_standalone.sh,downscript=no,ifname=
>>>>>> cc17 \
>>>>>> -device e1000,netdev=hostnet0,mac=56:cc:c1:01:cc:21,id=cc17 \
>>>>> What's e1000 doing here?
>>>>> Can this be reason you can not talk to host?
>>>> I don't think so, the e1000 is for enabling WAN connection on the
>>>> guest for downloading packages and ssh connection. It is connected to
>>>> a separate bridge which is connected to the external interface of the
>>>> host.
>>>>>> -netdev tap,vhost=on,id=hostnet1,script=test_bridge_standalone.sh,downscript=
>>>>>> no,ifname=cc1_72,queues=4 \
>>>>>> -device virtio-net,host_mtu=1500,netdev=hostnet1,mac=8a:f7:20:29:3b:cb,id=
>>>>>> cc1_72,vectors=10,mq=on,primary=cc1_71 \
>>>>>> -device vfio-pci,host=65:02.1,id=cc1_71,standby=cc1_72 \
>>>>>> -enable-kvm \
>>>>>> -name netkvm \
>>>>>> -m 3000M \
>>>>>> -drive file=/dev/shm/fedora_29.qcow2,if=ide,id=drivex \
>>>>>> -smp 4 \
>>>>>> -vga qxl \
>>>>>> -spice port=6110,disable-ticketing \
>>>>>> -device virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x7 \
>>>>>> -chardev spicevmc,name=vdagent,id=vdagent \
>>>>>> -device virtserialport,nr=1,bus=virtio-serial0.0,chardev=vdagent,name=
>>>>>> com.redhat.spice.0 \
>>>>>> -chardev socket,path=/tmp/qga.sock,server,nowait,id=qga0 \
>>>>>> -device virtio-serial \
>>>>>> -device virtserialport,chardev=qga0,name=org.qemu.guest_agent.0 \
>>>>>> -monitor stdio
>>>>>
>>>>> ...
>>>>>
>>>>>> Since I couldn't ping from VM to host B, I did an iperf test between the VM and
>>>>>> host A with the feature enabled and during the test I have unplugged the sriov
>>>>>> device, the device was unplugged successfully and no drops where observed as
>>>>>> you can see in the results below:
>>>>>>
>>>>>> [root@dhcp156-44 ~]# ifconfig
>>>>> Well I suspect this won't tell you anything, this shows packet drops at
>>>>> the hardware level. When e.g. link is down linux won't send any packets
>>>>> out. The simplest test is to monitor latency and throughput and see that
>>>>> while it is lower for the duration of migration, there are no huge
>>>>> spikes around the switch.
>>>> Oh, okay will do that.
>>>>
>>>> I have noticed some nasty lag when I tried to ssh to the VM using the
>>>> failover interface while I didn't experience that with the e1000.
>>>> Sridhar Any idea what might be the cause?
>>> Try tcpdump?
>> I have investigated this and this is what I have so far, maybe you can
>> help me with some insights to figure what's going on.
>> The setup is as follows:
>>
>>
>>
>> |_VM_|
>> __||___
>> |host A|----X710---------back-to-back--------X710---|host B|
>>
>> _______________________________________________________________________
>> - On the host A:
>>
>> I have the following interfaces attached to the "test_br0" bridge:
>>
>> virtio-net's netdev, cc1_72
>> X710 device PF interfaces: ens2f0 and ens2f1 (only ens2f0 is connected
>> in the back to back setup)
>>
>> The bridge has the mac address of the PF ens2f0 and ip : 192.168.1.117
>> _______________________________________________________________________
>> - On the host B:
>>
>> I have the following interfaces attached to the "test_br0" bridge:
>>
>> X710 device PF interfaces: ens2f0 and ens2f1 (only ens2f0 is connected
>> in the back to back setup)
>>
>> The bridge has the mac address of the PF ens2f0 and ip : 192.168.1.118
>> _______________________________________________________________________
>> - On the VM:
>> The failover interface has the ip: 192.168.1.17
>> _______________________________________________________________________
>>
>> I can successfully ping 118 from 17. (host B from the VM), however I
>> can't see the ICMP requests on host A anywhere!
>> I can see them inside host B on ens2f0, I can see them in the VM on
>> the failover interface but not on Host A.
>> Not on the brdige (test_br0) as I would expect, not on the ens2f0
>> interface, not co cc1_72 (virtio-net) interface and of-course not on
>> the world interface.

This is the expected behavior when VF is directly attached to the VM and is
being used as the primary interface. You don't see any packets on Host A.

>> This leads me to think that the icmp requests are send on the "vf"
>> interface which I cant see on the host. The thing that further
>> confirms my theory is when
>> I use device_del to unplug the primary interface, the ping get
>> disconnected. Using tcpdump I can see that the ping requests arrive to
>> host B and there is a
>> suitable ping reply, however the reply is not present on Host A or the
>> VM anywhere, moreover, when the primary gets disconnected I start
>> seeing the ping
>> requests on Host A on the "test_br0" and "ens2f0".
>>
>> Liran do you think this is related to the mac vtables and vfs issue
>> that you've mentioned on the monthly meeting?
>>
>>
> Update:
> I have just set the vf mac's address to 0 (ip link set ens2f0 vf 1 mac
> 00:00:00:00:00:00) after unplugging it (the primary device) and the
> pings started working again on the failover interface. So it seems
> like the frames were arriving to the vf on the host.
>
>

Yes. When the VF is unplugged, you need to reset the VFs MAC so that the packets
with VMs MAC start flowing via VF, bridge and the virtio interface.

Have you looked at this documentation that shows a sample script to initiate live
migration?
https://www.kernel.org/doc/html/latest/networking/net_failover.html

-Sridhar


---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org


  reply	other threads:[~2018-11-26 20:23 UTC|newest]

Thread overview: 85+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-15 18:49 [virtio-dev] [PATCH v4] content: Introduce VIRTIO_NET_F_STANDBY feature Sridhar Samudrala
2018-08-27  8:40 ` [virtio-dev] " Cornelia Huck
2018-08-27 12:34   ` Michael S. Tsirkin
2018-08-27 16:50     ` Samudrala, Sridhar
2018-08-28 12:13       ` Michael S. Tsirkin
2018-09-07 21:34 ` [virtio-dev] " Michael S. Tsirkin
2018-09-12 15:17   ` Samudrala, Sridhar
2018-09-12 15:22     ` Michael S. Tsirkin
2018-09-18 10:20       ` Cornelia Huck
2018-09-18 10:37         ` Sameeh Jubran
2018-09-18 13:25           ` Michael S. Tsirkin
2018-09-18 18:30             ` Siwei Liu
2018-09-18 18:39               ` Michael S. Tsirkin
2018-09-18 19:10                 ` Siwei Liu
2018-09-20  3:04                   ` Michael S. Tsirkin
2018-09-19  5:03             ` Samudrala, Sridhar
2018-09-20  5:51             ` Sameeh Jubran
2018-09-18 13:35         ` Michael S. Tsirkin
2018-09-18 15:13           ` Venu Busireddy
2018-09-18 15:31             ` Michael S. Tsirkin
2018-09-18 18:48               ` Siwei Liu
2018-09-20  3:11                 ` Michael S. Tsirkin
2018-09-20 23:57                   ` Siwei Liu
2018-09-21  2:23                     ` Michael S. Tsirkin
2018-09-21  2:34                       ` Michael S. Tsirkin
2018-09-27  0:18                       ` Siwei Liu
2018-09-27  7:17                         ` Sameeh Jubran
2018-09-27 16:17                           ` Michael S. Tsirkin
2018-09-27 17:23                             ` Samudrala, Sridhar
2018-09-27 23:45                               ` Michael S. Tsirkin
2018-09-30  9:17                               ` Sameeh Jubran
2018-09-30 13:50                                 ` Sameeh Jubran
2018-09-27 16:32                         ` Michael S. Tsirkin
2018-10-02  8:42                           ` Siwei Liu
2018-10-02 12:43                             ` Michael S. Tsirkin
2018-10-05  0:03                               ` Siwei Liu
2018-10-05  5:17                                 ` Samudrala, Sridhar
2018-10-10 14:40                                   ` Michael S. Tsirkin
2018-10-11  0:16                                     ` Samudrala, Sridhar
2018-10-05 19:18                                 ` Michael S. Tsirkin
2018-10-08 22:06                                   ` Sameeh Jubran
2018-10-10 14:43                                     ` Michael S. Tsirkin
2018-10-11  1:26                                   ` Siwei Liu
2018-10-18 23:20                                     ` Siwei Liu
2018-10-18 23:40                                       ` Michael S. Tsirkin
2018-10-19  3:45                                     ` Michael S. Tsirkin
2018-11-21 15:39                                       ` Sameeh Jubran
2018-11-21 18:41                                         ` Michael S. Tsirkin
2018-11-21 20:04                                           ` Sameeh Jubran
2018-11-21 23:51                                             ` Samudrala, Sridhar
2018-11-22 13:55                                               ` Sameeh Jubran
2018-11-22 18:27                                             ` Michael S. Tsirkin
2018-11-26 15:13                                               ` Sameeh Jubran
2018-11-26 15:43                                                 ` Sameeh Jubran
2018-11-26 20:22                                                   ` Samudrala, Sridhar [this message]
2018-11-27 11:24                                                     ` Sameeh Jubran
2018-11-28 17:08                                                     ` Michael S. Tsirkin
2018-11-28 17:31                                                       ` Samudrala, Sridhar
2018-11-28 17:35                                                         ` Michael S. Tsirkin
2018-11-28 18:39                                                           ` Samudrala, Sridhar
2018-11-28 18:51                                                             ` Michael S. Tsirkin
2018-11-29  6:29                                                               ` Samudrala, Sridhar
2018-11-28 20:06                                                             ` Michael S. Tsirkin
2018-11-28 20:28                                                               ` si-wei liu
2018-11-28 20:43                                                                 ` Michael S. Tsirkin
2018-11-28 20:47                                                                   ` si-wei liu
2018-11-29  1:15                                                                 ` Michael S. Tsirkin
2018-11-29  6:37                                                                   ` Samudrala, Sridhar
2018-11-29 20:14                                                                   ` si-wei liu
2018-11-29 21:17                                                                     ` Michael S. Tsirkin
2018-11-29 22:53                                                                       ` si-wei liu
2018-11-29 23:53                                                                         ` Samudrala, Sridhar
2018-11-30  0:24                                                                           ` si-wei liu
2018-11-30  3:08                                                                             ` Samudrala, Sridhar
2018-11-30  4:46                                                                               ` si-wei liu
2018-11-30  6:21                                                                         ` Michael S. Tsirkin
2018-12-04  2:09                                                                           ` si-wei liu
2018-12-04  3:59                                                                             ` Michael S. Tsirkin
2018-12-05 16:18                                                                               ` Sameeh Jubran
2018-12-05 17:18                                                                                 ` Michael S. Tsirkin
2018-12-08  1:54                                                                                 ` si-wei liu
2018-12-10 15:13                                                                                   ` Sameeh Jubran
2018-12-10 15:34                                                                                     ` Sameeh Jubran
2018-12-10 17:46                                                                                       ` Michael S. Tsirkin
2018-12-11 15:50                                                                                         ` Sameeh Jubran

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=25a340eb-62a8-ea90-5f0d-0ee3171479ce@intel.com \
    --to=sridhar.samudrala@intel.com \
    --cc=cohuck@redhat.com \
    --cc=liran.alon@oracle.com \
    --cc=loseweigh@gmail.com \
    --cc=mst@redhat.com \
    --cc=sameeh@daynix.com \
    --cc=venu.busireddy@oracle.com \
    --cc=virtio-dev@lists.oasis-open.org \
    --cc=yan@daynix.com \
    /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