2014-03-26 20:53:49 +04:00
# include <config.h>
2021-02-22 12:46:13 +03:00
# include <dirent.h>
2016-11-13 13:01:34 +03:00
# include "viralloc.h"
2014-03-26 20:53:49 +04:00
# include "virstring.h"
# include "virnetdev.h"
# include "virnetdevtap.h"
2021-02-22 12:46:13 +03:00
# include "virmock.h"
2014-03-26 20:53:49 +04:00
# include "internal.h"
# define VIR_FROM_THIS VIR_FROM_BHYVE
2021-02-22 12:46:13 +03: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 22:12:22 +03:00
init_syms ( ) ;
2021-02-22 12:46:13 +03: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 20:53:49 +04:00
void virMacAddrGenerate ( const unsigned char prefix [ VIR_MAC_PREFIX_BUFLEN ] ,
2021-03-11 10:16:13 +03:00
virMacAddr * addr )
2014-03-26 20:53:49 +04: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 15:45:03 +03:00
int virNetDevTapCreateInBridgePort ( const char * brname G_GNUC_UNUSED ,
2014-03-26 20:53:49 +04:00
char * * ifname ,
2019-10-14 15:45:03 +03: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 20:56:35 +03:00
const virNetDevVPortProfile * virtPortProfile G_GNUC_UNUSED ,
2019-10-01 19:25:47 +03:00
const virNetDevVlan * virtVlan G_GNUC_UNUSED ,
2020-02-13 20:57:47 +03:00
virTristateBool isolatedPort G_GNUC_UNUSED ,
2021-03-11 10:16:13 +03:00
virNetDevCoalesce * coalesce G_GNUC_UNUSED ,
2019-10-14 15:45:03 +03:00
unsigned int mtu G_GNUC_UNUSED ,
unsigned int * actualMTU G_GNUC_UNUSED ,
unsigned int fakeflags G_GNUC_UNUSED )
2014-03-26 20:53:49 +04:00
{
2016-11-13 13:01:34 +03:00
VIR_FREE ( * ifname ) ;
2019-10-20 14:49:46 +03:00
* ifname = g_strdup ( " vnet0 " ) ;
2014-03-26 20:53:49 +04:00
return 0 ;
}
2019-10-14 15:45:03 +03:00
char * virNetDevTapGetRealDeviceName ( char * name G_GNUC_UNUSED )
2014-03-26 20:53:49 +04:00
{
2021-10-22 11:56:01 +03:00
return g_strdup ( " faketapdev " ) ;
2014-03-26 20:53:49 +04:00
}
2019-10-14 15:45:03 +03:00
int virNetDevSetOnline ( const char * ifname G_GNUC_UNUSED ,
bool online G_GNUC_UNUSED )
2014-03-26 20:53:49 +04:00
{
return 0 ;
}
2018-02-06 12:09:09 +03:00
2019-10-14 15:45:03 +03:00
int bind ( int sockfd G_GNUC_UNUSED ,
const struct sockaddr * addr G_GNUC_UNUSED ,
socklen_t addrlen G_GNUC_UNUSED )
2018-02-06 12:09:09 +03:00
{
return 0 ;
}