On 11/03/2011 01:30 PM, Daniel P. Berrange wrote:
From: "Daniel P. Berrange"<berra...@redhat.com>

The MTU management APIs are useful to other code inside libvirt,
so should be exposed as non-static APIs.

* src/util/bridge.c, src/util/bridge.h: Expose virNetDevSetMTU,
   virNetDevSetMTUFromDevice&  virNetDevGetMTU
---
  src/util/bridge.c |   18 +++++++++---------
  src/util/bridge.h |    8 ++++++++
  2 files changed, 17 insertions(+), 9 deletions(-)

diff --git a/src/util/bridge.c b/src/util/bridge.c
index 1584052..247ce93 100644
--- a/src/util/bridge.c
+++ b/src/util/bridge.c
@@ -365,7 +365,7 @@ cleanup:
   *
   * Returns the MTU value in case of success, or -1 on failure.
   */
-static int virNetDevGetMTU(const char *ifname)
+int virNetDevGetMTU(const char *ifname)
  {
      int fd = -1;
      int ret = -1;
@@ -398,7 +398,7 @@ cleanup:
   *
   * Returns 0 in case of success, or -1 on failure
   */
-static int virNetDevSetMTU(const char *ifname, int mtu)
+int virNetDevSetMTU(const char *ifname, int mtu)
  {
      int fd = -1;
      int ret = -1;
@@ -424,18 +424,18 @@ cleanup:
  }

  /**
- * brSetInterfaceMtu
- * @brname: name of the bridge interface
+ * virNetDevSetMTUFromDevice:
   * @ifname: name of the interface whose MTU we want to set
+ * @otherifname: name of the interface whose MTU we want to copy
   *
- * Sets the interface mtu to the same MTU of the bridge
+ * Sets the interface mtu to the same MTU as another interface
   *
   * Returns 0 in case of success, or -1 on failure
   */
-static int virNetDevSetMTUFromDevice(const char *brname,
-                                     const char *ifname)
+int virNetDevSetMTUFromDevice(const char *ifname,
+                              const char *otherifname)
  {
-    int mtu = virNetDevGetMTU(brname);
+    int mtu = virNetDevGetMTU(otherifname);

      if (mtu<  0)
          return -1;
@@ -543,7 +543,7 @@ int virNetDevTapCreateInBridgePort(const char *brname,
       * to the bridge, because the bridge will have its
       * MTU adjusted automatically when we add the new interface.
       */
-    if (virNetDevSetMTUFromDevice(brname, *ifname)<  0)
+    if (virNetDevSetMTUFromDevice(*ifname, brname)<  0)
          goto error;

      if (virNetDevBridgeAddPort(brname, *ifname)<  0)
diff --git a/src/util/bridge.h b/src/util/bridge.h
index 2de7259..0cc89c0 100644
--- a/src/util/bridge.h
+++ b/src/util/bridge.h
@@ -112,6 +112,14 @@ int virNetDevTapCreate(char **ifname,
  int virNetDevSetMAC(const char *ifname,
                      const unsigned char *macaddr)
      ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_RETURN_CHECK;
+int virNetDevSetMTU(const char *ifname,
+                    int mtu)
+    ATTRIBUTE_NONNULL(1) ATTRIBUTE_RETURN_CHECK;
+int virNetDevSetMTUFromDevice(const char *ifname,
+                              const char *otherifname)
+    ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_RETURN_CHECK;
+int virNetDevGetMTU(const char *ifname)
+    ATTRIBUTE_NONNULL(1) ATTRIBUTE_RETURN_CHECK;

  # endif /* WITH_BRIDGE */

ACK

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to