Method: Specinfra::Command::Openbsd::Base::Interface.check_has_ipv6_address

Defined in:
lib/specinfra/command/openbsd/base/interface.rb

.check_has_ipv6_address(interface, ip_address) ⇒ Object

[View source]

22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/specinfra/command/openbsd/base/interface.rb', line 22

def check_has_ipv6_address(interface, ip_address)
  ip_address = ip_address.dup
  (ip_address, prefixlen) = ip_address.split(/\//)
  ip_address.downcase!
  if ip_address =~ /^fe80::/i
    # link local needs the scope (interface) appended
    ip_address << "%#{interface}"
  end
  unless prefixlen.to_s.empty?
    # append prefixlen
    ip_address << " prefixlen #{prefixlen}"
  else
    ip_address << " "
  end
  "ifconfig #{interface} inet6 | grep 'inet6 #{ip_address}'"
end