On 12/04/2015 07:30 AM, Michal Privoznik wrote:
So yet again one of integer arguments that we use as a boolean.
Since the argument count of the function is unbearably long
enough, lets turn those booleans into flags.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/lxc/lxc_process.c | 2 +-
src/qemu/qemu_command.c | 5 ++---
src/util/virnetdevmacvlan.c | 4 +---
src/util/virnetdevmacvlan.h | 9 +++++----
4 files changed, 9 insertions(+), 11 deletions(-)
diff --git a/src/lxc/lxc_process.c b/src/lxc/lxc_process.c
index 57e3880..0ada6e4 100644
--- a/src/lxc/lxc_process.c
+++ b/src/lxc/lxc_process.c
@@ -344,7 +344,7 @@ char *virLXCProcessSetupInterfaceDirect(virConnectPtr conn,
net->ifname, &net->mac,
linkdev,
virDomainNetGetActualDirectMode(net),
- false, def->uuid,
+ def->uuid,
prof,
&res_ifname,
VIR_NETDEV_VPORT_PROFILE_OP_CREATE,
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 4ff31dc..55809e9 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -224,18 +224,17 @@ qemuPhysIfaceConnect(virDomainDefPtr def,
{
int rc;
char *res_ifname = NULL;
- int vnet_hdr = 0;
virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
unsigned int macvlan_create_flags = VIR_NETDEV_MACVLAN_CREATE_WITH_TAP;
if (net->model && STREQ(net->model, "virtio"))
- vnet_hdr = 1;
+ macvlan_create_flags |= VIR_NETDEV_MACVLAN_VNET_HDR;
rc = virNetDevMacVLanCreateWithVPortProfile(
net->ifname, &net->mac,
virDomainNetGetActualDirectDev(net),
virDomainNetGetActualDirectMode(net),
- vnet_hdr, def->uuid,
+ def->uuid,
virDomainNetGetActualVirtPortProfile(net),
&res_ifname,
vmop, cfg->stateDir,
diff --git a/src/util/virnetdevmacvlan.c b/src/util/virnetdevmacvlan.c
index de345e6..9384b9f 100644
--- a/src/util/virnetdevmacvlan.c
+++ b/src/util/virnetdevmacvlan.c
@@ -727,7 +727,6 @@ virNetDevMacVLanVPortProfileRegisterCallback(const char *ifname,
* @macaddress: The MAC address for the macvtap device
* @linkdev: The interface name of the NIC to connect to the external bridge
* @mode: int describing the mode for 'bridge', 'vepa',
'private' or 'passthru'.
- * @vnet_hdr: 1 to enable IFF_VNET_HDR, 0 to disable it
* @vmuuid: The UUID of the VM the macvtap belongs to
* @virtPortProfile: pointer to object holding the virtual port profile data
* @res_ifname: Pointer to a string pointer where the actual name of the
@@ -743,7 +742,6 @@ int virNetDevMacVLanCreateWithVPortProfile(const char *tgifname,
const virMacAddr *macaddress,
const char *linkdev,
virNetDevMacVLanMode mode,
- int vnet_hdr,
const unsigned char *vmuuid,
virNetDevVPortProfilePtr virtPortProfile,
char **res_ifname,
@@ -764,6 +762,7 @@ int virNetDevMacVLanCreateWithVPortProfile(const char *tgifname,
const char *cr_ifname = NULL;
int ret;
int vf = -1;
+ bool vnet_hdr = flags & VIR_NETDEV_MACVLAN_VNET_HDR;
macvtapMode = modeMap[mode];
@@ -1017,7 +1016,6 @@ int virNetDevMacVLanCreateWithVPortProfile(const char *ifname
ATTRIBUTE_UNUSED,
const virMacAddr *macaddress
ATTRIBUTE_UNUSED,
const char *linkdev ATTRIBUTE_UNUSED,
virNetDevMacVLanMode mode ATTRIBUTE_UNUSED,
- int vnet_hdr ATTRIBUTE_UNUSED,
const unsigned char *vmuuid
ATTRIBUTE_UNUSED,
virNetDevVPortProfilePtr virtPortProfile
ATTRIBUTE_UNUSED,
char **res_ifname ATTRIBUTE_UNUSED,
diff --git a/src/util/virnetdevmacvlan.h b/src/util/virnetdevmacvlan.h
index 298e522..b04fc8c 100644
--- a/src/util/virnetdevmacvlan.h
+++ b/src/util/virnetdevmacvlan.h
@@ -41,11 +41,13 @@ typedef enum {
VIR_ENUM_DECL(virNetDevMacVLanMode)
typedef enum {
- VIR_NETDEV_MACVLAN_CREATE_NONE = 0,
+ VIR_NETDEV_MACVLAN_CREATE_NONE = 0,
/* Create with a tap device */
- VIR_NETDEV_MACVLAN_CREATE_WITH_TAP = 1 << 0,
+ VIR_NETDEV_MACVLAN_CREATE_WITH_TAP = 1 << 0,
/* Bring the interface up */
- VIR_NETDEV_MACVLAN_CREATE_IFUP = 1 << 1,
+ VIR_NETDEV_MACVLAN_CREATE_IFUP = 1 << 1,
+ /* Enable VNET_HDR */
+ VIR_NETDEV_MACVLAN_VNET_HDR = 1 << 2,
} virNetDevMacVLanCreateFlags;
Any reason for the alignment adjustment? If not, it's just fodder for
creating merge conflicts later.
Aside from that, ACK.