[PATCH 1/2] Allow brAddTap to create a tap device that is down

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



An upcoming patch has a use for a tap device to be created that
doesn't need to be actually put into the "up" state, and keeping it
"down" keeps the output of ifconfig from being unnecessarily cluttered
(ifconfig won't show down interfaces unless you add "-a").

bridge.[ch]: add "up" as an arg to brAddTap()
uml_conf.c, qemu_command.c: add "up" (set to "true") to brAddTap() call.
---
 src/qemu/qemu_command.c |    1 +
 src/uml/uml_conf.c      |    1 +
 src/util/bridge.c       |    3 ++-
 src/util/bridge.h       |    1 +
 4 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index f78ce71..600830a 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -252,6 +252,7 @@ qemuNetworkIfaceConnect(virConnectPtr conn,
                         &net->ifname,
                         tapmac,
                         vnet_hdr,
+                        true,
                         &tapfd))) {
         if (err == ENOTSUP) {
             /* In this particular case, give a better diagnostic. */
diff --git a/src/uml/uml_conf.c b/src/uml/uml_conf.c
index e5dbed9..7c8fb16 100644
--- a/src/uml/uml_conf.c
+++ b/src/uml/uml_conf.c
@@ -143,6 +143,7 @@ umlConnectTapDevice(virConnectPtr conn,
                         &net->ifname,
                         tapmac,
                         0,
+                        true,
                         NULL))) {
         if (err == ENOTSUP) {
             /* In this particular case, give a better diagnostic. */
diff --git a/src/util/bridge.c b/src/util/bridge.c
index e53fce5..3ed71be 100644
--- a/src/util/bridge.c
+++ b/src/util/bridge.c
@@ -484,6 +484,7 @@ brAddTap(brControl *ctl,
          char **ifname,
          const unsigned char *macaddr,
          int vnet_hdr,
+         bool up,
          int *tapfd)
 {
     int fd;
@@ -530,7 +531,7 @@ brAddTap(brControl *ctl,
         goto error;
     if ((errno = brAddInterface(ctl, bridge, ifr.ifr_name)))
         goto error;
-    if ((errno = brSetInterfaceUp(ctl, ifr.ifr_name, 1)))
+    if (up && ((errno = brSetInterfaceUp(ctl, ifr.ifr_name, 1))))
         goto error;
     if (!tapfd &&
         (errno = ioctl(fd, TUNSETPERSIST, 1)))
diff --git a/src/util/bridge.h b/src/util/bridge.h
index e8e7eca..93f0b33 100644
--- a/src/util/bridge.h
+++ b/src/util/bridge.h
@@ -71,6 +71,7 @@ int     brAddTap                (brControl *ctl,
                                  char **ifname,
                                  const unsigned char *macaddr,
                                  int vnet_hdr,
+                                 bool up,
                                  int *tapfd);
 
 int     brDeleteTap             (brControl *ctl,
-- 
1.7.3.4

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list


[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]