code: func ChooseHostInterface() (net.IP, error) {
  	inFile, err := os.Open("/proc/net/route")
  	if err != nil {
  		if os.IsNotExist(err) {
  			return chooseHostInterfaceNativeGo()
  		}
  		return nil, err
  	}
  	defer inFile.Close()
  	var nw networkInterfacer = networkInterface{}
  	return chooseHostInterfaceFromRoute(inFile, nw)
  }
docs: //ChooseHostInterface is a method used fetch an IP for a daemon.
  //It uses data from /proc/net/route file.
  //For a node with no internet connection ,it returns error
  //For a multi n/w interface node it returns the IP of the interface with gateway on it.