int net_init_tap(const NetClientOptions *opts, const char *name,

                 NetClientState *peer, Error **errp)

{

    /* FIXME error_setg(errp, ...) on failure */

    const NetdevTapOptions *tap;

    int fd, vnet_hdr = 0, i = 0, queues;

    /* for the no-fd, no-helper case */

    const char *script = NULL; /* suppress wrong "uninit'd use" gcc warning */

    const char *downscript = NULL;

    Error *err = NULL;

    const char *vhostfdname;

    char ifname[128];



    assert(opts->kind == NET_CLIENT_OPTIONS_KIND_TAP);

    tap = opts->tap;

    queues = tap->has_queues ? tap->queues : 1;

    vhostfdname = tap->has_vhostfd ? tap->vhostfd : NULL;



    /* QEMU vlans does not support multiqueue tap, in this case peer is set.

     * For -netdev, peer is always NULL. */

    if (peer && (tap->has_queues || tap->has_fds || tap->has_vhostfds)) {

        error_report("Multiqueue tap cannot be used with QEMU vlans");

        return -1;

    }



    if (tap->has_fd) {

        if (tap->has_ifname || tap->has_script || tap->has_downscript ||

            tap->has_vnet_hdr || tap->has_helper || tap->has_queues ||

            tap->has_fds || tap->has_vhostfds) {

            error_report("ifname=, script=, downscript=, vnet_hdr=, "

                         "helper=, queues=, fds=, and vhostfds= "

                         "are invalid with fd=");

            return -1;

        }



        fd = monitor_fd_param(cur_mon, tap->fd, &err);

        if (fd == -1) {

            error_report_err(err);

            return -1;

        }



        fcntl(fd, F_SETFL, O_NONBLOCK);



        vnet_hdr = tap_probe_vnet_hdr(fd);



        net_init_tap_one(tap, peer, "tap", name, NULL,

                         script, downscript,

                         vhostfdname, vnet_hdr, fd, &err);

        if (err) {

            error_report_err(err);

            return -1;

        }

    } else if (tap->has_fds) {

        char *fds[MAX_TAP_QUEUES];

        char *vhost_fds[MAX_TAP_QUEUES];

        int nfds, nvhosts;



        if (tap->has_ifname || tap->has_script || tap->has_downscript ||

            tap->has_vnet_hdr || tap->has_helper || tap->has_queues ||

            tap->has_vhostfd) {

            error_report("ifname=, script=, downscript=, vnet_hdr=, "

                         "helper=, queues=, and vhostfd= "

                         "are invalid with fds=");

            return -1;

        }



        nfds = get_fds(tap->fds, fds, MAX_TAP_QUEUES);

        if (tap->has_vhostfds) {

            nvhosts = get_fds(tap->vhostfds, vhost_fds, MAX_TAP_QUEUES);

            if (nfds != nvhosts) {

                error_report("The number of fds passed does not match the "

                             "number of vhostfds passed");

                return -1;

            }

        }



        for (i = 0; i < nfds; i++) {

            fd = monitor_fd_param(cur_mon, fds[i], &err);

            if (fd == -1) {

                error_report_err(err);

                return -1;

            }



            fcntl(fd, F_SETFL, O_NONBLOCK);



            if (i == 0) {

                vnet_hdr = tap_probe_vnet_hdr(fd);

            } else if (vnet_hdr != tap_probe_vnet_hdr(fd)) {

                error_report("vnet_hdr not consistent across given tap fds");

                return -1;

            }



            net_init_tap_one(tap, peer, "tap", name, ifname,

                             script, downscript,

                             tap->has_vhostfds ? vhost_fds[i] : NULL,

                             vnet_hdr, fd, &err);

            if (err) {

                error_report_err(err);

                return -1;

            }

        }

    } else if (tap->has_helper) {

        if (tap->has_ifname || tap->has_script || tap->has_downscript ||

            tap->has_vnet_hdr || tap->has_queues || tap->has_vhostfds) {

            error_report("ifname=, script=, downscript=, and vnet_hdr= "

                         "queues=, and vhostfds= are invalid with helper=");

            return -1;

        }



        fd = net_bridge_run_helper(tap->helper, DEFAULT_BRIDGE_INTERFACE,

                                   errp);

        if (fd == -1) {

            return -1;

        }



        fcntl(fd, F_SETFL, O_NONBLOCK);

        vnet_hdr = tap_probe_vnet_hdr(fd);



        net_init_tap_one(tap, peer, "bridge", name, ifname,

                         script, downscript, vhostfdname,

                         vnet_hdr, fd, &err);

        if (err) {

            error_report_err(err);

            close(fd);

            return -1;

        }

    } else {

        if (tap->has_vhostfds) {

            error_report("vhostfds= is invalid if fds= wasn't specified");

            return -1;

        }

        script = tap->has_script ? tap->script : DEFAULT_NETWORK_SCRIPT;

        downscript = tap->has_downscript ? tap->downscript :

            DEFAULT_NETWORK_DOWN_SCRIPT;



        if (tap->has_ifname) {

            pstrcpy(ifname, sizeof ifname, tap->ifname);

        } else {

            ifname[0] = '\0';

        }



        for (i = 0; i < queues; i++) {

            fd = net_tap_init(tap, &vnet_hdr, i >= 1 ? "no" : script,

                              ifname, sizeof ifname, queues > 1, &err);

            if (fd == -1) {

                error_report_err(err);

                return -1;

            }



            if (queues > 1 && i == 0 && !tap->has_ifname) {

                if (tap_fd_get_ifname(fd, ifname)) {

                    error_report("Fail to get ifname");

                    close(fd);

                    return -1;

                }

            }



            net_init_tap_one(tap, peer, "tap", name, ifname,

                             i >= 1 ? "no" : script,

                             i >= 1 ? "no" : downscript,

                             vhostfdname, vnet_hdr, fd, &err);

            if (err) {

                error_report_err(err);

                close(fd);

                return -1;

            }

        }

    }



    return 0;

}

