Documentation
¶
Index ¶
- Constants
- Variables
- func IsIPInSubnet(ln LinuxNet) bool
- func New(unikernelType string) (types.Unikernel, error)
- type Linux
- func (l *Linux) CommandString() (string, error)
- func (l *Linux) Init(data types.UnikernelParams) error
- func (l *Linux) MonitorBlockCli() []types.MonitorBlockArgs
- func (l *Linux) MonitorCli() types.MonitorCliArgs
- func (l *Linux) MonitorNetCli(_ string, _ string) string
- func (l *Linux) SupportsBlock() bool
- func (l *Linux) SupportsFS(fsType string) bool
- type LinuxNet
- type Mewz
- func (m *Mewz) CommandString() (string, error)
- func (m *Mewz) Init(data types.UnikernelParams) error
- func (m *Mewz) MonitorBlockCli() []types.MonitorBlockArgs
- func (m *Mewz) MonitorCli() types.MonitorCliArgs
- func (m *Mewz) MonitorNetCli(ifName string, mac string) string
- func (m *Mewz) SupportsBlock() bool
- func (m *Mewz) SupportsFS(_ string) bool
- type MewzNet
- type Mirage
- func (m *Mirage) CommandString() (string, error)
- func (m *Mirage) Init(data types.UnikernelParams) error
- func (m *Mirage) MonitorBlockCli() []types.MonitorBlockArgs
- func (m *Mirage) MonitorCli() types.MonitorCliArgs
- func (m *Mirage) MonitorNetCli(ifName string, mac string) string
- func (m *Mirage) SupportsBlock() bool
- func (m *Mirage) SupportsFS(_ string) bool
- type MirageBlock
- type MirageNet
- type Rumprun
- func (r *Rumprun) CommandString() (string, error)
- func (r *Rumprun) Init(data types.UnikernelParams) error
- func (r *Rumprun) MonitorBlockCli() []types.MonitorBlockArgs
- func (r *Rumprun) MonitorCli() types.MonitorCliArgs
- func (r *Rumprun) MonitorNetCli(ifName string, mac string) string
- func (r *Rumprun) SupportsBlock() bool
- func (r *Rumprun) SupportsFS(fsType string) bool
- type RumprunBlk
- type RumprunCmd
- type RumprunEnv
- type RumprunNet
- type Unikraft
- func (u *Unikraft) CommandString() (string, error)
- func (u *Unikraft) Init(data types.UnikernelParams) error
- func (u *Unikraft) MonitorBlockCli() []types.MonitorBlockArgs
- func (u *Unikraft) MonitorCli() types.MonitorCliArgs
- func (u *Unikraft) MonitorNetCli(_ string, _ string) string
- func (u *Unikraft) SupportsBlock() bool
- func (u *Unikraft) SupportsFS(fsType string) bool
- type UnikraftNet
- type UnikraftVFS
Constants ¶
View Source
const (
LinuxUnikernel string = "linux"
)
View Source
const MewzUnikernel string = "mewz"
View Source
const MirageUnikernel string = "mirage"
View Source
const RumprunUnikernel string = "rumprun"
View Source
const SubnetMask125 = "128.0.0.0"
View Source
const UnikraftCompatVersion string = "0.16.1"
View Source
const UnikraftUnikernel string = "unikraft"
Variables ¶
View Source
var ErrNotSupportedUnikernel = errors.New("unikernel is not supported")
View Source
var ErrUndefinedVersion = errors.New("version is undefined, using default version")
View Source
var ErrVersionParsing = errors.New("failed to parse provided version, using default version")
Functions ¶
func IsIPInSubnet ¶
Types ¶
type Linux ¶
type Linux struct {
App string
Command string
Monitor string
Env []string
Net LinuxNet
Blk []types.BlockDevParams
RootFsType string
InitrdConf bool
ProcConfig types.ProcessConfig
}
func (*Linux) CommandString ¶
func (*Linux) MonitorBlockCli ¶
func (l *Linux) MonitorBlockCli() []types.MonitorBlockArgs
func (*Linux) MonitorCli ¶
func (l *Linux) MonitorCli() types.MonitorCliArgs
func (*Linux) SupportsBlock ¶
func (*Linux) SupportsFS ¶
type Mewz ¶
func (*Mewz) CommandString ¶
func (*Mewz) MonitorBlockCli ¶
func (m *Mewz) MonitorBlockCli() []types.MonitorBlockArgs
Mewz does not seem to support virtio block or anu other kind of block/fs.
func (*Mewz) MonitorCli ¶
func (m *Mewz) MonitorCli() types.MonitorCliArgs
Mewz does not require any monitor specific cli option
func (*Mewz) SupportsBlock ¶
func (*Mewz) SupportsFS ¶
type Mirage ¶
type Mirage struct {
Command string
Monitor string
Net MirageNet
Block []MirageBlock
}
func (*Mirage) CommandString ¶
func (*Mirage) MonitorBlockCli ¶
func (m *Mirage) MonitorBlockCli() []types.MonitorBlockArgs
func (*Mirage) MonitorCli ¶
func (m *Mirage) MonitorCli() types.MonitorCliArgs
func (*Mirage) SupportsBlock ¶
func (*Mirage) SupportsFS ¶
type MirageBlock ¶
type Rumprun ¶
type Rumprun struct {
Command string
Monitor string
Envs []string
Net RumprunNet
Blk RumprunBlk
}
func (*Rumprun) CommandString ¶
func (*Rumprun) MonitorBlockCli ¶
func (r *Rumprun) MonitorBlockCli() []types.MonitorBlockArgs
func (*Rumprun) MonitorCli ¶
func (r *Rumprun) MonitorCli() types.MonitorCliArgs
Rumprun can execute only on top of Solo5 and currently there are no generic Solo5-specific arguments that Rumprun requires
func (*Rumprun) SupportsBlock ¶
func (*Rumprun) SupportsFS ¶
type RumprunBlk ¶
type RumprunCmd ¶
type RumprunCmd struct {
CmdLine string `json:"cmdline"`
}
type RumprunEnv ¶
type RumprunEnv struct {
Env string `json:"env"`
}
type RumprunNet ¶
type Unikraft ¶
type Unikraft struct {
AppName string
Monitor string
Command string
Env []string
Net UnikraftNet
VFS UnikraftVFS
Version string
}
func (*Unikraft) CommandString ¶
func (*Unikraft) MonitorBlockCli ¶
func (u *Unikraft) MonitorBlockCli() []types.MonitorBlockArgs
We have not managed to make Unikraft run with block yet.
func (*Unikraft) MonitorCli ¶
func (u *Unikraft) MonitorCli() types.MonitorCliArgs
There are no generic CLI hypervisor options for Unikraft yet.
func (*Unikraft) MonitorNetCli ¶
There is no need for any changes here yet.
func (*Unikraft) SupportsBlock ¶
func (*Unikraft) SupportsFS ¶
type UnikraftNet ¶
type UnikraftVFS ¶
type UnikraftVFS struct {
RootFS string
}
Click to show internal directories.
Click to hide internal directories.