# `VintageNet.Route.InterfaceInfo`
[🔗](https://github.com/nerves-networking/vintage_net/blob/v0.13.9/lib/vintage_net/route/interface_info.ex#L6)

Routing information for an interface

# `t`

```elixir
@type t() :: %VintageNet.Route.InterfaceInfo{
  default_gateway: :inet.ip_address() | nil,
  interface_type: VintageNet.interface_type(),
  ip_subnets: [{:inet.ip_address(), VintageNet.prefix_length()}],
  status: VintageNet.connection_status(),
  weight: weight()
}
```

Routing information

* `:default_gateway` - default gateway IP address or `nil` if there isn't one
* `:ip_subnets` - zero or more IP addresses and prefix lengths for what's on this LAN
* `:weight` - a value to pass on when calculating the routing table metric for weighting
  an interface over another one
* `:interface_type` - a rough categorization of the interface between `:ethernet`, `:wifi`,
  `:cellular`, etc. based on the name. See `VintageNet.Interface.NameUtilities`.
* `:status` - whether the interface is `:disconnected`, `:lan`, or `:internet`

# `weight`

```elixir
@type weight() :: 0..9
```

A weight that can be used to differentiate two interfaces that would otherwise be the same priority

Lower weights are higher priority.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
