virDomainNetDefCheckABIStability(virDomainNetDefPtr src,
virDomainNetDefPtr dst)
{
+ char srcmac[VIR_MAC_STRING_BUFLEN];
+ char dstmac[VIR_MAC_STRING_BUFLEN];
+
if (virMacAddrCmp(&src->mac, &dst->mac) != 0) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
- _("Target network card mac %02x:%02x:%02x:%02x:%02x:%02x"
- " does not match source %02x:%02x:%02x:%02x:%02x:%02x"),
- dst->mac.addr[0], dst->mac.addr[1], dst->mac.addr[2],
- dst->mac.addr[3], dst->mac.addr[4], dst->mac.addr[5],
- src->mac.addr[0], src->mac.addr[1], src->mac.addr[2],
- src->mac.addr[3], src->mac.addr[4], src->mac.addr[5]);
+ _("Target network card mac %s"
+ " does not match source %s"),
+ virMacAddrFormat(&dst->mac, dstmac),
+ virMacAddrFormat(&src->mac, srcmac));
return false;
}
unsigned int flags)
{
const char *type = virDomainNetTypeToString(def->type);
+ char macstr[VIR_MAC_STRING_BUFLEN];
if (!type) {
virReportError(VIR_ERR_INTERNAL_ERROR,
virBufferAddLit(buf, ">\n");
virBufferAdjustIndent(buf, 6);
- virBufferAsprintf(buf,
- "<mac address='%02x:%02x:%02x:%02x:%02x:%02x'/>\n",
- def->mac.addr[0], def->mac.addr[1], def->mac.addr[2],
- def->mac.addr[3], def->mac.addr[4], def->mac.addr[5]);
+ virBufferAsprintf(buf, "<mac address='%s'/>\n",
+ virMacAddrFormat(&def->mac, macstr));
switch (def->type) {
case VIR_DOMAIN_NET_TYPE_NETWORK:
int vlan)
{
char *str;
+ char macaddr[VIR_MAC_STRING_BUFLEN];
+
if (virAsprintf(&str,
- "%smacaddr=%02x:%02x:%02x:%02x:%02x:%02x,vlan=%d%s%s%s%s",
+ "%smacaddr=%s,vlan=%d%s%s%s%s",
prefix ? prefix : "",
- net->mac.addr[0], net->mac.addr[1],
- net->mac.addr[2], net->mac.addr[3],
- net->mac.addr[4], net->mac.addr[5],
+ virMacAddrFormat(&net->mac, macaddr),
vlan,
(net->model ? ",model=" : ""),
(net->model ? net->model : ""),
virBuffer buf = VIR_BUFFER_INITIALIZER;
const char *nic;
bool usingVirtio = false;
+ char macaddr[VIR_MAC_STRING_BUFLEN];
if (!net->model) {
nic = "rtl8139";
else
virBufferAsprintf(&buf, ",vlan=%d", vlan);
virBufferAsprintf(&buf, ",id=%s", net->info.alias);
- virBufferAsprintf(&buf, ",mac=%02x:%02x:%02x:%02x:%02x:%02x",
- net->mac.addr[0], net->mac.addr[1],
- net->mac.addr[2], net->mac.addr[3],
- net->mac.addr[4], net->mac.addr[5]);
+ virBufferAsprintf(&buf, ",mac=%s",
+ virMacAddrFormat(&net->mac, macaddr));
if (qemuBuildDeviceAddressStr(&buf, &net->info, qemuCaps) < 0)
goto error;
if (qemuBuildRomStr(&buf, &net->info, qemuCaps) < 0)
/*
* uml_conf.c: UML driver configuration
*
- * Copyright (C) 2006-2012 Red Hat, Inc.
+ * Copyright (C) 2006-2013 Red Hat, Inc.
* Copyright (C) 2006 Daniel P. Berrange
*
* This library is free software; you can redistribute it and/or
int idx)
{
virBuffer buf = VIR_BUFFER_INITIALIZER;
+ char macaddr[VIR_MAC_STRING_BUFLEN];
/* General format: ethNN=type,options */
goto error;
}
- virBufferAsprintf(&buf, ",%02x:%02x:%02x:%02x:%02x:%02x",
- def->mac.addr[0], def->mac.addr[1], def->mac.addr[2],
- def->mac.addr[3], def->mac.addr[4], def->mac.addr[5]);
+ virBufferAsprintf(&buf, ",%s", virMacAddrFormat(&def->mac, macaddr));
if (def->type == VIR_DOMAIN_NET_TYPE_MCAST) {
virBufferAsprintf(&buf, ",%s,%d",
/*
* virebtables.c: Helper APIs for managing ebtables
*
- * Copyright (C) 2007-2012 Red Hat, Inc.
+ * Copyright (C) 2007-2013 Red Hat, Inc.
* Copyright (C) 2009 IBM Corp.
*
* This library is free software; you can redistribute it and/or
const char *iface,
const virMacAddrPtr mac)
{
- char *macaddr;
-
- if (virAsprintf(&macaddr,
- "%02x:%02x:%02x:%02x:%02x:%02x",
- mac->addr[0], mac->addr[1],
- mac->addr[2], mac->addr[3],
- mac->addr[4], mac->addr[5]) < 0) {
- return -1;
- }
+ char macaddr[VIR_MAC_STRING_BUFLEN];
+
+ virMacAddrFormat(mac, macaddr);
return ebtablesForwardAllowIn(ctx, iface, macaddr, ADD);
}
const char *iface,
const virMacAddrPtr mac)
{
- char *macaddr;
-
- if (virAsprintf(&macaddr,
- "%02x:%02x:%02x:%02x:%02x:%02x",
- mac->addr[0], mac->addr[1],
- mac->addr[2], mac->addr[3],
- mac->addr[4], mac->addr[5]) < 0) {
- return -1;
- }
+ char macaddr[VIR_MAC_STRING_BUFLEN];
+
+ virMacAddrFormat(mac, macaddr);
return ebtablesForwardAllowIn(ctx, iface, macaddr, REMOVE);
}
/*
- * Copyright (C) 2010-2012 Red Hat, Inc.
+ * Copyright (C) 2010-2013 Red Hat, Inc.
* Copyright (C) 2010-2012 IBM Corporation
*
* This library is free software; you can redistribute it and/or
virNetlinkCallbackDataPtr calld = opaque;
pid_t lldpad_pid = 0;
pid_t virip_pid = 0;
+ char macaddr[VIR_MAC_STRING_BUFLEN];
hdr = (struct nlmsghdr *) msg;
data = nlmsg_data(hdr);
VIR_INFO("Re-send 802.1qbg associate request:");
VIR_INFO(" if: %s", calld->cr_ifname);
VIR_INFO(" lf: %s", calld->linkdev);
- VIR_INFO(" mac: %02x:%02x:%02x:%02x:%02x:%02x",
- calld->macaddress.addr[0], calld->macaddress.addr[1],
- calld->macaddress.addr[2], calld->macaddress.addr[3],
- calld->macaddress.addr[4], calld->macaddress.addr[5]);
-
+ VIR_INFO(" mac: %s", virMacAddrFormat(&calld->macaddress, macaddr));
ignore_value(virNetDevVPortProfileAssociate(calld->cr_ifname,
calld->virtPortProfile,
&calld->macaddress,
/*
- * Copyright (C) 2007-2012 Red Hat, Inc.
+ * Copyright (C) 2007-2013 Red Hat, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
unsigned int flags)
{
virMacAddr tapmac;
+ char macaddrstr[VIR_MAC_STRING_BUFLEN];
if (virNetDevTapCreate(ifname, tapfd, flags) < 0)
return -1;
*/
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("Unable to use MAC address starting with "
- "reserved value 0xFE - '%02X:%02X:%02X:%02X:%02X:%02X' - "),
- macaddr->addr[0], macaddr->addr[1],
- macaddr->addr[2], macaddr->addr[3],
- macaddr->addr[4], macaddr->addr[5]);
+ "reserved value 0xFE - '%s' - "),
+ virMacAddrFormat(macaddr, macaddrstr));
goto error;
}
tapmac.addr[0] = 0xFE; /* Discourage bridge from using TAP dev MAC */
if (tmp == NULL)
return -1;
} else if (dev->type == VIR_DOMAIN_DEVICE_NET) {
- char mac[30];
+ char mac[VIR_MAC_STRING_BUFLEN];
virDomainNetDefPtr def = dev->data.net;
- snprintf(mac, sizeof(mac), "%02x:%02x:%02x:%02x:%02x:%02x",
- def->mac.addr[0], def->mac.addr[1], def->mac.addr[2],
- def->mac.addr[3], def->mac.addr[4], def->mac.addr[5]);
+ virMacAddrFormat(&def->mac, mac);
strcpy(class, "vif");
xenUnifiedLock(priv);
- xref = xenStoreDomainGetNetworkID(domain->conn, domain->id,
- mac);
+ xref = xenStoreDomainGetNetworkID(domain->conn, domain->id, mac);
xenUnifiedUnlock(priv);
if (xref == NULL)
return -1;
/*
* xen_sxpr.c: Xen SEXPR parsing functions
*
- * Copyright (C) 2010-2012 Red Hat, Inc.
+ * Copyright (C) 2010-2013 Red Hat, Inc.
* Copyright (C) 2011 Univention GmbH
* Copyright (C) 2005 Anthony Liguori <aliguori@us.ibm.com>
*
int isAttach)
{
const char *script = DEFAULT_VIF_SCRIPT;
+ char macaddr[VIR_MAC_STRING_BUFLEN];
if (def->type != VIR_DOMAIN_NET_TYPE_BRIDGE &&
def->type != VIR_DOMAIN_NET_TYPE_NETWORK &&
virBufferAddLit(buf, "(vif ");
- virBufferAsprintf(buf,
- "(mac '%02x:%02x:%02x:%02x:%02x:%02x')",
- def->mac.addr[0], def->mac.addr[1], def->mac.addr[2],
- def->mac.addr[3], def->mac.addr[4], def->mac.addr[5]);
+ virBufferAsprintf(buf, "(mac '%s')", virMacAddrFormat(&def->mac, macaddr));
switch (def->type) {
case VIR_DOMAIN_NET_TYPE_BRIDGE:
/*
* xen_xm.c: Xen XM parsing functions
*
- * Copyright (C) 2006-2007, 2009-2010, 2012 Red Hat, Inc.
+ * Copyright (C) 2006-2007, 2009-2010, 2012-2013 Red Hat, Inc.
* Copyright (C) 2011 Univention GmbH
* Copyright (C) 2006 Daniel P. Berrange
*
{
virBuffer buf = VIR_BUFFER_INITIALIZER;
virConfValuePtr val, tmp;
+ char macaddr[VIR_MAC_STRING_BUFLEN];
- virBufferAsprintf(&buf, "mac=%02x:%02x:%02x:%02x:%02x:%02x",
- net->mac.addr[0], net->mac.addr[1],
- net->mac.addr[2], net->mac.addr[3],
- net->mac.addr[4], net->mac.addr[5]);
+ virBufferAsprintf(&buf, "mac=%s", virMacAddrFormat(&net->mac, macaddr));
switch (net->type) {
case VIR_DOMAIN_NET_TYPE_BRIDGE: