Class: OsVm::MachineConfig::BridgeNetwork

Inherits:
Network
  • Object
show all
Defined in:
lib/osvm/machine_config.rb

Instance Attribute Summary collapse

Attributes inherited from Network

#index, #type

Instance Method Summary collapse

Methods inherited from Network

from_config

Constructor Details

#initialize(_i, cfg) ⇒ BridgeNetwork

Returns a new instance of BridgeNetwork.



143
144
145
146
147
# File 'lib/osvm/machine_config.rb', line 143

def initialize(_i, cfg)
  super
  @link = @opts.fetch('link')
  @mac = @opts['mac'] || gen_mac_address
end

Instance Attribute Details

Returns:

  • (String)


138
139
140
# File 'lib/osvm/machine_config.rb', line 138

def link
  @link
end

#macString (readonly)

Returns:

  • (String)


141
142
143
# File 'lib/osvm/machine_config.rb', line 141

def mac
  @mac
end

Instance Method Details

#gen_mac_addressObject (protected)



158
159
160
# File 'lib/osvm/machine_config.rb', line 158

def gen_mac_address
  "00:60:2f:#{SecureRandom.hex(3).chars.each_slice(2).map(&:join).join(':')}"
end

#qemu_optionsObject



149
150
151
152
153
154
# File 'lib/osvm/machine_config.rb', line 149

def qemu_options
  [
    '-device', "virtio-net,netdev=net#{index},mac=#{@mac}",
    '-netdev', "bridge,id=net#{index},br=#{link}"
  ]
end