mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-08-24 09:49:59 +03:00
Revert "util: new function virNetDevIPInfoAddToDev"
This reverts commit f1e0d0da11
.
This feature was accidentally pushed in the feature freeze.
This commit is contained in:
@ -1931,7 +1931,6 @@ virNetDevBridgeSetVlanFiltering;
|
|||||||
virNetDevIPAddrAdd;
|
virNetDevIPAddrAdd;
|
||||||
virNetDevIPAddrDel;
|
virNetDevIPAddrDel;
|
||||||
virNetDevIPAddrGet;
|
virNetDevIPAddrGet;
|
||||||
virNetDevIPInfoAddToDev;
|
|
||||||
virNetDevIPInfoClear;
|
virNetDevIPInfoClear;
|
||||||
virNetDevIPRouteAdd;
|
virNetDevIPRouteAdd;
|
||||||
virNetDevIPRouteFree;
|
virNetDevIPRouteFree;
|
||||||
|
@ -490,7 +490,7 @@ lxcContainerRenameAndEnableInterfaces(virDomainDefPtr vmDef,
|
|||||||
char **veths)
|
char **veths)
|
||||||
{
|
{
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
size_t i;
|
size_t i, j;
|
||||||
const char *newname;
|
const char *newname;
|
||||||
virDomainNetDefPtr netDef;
|
virDomainNetDefPtr netDef;
|
||||||
bool privNet = vmDef->features[VIR_DOMAIN_FEATURE_PRIVNET] ==
|
bool privNet = vmDef->features[VIR_DOMAIN_FEATURE_PRIVNET] ==
|
||||||
@ -509,28 +509,53 @@ lxcContainerRenameAndEnableInterfaces(virDomainDefPtr vmDef,
|
|||||||
|
|
||||||
VIR_DEBUG("Renaming %s to %s", veths[i], newname);
|
VIR_DEBUG("Renaming %s to %s", veths[i], newname);
|
||||||
if (virNetDevSetName(veths[i], newname) < 0)
|
if (virNetDevSetName(veths[i], newname) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
|
for (j = 0; j < netDef->guestIP.nips; j++) {
|
||||||
|
virNetDevIPAddrPtr ip = netDef->guestIP.ips[j];
|
||||||
|
int prefix;
|
||||||
|
char *ipStr = virSocketAddrFormat(&ip->address);
|
||||||
|
|
||||||
|
if ((prefix = virSocketAddrGetIPPrefix(&ip->address,
|
||||||
|
NULL, ip->prefix)) < 0) {
|
||||||
|
ipStr = virSocketAddrFormat(&ip->address);
|
||||||
|
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
|
_("Failed to determine prefix for IP address '%s'"),
|
||||||
|
ipStr);
|
||||||
|
VIR_FREE(ipStr);
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
VIR_FREE(ipStr);
|
||||||
|
|
||||||
|
if (virNetDevIPAddrAdd(newname, &ip->address, NULL, prefix) < 0)
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
/* Only enable this device if there is a reason to do so (either
|
|
||||||
* at least one IP was specified, or link state was set to up in
|
|
||||||
* the config)
|
|
||||||
*/
|
|
||||||
if (netDef->guestIP.nips ||
|
if (netDef->guestIP.nips ||
|
||||||
netDef->linkstate == VIR_DOMAIN_NET_INTERFACE_LINK_STATE_UP) {
|
netDef->linkstate == VIR_DOMAIN_NET_INTERFACE_LINK_STATE_UP) {
|
||||||
VIR_DEBUG("Enabling %s", newname);
|
VIR_DEBUG("Enabling %s", newname);
|
||||||
if (virNetDevSetOnline(newname, true) < 0)
|
if (virNetDevSetOnline(newname, true) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
|
||||||
|
|
||||||
/* set IP addresses and routes */
|
/* Set the routes */
|
||||||
if (virNetDevIPInfoAddToDev(newname, &netDef->guestIP) < 0)
|
for (j = 0; j < netDef->guestIP.nroutes; j++) {
|
||||||
goto cleanup;
|
virNetDevIPRoutePtr route = netDef->guestIP.routes[j];
|
||||||
|
|
||||||
|
if (virNetDevIPRouteAdd(newname,
|
||||||
|
virNetDevIPRouteGetAddress(route),
|
||||||
|
virNetDevIPRouteGetPrefix(route),
|
||||||
|
virNetDevIPRouteGetGateway(route),
|
||||||
|
virNetDevIPRouteGetMetric(route)) < 0) {
|
||||||
|
goto cleanup;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* enable lo device only if there were other net devices */
|
/* enable lo device only if there were other net devices */
|
||||||
if ((veths || privNet) &&
|
if ((veths || privNet) &&
|
||||||
virNetDevSetOnline("lo", true) < 0)
|
virNetDevSetOnline("lo", true) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
ret = 0;
|
ret = 0;
|
||||||
cleanup:
|
cleanup:
|
||||||
|
@ -887,63 +887,3 @@ virNetDevIPInfoClear(virNetDevIPInfoPtr ip)
|
|||||||
virNetDevIPRouteFree(ip->routes[i]);
|
virNetDevIPRouteFree(ip->routes[i]);
|
||||||
VIR_FREE(ip->routes);
|
VIR_FREE(ip->routes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* virNetDevIPInfoAddToDev:
|
|
||||||
* @ifname: name of device to operate on
|
|
||||||
* @ipInfo: list of routes and IP addresses to add to this device
|
|
||||||
*
|
|
||||||
* All IP routes and IP addresses in ipInfo are added to the named device.
|
|
||||||
*
|
|
||||||
* Returns: 0 on success, -1 (and error reported) on failure.
|
|
||||||
*/
|
|
||||||
int
|
|
||||||
virNetDevIPInfoAddToDev(const char *ifname,
|
|
||||||
virNetDevIPInfo const *ipInfo)
|
|
||||||
{
|
|
||||||
int ret = -1;
|
|
||||||
size_t i;
|
|
||||||
char *ipStr = NULL;
|
|
||||||
int prefix;
|
|
||||||
|
|
||||||
/* add all IP addresses */
|
|
||||||
for (i = 0; i < ipInfo->nips; i++) {
|
|
||||||
virNetDevIPAddrPtr ip = ipInfo->ips[i];
|
|
||||||
|
|
||||||
ipStr = virSocketAddrFormat(&ip->address);
|
|
||||||
if ((prefix = virSocketAddrGetIPPrefix(&ip->address,
|
|
||||||
NULL, ip->prefix)) < 0) {
|
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
|
||||||
_("Failed to determine prefix for IP address '%s'"),
|
|
||||||
ipStr);
|
|
||||||
goto cleanup;
|
|
||||||
}
|
|
||||||
if (virNetDevIPAddrAdd(ifname, &ip->address, NULL, prefix) < 0)
|
|
||||||
goto cleanup;
|
|
||||||
VIR_FREE(ipStr);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* add all routes */
|
|
||||||
for (i = 0; i < ipInfo->nroutes; i++) {
|
|
||||||
virNetDevIPRoutePtr route = ipInfo->routes[i];
|
|
||||||
|
|
||||||
ipStr = virSocketAddrFormat(&route->address);
|
|
||||||
if ((prefix = virNetDevIPRouteGetPrefix(route)) < 0) {
|
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
|
||||||
_("Failed to determine prefix for route with destination '%s'"),
|
|
||||||
ipStr);
|
|
||||||
goto cleanup;
|
|
||||||
}
|
|
||||||
if (virNetDevIPRouteAdd(ifname, &route->address, prefix,
|
|
||||||
&route->gateway,
|
|
||||||
virNetDevIPRouteGetMetric(route)) < 0)
|
|
||||||
goto cleanup;
|
|
||||||
VIR_FREE(ipStr);
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = 0;
|
|
||||||
cleanup:
|
|
||||||
VIR_FREE(ipStr);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
@ -86,7 +86,5 @@ virSocketAddrPtr virNetDevIPRouteGetGateway(virNetDevIPRoutePtr def);
|
|||||||
|
|
||||||
/* virNetDevIPInfo object */
|
/* virNetDevIPInfo object */
|
||||||
void virNetDevIPInfoClear(virNetDevIPInfoPtr ip);
|
void virNetDevIPInfoClear(virNetDevIPInfoPtr ip);
|
||||||
int virNetDevIPInfoAddToDev(const char *ifname,
|
|
||||||
virNetDevIPInfo const *ipInfo);
|
|
||||||
|
|
||||||
#endif /* __VIR_NETDEVIP_H__ */
|
#endif /* __VIR_NETDEVIP_H__ */
|
||||||
|
Reference in New Issue
Block a user