class PacketGen::Config

Config class to provide config object to pgconsole @author Sylvain Daubert @author Kent 'picat' Gruber @since 1.4.1 @since 2.1.3 Config is singleton

Attributes

default_iface[R]

Default network interface @return [String]

Public Class Methods

new() click to toggle source
# File lib/packetgen/config.rb, line 24
def initialize
  @default_iface = PacketGen.default_iface || PacketGen.loopback_iface
  @hwaddr = {}
  @ipaddr = {}
  @ip6addr = {}

  initialize_local_addresses
end

Public Instance Methods

hwaddr(iface=nil) click to toggle source

Get MAC address for given network interface @param [String,nil] iface network interface. If nil, use default one. @return [String]

# File lib/packetgen/config.rb, line 36
def hwaddr(iface=nil)
  @hwaddr[iface || default_iface]
end
ip6addr(iface=nil) click to toggle source

Get IPv6 addresses for given network interface @param [String,nil] iface network interface. If nil, use default one. @return [Array<String>]

# File lib/packetgen/config.rb, line 50
def ip6addr(iface=nil)
  @ip6addr[iface || default_iface]
end
ipaddr(iface=nil) click to toggle source

Get IP address for given network interface @param [String,nil] iface network interface. If nil, use default one. @return [String]

# File lib/packetgen/config.rb, line 43
def ipaddr(iface=nil)
  @ipaddr[iface || default_iface]
end

Private Instance Methods

initialize_local_addresses() click to toggle source
# File lib/packetgen/config.rb, line 56
def initialize_local_addresses
  Interfacez.all do |iface_name|
    @hwaddr[iface_name] = Interfacez.mac_address_of(iface_name)
    @ipaddr[iface_name] = Interfacez.ipv4_address_of(iface_name)
    @ip6addr[iface_name] = Interfacez.ipv6_addresses_of(iface_name)
  end
end