int net_init_tap(const NetClientOptions *opts, const char *name,

                 NetClientState *peer, Error **errp)

{

    

    const NetdevTapOptions *tap;

    int fd, vnet_hdr = 0, i = 0, queues;

    

    const char *script = NULL; 

    const char *downscript = NULL;

    Error *err = NULL;

    const char *vhostfdname;

    char ifname[128];



    assert(opts->kind == NET_CLIENT_OPTIONS_KIND_TAP);

    tap = opts->tap;

    queues = tap->has_queues ? tap->queues : 1;

    vhostfdname = tap->has_vhostfd ? tap->vhostfd : NULL;



    



    if (peer && (tap->has_queues || tap->has_fds || tap->has_vhostfds)) {

        error_report("Multiqueue tap cannot be used with QEMU vlans");

        return -1;

    }



    if (tap->has_fd) {

        if (tap->has_ifname || tap->has_script || tap->has_downscript ||

            tap->has_vnet_hdr || tap->has_helper || tap->has_queues ||

            tap->has_fds || tap->has_vhostfds) {

            error_report("ifname=, script=, downscript=, vnet_hdr=, "

                         "helper=, queues=, fds=, and vhostfds= "

                         "are invalid with fd=");

            return -1;

        }



        fd = monitor_fd_param(cur_mon, tap->fd, &err);

        if (fd == -1) {

            error_report_err(err);

            return -1;

        }



        fcntl(fd, F_SETFL, O_NONBLOCK);



        vnet_hdr = tap_probe_vnet_hdr(fd);



        net_init_tap_one(tap, peer, "tap", name, NULL,

                         script, downscript,

                         vhostfdname, vnet_hdr, fd, &err);

        if (err) {

            error_report_err(err);

            return -1;

        }

    } else if (tap->has_fds) {

        char *fds[MAX_TAP_QUEUES];

        char *vhost_fds[MAX_TAP_QUEUES];

        int nfds, nvhosts;



        if (tap->has_ifname || tap->has_script || tap->has_downscript ||

            tap->has_vnet_hdr || tap->has_helper || tap->has_queues ||

            tap->has_vhostfd) {

            error_report("ifname=, script=, downscript=, vnet_hdr=, "

                         "helper=, queues=, and vhostfd= "

                         "are invalid with fds=");

            return -1;

        }



        nfds = get_fds(tap->fds, fds, MAX_TAP_QUEUES);

        if (tap->has_vhostfds) {

            nvhosts = get_fds(tap->vhostfds, vhost_fds, MAX_TAP_QUEUES);

            if (nfds != nvhosts) {

                error_report("The number of fds passed does not match the "

                             "number of vhostfds passed");

                return -1;

            }

        }



        for (i = 0; i < nfds; i++) {

            fd = monitor_fd_param(cur_mon, fds[i], &err);

            if (fd == -1) {

                error_report_err(err);

                return -1;

            }



            fcntl(fd, F_SETFL, O_NONBLOCK);



            if (i == 0) {

                vnet_hdr = tap_probe_vnet_hdr(fd);

            } else if (vnet_hdr != tap_probe_vnet_hdr(fd)) {

                error_report("vnet_hdr not consistent across given tap fds");

                return -1;

            }



            net_init_tap_one(tap, peer, "tap", name, ifname,

                             script, downscript,

                             tap->has_vhostfds ? vhost_fds[i] : NULL,

                             vnet_hdr, fd, &err);

            if (err) {

                error_report_err(err);

                return -1;

            }

        }

    } else if (tap->has_helper) {

        if (tap->has_ifname || tap->has_script || tap->has_downscript ||

            tap->has_vnet_hdr || tap->has_queues || tap->has_vhostfds) {

            error_report("ifname=, script=, downscript=, and vnet_hdr= "

                         "queues=, and vhostfds= are invalid with helper=");

            return -1;

        }



        fd = net_bridge_run_helper(tap->helper, DEFAULT_BRIDGE_INTERFACE,

                                   errp);

        if (fd == -1) {

            return -1;

        }



        fcntl(fd, F_SETFL, O_NONBLOCK);

        vnet_hdr = tap_probe_vnet_hdr(fd);



        net_init_tap_one(tap, peer, "bridge", name, ifname,

                         script, downscript, vhostfdname,

                         vnet_hdr, fd, &err);

        if (err) {

            error_report_err(err);

            close(fd);

            return -1;

        }

    } else {

        if (tap->has_vhostfds) {

            error_report("vhostfds= is invalid if fds= wasn't specified");

            return -1;

        }

        script = tap->has_script ? tap->script : DEFAULT_NETWORK_SCRIPT;

        downscript = tap->has_downscript ? tap->downscript :

            DEFAULT_NETWORK_DOWN_SCRIPT;



        if (tap->has_ifname) {

            pstrcpy(ifname, sizeof ifname, tap->ifname);

        } else {

            ifname[0] = '\0';

        }



        for (i = 0; i < queues; i++) {

            fd = net_tap_init(tap, &vnet_hdr, i >= 1 ? "no" : script,

                              ifname, sizeof ifname, queues > 1, &err);

            if (fd == -1) {

                error_report_err(err);

                return -1;

            }



            if (queues > 1 && i == 0 && !tap->has_ifname) {

                if (tap_fd_get_ifname(fd, ifname)) {

                    error_report("Fail to get ifname");

                    close(fd);

                    return -1;

                }

            }



            net_init_tap_one(tap, peer, "tap", name, ifname,

                             i >= 1 ? "no" : script,

                             i >= 1 ? "no" : downscript,

                             vhostfdname, vnet_hdr, fd, &err);

            if (err) {

                error_report_err(err);

                close(fd);

                return -1;

            }

        }

    }



    return 0;

}

        error_report("Multiqueue tap cannot be used with QEMU vlans");             error_report("ifname=, script=, downscript=, vnet_hdr=, "                          "helper=, queues=, fds=, and vhostfds= "                          "are invalid with fd=");             error_report_err(err);             error_report_err(err);             error_report("ifname=, script=, downscript=, vnet_hdr=, "                          "helper=, queues=, and vhostfd= "                          "are invalid with fds=");                 error_report("The number of fds passed does not match the "                              "number of vhostfds passed");                 error_report_err(err);                 error_report("vnet_hdr not consistent across given tap fds");                 error_report_err(err);             error_report("ifname=, script=, downscript=, and vnet_hdr= "                          "queues=, and vhostfds= are invalid with helper=");             error_report_err(err);             error_report("vhostfds= is invalid if fds= wasn't specified");                               ifname, sizeof ifname, queues > 1, &err);                 error_report_err(err);                     error_report("Fail to get ifname");                 error_report_err(err);
