ripd: add support for route tags
diff --git a/ripd/ripd.c b/ripd/ripd.c
index da9e7b0..848d801 100644
--- a/ripd/ripd.c
+++ b/ripd/ripd.c
@@ -1510,7 +1510,8 @@
void
rip_redistribute_add (int type, int sub_type, struct prefix_ipv4 *p,
ifindex_t ifindex, struct in_addr *nexthop,
- unsigned int metric, unsigned char distance)
+ unsigned int metric, unsigned char distance,
+ route_tag_t tag)
{
int ret;
struct route_node *rp = NULL;
@@ -1531,6 +1532,8 @@
newinfo.metric = 1;
newinfo.external_metric = metric;
newinfo.distance = distance;
+ if (tag <= UINT16_MAX) /* RIP only supports 16 bit tags */
+ newinfo.tag = tag;
newinfo.rp = rp;
if (nexthop)
newinfo.nexthop = *nexthop;
@@ -2939,7 +2942,7 @@
node->info = (char *)"static";
- rip_redistribute_add (ZEBRA_ROUTE_RIP, RIP_ROUTE_STATIC, &p, 0, NULL, 0, 0);
+ rip_redistribute_add (ZEBRA_ROUTE_RIP, RIP_ROUTE_STATIC, &p, 0, NULL, 0, 0, 0);
return CMD_SUCCESS;
}