summary refs log tree commit diff stats
path: root/net
diff options
context:
space:
mode:
authorLaszlo Ersek <lersek@redhat.com>2012-07-17 16:17:20 +0200
committerStefan Hajnoczi <stefanha@linux.vnet.ibm.com>2012-07-23 11:55:18 +0100
commitf79b51b081e48fb307a9438eb0e7326806bc19d3 (patch)
tree620552a52916a6c66231add9aab1d1a9149edfd3 /net
parent08c573a8d14893518df412c68541aae5b7091982 (diff)
downloadfocaccia-qemu-f79b51b081e48fb307a9438eb0e7326806bc19d3.tar.gz
focaccia-qemu-f79b51b081e48fb307a9438eb0e7326806bc19d3.zip
convert net_init_bridge() to NetClientOptions
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Diffstat (limited to 'net')
-rw-r--r--net/tap.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/net/tap.c b/net/tap.c
index c5563c0b4e..d2736eae76 100644
--- a/net/tap.c
+++ b/net/tap.c
@@ -513,21 +513,22 @@ static int net_bridge_run_helper(const char *helper, const char *bridge)
     return -1;
 }
 
-int net_init_bridge(QemuOpts *opts, const NetClientOptions *new_opts,
+int net_init_bridge(QemuOpts *old_opts, const NetClientOptions *opts,
                     const char *name, VLANState *vlan)
 {
+    const NetdevBridgeOptions *bridge;
+    const char *helper, *br;
+
     TAPState *s;
     int fd, vnet_hdr;
 
-    if (!qemu_opt_get(opts, "br")) {
-        qemu_opt_set(opts, "br", DEFAULT_BRIDGE_INTERFACE);
-    }
-    if (!qemu_opt_get(opts, "helper")) {
-        qemu_opt_set(opts, "helper", DEFAULT_BRIDGE_HELPER);
-    }
+    assert(opts->kind == NET_CLIENT_OPTIONS_KIND_BRIDGE);
+    bridge = opts->bridge;
+
+    helper = bridge->has_helper ? bridge->helper : DEFAULT_BRIDGE_HELPER;
+    br     = bridge->has_br     ? bridge->br     : DEFAULT_BRIDGE_INTERFACE;
 
-    fd = net_bridge_run_helper(qemu_opt_get(opts, "helper"),
-                               qemu_opt_get(opts, "br"));
+    fd = net_bridge_run_helper(helper, br);
     if (fd == -1) {
         return -1;
     }
@@ -542,8 +543,8 @@ int net_init_bridge(QemuOpts *opts, const NetClientOptions *new_opts,
         return -1;
     }
 
-    snprintf(s->nc.info_str, sizeof(s->nc.info_str), "helper=%s,br=%s",
-             qemu_opt_get(opts, "helper"), qemu_opt_get(opts, "br"));
+    snprintf(s->nc.info_str, sizeof(s->nc.info_str), "helper=%s,br=%s", helper,
+             br);
 
     return 0;
 }