提交 dfb454ce 编写于 作者: D Daniel P. Berrange

Expose MTU management APIs

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
上级 d8a62d95
...@@ -365,7 +365,7 @@ cleanup: ...@@ -365,7 +365,7 @@ cleanup:
* *
* Returns the MTU value in case of success, or -1 on failure. * 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 fd = -1;
int ret = -1; int ret = -1;
...@@ -398,7 +398,7 @@ cleanup: ...@@ -398,7 +398,7 @@ cleanup:
* *
* Returns 0 in case of success, or -1 on failure * 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 fd = -1;
int ret = -1; int ret = -1;
...@@ -424,18 +424,18 @@ cleanup: ...@@ -424,18 +424,18 @@ cleanup:
} }
/** /**
* brSetInterfaceMtu * virNetDevSetMTUFromDevice:
* @brname: name of the bridge interface
* @ifname: name of the interface whose MTU we want to set * @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 * Returns 0 in case of success, or -1 on failure
*/ */
static int virNetDevSetMTUFromDevice(const char *brname, int virNetDevSetMTUFromDevice(const char *ifname,
const char *ifname) const char *otherifname)
{ {
int mtu = virNetDevGetMTU(brname); int mtu = virNetDevGetMTU(otherifname);
if (mtu < 0) if (mtu < 0)
return -1; return -1;
...@@ -543,7 +543,7 @@ int virNetDevTapCreateInBridgePort(const char *brname, ...@@ -543,7 +543,7 @@ int virNetDevTapCreateInBridgePort(const char *brname,
* to the bridge, because the bridge will have its * to the bridge, because the bridge will have its
* MTU adjusted automatically when we add the new interface. * MTU adjusted automatically when we add the new interface.
*/ */
if (virNetDevSetMTUFromDevice(brname, *ifname) < 0) if (virNetDevSetMTUFromDevice(*ifname, brname) < 0)
goto error; goto error;
if (virNetDevBridgeAddPort(brname, *ifname) < 0) if (virNetDevBridgeAddPort(brname, *ifname) < 0)
......
...@@ -112,6 +112,14 @@ int virNetDevTapCreate(char **ifname, ...@@ -112,6 +112,14 @@ int virNetDevTapCreate(char **ifname,
int virNetDevSetMAC(const char *ifname, int virNetDevSetMAC(const char *ifname,
const unsigned char *macaddr) const unsigned char *macaddr)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_RETURN_CHECK; 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 */ # endif /* WITH_BRIDGE */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册