int FUNC_0(const NetClientOptions *VAR_0, const char *VAR_1,

                 NetClientState *VAR_2, Error **VAR_3)

{

    

    const NetdevTapOptions *VAR_4;

    int VAR_5, VAR_6 = 0, VAR_7 = 0, VAR_8;

    

    const char *VAR_9 = NULL; 

    const char *VAR_10 = NULL;

    Error *err = NULL;

    const char *VAR_11;

    char VAR_12[128];



    assert(VAR_0->kind == NET_CLIENT_OPTIONS_KIND_TAP);

    VAR_4 = VAR_0->VAR_4;

    VAR_8 = VAR_4->has_queues ? VAR_4->VAR_8 : 1;

    VAR_11 = VAR_4->has_vhostfd ? VAR_4->vhostfd : NULL;



    



    if (VAR_2 && (VAR_4->has_queues || VAR_4->has_fds || VAR_4->has_vhostfds)) {

        error_report("Multiqueue VAR_4 cannot be used with QEMU vlans");

        return -1;

    }



    if (VAR_4->has_fd) {

        if (VAR_4->has_ifname || VAR_4->has_script || VAR_4->has_downscript ||

            VAR_4->has_vnet_hdr || VAR_4->has_helper || VAR_4->has_queues ||

            VAR_4->has_fds || VAR_4->has_vhostfds) {

            error_report("VAR_12=, VAR_9=, VAR_10=, VAR_6=, "

                         "helper=, VAR_8=, VAR_13=, and vhostfds= "

                         "are invalid with VAR_5=");

            return -1;

        }



        VAR_5 = monitor_fd_param(cur_mon, VAR_4->VAR_5, &err);

        if (VAR_5 == -1) {

            error_report_err(err);

            return -1;

        }



        fcntl(VAR_5, F_SETFL, O_NONBLOCK);



        VAR_6 = tap_probe_vnet_hdr(VAR_5);



        net_init_tap_one(VAR_4, VAR_2, "VAR_4", VAR_1, NULL,

                         VAR_9, VAR_10,

                         VAR_11, VAR_6, VAR_5, &err);

        if (err) {

            error_report_err(err);

            return -1;

        }

    } else if (VAR_4->has_fds) {

        char *VAR_13[MAX_TAP_QUEUES];

        char *VAR_14[MAX_TAP_QUEUES];

        int VAR_15, VAR_16;



        if (VAR_4->has_ifname || VAR_4->has_script || VAR_4->has_downscript ||

            VAR_4->has_vnet_hdr || VAR_4->has_helper || VAR_4->has_queues ||

            VAR_4->has_vhostfd) {

            error_report("VAR_12=, VAR_9=, VAR_10=, VAR_6=, "

                         "helper=, VAR_8=, and vhostfd= "

                         "are invalid with VAR_13=");

            return -1;

        }



        VAR_15 = get_fds(VAR_4->VAR_13, VAR_13, MAX_TAP_QUEUES);

        if (VAR_4->has_vhostfds) {

            VAR_16 = get_fds(VAR_4->vhostfds, VAR_14, MAX_TAP_QUEUES);

            if (VAR_15 != VAR_16) {

                error_report("The number of VAR_13 passed does not match the "

                             "number of vhostfds passed");

                return -1;

            }

        }



        for (VAR_7 = 0; VAR_7 < VAR_15; VAR_7++) {

            VAR_5 = monitor_fd_param(cur_mon, VAR_13[VAR_7], &err);

            if (VAR_5 == -1) {

                error_report_err(err);

                return -1;

            }



            fcntl(VAR_5, F_SETFL, O_NONBLOCK);



            if (VAR_7 == 0) {

                VAR_6 = tap_probe_vnet_hdr(VAR_5);

            } else if (VAR_6 != tap_probe_vnet_hdr(VAR_5)) {

                error_report("VAR_6 not consistent across given VAR_4 VAR_13");

                return -1;

            }



            net_init_tap_one(VAR_4, VAR_2, "VAR_4", VAR_1, VAR_12,

                             VAR_9, VAR_10,

                             VAR_4->has_vhostfds ? VAR_14[VAR_7] : NULL,

                             VAR_6, VAR_5, &err);

            if (err) {

                error_report_err(err);

                return -1;

            }

        }

    } else if (VAR_4->has_helper) {

        if (VAR_4->has_ifname || VAR_4->has_script || VAR_4->has_downscript ||

            VAR_4->has_vnet_hdr || VAR_4->has_queues || VAR_4->has_vhostfds) {

            error_report("VAR_12=, VAR_9=, VAR_10=, and VAR_6= "

                         "VAR_8=, and vhostfds= are invalid with helper=");

            return -1;

        }



        VAR_5 = net_bridge_run_helper(VAR_4->helper, DEFAULT_BRIDGE_INTERFACE,

                                   VAR_3);

        if (VAR_5 == -1) {

            return -1;

        }



        fcntl(VAR_5, F_SETFL, O_NONBLOCK);

        VAR_6 = tap_probe_vnet_hdr(VAR_5);



        net_init_tap_one(VAR_4, VAR_2, "bridge", VAR_1, VAR_12,

                         VAR_9, VAR_10, VAR_11,

                         VAR_6, VAR_5, &err);

        if (err) {

            error_report_err(err);

            close(VAR_5);

            return -1;

        }

    } else {

        if (VAR_4->has_vhostfds) {

            error_report("vhostfds= is invalid if VAR_13= wasn't specified");

            return -1;

        }

        VAR_9 = VAR_4->has_script ? VAR_4->VAR_9 : DEFAULT_NETWORK_SCRIPT;

        VAR_10 = VAR_4->has_downscript ? VAR_4->VAR_10 :

            DEFAULT_NETWORK_DOWN_SCRIPT;



        if (VAR_4->has_ifname) {

            pstrcpy(VAR_12, sizeof VAR_12, VAR_4->VAR_12);

        } else {

            VAR_12[0] = '\0';

        }



        for (VAR_7 = 0; VAR_7 < VAR_8; VAR_7++) {

            VAR_5 = net_tap_init(VAR_4, &VAR_6, VAR_7 >= 1 ? "no" : VAR_9,

                              VAR_12, sizeof VAR_12, VAR_8 > 1, &err);

            if (VAR_5 == -1) {

                error_report_err(err);

                return -1;

            }



            if (VAR_8 > 1 && VAR_7 == 0 && !VAR_4->has_ifname) {

                if (tap_fd_get_ifname(VAR_5, VAR_12)) {

                    error_report("Fail to get VAR_12");

                    close(VAR_5);

                    return -1;

                }

            }



            net_init_tap_one(VAR_4, VAR_2, "VAR_4", VAR_1, VAR_12,

                             VAR_7 >= 1 ? "no" : VAR_9,

                             VAR_7 >= 1 ? "no" : VAR_10,

                             VAR_11, VAR_6, VAR_5, &err);

            if (err) {

                error_report_err(err);

                close(VAR_5);

                return -1;

            }

        }

    }



    return 0;

}

