Also rename ReportError to macvtapError. --- src/qemu/qemu_conf.c | 2 +- src/util/macvtap.c | 63 +++++++++++++++++++++++--------------------------- src/util/macvtap.h | 3 +- 3 files changed, 31 insertions(+), 37 deletions(-) diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c index b679b35..f20ee21 100644 --- a/src/qemu/qemu_conf.c +++ b/src/qemu/qemu_conf.c @@ -1469,7 +1469,7 @@ qemudPhysIfaceConnect(virConnectPtr conn, net->model && STREQ(net->model, "virtio")) vnet_hdr = 1; - rc = openMacvtapTap(conn, net->ifname, net->mac, linkdev, brmode, + rc = openMacvtapTap(net->ifname, net->mac, linkdev, brmode, &res_ifname, vnet_hdr); if (rc >= 0) { VIR_FREE(net->ifname); diff --git a/src/util/macvtap.c b/src/util/macvtap.c index 999e670..87c2800 100644 --- a/src/util/macvtap.c +++ b/src/util/macvtap.c @@ -49,9 +49,9 @@ # define VIR_FROM_THIS VIR_FROM_NET -# define ReportError(conn, code, ...) \ - virReportErrorHelper(conn, VIR_FROM_NET, code, __FILE__, \ - __FUNCTION__, __LINE__, __VA_ARGS__) +# define macvtapError(code, ...) \ + virReportErrorHelper(NULL, VIR_FROM_NET, code, __FILE__, \ + __FUNCTION__, __LINE__, __VA_ARGS__) # define MACVTAP_NAME_PREFIX "macvtap" # define MACVTAP_NAME_PATTERN "macvtap%d" @@ -193,7 +193,7 @@ nlAppend(struct nlmsghdr *nlm, int totlen, const void *data, int datalen) static int -getIfIndex(virConnectPtr conn, +getIfIndex(int reportError, const char *ifname, int *idx) { @@ -206,20 +206,20 @@ getIfIndex(virConnectPtr conn, if (virStrncpy(ifreq.ifr_name, ifname, strlen(ifname), sizeof(ifreq.ifr_name)) == NULL) { - if (conn) - ReportError(conn, VIR_ERR_INTERNAL_ERROR, - _("invalid interface name %s"), - ifname); + if (reportError) + macvtapError(VIR_ERR_INTERNAL_ERROR, + _("invalid interface name %s"), + ifname); rc = EINVAL; goto err_exit; } if (ioctl(fd, SIOCGIFINDEX, &ifreq) >= 0) *idx = ifreq.ifr_ifindex; else { - if (conn) - ReportError(conn, VIR_ERR_INTERNAL_ERROR, - _("interface %s does not exist"), - ifname); + if (reportError) + macvtapError(VIR_ERR_INTERNAL_ERROR, + _("interface %s does not exist"), + ifname); rc = ENODEV; } @@ -296,8 +296,7 @@ ifUp(const char *name, int up) static int -link_add(virConnectPtr conn, - const char *type, +link_add(const char *type, const unsigned char *macaddress, int macaddrsize, const char *ifname, const char *srcdev, @@ -315,7 +314,7 @@ link_add(virConnectPtr conn, char *recvbuf = NULL; int recvbuflen; - if (getIfIndex(conn, srcdev, &ifindex) != 0) + if (getIfIndex(1, srcdev, &ifindex) != 0) return -1; *retry = 0; @@ -434,14 +433,14 @@ link_add(virConnectPtr conn, return rc; malformed_resp: - ReportError(conn, VIR_ERR_INTERNAL_ERROR, - "%s", _("malformed netlink response message")); + macvtapError(VIR_ERR_INTERNAL_ERROR, "%s", + _("malformed netlink response message")); VIR_FREE(recvbuf); return -1; buffer_too_small: - ReportError(conn, VIR_ERR_INTERNAL_ERROR, - "%s", _("internal buffer is too small")); + macvtapError(VIR_ERR_INTERNAL_ERROR, "%s", + _("internal buffer is too small")); return -1; } @@ -512,21 +511,20 @@ link_del(const char *name) return rc; malformed_resp: - ReportError(NULL, VIR_ERR_INTERNAL_ERROR, - "%s", _("malformed netlink response message")); + macvtapError(VIR_ERR_INTERNAL_ERROR, "%s", + _("malformed netlink response message")); VIR_FREE(recvbuf); return -1; buffer_too_small: - ReportError(NULL, VIR_ERR_INTERNAL_ERROR, - "%s", _("internal buffer is too small")); + macvtapError(VIR_ERR_INTERNAL_ERROR, "%s", + _("internal buffer is too small")); return -1; } /* Open the macvtap's tap device. - * @conn: Pointer to virConnect object - * @name: Name of the macvtap interface + * @ifname: Name of the macvtap interface * @retries : Number of retries in case udev for example may need to be * waited for to create the tap chardev * Returns negative value in case of error, the file descriptor otherwise. @@ -677,7 +675,6 @@ configMacvtapTap(int tapfd, int vnet_hdr) * openMacvtapTap: * Create an instance of a macvtap device and open its tap character * device. - * @conn: Pointer to virConnect object * @tgifname: Interface name that the macvtap is supposed to have. May * be NULL if this function is supposed to choose a name * @macaddress: The MAC address for the macvtap device @@ -689,13 +686,11 @@ configMacvtapTap(int tapfd, int vnet_hdr) * to the caller to free the string. * * Returns file descriptor of the tap device in case of success, - * negative value otherwise with error message attached to the 'conn' - * object. + * negative value otherwise with error reported. * */ int -openMacvtapTap(virConnectPtr conn, - const char *tgifname, +openMacvtapTap(const char *tgifname, const unsigned char *macaddress, const char *linkdev, int mode, @@ -713,7 +708,7 @@ openMacvtapTap(virConnectPtr conn, *res_ifname = NULL; if (tgifname) { - if(getIfIndex(NULL, tgifname, &ifindex) == 0) { + if(getIfIndex(0, tgifname, &ifindex) == 0) { if (STRPREFIX(tgifname, MACVTAP_NAME_PREFIX)) { goto create_name; @@ -723,7 +718,7 @@ openMacvtapTap(virConnectPtr conn, return -1; } cr_ifname = tgifname; - rc = link_add(conn, type, macaddress, 6, tgifname, linkdev, + rc = link_add(type, macaddress, 6, tgifname, linkdev, macvtapMode, &do_retry); if (rc) return -1; @@ -732,8 +727,8 @@ create_name: retries = 5; for (c = 0; c < 8192; c++) { snprintf(ifname, sizeof(ifname), MACVTAP_NAME_PATTERN, c); - if (getIfIndex(NULL, ifname, &ifindex) == ENODEV) { - rc = link_add(conn, type, macaddress, 6, ifname, linkdev, + if (getIfIndex(0, ifname, &ifindex) == ENODEV) { + rc = link_add(type, macaddress, 6, ifname, linkdev, macvtapMode, &do_retry); if (rc == 0) break; diff --git a/src/util/macvtap.h b/src/util/macvtap.h index bd5f4d6..5d4ea5e 100644 --- a/src/util/macvtap.h +++ b/src/util/macvtap.h @@ -28,8 +28,7 @@ # include "internal.h" -int openMacvtapTap(virConnectPtr conn, - const char *ifname, +int openMacvtapTap(const char *ifname, const unsigned char *macaddress, const char *linkdev, int mode, -- 1.6.3.3 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list