| 606 | } |
| 607 | |
| 608 | static int |
| 609 | ifc_alloc_unit_specific(struct if_clone *ifc, int *unit) |
| 610 | { |
| 611 | char name[IFNAMSIZ]; |
| 612 | |
| 613 | if (*unit > ifc->ifc_maxunit) |
| 614 | return (ENOSPC); |
| 615 | |
| 616 | if (alloc_unr_specific(ifc->ifc_unrhdr, *unit) == -1) |
| 617 | return (EEXIST); |
| 618 | |
| 619 | snprintf(name, IFNAMSIZ, "%s%d", ifc->ifc_name, *unit); |
| 620 | if (ifunit(name) != NULL) { |
| 621 | free_unr(ifc->ifc_unrhdr, *unit); |
| 622 | return (EEXIST); |
| 623 | } |
| 624 | |
| 625 | IF_CLONE_ADDREF(ifc); |
| 626 | |
| 627 | return (0); |
| 628 | } |
| 629 | |
| 630 | static int |
| 631 | ifc_alloc_unit_next(struct if_clone *ifc, int *unit) |
no test coverage detected