summaryrefslogtreecommitdiff
path: root/ospfd/ospf_route.h
diff options
context:
space:
mode:
authorOlivier Dugeon <olivier.dugeon@orange.com>2020-03-20 11:34:52 +0100
committerOlivier Dugeon <olivier.dugeon@orange.com>2020-06-03 19:31:50 +0200
commitb37eb79c014e73e7f18caf351b049bea55ea9757 (patch)
treead80ce55ddc20569188a77b9a48e9b369221d605 /ospfd/ospf_route.h
parentec91e8a9ee1c5936a2a21fa2a20d8f0d7717ffe5 (diff)
ospfd: Add ECMP support to OSPF Segment Routing
* Change sr_prefix structure in ospf_sr.h to add support to ECMP * Add new Segment Routing information to ospf_paths in ospf_route.h * Backport MPLS label configuration from IS-IS Segment Routing implementation * Re-write log message in ospf_sr.c and ospf_ext.c Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
Diffstat (limited to 'ospfd/ospf_route.h')
-rw-r--r--ospfd/ospf_route.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/ospfd/ospf_route.h b/ospfd/ospf_route.h
index 8cb5d32a8a..20cdc75fe8 100644
--- a/ospfd/ospf_route.h
+++ b/ospfd/ospf_route.h
@@ -33,12 +33,24 @@
#define OSPF_PATH_TYPE2_EXTERNAL 4
#define OSPF_PATH_MAX 5
+/* Segment Routing information to complement ospf_path structure */
+struct sr_nexthop_info {
+ /* Output label associated to this route */
+ mpls_label_t label_out;
+ /*
+ * Pointer to SR Node which is the next hop for this route
+ * or NULL if next hop is the destination of the prefix
+ */
+ struct sr_node *nexthop;
+};
+
/* OSPF Path. */
struct ospf_path {
struct in_addr nexthop;
struct in_addr adv_router;
ifindex_t ifindex;
unsigned char unnumbered;
+ struct sr_nexthop_info srni;
};
/* Below is the structure linked to every