};
/* Prototypes */
+struct ospf_route;
extern void ospf_zebra_add(struct ospf *ospf, struct prefix_ipv4 *,
struct ospf_route *);
extern void ospf_zebra_delete(struct ospf *ospf, struct prefix_ipv4 *,
unsigned short);
extern struct ospf_external *ospf_external_add(struct ospf *, uint8_t,
unsigned short);
+
+struct sr_prefix;
+struct sr_nhlfe;
+extern void ospf_zebra_update_prefix_sid(const struct sr_prefix *srp);
+extern void ospf_zebra_delete_prefix_sid(const struct sr_prefix *srp);
+extern void ospf_zebra_send_adjacency_sid(int cmd, struct sr_nhlfe nhlfe);
+
extern void ospf_external_del(struct ospf *, uint8_t, unsigned short);
extern struct ospf_redist *ospf_redist_lookup(struct ospf *, uint8_t,
unsigned short);
unsigned short);
extern void ospf_redist_del(struct ospf *, uint8_t, unsigned short);
-
extern int ospf_redistribute_set(struct ospf *, int, unsigned short, int, int);
extern int ospf_redistribute_unset(struct ospf *, int, unsigned short);
extern int ospf_redistribute_default_set(struct ospf *, int, int, int);
extern void ospf_zebra_init(struct thread_master *, unsigned short);
extern void ospf_zebra_vrf_register(struct ospf *ospf);
extern void ospf_zebra_vrf_deregister(struct ospf *ospf);
+bool ospf_external_default_routemap_apply_walk(
+ struct ospf *ospf, struct list *ext_list,
+ struct external_info *default_ei);
+int ospf_external_info_apply_default_routemap(struct ospf *ospf,
+ struct external_info *ei,
+ struct external_info *default_ei);
+extern void ospf_zebra_send_arp(const struct interface *ifp,
+ const struct prefix *p);
+bool ospf_zebra_label_manager_ready(void);
+int ospf_zebra_label_manager_connect(void);
+int ospf_zebra_request_label_range(uint32_t base, uint32_t chunk_size);
+int ospf_zebra_release_label_range(uint32_t start, uint32_t end);
#endif /* _ZEBRA_OSPF_ZEBRA_H */