Maria Matejka via Bird-users:
In short, there are two different route attributes in BIRD 2:
- The whole route's total metric from here to the destination, if set explicitly by `igp_metric = N` in filters. I.e., a generic alternative to protocol-specific IGP metrics like `ospf_metric1` or `babel_metric`.
- Metric of the route's part between here and `bgp_next_hop`, determined by recursive next hop resolution. I.e., from that route which resolved the recursive next hop, the value in the first meaning of `igp_metric` is taken and stored here.
**How to name these two attributes better?**
may i suggest "igp_metric" for the first and "next_hop_igp_metric" for the second? i believe these names are clear and obvious to the administrator without having to consult any documentation: igp_metric is the metric for this route in this IGP, and next_hop_igp_metric is the metric for the route's next hop in the underlying IGP. "next_hop_igp_metric" also has the advantage of not having a BGP-specific name (e.g., "bgp_nexthop_metric"); while it may currently be used mostly for IBGP (and EBGP confederation) routes, it could potentially be used by any routing protocol.