summaryrefslogtreecommitdiff
path: root/ospf6d/ospf6_route.h
diff options
context:
space:
mode:
authorharios_niral <hari@niralnetworks.com>2020-10-07 22:38:43 -0700
committerharios_niral <hari@niralnetworks.com>2020-10-30 23:50:08 -0700
commitbeadc736bbd27da5d2bb6f2770fceea7af227ef3 (patch)
treecd3b630a3556f93fd68c80d087051882ae56e138 /ospf6d/ospf6_route.h
parentc85b63238ae18baaabd833cdbfba79bba227a0e0 (diff)
ospf6d : Transformation changes for ospf6 vrf support.
1. All the changes are related to handle ospf6 with different vrf. 2. The dependancy of global ospf6 is removed. Co-authored-by: Kaushik <kaushik@niralnetworks.com> Signed-off-by: harios_niral <hari@niralnetworks.com>
Diffstat (limited to 'ospf6d/ospf6_route.h')
-rw-r--r--ospf6d/ospf6_route.h18
1 files changed, 10 insertions, 8 deletions
diff --git a/ospf6d/ospf6_route.h b/ospf6d/ospf6_route.h
index 95ba983e6b..0b984400b5 100644
--- a/ospf6d/ospf6_route.h
+++ b/ospf6d/ospf6_route.h
@@ -178,6 +178,7 @@ struct ospf6_route {
#define OSPF6_ROUTE_DO_NOT_ADVERTISE 0x20
#define OSPF6_ROUTE_WAS_REMOVED 0x40
#define OSPF6_ROUTE_BLACKHOLE_ADDED 0x80
+struct ospf6;
struct ospf6_route_table {
int scope_type;
@@ -192,9 +193,9 @@ struct ospf6_route_table {
bitfield_t idspace;
/* hooks */
- void (*hook_add)(struct ospf6_route *);
+ void (*hook_add)(struct ospf6_route *, struct ospf6 *);
void (*hook_change)(struct ospf6_route *);
- void (*hook_remove)(struct ospf6_route *);
+ void (*hook_remove)(struct ospf6_route *, struct ospf6 *);
};
#define OSPF6_SCOPE_TYPE_NONE 0
@@ -296,7 +297,6 @@ extern int ospf6_route_cmp(struct ospf6_route *ra, struct ospf6_route *rb);
extern void ospf6_route_lock(struct ospf6_route *route);
extern void ospf6_route_unlock(struct ospf6_route *route);
-
extern struct ospf6_route *ospf6_route_lookup(struct prefix *prefix,
struct ospf6_route_table *table);
extern struct ospf6_route *
@@ -307,9 +307,11 @@ ospf6_route_lookup_bestmatch(struct prefix *prefix,
struct ospf6_route_table *table);
extern struct ospf6_route *ospf6_route_add(struct ospf6_route *route,
- struct ospf6_route_table *table);
+ struct ospf6_route_table *table,
+ struct ospf6 *ospf6);
extern void ospf6_route_remove(struct ospf6_route *route,
- struct ospf6_route_table *table);
+ struct ospf6_route_table *table,
+ struct ospf6 *ospf6);
extern struct ospf6_route *ospf6_route_head(struct ospf6_route_table *table);
extern struct ospf6_route *ospf6_route_next(struct ospf6_route *route);
@@ -320,9 +322,10 @@ ospf6_route_match_head(struct prefix *prefix, struct ospf6_route_table *table);
extern struct ospf6_route *ospf6_route_match_next(struct prefix *prefix,
struct ospf6_route *route);
-extern void ospf6_route_remove_all(struct ospf6_route_table *);
+extern void ospf6_route_remove_all(struct ospf6_route_table *, struct ospf6 *);
extern struct ospf6_route_table *ospf6_route_table_create(int s, int t);
-extern void ospf6_route_table_delete(struct ospf6_route_table *);
+extern void ospf6_route_table_delete(struct ospf6_route_table *,
+ struct ospf6 *);
extern void ospf6_route_dump(struct ospf6_route_table *table);
@@ -341,7 +344,6 @@ extern void ospf6_brouter_show(struct vty *vty, struct ospf6_route *route);
extern int config_write_ospf6_debug_route(struct vty *vty);
extern void install_element_ospf6_debug_route(void);
extern void ospf6_route_init(void);
-extern void ospf6_clean(void);
extern void ospf6_path_free(struct ospf6_path *op);
extern struct ospf6_path *ospf6_path_dup(struct ospf6_path *path);
extern void ospf6_copy_paths(struct list *dst, struct list *src);