← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1401965] [NEW] route_info() in netinfo.py will never return IPV6 route information

 

Public bug reported:

Incorrect netstat  call to retrieve ipv6 information. I think the command instead should be:
 (route_out6, _err6) = util.subp(["netstat", "-A", "inet6", "-rn"])

try:
        (route_out6, _err6) = util.subp(["netstat", "-A", "inet6", "-n"])
    except util.ProcessExecutionError:
        pass
    else:
        entries6 = route_out6.splitlines()[1:]
        for line in entries6:
            if not line:
                continue
            toks = line.split()
            if (len(toks) < 6 or toks[0] == "Kernel" or
                    toks[0] == "Proto" or toks[0] == "Active"):
                continue
            entry = {
                'proto': toks[0],
                'recv-q': toks[1],
                'send-q': toks[2],
                'local address': toks[3],
                'foreign address': toks[4],
                'state': toks[5],
            }
            routes['ipv6'].append(entry)

** Affects: cloud-init
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to cloud-init.
https://bugs.launchpad.net/bugs/1401965

Title:
  route_info() in netinfo.py will never return IPV6 route information

Status in Init scripts for use on cloud images:
  New

Bug description:
  Incorrect netstat  call to retrieve ipv6 information. I think the command instead should be:
   (route_out6, _err6) = util.subp(["netstat", "-A", "inet6", "-rn"])

  try:
          (route_out6, _err6) = util.subp(["netstat", "-A", "inet6", "-n"])
      except util.ProcessExecutionError:
          pass
      else:
          entries6 = route_out6.splitlines()[1:]
          for line in entries6:
              if not line:
                  continue
              toks = line.split()
              if (len(toks) < 6 or toks[0] == "Kernel" or
                      toks[0] == "Proto" or toks[0] == "Active"):
                  continue
              entry = {
                  'proto': toks[0],
                  'recv-q': toks[1],
                  'send-q': toks[2],
                  'local address': toks[3],
                  'foreign address': toks[4],
                  'state': toks[5],
              }
              routes['ipv6'].append(entry)

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1401965/+subscriptions


Follow ups

References