Lines Matching refs:nic

21                             const char *mac, libxl_device_nic *nic)  in libxl_mac_to_device_nic()  argument
36 memset(nic, 0, sizeof (libxl_device_nic)); in libxl_mac_to_device_nic()
41 *nic = nics[i]; in libxl_mac_to_device_nic()
57 libxl_device_nic *nic, bool hotplug) in libxl__device_nic_setdefault() argument
61 if (!nic->mtu) in libxl__device_nic_setdefault()
62 nic->mtu = 1492; in libxl__device_nic_setdefault()
63 if (!nic->model) { in libxl__device_nic_setdefault()
64 nic->model = strdup("rtl8139"); in libxl__device_nic_setdefault()
65 if (!nic->model) return ERROR_NOMEM; in libxl__device_nic_setdefault()
67 if (libxl__mac_is_default(&nic->mac)) { in libxl__device_nic_setdefault()
74 nic->mac[0] = 0x00; in libxl__device_nic_setdefault()
75 nic->mac[1] = 0x16; in libxl__device_nic_setdefault()
76 nic->mac[2] = 0x3e; in libxl__device_nic_setdefault()
77 nic->mac[3] = r[0] & 0x7f; in libxl__device_nic_setdefault()
78 nic->mac[4] = r[1]; in libxl__device_nic_setdefault()
79 nic->mac[5] = r[2]; in libxl__device_nic_setdefault()
81 if (!nic->bridge) { in libxl__device_nic_setdefault()
82 nic->bridge = strdup("xenbr0"); in libxl__device_nic_setdefault()
83 if (!nic->bridge) return ERROR_NOMEM; in libxl__device_nic_setdefault()
85 if ( !nic->script && asprintf(&nic->script, "%s/vif-bridge", in libxl__device_nic_setdefault()
89 rc = libxl__resolve_domid(gc, nic->backend_domname, &nic->backend_domid); in libxl__device_nic_setdefault()
94 if (!nic->nictype) { in libxl__device_nic_setdefault()
96 nic->nictype = LIBXL_NIC_TYPE_VIF; in libxl__device_nic_setdefault()
98 nic->nictype = LIBXL_NIC_TYPE_VIF_IOEMU; in libxl__device_nic_setdefault()
103 if (nic->nictype == LIBXL_NIC_TYPE_VIF_IOEMU) { in libxl__device_nic_setdefault()
108 nic->nictype = LIBXL_NIC_TYPE_VIF; in libxl__device_nic_setdefault()
120 libxl_device_nic *nic, in libxl__device_from_nic() argument
123 device->backend_devid = nic->devid; in libxl__device_from_nic()
124 device->backend_domid = nic->backend_domid; in libxl__device_from_nic()
126 device->devid = nic->devid; in libxl__device_from_nic()
141 static LIBXL_DEFINE_UPDATE_DEVID(nic, "vif")
144 libxl_device_nic *nic, in libxl__set_xenstore_nic() argument
150 if (nic->script) in libxl__set_xenstore_nic()
152 libxl__abs_path(gc, nic->script, in libxl__set_xenstore_nic()
155 if (nic->ifname) { in libxl__set_xenstore_nic()
157 flexarray_append(back, nic->ifname); in libxl__set_xenstore_nic()
160 if (nic->coloft_forwarddev) { in libxl__set_xenstore_nic()
162 flexarray_append(back, nic->coloft_forwarddev); in libxl__set_xenstore_nic()
166 if (nic->colo_##arg) { \ in libxl__set_xenstore_nic()
168 flexarray_append(back, nic->colo_##arg); \ in libxl__set_xenstore_nic()
225 flexarray_append(back,GCSPRINTF(LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac))); in libxl__set_xenstore_nic()
226 if (nic->ip) { in libxl__set_xenstore_nic()
228 flexarray_append(back, libxl__strdup(gc, nic->ip)); in libxl__set_xenstore_nic()
230 if (nic->gatewaydev) { in libxl__set_xenstore_nic()
232 flexarray_append(back, libxl__strdup(gc, nic->gatewaydev)); in libxl__set_xenstore_nic()
235 if (nic->rate_interval_usecs > 0) { in libxl__set_xenstore_nic()
238 nic->rate_bytes_per_interval, in libxl__set_xenstore_nic()
239 nic->rate_interval_usecs)); in libxl__set_xenstore_nic()
243 flexarray_append(back, libxl__strdup(gc, nic->bridge)); in libxl__set_xenstore_nic()
245 flexarray_append(back, GCSPRINTF("%d", nic->devid)); in libxl__set_xenstore_nic()
248 libxl_nic_type_to_string(nic->nictype))); in libxl__set_xenstore_nic()
251 flexarray_append(front, GCSPRINTF("%d", nic->devid)); in libxl__set_xenstore_nic()
254 LIBXL_MAC_FMT, LIBXL_MAC_BYTES(nic->mac))); in libxl__set_xenstore_nic()
260 libxl_device_nic *nic, in libxl__device_nic_add() argument
263 libxl__device_add_async(egc, domid, &libxl__nic_devtype, nic, aodev); in libxl__device_nic_add()
267 libxl_devid devid, libxl_device_nic *nic) in libxl__nic_from_xenstore() argument
272 libxl_device_nic_init(nic); in libxl__nic_from_xenstore()
278 nic->devid = atoi(tmp); in libxl__nic_from_xenstore()
280 nic->devid = 0; in libxl__nic_from_xenstore()
291 rc = libxl__backendpath_parse_domid(gc, tmp, &nic->backend_domid); in libxl__nic_from_xenstore()
300 rc = libxl__parse_mac(tmp, nic->mac); in libxl__nic_from_xenstore()
303 memset(nic->mac, 0, sizeof(nic->mac)); in libxl__nic_from_xenstore()
308 (const char **)(&nic->ip)); in libxl__nic_from_xenstore()
312 (const char **)(&nic->bridge)); in libxl__nic_from_xenstore()
316 (const char **)(&nic->script)); in libxl__nic_from_xenstore()
320 (const char **)(&nic->coloft_forwarddev)); in libxl__nic_from_xenstore()
326 (const char **)(&nic->colo_##arg)); \ in libxl__nic_from_xenstore()
386 rc = libxl_nic_type_from_string(tmp, &nic->nictype); in libxl__nic_from_xenstore()
389 nic->nictype = LIBXL_NIC_TYPE_VIF; in libxl__nic_from_xenstore()
391 nic->model = NULL; /* XXX Only for TYPE_IOEMU */ in libxl__nic_from_xenstore()
392 nic->ifname = NULL; /* XXX Only for TYPE_IOEMU */ in libxl__nic_from_xenstore()
400 int devid, libxl_device_nic *nic) in libxl_devid_to_device_nic() argument
406 libxl_device_nic_init(nic); in libxl_devid_to_device_nic()
413 rc = libxl__nic_from_xenstore(gc, libxl_path, devid, nic); in libxl_devid_to_device_nic()
441 libxl_device_nic *nic, libxl_nicinfo *nicinfo) in libxl_device_nic_getinfo() argument
449 nicinfo->devid = nic->devid; in libxl_device_nic_getinfo()
538 LIBXL_DEFINE_DEVICE_ADD(nic)
539 LIBXL_DEFINE_DEVICES_ADD(nic)
540 LIBXL_DEFINE_DEVICE_REMOVE(nic)
542 DEFINE_DEVICE_TYPE_STRUCT_X(nic, nic, vif,