diff options
| author | Donald Sharp <sharpd@nvidia.com> | 2023-05-09 13:10:35 -0400 |
|---|---|---|
| committer | Donald Sharp <sharpd@nvidia.com> | 2023-05-10 08:35:45 -0400 |
| commit | dd2bc4fb406cc9284d35ef623ebb8838cb158bc8 (patch) | |
| tree | 9817fc006bd78436e16531f8c1c8c2c728eb483f /ospfd/ospf_lsa.c | |
| parent | 11feb307064c7e170e63fe4515c41174fc791a8a (diff) | |
ospfd: Respect loopback's cost that is set and set loopback costs to 0
When setting an loopback's cost, set the value to 0, unless the operator
has assigned a value for the loopback's cost.
RFC states:
If the state of the interface is Loopback, add a Type 3
link (stub network) as long as this is not an interface
to an unnumbered point-to-point network. The Link ID
should be set to the IP interface address, the Link Data
set to the mask 0xffffffff (indicating a host route),
and the cost set to 0.
FRR is going to allow this to be overridden if the operator specifically
sets a value too.
Fixes: #13472
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
Diffstat (limited to 'ospfd/ospf_lsa.c')
| -rw-r--r-- | ospfd/ospf_lsa.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/ospfd/ospf_lsa.c b/ospfd/ospf_lsa.c index 452a3ba374..67f1faf8a9 100644 --- a/ospfd/ospf_lsa.c +++ b/ospfd/ospf_lsa.c @@ -608,7 +608,8 @@ static int lsa_link_loopback_set(struct stream **s, struct ospf_interface *oi) mask.s_addr = 0xffffffff; id.s_addr = oi->address->u.prefix4.s_addr; - return link_info_set(s, id, mask, LSA_LINK_TYPE_STUB, 0, 0); + return link_info_set(s, id, mask, LSA_LINK_TYPE_STUB, 0, + oi->output_cost); } /* Describe Virtual Link. */ |
