code: func findInterfaceNetwork(pIface *net.Interface, ip net.IP) (*net.Interface, *net.IPNet, error) {
  	ifaces, err := vlanInterfaces(pIface)
  	ifaces = append(ifaces, pIface)
  	if err != nil {
  		return nil, nil, err
  	}
  	for _, iface := range ifaces {
  		if network, _ := findNetwork(iface, ip); network != nil {
  			return iface, network, nil
  		}
  	}
  	return nil, nil, fmt.Errorf("Failed to find IP %v on any interface", ip)
  }
docs: // findInterfaceNetwork searches for the given IP address on the given physical
  // interface and its associated VLAN interfaces. If the address is not
  // configured on any interface, an error is returned.