[libvirt] [PATCH 1/6] virNetDevMacVLanCreateWithVPortProfile: Turn vnet_hdr into flag

Michal Privoznik mprivozn at redhat.com
Fri Dec 4 12:30:57 UTC 2015


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;
 
 int virNetDevMacVLanCreate(const char *ifname,
@@ -64,7 +66,6 @@ int virNetDevMacVLanCreateWithVPortProfile(const char *ifname,
                                            const virMacAddr *macaddress,
                                            const char *linkdev,
                                            virNetDevMacVLanMode mode,
-                                           int vnet_hdr,
                                            const unsigned char *vmuuid,
                                            virNetDevVPortProfilePtr virtPortProfile,
                                            char **res_ifname,
-- 
2.4.10




More information about the libvir-list mailing list