Commit 4a77b25e2af0ccfa637c963f64a01468edcf94ac
Committed by
Anthony Liguori
1 parent
1f7babf6
net: return TAPState from net_tap_init()
net_tap_fd_init() already returns TAPState, so this is a sensible cleanup in its own right. Signed-off-by: Mark McLoughlin <markmc@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Showing
1 changed file
with
16 additions
and
11 deletions
net.c
... | ... | @@ -1429,9 +1429,9 @@ static int launch_script(const char *setup_script, const char *ifname, int fd) |
1429 | 1429 | return -1; |
1430 | 1430 | } |
1431 | 1431 | |
1432 | -static int net_tap_init(VLANState *vlan, const char *model, | |
1433 | - const char *name, const char *ifname1, | |
1434 | - const char *setup_script, const char *down_script) | |
1432 | +static TAPState *net_tap_init(VLANState *vlan, const char *model, | |
1433 | + const char *name, const char *ifname1, | |
1434 | + const char *setup_script, const char *down_script) | |
1435 | 1435 | { |
1436 | 1436 | TAPState *s; |
1437 | 1437 | int fd; |
... | ... | @@ -1443,13 +1443,13 @@ static int net_tap_init(VLANState *vlan, const char *model, |
1443 | 1443 | ifname[0] = '\0'; |
1444 | 1444 | TFR(fd = tap_open(ifname, sizeof(ifname))); |
1445 | 1445 | if (fd < 0) |
1446 | - return -1; | |
1446 | + return NULL; | |
1447 | 1447 | |
1448 | 1448 | if (!setup_script || !strcmp(setup_script, "no")) |
1449 | 1449 | setup_script = ""; |
1450 | - if (setup_script[0] != '\0') { | |
1451 | - if (launch_script(setup_script, ifname, fd)) | |
1452 | - return -1; | |
1450 | + if (setup_script[0] != '\0' && | |
1451 | + launch_script(setup_script, ifname, fd)) { | |
1452 | + return NULL; | |
1453 | 1453 | } |
1454 | 1454 | s = net_tap_fd_init(vlan, model, name, fd); |
1455 | 1455 | snprintf(s->vc->info_str, sizeof(s->vc->info_str), |
... | ... | @@ -1459,7 +1459,7 @@ static int net_tap_init(VLANState *vlan, const char *model, |
1459 | 1459 | snprintf(s->down_script, sizeof(s->down_script), "%s", down_script); |
1460 | 1460 | snprintf(s->down_script_arg, sizeof(s->down_script_arg), "%s", ifname); |
1461 | 1461 | } |
1462 | - return 0; | |
1462 | + return s; | |
1463 | 1463 | } |
1464 | 1464 | |
1465 | 1465 | #endif /* !_WIN32 */ |
... | ... | @@ -2294,6 +2294,7 @@ int net_client_init(Monitor *mon, const char *device, const char *p) |
2294 | 2294 | if (!strcmp(device, "tap")) { |
2295 | 2295 | char ifname[64], chkbuf[64]; |
2296 | 2296 | char setup_script[1024], down_script[1024]; |
2297 | + TAPState *s; | |
2297 | 2298 | int fd; |
2298 | 2299 | vlan->nb_host_devs++; |
2299 | 2300 | if (get_param_value(buf, sizeof(buf), "fd", p) > 0) { |
... | ... | @@ -2304,8 +2305,7 @@ int net_client_init(Monitor *mon, const char *device, const char *p) |
2304 | 2305 | } |
2305 | 2306 | fd = strtol(buf, NULL, 0); |
2306 | 2307 | fcntl(fd, F_SETFL, O_NONBLOCK); |
2307 | - net_tap_fd_init(vlan, device, name, fd); | |
2308 | - ret = 0; | |
2308 | + s = net_tap_fd_init(vlan, device, name, fd); | |
2309 | 2309 | } else { |
2310 | 2310 | static const char * const tap_params[] = { |
2311 | 2311 | "vlan", "name", "ifname", "script", "downscript", NULL |
... | ... | @@ -2324,7 +2324,12 @@ int net_client_init(Monitor *mon, const char *device, const char *p) |
2324 | 2324 | if (get_param_value(down_script, sizeof(down_script), "downscript", p) == 0) { |
2325 | 2325 | pstrcpy(down_script, sizeof(down_script), DEFAULT_NETWORK_DOWN_SCRIPT); |
2326 | 2326 | } |
2327 | - ret = net_tap_init(vlan, device, name, ifname, setup_script, down_script); | |
2327 | + s = net_tap_init(vlan, device, name, ifname, setup_script, down_script); | |
2328 | + } | |
2329 | + if (s != NULL) { | |
2330 | + ret = 0; | |
2331 | + } else { | |
2332 | + ret = -1; | |
2328 | 2333 | } |
2329 | 2334 | } else |
2330 | 2335 | #endif | ... | ... |