]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd: Add API to get SRv6 locator info
authorCarmine Scarpitta <cscarpit@cisco.com>
Sat, 23 Mar 2024 18:07:33 +0000 (19:07 +0100)
committerCarmine Scarpitta <cscarpit@cisco.com>
Thu, 5 Sep 2024 08:59:59 +0000 (10:59 +0200)
Add an API to request information from the SRv6 SID Manager (zebra)
regarding a specific SRv6 locator.

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
bgpd/bgp_zebra.c
bgpd/bgp_zebra.h

index 6e2efabf8f40baecb49b765f3cff8fa81ff12c63..b2d63cb4f6e3644d6a22dec05e647bb7130b4e33 100644 (file)
@@ -4090,6 +4090,24 @@ int bgp_zebra_srv6_manager_release_locator_chunk(const char *name)
        return srv6_manager_release_locator_chunk(zclient, name);
 }
 
+/**
+ * Ask the SRv6 Manager (zebra) about a specific locator
+ *
+ * @param name Locator name
+ * @return 0 on success, -1 otherwise
+ */
+int bgp_zebra_srv6_manager_get_locator(const char *name)
+{
+       if (!name)
+               return -1;
+
+       /*
+        * Send the Get Locator request to the SRv6 Manager and return the
+        * result
+        */
+       return srv6_manager_get_locator(zclient, name);
+}
+
 void bgp_zebra_send_nexthop_label(int cmd, mpls_label_t label,
                                  ifindex_t ifindex, vrf_id_t vrf_id,
                                  enum lsp_types_t ltype, struct prefix *p,
index 55a4185bde71c69bc1d9999ea6581fa7a54f54e1..737ffb6b99f18e8168d0b1034a6135b849d82d5a 100644 (file)
@@ -117,6 +117,8 @@ extern int bgp_zebra_update(struct bgp *bgp, afi_t afi, safi_t safi,
 extern int bgp_zebra_stale_timer_update(struct bgp *bgp);
 extern int bgp_zebra_srv6_manager_get_locator_chunk(const char *name);
 extern int bgp_zebra_srv6_manager_release_locator_chunk(const char *name);
+extern int bgp_zebra_srv6_manager_get_locator(const char *name);
+
 extern void bgp_zebra_send_nexthop_label(int cmd, mpls_label_t label,
                                         ifindex_t index, vrf_id_t vrfid,
                                         enum lsp_types_t ltype,