2014-03-26 16:53:49 +00:00
|
|
|
#include <config.h>
|
|
|
|
|
2021-02-22 09:46:13 +00:00
|
|
|
#include <dirent.h>
|
|
|
|
|
2016-11-13 10:01:34 +00:00
|
|
|
#include "viralloc.h"
|
2014-03-26 16:53:49 +00:00
|
|
|
#include "virstring.h"
|
|
|
|
#include "virnetdev.h"
|
|
|
|
#include "virnetdevtap.h"
|
2021-02-22 09:46:13 +00:00
|
|
|
#include "virmock.h"
|
2014-03-26 16:53:49 +00:00
|
|
|
#include "internal.h"
|
|
|
|
|
|
|
|
#define VIR_FROM_THIS VIR_FROM_BHYVE
|
|
|
|
|
2021-02-22 09:46:13 +00:00
|
|
|
static DIR * (*real_opendir)(const char *name);
|
|
|
|
|
|
|
|
static void
|
|
|
|
init_syms(void)
|
|
|
|
{
|
|
|
|
VIR_MOCK_REAL_INIT(opendir);
|
|
|
|
}
|
|
|
|
|
|
|
|
#define FAKEFIRMWAREDIR abs_srcdir "/bhyvefirmwaredata/three_firmwares"
|
|
|
|
#define FAKEFIRMWAREEMPTYDIR abs_srcdir "/bhyvefirmwaredata/empty"
|
|
|
|
|
|
|
|
DIR *
|
|
|
|
opendir(const char *path)
|
|
|
|
{
|
|
|
|
g_autofree char *path_override = NULL;
|
|
|
|
|
2022-11-08 19:12:22 +00:00
|
|
|
init_syms();
|
|
|
|
|
2021-02-22 09:46:13 +00:00
|
|
|
if (STREQ(path, "fakefirmwaredir")) {
|
|
|
|
path_override = g_strdup(FAKEFIRMWAREDIR);
|
|
|
|
} else if (STREQ(path, "fakefirmwareemptydir")) {
|
|
|
|
path_override = g_strdup(FAKEFIRMWAREEMPTYDIR);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!path_override)
|
|
|
|
path_override = g_strdup(path);
|
|
|
|
|
|
|
|
return real_opendir(path_override);
|
|
|
|
}
|
|
|
|
|
2014-03-26 16:53:49 +00:00
|
|
|
void virMacAddrGenerate(const unsigned char prefix[VIR_MAC_PREFIX_BUFLEN],
|
2021-03-11 07:16:13 +00:00
|
|
|
virMacAddr *addr)
|
2014-03-26 16:53:49 +00:00
|
|
|
{
|
|
|
|
addr->addr[0] = prefix[0];
|
|
|
|
addr->addr[1] = prefix[1];
|
|
|
|
addr->addr[2] = prefix[2];
|
|
|
|
addr->addr[3] = 0;
|
|
|
|
addr->addr[4] = 0;
|
|
|
|
addr->addr[5] = 0;
|
|
|
|
}
|
|
|
|
|
2019-10-14 12:45:03 +00:00
|
|
|
int virNetDevTapCreateInBridgePort(const char *brname G_GNUC_UNUSED,
|
2014-03-26 16:53:49 +00:00
|
|
|
char **ifname,
|
2019-10-14 12:45:03 +00:00
|
|
|
const virMacAddr *macaddr G_GNUC_UNUSED,
|
|
|
|
const unsigned char *vmuuid G_GNUC_UNUSED,
|
|
|
|
const char *tunpath G_GNUC_UNUSED,
|
|
|
|
int *tapfd G_GNUC_UNUSED,
|
|
|
|
size_t tapfdSize G_GNUC_UNUSED,
|
2019-10-01 17:56:35 +00:00
|
|
|
const virNetDevVPortProfile *virtPortProfile G_GNUC_UNUSED,
|
2019-10-01 16:25:47 +00:00
|
|
|
const virNetDevVlan *virtVlan G_GNUC_UNUSED,
|
2020-02-13 17:57:47 +00:00
|
|
|
virTristateBool isolatedPort G_GNUC_UNUSED,
|
2021-03-11 07:16:13 +00:00
|
|
|
virNetDevCoalesce *coalesce G_GNUC_UNUSED,
|
2019-10-14 12:45:03 +00:00
|
|
|
unsigned int mtu G_GNUC_UNUSED,
|
|
|
|
unsigned int *actualMTU G_GNUC_UNUSED,
|
|
|
|
unsigned int fakeflags G_GNUC_UNUSED)
|
2014-03-26 16:53:49 +00:00
|
|
|
{
|
2016-11-13 10:01:34 +00:00
|
|
|
VIR_FREE(*ifname);
|
2019-10-20 11:49:46 +00:00
|
|
|
*ifname = g_strdup("vnet0");
|
2014-03-26 16:53:49 +00:00
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
2019-10-14 12:45:03 +00:00
|
|
|
char *virNetDevTapGetRealDeviceName(char *name G_GNUC_UNUSED)
|
2014-03-26 16:53:49 +00:00
|
|
|
{
|
2021-10-22 08:56:01 +00:00
|
|
|
return g_strdup("faketapdev");
|
2014-03-26 16:53:49 +00:00
|
|
|
}
|
|
|
|
|
2019-10-14 12:45:03 +00:00
|
|
|
int virNetDevSetOnline(const char *ifname G_GNUC_UNUSED,
|
|
|
|
bool online G_GNUC_UNUSED)
|
2014-03-26 16:53:49 +00:00
|
|
|
{
|
|
|
|
return 0;
|
|
|
|
}
|
2018-02-06 09:09:09 +00:00
|
|
|
|
2019-10-14 12:45:03 +00:00
|
|
|
int bind(int sockfd G_GNUC_UNUSED,
|
|
|
|
const struct sockaddr *addr G_GNUC_UNUSED,
|
|
|
|
socklen_t addrlen G_GNUC_UNUSED)
|
2018-02-06 09:09:09 +00:00
|
|
|
{
|
|
|
|
return 0;
|
|
|
|
}
|