[libvirt] [PATCH 1/6] virNetDevMacVLanCreateWithVPortProfile: Turn vnet_hdr into flag
Laine Stump
laine at laine.org
Fri Dec 4 15:41:09 UTC 2015
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 at 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.
More information about the libvir-list
mailing list