[Bug 1656480] Re: QEMU Does not Send L2 Broadcasts After Live Migration

James Page james.page at ubuntu.com
Mon Jan 16 11:16:24 UTC 2017


** Also affects: qemu (Ubuntu Xenial)
   Importance: Undecided
       Status: New

** Changed in: qemu (Ubuntu Xenial)
   Importance: Undecided => High

** Changed in: qemu (Ubuntu Xenial)
       Status: New => Triaged

** Changed in: qemu (Ubuntu)
       Status: New => Fix Released

** Changed in: qemu (Ubuntu Xenial)
     Assignee: (unassigned) => Dmitrii Shcherbakov (dmitriis)

** Changed in: qemu (Ubuntu Xenial)
       Status: Triaged => In Progress

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1656480

Title:
  QEMU Does not Send L2 Broadcasts After Live Migration

Status in qemu package in Ubuntu:
  Fix Released
Status in qemu source package in Xenial:
  In Progress

Bug description:
  In short:
  1) Get two Xenial hosts (instead, could be two lxd containers with QEMU inside or two VMs with nested virtualization enabled - doesn't matter);
  1) Create a libvirt domain that uses QEMU (can be a bare instance, even without a disk, with a NIC without an IP address since we are testing L2 broadcasts);
  2) Launch an instance;
  3) Start listening for RARP packets on the destination host's bridge (QEMU uses a RARP L3 header and a broadcast L2 header which is easy to filter as no other software sends RARPs nowadays);
  3) Do virsh migrate --live domain desturi;
  4) Observe that no RARP packets are sent.

  The expected result (QEMU actually sends 5 of those, grep for
  SELF_ANNOUNCE_ROUNDS == 5 in the sources):

  sudo tcpdump -e -i br0 rarp
  tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
  listening on br0, link-type EN10MB (Ethernet), capture size 262144 bytes
  18:19:32.460765 52:54:00:25:49:b7 (oui Unknown) > Broadcast, ethertype Reverse ARP (0x8035), length 60: Reverse Request who-is 52:54:00:25:49:b7 (oui Unknown) tell 52:54:00:25:49:b7 (oui Unknown), length 46
  18:19:32.504609 52:54:00:25:49:b7 (oui Unknown) > Broadcast, ethertype Reverse ARP (0x8035), length 60: Reverse Request who-is 52:54:00:25:49:b7 (oui Unknown) tell 52:54:00:25:49:b7 (oui Unknown), length

  ---
  lsb_release -r
  Release:	16.04

  dpkg --status qemu-kvm | grep Version
  Version: 1:2.5+dfsg-5ubuntu10.6
  --

  Fortunately, there is already a fix for this:
  https://lists.gnu.org/archive/html/qemu-devel/2016-07/msg04645.html

  http://git.qemu.org/?p=qemu.git;a=commitdiff;h=ca1ee3d6b546e841a1b9db413eb8fa09f13a061b;hp=14e60aaece20a1cfc059a69f6491b0899f9257a8

  The issue was introduced in fefe2a78abde932e0f340b21bded2c86def1d242:
  http://git.qemu.org/?p=qemu.git;a=commitdiff;h=fefe2a78abde932e0f340b21bded2c86def1d242

  $ apt-get source qemu

  # we are looking at qemu_2.5+dfsg debian branch
  $ ls qemu*dsc
  qemu_2.5+dfsg-5ubuntu10.6.dsc

  $ git remote show origin | grep Fetch
    Fetch URL: git://anonscm.debian.org/pkg-qemu/qemu.git

  $ git checkout debian/qemu_2.5+dfsg-5
  HEAD is now at aa4dbf2... Uploading version 2.5+dfsg-5 to unstable

  The commit that introduced the issue is present in qemu_2.5+dfsg-5.
  $ git merge-base --is-ancestor fefe2a78abde932e0f340b21bded2c86def1d242 HEAD ; echo $?
  0

  There are no patches for it:

  grep -RiP 'QEMU_NET_PACKET_FLAG_RAW' qemu-2.5+dfsg/debian/patches/ ; echo $?
  1

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/1656480/+subscriptions



More information about the Ubuntu-sponsors mailing list