|
@@ -23,6 +23,7 @@
|
|
|
#ifndef _ZEBRA_RIB_H
|
|
|
#define _ZEBRA_RIB_H
|
|
|
|
|
|
+#include "zebra.h"
|
|
|
#include "linklist.h"
|
|
|
#include "prefix.h"
|
|
|
#include "table.h"
|
|
@@ -43,6 +44,9 @@ struct rib
|
|
|
/* Refrence count. */
|
|
|
unsigned long refcnt;
|
|
|
|
|
|
+ /* Tag */
|
|
|
+ route_tag_t tag;
|
|
|
+
|
|
|
/* Uptime. */
|
|
|
time_t uptime;
|
|
|
|
|
@@ -65,9 +69,6 @@ struct rib
|
|
|
/* Distance. */
|
|
|
u_char distance;
|
|
|
|
|
|
- /* Tag */
|
|
|
- u_short tag;
|
|
|
-
|
|
|
/* Flags of this route.
|
|
|
* This flag's definition is in lib/zebra.h ZEBRA_FLAG_* and is exposed
|
|
|
* to clients via Zserv
|
|
@@ -182,7 +183,7 @@ struct static_route
|
|
|
u_char distance;
|
|
|
|
|
|
/* Tag */
|
|
|
- u_short tag;
|
|
|
+ route_tag_t tag;
|
|
|
|
|
|
/* Flag for this static route's type. */
|
|
|
u_char type;
|
|
@@ -450,11 +451,12 @@ extern unsigned long rib_score_proto (u_char proto);
|
|
|
|
|
|
extern int
|
|
|
static_add_ipv4_safi (safi_t safi, struct prefix *p, struct in_addr *gate,
|
|
|
- const char *ifname, u_char flags, u_short tag, u_char distance,
|
|
|
- vrf_id_t vrf_id);
|
|
|
+ const char *ifname, u_char flags, route_tag_t,
|
|
|
+ u_char distance, vrf_id_t vrf_id);
|
|
|
extern int
|
|
|
static_delete_ipv4_safi (safi_t safi, struct prefix *p, struct in_addr *gate,
|
|
|
- const char *ifname, u_short tag, u_char distance, vrf_id_t vrf_id);
|
|
|
+ const char *ifname, route_tag_t tag, u_char distance,
|
|
|
+ vrf_id_t vrf_id);
|
|
|
|
|
|
extern int
|
|
|
rib_add_ipv6 (int type, int flags, struct prefix_ipv6 *p,
|
|
@@ -474,15 +476,16 @@ extern struct route_table *rib_table_ipv6;
|
|
|
|
|
|
extern int
|
|
|
static_add_ipv6 (struct prefix *p, u_char type, struct in6_addr *gate,
|
|
|
- const char *ifname, u_char flags, u_short tag, u_char distance,
|
|
|
- vrf_id_t vrf_id);
|
|
|
+ const char *ifname, u_char flags, route_tag_t,
|
|
|
+ u_char distance, vrf_id_t vrf_id);
|
|
|
|
|
|
extern int
|
|
|
rib_add_ipv6_multipath (struct prefix_ipv6 *, struct rib *, safi_t);
|
|
|
|
|
|
extern int
|
|
|
static_delete_ipv6 (struct prefix *p, u_char type, struct in6_addr *gate,
|
|
|
- const char *ifname, u_short tag, u_char distance, vrf_id_t vrf_id);
|
|
|
+ const char *ifname, route_tag_t, u_char distance,
|
|
|
+ vrf_id_t vrf_id);
|
|
|
|
|
|
extern int rib_gc_dest (struct route_node *rn);
|
|
|
extern struct route_table *rib_tables_iter_next (rib_tables_iter_t *iter);
|