diff --git a/src/confd/src/ietf-routing.c b/src/confd/src/ietf-routing.c index 98573c54..db42a075 100644 --- a/src/confd/src/ietf-routing.c +++ b/src/confd/src/ietf-routing.c @@ -32,7 +32,7 @@ int parse_ospf_interfaces(sr_session_ctx_t *session, struct lyd_node *areas, FIL interfaces = lydx_get_child(area, "interfaces"); const char *area_id = lydx_get_cattr(area, "area-id"); LY_LIST_FOR(lyd_child(interfaces), interface) { - const char *hello, *dead, *retransmit, *transmit, *interface_type; + const char *hello, *dead, *retransmit, *transmit, *interface_type, *cost; if (lydx_get_bool(interface, "enabled")) { struct lyd_node *bfd; int passive = 0; @@ -45,6 +45,7 @@ int parse_ospf_interfaces(sr_session_ctx_t *session, struct lyd_node *areas, FIL retransmit = lydx_get_cattr(interface, "retransmit-interval"); transmit = lydx_get_cattr(interface, "transmit-delay"); interface_type = lydx_get_cattr(interface, "interface-type"); + cost = lydx_get_cattr(interface, "cost"); fprintf(fp, " ip ospf area %s\n", area_id); if (dead) fprintf(fp, " ip ospf dead-interval %s\n", dead); @@ -60,6 +61,8 @@ int parse_ospf_interfaces(sr_session_ctx_t *session, struct lyd_node *areas, FIL fputs(" ip ospf passive\n", fp); if (interface_type) fprintf(fp, " ip ospf network %s\n", interface_type); + if (cost) + fprintf(fp, " ip ospf cost %s\n", cost); } } } diff --git a/src/confd/yang/infix-routing@2024-01-09.yang b/src/confd/yang/infix-routing@2024-01-09.yang index 8ca0b3af..3cfc1aa5 100644 --- a/src/confd/yang/infix-routing@2024-01-09.yang +++ b/src/confd/yang/infix-routing@2024-01-09.yang @@ -373,10 +373,6 @@ module infix-routing { { deviate not-supported; } - deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:cost" - { - deviate not-supported; - } deviation "/ietf-r:routing/ietf-r:control-plane-protocols/ietf-r:control-plane-protocol/ospf:ospf/ospf:areas/ospf:area/ospf:interfaces/ospf:interface/ospf:lls" { deviate not-supported;