]> git.proxmox.com Git - mirror_frr.git/blobdiff - isisd/isis_mt.h
Merge pull request #5793 from ton31337/fix/formatting_show_bgp_summary_failed
[mirror_frr.git] / isisd / isis_mt.h
index 95aa99dba0bd6be1b87be4bb9028020b24512e70..b40139c50a8419ff525cf3891816e503bf96c484 100644 (file)
@@ -32,6 +32,7 @@
 #define ISIS_MT_IPV4_MULTICAST 3
 #define ISIS_MT_IPV6_MULTICAST 4
 #define ISIS_MT_IPV6_MGMT      5
+#define ISIS_MT_IPV6_DSTSRC    3996 /* FIXME: IANA */
 
 #define ISIS_MT_NAMES                                                          \
        "<ipv4-unicast"                                                        \
@@ -40,6 +41,7 @@
        "|ipv4-multicast"                                                      \
        "|ipv6-multicast"                                                      \
        "|ipv6-mgmt"                                                           \
+       "|ipv6-dstsrc"                                                         \
        ">"
 
 #define ISIS_MT_DESCRIPTIONS                                                   \
@@ -48,7 +50,9 @@
        "IPv6 unicast topology\n"                                              \
        "IPv4 multicast topology\n"                                            \
        "IPv6 multicast topology\n"                                            \
-       "IPv6 management topology\n"
+       "IPv6 management topology\n"                                           \
+       "IPv6 dst-src topology\n"                                              \
+       ""
 
 #define ISIS_MT_INFO_FIELDS uint16_t mtid;
 
@@ -75,6 +79,8 @@ struct tlvs;
 struct te_is_neigh;
 struct isis_tlvs;
 
+bool isis_area_ipv6_dstsrc_enabled(struct isis_area *area);
+
 uint16_t isis_area_ipv6_topology(struct isis_area *area);
 
 struct isis_area_mt_setting *area_lookup_mt_setting(struct isis_area *area,
@@ -103,7 +109,6 @@ void circuit_mt_init(struct isis_circuit *circuit);
 void circuit_mt_finish(struct isis_circuit *circuit);
 struct isis_circuit_mt_setting *
 circuit_get_mt_setting(struct isis_circuit *circuit, uint16_t mtid);
-int circuit_write_mt_settings(struct isis_circuit *circuit, struct vty *vty);
 struct isis_circuit_mt_setting **
 circuit_mt_settings(struct isis_circuit *circuit, unsigned int *mt_count);
 bool tlvs_to_adj_mt_set(struct isis_tlvs *tlvs, bool v4_usable, bool v6_usable,
@@ -111,9 +116,8 @@ bool tlvs_to_adj_mt_set(struct isis_tlvs *tlvs, bool v4_usable, bool v6_usable,
 bool adj_has_mt(struct isis_adjacency *adj, uint16_t mtid);
 void adj_mt_finish(struct isis_adjacency *adj);
 void tlvs_add_mt_bcast(struct isis_tlvs *tlvs, struct isis_circuit *circuit,
-                      int level, uint8_t *id, uint32_t metric,
-                      uint8_t *subtlvs, uint8_t subtlv_len);
+                      int level, uint8_t *id, uint32_t metric);
 void tlvs_add_mt_p2p(struct isis_tlvs *tlvs, struct isis_circuit *circuit,
-                    uint8_t *id, uint32_t metric, uint8_t *subtlvs,
-                    uint8_t subtlv_len);
+                    uint8_t *id, uint32_t metric);
+void mt_init(void);
 #endif