Hello community,

here is the log from the commit of package xen for openSUSE:Factory checked in 
at 2017-08-24 18:21:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xen (Old)
 and      /work/SRC/openSUSE:Factory/.xen.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xen"

Thu Aug 24 18:21:39 2017 rev:233 rq:516579 version:4.9.0_50

Changes:
--------
--- /work/SRC/openSUSE:Factory/xen/xen.changes  2017-07-07 10:15:34.926339844 
+0200
+++ /work/SRC/openSUSE:Factory/.xen.new/xen.changes     2017-08-24 
18:21:48.419959788 +0200
@@ -1,0 +2,143 @@
+Fri Aug 11 16:37:44 MDT 2017 - carn...@suse.com
+
+- Clean up spec file errors and a few warnings. (bsc#1027519)
+- Removed conditional 'with_systemd' and some old deprecated
+  'sles_version' checks.
+  xen.spec
+
+-------------------------------------------------------------------
+Thu Aug 10 19:45:31 UTC 2017 - jfeh...@suse.com
+
+- Remove use of brctl utiltiy from supportconfig plugin
+  FATE#323639
+
+-------------------------------------------------------------------
+Thu Aug 10 07:50:47 UTC 2017 - oher...@suse.de
+
+- Use upstream variant of mini-os __udivmoddi4 change
+  gcc7-mini-os.patch
+
+-------------------------------------------------------------------
+Wed Aug  9 13:14:56 MDT 2017 - carn...@suse.com
+
+- fate#323639 Move bridge-utils to legacy
+  replace-obsolete-network-configuration-commands-in-s.patch
+
+-------------------------------------------------------------------
+Mon Aug  7 12:53:44 UTC 2017 - oher...@suse.de
+
+- bsc#1035231 - migration of HVM domU does not use superpages
+  on destination dom0
+  libxc.sr.superpage.patch
+
+-------------------------------------------------------------------
+Tue Aug  1 20:02:58 UTC 2017 - jfeh...@suse.com
+
+- Add a supportconfig plugin
+  xen-supportconfig
+  FATE#323661
+
+-------------------------------------------------------------------
+Tue Jul 25 14:48:02 UTC 2017 - oher...@suse.de
+
+- bsc#1026236 - add suse_vtsc_tolerance= cmdline option for Xen
+  To avoid emulation of TSC access from a domU after live migration
+  add a global tolerance for the measured host kHz
+  xen.suse_vtsc_tolerance.patch
+
+-------------------------------------------------------------------
+Thu Jul 20 10:46:43 MDT 2017 - carn...@suse.com
+
+- fate#323662 Drop qemu-dm from xen-tools package
+  The following tarball and patches have been removed
+  qemu-xen-traditional-dir-remote.tar.bz2
+  VNC-Support-for-ExtendedKeyEvent-client-message.patch
+  0001-net-move-the-tap-buffer-into-TAPState.patch
+  0002-net-increase-tap-buffer-size.patch
+  0003-e1000-fix-access-4-bytes-beyond-buffer-end.patch
+  0004-e1000-secrc-support.patch
+  0005-e1000-multi-buffer-packet-support.patch
+  0006-e1000-clear-EOP-for-multi-buffer-descriptors.patch
+  0007-e1000-verify-we-have-buffers-upfront.patch
+  0008-e1000-check-buffer-availability.patch
+  CVE-2013-4533-qemut-pxa2xx-buffer-overrun-on-incoming-migration.patch
+  CVE-2013-4534-qemut-openpic-buffer-overrun-on-incoming-migration.patch
+  CVE-2013-4537-qemut-ssi-sd-fix-buffer-overrun-on-invalid-state-load.patch
+  CVE-2013-4538-qemut-ssd0323-fix-buffer-overun-on-invalid-state.patch
+  CVE-2013-4539-qemut-tsc210x-fix-buffer-overrun-on-invalid-state-load.patch
+  CVE-2014-0222-qemut-qcow1-validate-l2-table-size.patch
+  CVE-2014-3640-qemut-slirp-NULL-pointer-deref-in-sosendto.patch
+  CVE-2015-4037-qemut-smb-config-dir-name.patch
+  CVE-2015-5154-qemut-fix-START-STOP-UNIT-command-completion.patch
+  CVE-2015-5278-qemut-Infinite-loop-in-ne2000_receive-function.patch
+  CVE-2015-6815-qemut-e1000-fix-infinite-loop.patch
+  CVE-2015-7512-qemut-net-pcnet-buffer-overflow-in-non-loopback-mode.patch
+  CVE-2015-8345-qemut-eepro100-infinite-loop-fix.patch
+  CVE-2015-8504-qemut-vnc-avoid-floating-point-exception.patch
+  CVE-2016-1714-qemut-fw_cfg-add-check-to-validate-current-entry-value.patch
+  
CVE-2016-1981-qemut-e1000-eliminate-infinite-loops-on-out-of-bounds-transfer.patch
+  CVE-2016-2391-qemut-usb-null-pointer-dereference-in-ohci-module.patch
+  CVE-2016-2841-qemut-ne2000-infinite-loop-in-ne2000_receive.patch
+  
CVE-2016-4439-qemut-scsi-esp-OOB-write-while-writing-to-cmdbuf-in-esp_reg_write.patch
+  
CVE-2016-4441-qemut-scsi-esp-OOB-write-while-writing-to-cmdbuf-in-get_cmd.patch
+  
CVE-2016-5238-qemut-scsi-esp-OOB-write-when-using-non-DMA-mode-in-get_cmd.patch
+  CVE-2016-5338-qemut-scsi-esp-OOB-rw-access-while-processing-ESP_FIFO.patch
+  
CVE-2016-6351-qemut-scsi-esp-make-cmdbuf-big-enough-for-maximum-CDB-size.patch
+  CVE-2016-7908-qemut-net-Infinite-loop-in-mcf_fec_do_tx.patch
+  CVE-2016-7909-qemut-net-pcnet-infinite-loop-in-pcnet_rdra_addr.patch
+  CVE-2016-8667-qemut-dma-rc4030-divide-by-zero-error-in-set_next_tick.patch
+  
CVE-2016-8669-qemut-char-divide-by-zero-error-in-serial_update_parameters.patch
+  
CVE-2016-8910-qemut-net-rtl8139-infinite-loop-while-transmit-in-Cplus-mode.patch
+  CVE-2016-9921-qemut-display-cirrus_vga-divide-by-zero-in-cirrus_do_copy.patch
+  CVE-2017-6505-qemut-usb-an-infinite-loop-issue-in-ohci_service_ed_list.patch
+  CVE-2017-8309-qemut-audio-host-memory-leakage-via-capture-buffer.patch
+  
CVE-2017-9330-qemut-usb-ohci-infinite-loop-due-to-incorrect-return-value.patch
+  blktap.patch
+  cdrom-removable.patch
+  xen-qemu-iscsi-fix.patch
+  qemu-security-etch1.patch
+  xen-disable-qemu-monitor.patch
+  xen-hvm-default-bridge.patch
+  qemu-ifup-set-mtu.patch
+  ioemu-vnc-resize.patch
+  capslock_enable.patch
+  altgr_2.patch
+  log-guest-console.patch
+  bdrv_open2_fix_flags.patch
+  bdrv_open2_flags_2.patch
+  ioemu-7615-qcow2-fix-alloc_cluster_link_l2.patch
+  qemu-dm-segfault.patch
+  bdrv_default_rwflag.patch
+  kernel-boot-hvm.patch
+  ioemu-watchdog-support.patch
+  ioemu-watchdog-linkage.patch
+  ioemu-watchdog-ib700-timer.patch
+  ioemu-hvm-pv-support.patch
+  pvdrv_emulation_control.patch
+  ioemu-disable-scsi.patch
+  ioemu-disable-emulated-ide-if-pv.patch
+  xenpaging.qemu.flush-cache.patch
+  ioemu-devicemodel-include.patch
+- Cleanup spec file and remove unused KMP patches
+  kmp_filelist
+  supported_module.patch
+  xen_pvonhvm.xen_emul_unplug.patch
+
+-------------------------------------------------------------------
+Mon Jul 17 15:19:50 MDT 2017 - carn...@suse.com
+
+- bsc#1002573 - Optimize LVM functions in block-dmmd
+  block-dmmd
+
+-------------------------------------------------------------------
+Fri Jul 14 18:05:12 UTC 2017 - oher...@suse.de
+
+- Record initial Xen dmesg in /var/log/xen/xen-boot.log for
+  supportconfig. Keep previous log in /var/log/xen/xen-boot.prev.log
+
+-------------------------------------------------------------------
+Fri Jul 14 10:41:34 UTC 2017 - oher...@suse.de
+
+- Remove storytelling from description in xen.rpm
+
+-------------------------------------------------------------------

Old:
----
  0001-net-move-the-tap-buffer-into-TAPState.patch
  0002-net-increase-tap-buffer-size.patch
  0003-e1000-fix-access-4-bytes-beyond-buffer-end.patch
  0004-e1000-secrc-support.patch
  0005-e1000-multi-buffer-packet-support.patch
  0006-e1000-clear-EOP-for-multi-buffer-descriptors.patch
  0007-e1000-verify-we-have-buffers-upfront.patch
  0008-e1000-check-buffer-availability.patch
  CVE-2013-4533-qemut-pxa2xx-buffer-overrun-on-incoming-migration.patch
  CVE-2013-4534-qemut-openpic-buffer-overrun-on-incoming-migration.patch
  CVE-2013-4537-qemut-ssi-sd-fix-buffer-overrun-on-invalid-state-load.patch
  CVE-2013-4538-qemut-ssd0323-fix-buffer-overun-on-invalid-state.patch
  CVE-2013-4539-qemut-tsc210x-fix-buffer-overrun-on-invalid-state-load.patch
  CVE-2014-0222-qemut-qcow1-validate-l2-table-size.patch
  CVE-2014-3640-qemut-slirp-NULL-pointer-deref-in-sosendto.patch
  CVE-2015-4037-qemut-smb-config-dir-name.patch
  CVE-2015-5154-qemut-fix-START-STOP-UNIT-command-completion.patch
  CVE-2015-5278-qemut-Infinite-loop-in-ne2000_receive-function.patch
  CVE-2015-6815-qemut-e1000-fix-infinite-loop.patch
  CVE-2015-7512-qemut-net-pcnet-buffer-overflow-in-non-loopback-mode.patch
  CVE-2015-8345-qemut-eepro100-infinite-loop-fix.patch
  CVE-2015-8504-qemut-vnc-avoid-floating-point-exception.patch
  CVE-2016-1714-qemut-fw_cfg-add-check-to-validate-current-entry-value.patch
  
CVE-2016-1981-qemut-e1000-eliminate-infinite-loops-on-out-of-bounds-transfer.patch
  CVE-2016-2391-qemut-usb-null-pointer-dereference-in-ohci-module.patch
  CVE-2016-2841-qemut-ne2000-infinite-loop-in-ne2000_receive.patch
  
CVE-2016-4439-qemut-scsi-esp-OOB-write-while-writing-to-cmdbuf-in-esp_reg_write.patch
  
CVE-2016-4441-qemut-scsi-esp-OOB-write-while-writing-to-cmdbuf-in-get_cmd.patch
  
CVE-2016-5238-qemut-scsi-esp-OOB-write-when-using-non-DMA-mode-in-get_cmd.patch
  CVE-2016-5338-qemut-scsi-esp-OOB-rw-access-while-processing-ESP_FIFO.patch
  CVE-2016-6351-qemut-scsi-esp-make-cmdbuf-big-enough-for-maximum-CDB-size.patch
  CVE-2016-7908-qemut-net-Infinite-loop-in-mcf_fec_do_tx.patch
  CVE-2016-7909-qemut-net-pcnet-infinite-loop-in-pcnet_rdra_addr.patch
  CVE-2016-8667-qemut-dma-rc4030-divide-by-zero-error-in-set_next_tick.patch
  
CVE-2016-8669-qemut-char-divide-by-zero-error-in-serial_update_parameters.patch
  
CVE-2016-8910-qemut-net-rtl8139-infinite-loop-while-transmit-in-Cplus-mode.patch
  CVE-2016-9921-qemut-display-cirrus_vga-divide-by-zero-in-cirrus_do_copy.patch
  CVE-2017-6505-qemut-usb-an-infinite-loop-issue-in-ohci_service_ed_list.patch
  CVE-2017-8309-qemut-audio-host-memory-leakage-via-capture-buffer.patch
  CVE-2017-9330-qemut-usb-ohci-infinite-loop-due-to-incorrect-return-value.patch
  VNC-Support-for-ExtendedKeyEvent-client-message.patch
  altgr_2.patch
  bdrv_default_rwflag.patch
  bdrv_open2_fix_flags.patch
  bdrv_open2_flags_2.patch
  blktap.patch
  capslock_enable.patch
  cdrom-removable.patch
  ioemu-7615-qcow2-fix-alloc_cluster_link_l2.patch
  ioemu-devicemodel-include.patch
  ioemu-disable-emulated-ide-if-pv.patch
  ioemu-disable-scsi.patch
  ioemu-hvm-pv-support.patch
  ioemu-vnc-resize.patch
  ioemu-watchdog-ib700-timer.patch
  ioemu-watchdog-linkage.patch
  ioemu-watchdog-support.patch
  kernel-boot-hvm.patch
  kmp_filelist
  log-guest-console.patch
  pvdrv_emulation_control.patch
  qemu-dm-segfault.patch
  qemu-ifup-set-mtu.patch
  qemu-security-etch1.patch
  qemu-xen-traditional-dir-remote.tar.bz2
  supported_module.patch
  xen-disable-qemu-monitor.patch
  xen-hvm-default-bridge.patch
  xen-qemu-iscsi-fix.patch
  xen_pvonhvm.xen_emul_unplug.patch
  xenpaging.qemu.flush-cache.patch

New:
----
  libxc.sr.superpage.patch
  replace-obsolete-network-configuration-commands-in-s.patch
  xen-supportconfig
  xen.suse_vtsc_tolerance.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xen.spec ++++++
++++ 737 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/xen/xen.spec
++++ and /work/SRC/openSUSE:Factory/.xen.new/xen.spec

++++++ block-dmmd ++++++
--- /var/tmp/diff_new_pack.7V0YNx/_old  2017-08-24 18:21:51.015594313 +0200
+++ /var/tmp/diff_new_pack.7V0YNx/_new  2017-08-24 18:21:51.019593750 +0200
@@ -24,6 +24,8 @@
 #
 ##
 # History:
+#  2017-07-10, mlati...@suse.com:
+#        Modification to use syslog for progress messages by ldevul...@suse.com
 #  2017-06-12, mlati...@suse.com:
 #        Merge LVM improvements by loic.devul...@mpsa.com
 #        Document libxl "script=block-dmmd" syntax in examples
@@ -64,13 +66,8 @@
 typeset -rx VGSCAN_BIN=/sbin/vgscan
 typeset -rx VGCHANGE_BIN=/sbin/vgchange
 typeset -rx CLVMD_BIN=/usr/sbin/clvmd
-typeset -rx DATE_LOG="date +%F_%T.%N"
 typeset -rx DATE_SEC="date +%s"
 
-# Uncomment for debugging purposes
-# exec >> /tmp/block-dmmd-$(${DATE_LOG}).log 2>&1
-# echo shell-flags: $-
-
 # We check for errors ourselves
 set +e
 
@@ -79,7 +76,7 @@
     # If we are in cluster mode
     if ps -e | grep -q [c]lvmd 2>/dev/null; then
         # Logging message
-        log err "Synchronizing cLVM..."
+        log info "Synchronizing cLVM..."
 
         # Synchronize cLVM
         ${CLVMD_BIN} -R > /dev/null 2>&1 \
@@ -142,7 +139,7 @@
     fi
 
     # Logging message
-    echo "[$(${DATE_LOG})] activate MD device ${dev}..." >&2
+    log info "Activating MD device ${dev}..."
 
     # Is MD device already active?
     # We need to use full path name, aliase is not possible...
@@ -158,7 +155,7 @@
     # A return code of 2 can indicate the array configuration was incorrect
     if [[ ${rc} == 2 ]]; then
         # Logging message
-        echo "[$(${DATE_LOG})] verifying MD device ${dev} activation..." >&2
+        log info "Verifying MD device ${dev} activation..."
 
         # If the array is active, return 0, otherwise return an error
         ${MDADM_BIN} -Q -D ${dev_path}/${dev##*/} &>/dev/null && return 0 \
@@ -188,7 +185,7 @@
     fi
 
     # Logging message
-    echo "[$(${DATE_LOG})] deactivate MD device ${dev}..." >&2
+    log info "Deactivating MD device ${dev}..."
 
     # We need the device name only while deactivating
     ${MDADM_BIN} -S ${dev_path}/${dev##*/} > /dev/null 2>&1
@@ -204,7 +201,7 @@
     local end_time
 
     # Logging message
-    echo "[$(${DATE_LOG})] ${action} LVM device ${dev}..." >&2
+    log info "${action} LVM device ${dev}..."
 
     # Set end_time for the loop
     (( end_time = $(${DATE_SEC}) + run_timeout ))

++++++ libxc.sr.superpage.patch ++++++
++++ 663 lines (skipped)

++++++ replace-obsolete-network-configuration-commands-in-s.patch ++++++
>From 5e1e18fde92bae1ae87f78d470e80b1ffc9350d1 Mon Sep 17 00:00:00 2001
From: Michal Kubecek <mkube...@suse.cz>
Date: Wed, 26 Jul 2017 10:28:54 +0200
Subject: [PATCH] replace obsolete network configuration commands in scripts

Some scripts still use obsolete network configuration commands ifconfig and
brctl. Replace them by commands from iproute2 package.
---
 README                                                     |  3 +--
 tools/hotplug/Linux/colo-proxy-setup                       | 14 ++++++--------
 tools/hotplug/Linux/remus-netbuf-setup                     |  3 ++-
 tools/hotplug/Linux/vif-bridge                             |  7 ++++---
 tools/hotplug/Linux/vif-nat                                |  2 +-
 tools/hotplug/Linux/vif-route                              |  6 ++++--
 tools/hotplug/Linux/vif2                                   |  6 +++---
 tools/hotplug/Linux/xen-network-common.sh                  |  6 ++----
 .../i386-dm/qemu-ifup-Linux                                |  5 +++--
 9 files changed, 26 insertions(+), 26 deletions(-)

diff --git a/README b/README
index de13bf4ae803..27f3074c62cd 100644
--- a/README
+++ b/README
@@ -57,8 +57,7 @@ provided by your OS distributor:
     * Development install of GLib v2.0 (e.g. libglib2.0-dev)
     * Development install of Pixman (e.g. libpixman-1-dev)
     * pkg-config
-    * bridge-utils package (/sbin/brctl)
-    * iproute package (/sbin/ip)
+    * iproute package (/sbin/ip, /sbin/bridge)
     * GNU bison and GNU flex
     * GNU gettext
     * ACPI ASL compiler (iasl)
diff --git a/tools/hotplug/Linux/colo-proxy-setup 
b/tools/hotplug/Linux/colo-proxy-setup
index 94e203445282..aa3eaaf02dd7 100755
--- a/tools/hotplug/Linux/colo-proxy-setup
+++ b/tools/hotplug/Linux/colo-proxy-setup
@@ -76,10 +76,9 @@ function teardown_primary()
 
 function setup_secondary()
 {
-    do_without_error brctl delif $bridge $vifname
-    do_without_error brctl addbr $forwardbr
-    do_without_error brctl addif $forwardbr $vifname
-    do_without_error brctl addif $forwardbr $forwarddev
+    do_without_error ip link add "$forwardbr" type bridge
+    do_without_error ip link set "$vifname" master "$forwardbr"
+    do_without_error ip link set "$forwarddev" master "$forwardbr"
     do_without_error ip link set dev $forwardbr up
     do_without_error modprobe xt_SECCOLO
 
@@ -91,10 +90,9 @@ function setup_secondary()
 
 function teardown_secondary()
 {
-    do_without_error brctl delif $forwardbr $forwarddev
-    do_without_error brctl delif $forwardbr $vifname
-    do_without_error brctl delbr $forwardbr
-    do_without_error brctl addif $bridge $vifname
+    do_without_error ip link set "$forwarddev" nomaster
+    do_without_error ip link set "$vifname" master "$bridge"
+    do_without_error ip link del "$forwardbr"
 
     do_without_error iptables -t mangle -D PREROUTING -m physdev --physdev-in \
         $vifname -j SECCOLO --index $index
diff --git a/tools/hotplug/Linux/remus-netbuf-setup 
b/tools/hotplug/Linux/remus-netbuf-setup
index 87dfa6977864..4cca30374a16 100644
--- a/tools/hotplug/Linux/remus-netbuf-setup
+++ b/tools/hotplug/Linux/remus-netbuf-setup
@@ -139,8 +139,9 @@ check_ifb() {
 
 setup_ifb() {
 
-    for ifb in `ifconfig -a -s|egrep ^ifb|cut -d ' ' -f1`
+    for ifb in $(ip --oneline link show type ifb | cut -d ' ' -f2)
     do
+        ifb="${ifb%:}"
         check_ifb "$ifb" || continue
         REMUS_IFB="$ifb"
         break
diff --git a/tools/hotplug/Linux/vif-bridge b/tools/hotplug/Linux/vif-bridge
index a10b16d84704..db4eae635ecb 100644
--- a/tools/hotplug/Linux/vif-bridge
+++ b/tools/hotplug/Linux/vif-bridge
@@ -40,7 +40,8 @@ bridge=$(xenstore_read_default "$XENBUS_PATH/bridge" 
"$bridge")
 
 if [ -z "$bridge" ]
 then
-  bridge=$(brctl show | awk 'NR==2{print$1}')
+  bridge=$(ip --oneline link show type bridge | awk '(NR == 1) { print $2; }')
+  bridge="${bridge%:}"
 
   if [ -z "$bridge" ]
   then
@@ -89,8 +90,8 @@ case "$command" in
         ;;
 
     offline)
-        do_without_error brctl delif "$bridge" "$dev"
-        do_without_error ifconfig "$dev" down
+        do_without_error ip link set "$dev" nomaster
+        do_without_error ip link set "$dev" down
         ;;
 
     add)
diff --git a/tools/hotplug/Linux/vif-nat b/tools/hotplug/Linux/vif-nat
index a76d9c784b5f..d06d31d50df0 100644
--- a/tools/hotplug/Linux/vif-nat
+++ b/tools/hotplug/Linux/vif-nat
@@ -174,7 +174,7 @@ case "$command" in
         ;;
     offline)
         [ "$dhcp" != 'no' ] && dhcp_down
-        do_without_error ifconfig "${dev}" down
+        do_without_error ip link set "${dev}" down
         ;;
 esac
 
diff --git a/tools/hotplug/Linux/vif-route b/tools/hotplug/Linux/vif-route
index d49eb20795bf..98798fe5e4c3 100644
--- a/tools/hotplug/Linux/vif-route
+++ b/tools/hotplug/Linux/vif-route
@@ -23,13 +23,15 @@ main_ip=$(dom0_ip)
 
 case "${command}" in
     online)
-        ifconfig ${dev} ${main_ip} netmask 255.255.255.255 up
+        ip addr add "${main_ip}/32" dev "$dev"
+        ip link set "dev" up
         echo 1 >/proc/sys/net/ipv4/conf/${dev}/proxy_arp
         ipcmd='add'
         cmdprefix=''
         ;;
     offline)
-        do_without_error ifdown ${dev}
+        do_without_error ip addr flush dev "$dev"
+        do_without_error ip link set "$dev" down
         ipcmd='del'
         cmdprefix='do_without_error'
         ;;
diff --git a/tools/hotplug/Linux/vif2 b/tools/hotplug/Linux/vif2
index 2c155be68c2c..dff180b1d7a2 100644
--- a/tools/hotplug/Linux/vif2
+++ b/tools/hotplug/Linux/vif2
@@ -7,13 +7,13 @@ dir=$(dirname "$0")
 bridge=$(xenstore_read_default "$XENBUS_PATH/bridge" "$bridge")
 if [ -z "$bridge" ]
     then
-    nr_bridges=$(($(brctl show | cut -f 1 | grep -v "^$" | wc -l) - 1))
+    nr_bridges=$(ip --oneline link show type bridge | wc -l)
     if [ "$nr_bridges" != 1 ]
        then
        fatal "no bridge specified, and don't know which one to use 
($nr_bridges found)"
     fi
-    bridge=$(brctl show | cut -d "
-" -f 2 | cut -f 1)
+    bridge=$(ip --oneline link show type bridge | head -1 | cut -d ' ' -f2)
+    bridge="${bridge%:}"
 fi
 
 command="$1"
diff --git a/tools/hotplug/Linux/xen-network-common.sh 
b/tools/hotplug/Linux/xen-network-common.sh
index 92ffa603f7e5..7e1ae94dc6d9 100644
--- a/tools/hotplug/Linux/xen-network-common.sh
+++ b/tools/hotplug/Linux/xen-network-common.sh
@@ -111,9 +111,7 @@ create_bridge () {
 
     # Don't create the bridge if it already exists.
     if [ ! -e "/sys/class/net/${bridge}/bridge" ]; then
-       brctl addbr ${bridge}
-       brctl stp ${bridge} off
-       brctl setfd ${bridge} 0
+       ip link add "$bridge" type bridge stp_state 0 forward_delay 0
     fi
 }
 
@@ -127,7 +125,7 @@ add_to_bridge () {
        ip link set dev ${dev} up || true
        return
     fi
-    brctl addif ${bridge} ${dev}
+    ip link set "$dev" master "$bridge"
     ip link set dev ${dev} up
 }
 
++++++ xen-supportconfig ++++++
#!/bin/bash
#############################################################
# Name:        Supportconfig Plugin for Xen
# Description: Gathers important troubleshooting information
#              about Xen and its tools
# Author:      Jim Fehlig <jfeh...@suse.com>
#############################################################

# TODO:
# - Anything needed for UEFI?
#

RCFILE="/usr/lib/supportconfig/resources/scplugin.rc"

GRUB2_CONF_FILES="/etc/default/grub"
XEN_CONF_FILES="/etc/xen/xl.conf /etc/sysconfig/xencommons 
/etc/sysconfig/xendomains"
XEN_SERVICES="xencommons xendomains xen-watchdog"
VM_CONF_FILES=""
XEN_LOG_FILES=""

if [ -s $RCFILE ]; then
    if ! source $RCFILE; then
        echo "ERROR: Initializing resource file: $RCFILE" >&2
        exit 1
    fi
fi

rpm_verify() {
    thisrpm="$1"
    local ret=0

    echo
    echo "#==[ Validating RPM ]=================================#"
    if rpm -q "$thisrpm" >/dev/null 2>&1; then
        echo "# rpm -V $thisrpm"

        if rpm -V "$thisrpm"; then
            echo "Status: Passed"
        else
            echo "Status: WARNING"
        fi
    else
        echo "package $thisrpm is not installed"
        ret=1
    fi
    echo
    return $ret
}

# if no xen package we are done
if ! rpm_verify xen; then
    echo "Skipped"
    exit 0
fi

# if not a xen host (dom0) we are done
echo "#==[ Checking if booted Xen ]=================================#"
if [ ! -d /proc/xen ] || [ ! -e /proc/xen/capabilities ] || [ `cat 
/proc/xen/capabilities` != "control_d" ]; then
    echo "No"
    echo "Skipped"
    exit 0
else
    echo "Yes"
    echo
fi

# basic system information:
plugin_command "uname -r"
for service in $XEN_SERVICES; do
    plugin_command "systemctl status $service"
    plugin_command "systemctl is-enabled $service"
done
plugin_command "lscpu"
plugin_command "xl info --numa"
plugin_command "xl list"
plugin_command "xl pci-assignable-list"
plugin_command "xenstore-ls"
plugin_command "ps -ef | grep xen"
# dump grub2-related conf files
pconf_files "$GRUB2_CONF_FILES"
# dump Xen-related conf files
pconf_files "$XEN_CONF_FILES"

# detailed system info:
plugin_command "xl list --long"
plugin_command "xl dmesg"
# network-related info often useful for debugging
if [ systemctl is-enabled NetworkManager.service 2>&1 > /dev/null ]; then
    echo "NOTE: NetworkManager should not be enabled on a Xen host"
fi
plugin_command "route -n"
plugin_command "arp -v"
if plugin_command "brctl show"; then
    for BRIDGE in `brctl show | grep -v ^bridge | egrep "^[a-z]|^[A-Z]" | awk 
'{print $1}'`; do
        plugin_command "brctl showmacs $BRIDGE"
    done
fi
# list contents of common config and image directories
plugin_command "ls -alR /etc/xen/vm/"
plugin_command "ls -alR /etc/xen/auto/"
plugin_command "ls -alR /var/lib/xen/images/"
# dump VM-related conf files
test -d /etc/xen/vm && VM_CONF_FILES=$(find -L /etc/xen/vm/ -type f | sort)
pconf_files "$VM_CONF_FILES"
# dump log files
test -d /var/log/xen && XEN_LOG_FILES="$(find -L /var/log/xen/ -type f | grep 
'log$' | sort)"
plog_files 0 "$XEN_LOG_FILES"

echo "Done"
++++++ xen.suse_vtsc_tolerance.patch ++++++
suse_vtsc_tolerance=<val>

To avoid emulation of vTSC after live migration or save/restore allow
different clock frequency up to the specified value. If the frequency
is within the allowed range TSC access by the domU will be performed
at native speed. Otherwise TSC access will be emulated. It is up to
the hostadmin to decide how much tolerance all running domUs can
actually handle. The default is zero tolerance.
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -41,6 +41,9 @@
 static char __initdata opt_clocksource[10];
 string_param("clocksource", opt_clocksource);
 
+static unsigned int __read_mostly opt_suse_vtsc_tolerance;
+integer_param("suse_vtsc_tolerance", opt_suse_vtsc_tolerance);
+
 unsigned long __read_mostly cpu_khz;  /* CPU clock frequency in kHz. */
 DEFINE_SPINLOCK(rtc_lock);
 unsigned long pit0_ticks;
@@ -2009,6 +2012,8 @@ void tsc_set_info(struct domain *d,
                   uint32_t tsc_mode, uint64_t elapsed_nsec,
                   uint32_t gtsc_khz, uint32_t incarnation)
 {
+    uint32_t khz_diff = 0, tolerated = 0;
+
     if ( is_idle_domain(d) || is_hardware_domain(d) )
     {
         d->arch.vtsc = 0;
@@ -2024,7 +2029,18 @@ void tsc_set_info(struct domain *d,
         d->arch.vtsc_offset = get_s_time() - elapsed_nsec;
         d->arch.tsc_khz = gtsc_khz ?: cpu_khz;
         set_time_scale(&d->arch.vtsc_to_ns, d->arch.tsc_khz * 1000);
-
+        khz_diff = 0;
+        if (gtsc_khz)
+            khz_diff = cpu_khz > gtsc_khz ? cpu_khz - gtsc_khz : gtsc_khz - 
cpu_khz;
+        if (opt_suse_vtsc_tolerance) {
+            tolerated = khz_diff <= opt_suse_vtsc_tolerance;
+        } else {
+            tolerated = d->arch.tsc_khz == cpu_khz;
+        }
+        if ( tsc_mode == TSC_MODE_DEFAULT && gtsc_khz ) {
+            printk(XENLOG_WARNING "%s: d%u: dom0 has %lu kHz, domU expects %u 
kHz, difference of %u is %s tolerance of %u\n",
+               __func__, d->domain_id, cpu_khz, gtsc_khz, khz_diff, tolerated 
? "within" : "outside", opt_suse_vtsc_tolerance);
+        }
         /*
          * In default mode use native TSC if the host has safe TSC and
          * host and guest frequencies are the same (either "naturally" or
@@ -2033,7 +2049,7 @@ void tsc_set_info(struct domain *d,
          * d->arch.tsc_khz == cpu_khz. Thus no need to check incarnation.
          */
         if ( tsc_mode == TSC_MODE_DEFAULT && host_tsc_is_safe() &&
-             (d->arch.tsc_khz == cpu_khz ||
+             (tolerated ||
               (is_hvm_domain(d) &&
                hvm_get_tsc_scaling_ratio(d->arch.tsc_khz))) )
         {
++++++ xencommons.service ++++++
--- /var/tmp/diff_new_pack.7V0YNx/_old  2017-08-24 18:21:51.487527863 +0200
+++ /var/tmp/diff_new_pack.7V0YNx/_new  2017-08-24 18:21:51.487527863 +0200
@@ -30,6 +30,7 @@
 RemainAfterExit=true
 ExecStartPre=/bin/grep -q control_d /proc/xen/capabilities
 ExecStart=/usr/bin/xenstore-ls -f
+ExecStartPost=/bin/sh -c 'mv -vf /var/log/xen/xen-boot.log 
/var/log/xen/xen-boot.prev.log ; /usr/sbin/xl dmesg > /var/log/xen/xen-boot.log'
 
 [Install]
 WantedBy=multi-user.target


Reply via email to