~ubuntu-branches/ubuntu/vivid/qemu/vivid

« back to all changes in this revision

Viewing changes to net/tap-linux.c

  • Committer: Package Import Robot
  • Author(s): Serge Hallyn
  • Date: 2014-02-25 22:31:43 UTC
  • mfrom: (1.8.5)
  • Revision ID: package-import@ubuntu.com-20140225223143-odhqxfc60wxrjl15
Tags: 2.0.0~rc1+dfsg-0ubuntu1
* Merge 2.0.0-rc1
* debian/rules: consolidate ppc filter entries.
* Move qemu-system-arch64 into qemu-system-arm
* debian/patches/define-trusty-machine-type.patch: define a trusty machine
  type, currently the same as pc-i440fx-2.0, to put is in a better position
  to enable live migrations from trusty onward.  (LP: #1294823)
* debian/control: build-dep on libfdt >= 1.4.0  (LP: #1295072)
* Merge latest upstream git to commit dc9528f
* Debian/rules:
  - remove -enable-uname-release=2.6.32
  - don't make the aarch64 target Ubuntu-specific.
* Remove patches which are now upstream:
  - fix-smb-security-share.patch
  - slirp-smb-redirect-port-445-too.patch 
  - linux-user-Implement-sendmmsg-syscall.patch (better version is upstream)
  - signal-added-a-wrapper-for-sigprocmask-function.patch
  - ubuntu/signal-sigsegv-protection-on-do_sigprocmask.patch
  - ubuntu/Don-t-block-SIGSEGV-at-more-places.patch
  - ubuntu/ppc-force-cpu-threads-count-to-be-power-of-2.patch
* add link for /usr/share/qemu/bios-256k.bin
* Remove all linaro patches.
* Remove all arm64/ patches.  Many but not all are upstream.
* Remove CVE-2013-4377.patch which is upstream.
* debian/control-in: don't make qemu-system-aarch64 ubuntu-specific

Show diffs side-by-side

added added

removed removed

Lines of Context:
52
52
    memset(&ifr, 0, sizeof(ifr));
53
53
    ifr.ifr_flags = IFF_TAP | IFF_NO_PI;
54
54
 
55
 
    if (ioctl(fd, TUNGETFEATURES, &features) == 0 &&
56
 
        features & IFF_ONE_QUEUE) {
 
55
    if (ioctl(fd, TUNGETFEATURES, &features) == -1) {
 
56
        error_report("warning: TUNGETFEATURES failed: %s", strerror(errno));
 
57
        features = 0;
 
58
    }
 
59
 
 
60
    if (features & IFF_ONE_QUEUE) {
57
61
        ifr.ifr_flags |= IFF_ONE_QUEUE;
58
62
    }
59
63
 
60
64
    if (*vnet_hdr) {
61
 
        if (ioctl(fd, TUNGETFEATURES, &features) == 0 &&
62
 
            features & IFF_VNET_HDR) {
 
65
        if (features & IFF_VNET_HDR) {
63
66
            *vnet_hdr = 1;
64
67
            ifr.ifr_flags |= IFF_VNET_HDR;
65
68
        } else {
82
85
    }
83
86
 
84
87
    if (mq_required) {
85
 
        if ((ioctl(fd, TUNGETFEATURES, &features) != 0) ||
86
 
            !(features & IFF_MULTI_QUEUE)) {
 
88
        if (!(features & IFF_MULTI_QUEUE)) {
87
89
            error_report("multiqueue required, but no kernel "
88
90
                         "support for IFF_MULTI_QUEUE available");
89
91
            close(fd);