summaryrefslogtreecommitdiff
path: root/ospfd/ospf_sr.h
diff options
context:
space:
mode:
Diffstat (limited to 'ospfd/ospf_sr.h')
-rw-r--r--ospfd/ospf_sr.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/ospfd/ospf_sr.h b/ospfd/ospf_sr.h
index 222675944d..ce13457484 100644
--- a/ospfd/ospf_sr.h
+++ b/ospfd/ospf_sr.h
@@ -233,9 +233,6 @@ struct ospf_sr_db {
/* List of neighbour SR nodes */
struct hash *neighbors;
- /* List of SR prefix */
- struct route_table *prefix;
-
/* Local SR info announced in Router Info LSA */
/* Algorithms supported by the node */
@@ -290,6 +287,9 @@ struct sr_link {
/* 24-bit Opaque-ID field value according to RFC 7684 specification */
uint32_t instance;
+ /* Addressed (remote) router id */
+ struct in_addr remote_id;
+
/* Interface address */
struct in_addr itf_addr;
@@ -361,4 +361,11 @@ extern void ospf_sr_update_local_prefix(struct interface *ifp,
struct prefix *p);
/* Segment Routing re-routing function */
extern void ospf_sr_update_task(struct ospf *ospf);
+
+/* Support for TI-LFA */
+extern mpls_label_t ospf_sr_get_prefix_sid_by_id(struct in_addr *id);
+extern mpls_label_t ospf_sr_get_adj_sid_by_id(struct in_addr *root_id,
+ struct in_addr *neighbor_id);
+extern struct sr_node *ospf_sr_node_create(struct in_addr *rid);
+
#endif /* _FRR_OSPF_SR_H */