1*ce489a5eSPatrick Mooney /* 2*ce489a5eSPatrick Mooney * This file and its contents are supplied under the terms of the 3*ce489a5eSPatrick Mooney * Common Development and Distribution License ("CDDL"), version 1.0. 4*ce489a5eSPatrick Mooney * You may only use this file in accordance with the terms of version 5*ce489a5eSPatrick Mooney * 1.0 of the CDDL. 6*ce489a5eSPatrick Mooney * 7*ce489a5eSPatrick Mooney * A full copy of the text of the CDDL should have accompanied this 8*ce489a5eSPatrick Mooney * source. A copy of the CDDL is also available via the Internet at 9*ce489a5eSPatrick Mooney * http://www.illumos.org/license/CDDL. 10*ce489a5eSPatrick Mooney */ 11*ce489a5eSPatrick Mooney 12*ce489a5eSPatrick Mooney /* 13*ce489a5eSPatrick Mooney * Copyright 2024 Oxide Computer Company 14*ce489a5eSPatrick Mooney */ 15*ce489a5eSPatrick Mooney 16*ce489a5eSPatrick Mooney #include <fcntl.h> 17*ce489a5eSPatrick Mooney #include <libdladm.h> 18*ce489a5eSPatrick Mooney #include <libdllink.h> 19*ce489a5eSPatrick Mooney 20*ce489a5eSPatrick Mooney #include "viona_suite.h" 21*ce489a5eSPatrick Mooney 22*ce489a5eSPatrick Mooney int open_viona(void)23*ce489a5eSPatrick Mooneyopen_viona(void) 24*ce489a5eSPatrick Mooney { 25*ce489a5eSPatrick Mooney return (open(VIONA_DEV, O_RDWR)); 26*ce489a5eSPatrick Mooney } 27*ce489a5eSPatrick Mooney 28*ce489a5eSPatrick Mooney /* Convenience helper to get datalink_id_t from an interface name */ 29*ce489a5eSPatrick Mooney dladm_status_t query_dlid(const char * name,datalink_id_t * dlid)30*ce489a5eSPatrick Mooneyquery_dlid(const char *name, datalink_id_t *dlid) 31*ce489a5eSPatrick Mooney { 32*ce489a5eSPatrick Mooney dladm_handle_t hdl; 33*ce489a5eSPatrick Mooney dladm_status_t err; 34*ce489a5eSPatrick Mooney 35*ce489a5eSPatrick Mooney err = dladm_open(&hdl); 36*ce489a5eSPatrick Mooney if (err != DLADM_STATUS_OK) { 37*ce489a5eSPatrick Mooney dladm_close(hdl); 38*ce489a5eSPatrick Mooney return (err); 39*ce489a5eSPatrick Mooney } 40*ce489a5eSPatrick Mooney 41*ce489a5eSPatrick Mooney err = dladm_name2info(hdl, name, dlid, NULL, NULL, NULL); 42*ce489a5eSPatrick Mooney dladm_close(hdl); 43*ce489a5eSPatrick Mooney 44*ce489a5eSPatrick Mooney return (err); 45*ce489a5eSPatrick Mooney } 46