def METHOD_NAME(self, ifacename, wait=True, cmd_prefix=None):
    retries = 0
    out = "0"
    # wait if interface isn't up yet
    while '1' not in out and retries < 5:
        path = '/sys/class/net/%s/carrier' %ifacename
        out = self.read_file_oneline(path)
        if out is None:
            break # No sysfs file found for this iface
        retries += 1
        time.sleep(1)
    if os.path.exists('/sbin/dhclient3'):
        cmd = ['/sbin/dhclient3', '-pf',
               '/run/dhclient.%s.pid' %ifacename,
               '-lf', '/var/lib/dhcp3/dhclient.%s.leases' %ifacename,
               '%s' %ifacename]
    else:
        cmd = ['/sbin/dhclient', '-pf',
               '/run/dhclient.%s.pid' %ifacename, '-lf',
               '/var/lib/dhcp/dhclient.%s.leases' %ifacename,
               '%s' %ifacename]
    if not wait:
        cmd.append('-nw')
    self._run_dhclient_cmd(cmd, cmd_prefix)