int FUNC_0(const NetClientOptions *VAR_0, const char *VAR_1,
NetClientState *VAR_2, Error **VAR_3)
{ const NetdevTapOptions *VAR_4; int VAR_5, VAR_6 = 0, VAR_7 = 0, VAR_8; const char *VAR_9 = NULL; const char *VAR_10 = NULL; Error *err = NULL; const char *VAR_11; char VAR_12[128]; assert(VAR_0->kind == NET_CLIENT_OPTIONS_KIND_TAP); VAR_4 = VAR_0->VAR_4; VAR_8 = VAR_4->has_queues ? VAR_4->VAR_8 : 1; VAR_11 = VAR_4->has_vhostfd ? VAR_4->vhostfd : NULL; if (VAR_2 && (VAR_4->has_queues || VAR_4->has_fds || VAR_4->has_vhostfds)) { error_report("Multiqueue VAR_4 cannot be used with QEMU vlans"); return -1; } if (VAR_4->has_fd) { if (VAR_4->has_ifname || VAR_4->has_script || VAR_4->has_downscript ||
VAR_4->has_vnet_hdr || VAR_4->has_helper || VAR_4->has_queues ||
VAR_4->has_fds || VAR_4->has_vhostfds) { error_report("VAR_12=, VAR_9=, VAR_10=, VAR_6=, "
"helper=, VAR_8=, VAR_13=, and vhostfds= "
"are invalid with VAR_5="); return -1; } VAR_5 = monitor_fd_param(cur_mon, VAR_4->VAR_5, &err); if (VAR_5 == -1) { error_report_err(err); return -1; } fcntl(VAR_5, F_SETFL, O_NONBLOCK); VAR_6 = tap_probe_vnet_hdr(VAR_5); net_init_tap_one(VAR_4, VAR_2, "VAR_4", VAR_1, NULL,
VAR_9, VAR_10,
VAR_11, VAR_6, VAR_5, &err); if (err) { error_report_err(err); return -1; } } else if (VAR_4->has_fds) { char *VAR_13[MAX_TAP_QUEUES]; char *VAR_14[MAX_TAP_QUEUES]; int VAR_15, VAR_16; if (VAR_4->has_ifname || VAR_4->has_script || VAR_4->has_downscript ||
VAR_4->has_vnet_hdr || VAR_4->has_helper || VAR_4->has_queues ||
VAR_4->has_vhostfd) { error_report("VAR_12=, VAR_9=, VAR_10=, VAR_6=, "
"helper=, VAR_8=, and vhostfd= "
"are invalid with VAR_13="); return -1; } VAR_15 = get_fds(VAR_4->VAR_13, VAR_13, MAX_TAP_QUEUES); if (VAR_4->has_vhostfds) { VAR_16 = get_fds(VAR_4->vhostfds, VAR_14, MAX_TAP_QUEUES); if (VAR_15 != VAR_16) { error_report("The number of VAR_13 passed does not match the "
"number of vhostfds passed"); return -1; } } for (VAR_7 = 0; VAR_7 < VAR_15; VAR_7++) { VAR_5 = monitor_fd_param(cur_mon, VAR_13[VAR_7], &err); if (VAR_5 == -1) { error_report_err(err); return -1; } fcntl(VAR_5, F_SETFL, O_NONBLOCK); if (VAR_7 == 0) { VAR_6 = tap_probe_vnet_hdr(VAR_5); } else if (VAR_6 != tap_probe_vnet_hdr(VAR_5)) { error_report("VAR_6 not consistent across given VAR_4 VAR_13"); return -1; } net_init_tap_one(VAR_4, VAR_2, "VAR_4", VAR_1, VAR_12,
VAR_9, VAR_10,
VAR_4->has_vhostfds ? VAR_14[VAR_7] : NULL,
VAR_6, VAR_5, &err); if (err) { error_report_err(err); return -1; } } } else if (VAR_4->has_helper) { if (VAR_4->has_ifname || VAR_4->has_script || VAR_4->has_downscript ||
VAR_4->has_vnet_hdr || VAR_4->has_queues || VAR_4->has_vhostfds) { error_report("VAR_12=, VAR_9=, VAR_10=, and VAR_6= "
"VAR_8=, and vhostfds= are invalid with helper="); return -1; } VAR_5 = net_bridge_run_helper(VAR_4->helper, DEFAULT_BRIDGE_INTERFACE,
VAR_3); if (VAR_5 == -1) { return -1; } fcntl(VAR_5, F_SETFL, O_NONBLOCK); VAR_6 = tap_probe_vnet_hdr(VAR_5); net_init_tap_one(VAR_4, VAR_2, "bridge", VAR_1, VAR_12,
VAR_9, VAR_10, VAR_11,
VAR_6, VAR_5, &err); if (err) { error_report_err(err); close(VAR_5); return -1; } } else { if (VAR_4->has_vhostfds) { error_report("vhostfds= is invalid if VAR_13= wasn't specified"); return -1; } VAR_9 = VAR_4->has_script ? VAR_4->VAR_9 : DEFAULT_NETWORK_SCRIPT; VAR_10 = VAR_4->has_downscript ? VAR_4->VAR_10 :
DEFAULT_NETWORK_DOWN_SCRIPT; if (VAR_4->has_ifname) { pstrcpy(VAR_12, sizeof VAR_12, VAR_4->VAR_12); } else { VAR_12[0] = '\0'; } for (VAR_7 = 0; VAR_7 < VAR_8; VAR_7++) { VAR_5 = net_tap_init(VAR_4, &VAR_6, VAR_7 >= 1 ? "no" : VAR_9,
VAR_12, sizeof VAR_12, VAR_8 > 1, &err); if (VAR_5 == -1) { error_report_err(err); return -1; } if (VAR_8 > 1 && VAR_7 == 0 && !VAR_4->has_ifname) { if (tap_fd_get_ifname(VAR_5, VAR_12)) { error_report("Fail to get VAR_12"); close(VAR_5); return -1; } } net_init_tap_one(VAR_4, VAR_2, "VAR_4", VAR_1, VAR_12,
VAR_7 >= 1 ? "no" : VAR_9,
VAR_7 >= 1 ? "no" : VAR_10,
VAR_11, VAR_6, VAR_5, &err); if (err) { error_report_err(err); close(VAR_5); return -1; } } } return 0; }