How to use structures from sibling/adjacent rust file?

I'm trying to edit a Rust project with the following structure:

src/iface/ip.rs

src/iface/tun.rs

I want to call things from ip.rs inside tun.rs. So on tun.rs I added:

use iface::ip;

but it says

unresolved import `iface::ip`

no `ip` in `iface`rustc(E0432)

I also tried mod ip but it didn't work either.

In either src/iface/mod.rs or src/iface.rs add the line mod ip; Those two file locations are equivalent and function as the primary file for the iface module. The mod ip; line declares that there is a sub module ip in the iface module. I think you may have already done this.

Next try use crate::iface::ip; instead. That selects the module by the complete path relative to the crate.