diff options
-rw-r--r-- | bgpd/bgp_attr.h | 2 | ||||
-rw-r--r-- | bgpd/bgp_route.c | 4 | ||||
-rw-r--r-- | bgpd/bgp_route.h | 2 | ||||
-rw-r--r-- | bgpd/bgp_routemap.c | 91 | ||||
-rw-r--r-- | bgpd/bgp_zebra.c | 24 | ||||
-rw-r--r-- | lib/routemap.c | 26 | ||||
-rw-r--r-- | lib/routemap.h | 3 | ||||
-rw-r--r-- | lib/zclient.c | 8 | ||||
-rw-r--r-- | lib/zclient.h | 4 | ||||
-rw-r--r-- | lib/zebra.h | 4 | ||||
-rw-r--r-- | ospfd/ospf_asbr.c | 2 | ||||
-rw-r--r-- | ospfd/ospf_asbr.h | 4 | ||||
-rw-r--r-- | ospfd/ospf_dump.c | 2 | ||||
-rw-r--r-- | ospfd/ospf_lsa.c | 2 | ||||
-rw-r--r-- | ospfd/ospf_routemap.c | 89 | ||||
-rw-r--r-- | ospfd/ospf_vty.c | 16 | ||||
-rw-r--r-- | ospfd/ospf_zebra.c | 8 | ||||
-rw-r--r-- | ospfd/ospfd.h | 2 | ||||
-rw-r--r-- | pimd/pim_zebra.c | 2 | ||||
-rw-r--r-- | ripd/rip_routemap.c | 78 | ||||
-rw-r--r-- | ripd/ripd.c | 15 | ||||
-rw-r--r-- | ripd/ripd.h | 2 | ||||
-rw-r--r-- | ripngd/ripng_route.h | 4 | ||||
-rw-r--r-- | ripngd/ripng_routemap.c | 66 | ||||
-rw-r--r-- | ripngd/ripngd.c | 20 | ||||
-rw-r--r-- | ripngd/ripngd.h | 4 | ||||
-rw-r--r-- | zebra/rib.h | 7 | ||||
-rw-r--r-- | zebra/zebra_mpls_vty.c | 32 | ||||
-rw-r--r-- | zebra/zebra_routemap.c | 54 | ||||
-rw-r--r-- | zebra/zebra_routemap.h | 4 | ||||
-rw-r--r-- | zebra/zebra_static.c | 4 | ||||
-rw-r--r-- | zebra/zebra_static.h | 6 | ||||
-rw-r--r-- | zebra/zebra_vty.c | 216 | ||||
-rw-r--r-- | zebra/zserv.c | 12 |
34 files changed, 301 insertions, 518 deletions
diff --git a/bgpd/bgp_attr.h b/bgpd/bgp_attr.h index 002bdfa08..d4f45ba60 100644 --- a/bgpd/bgp_attr.h +++ b/bgpd/bgp_attr.h @@ -118,7 +118,7 @@ struct attr_extra u_char mp_nexthop_prefer_global; /* route tag */ - u_short tag; + route_tag_t tag; uint16_t encap_tunneltype; /* grr */ struct bgp_attr_encap_subtlv *encap_subtlvs; /* rfc5512 */ diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index bace5ab31..923acfda6 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -5820,7 +5820,7 @@ ALIAS (no_ipv6_aggregate_address_summary_only, void bgp_redistribute_add (struct bgp *bgp, struct prefix *p, const struct in_addr *nexthop, const struct in6_addr *nexthop6, unsigned int ifindex, - u_int32_t metric, u_char type, u_short instance, u_short tag) + u_int32_t metric, u_char type, u_short instance, route_tag_t tag) { struct bgp_info *new; struct bgp_info *bi; @@ -7185,7 +7185,7 @@ route_vty_out_detail (struct vty *vty, struct bgp *bgp, struct prefix *p, if (json_paths) json_object_int_add(json_path, "tag", attr->extra->tag); else - vty_out (vty, ", tag %d", attr->extra->tag); + vty_out (vty, ", tag %"ROUTE_TAG_PRI, attr->extra->tag); } if (! CHECK_FLAG (binfo->flags, BGP_INFO_VALID)) diff --git a/bgpd/bgp_route.h b/bgpd/bgp_route.h index 3d65b4b0a..0dce5da57 100644 --- a/bgpd/bgp_route.h +++ b/bgpd/bgp_route.h @@ -271,7 +271,7 @@ extern int bgp_maximum_prefix_overflow (struct peer *, afi_t, safi_t, int); extern void bgp_redistribute_add (struct bgp *, struct prefix *, const struct in_addr *, const struct in6_addr *, unsigned int ifindex, - u_int32_t, u_char, u_short, u_short); + u_int32_t, u_char, u_short, route_tag_t); extern void bgp_redistribute_delete (struct bgp *, struct prefix *, u_char, u_short); extern void bgp_redistribute_withdraw (struct bgp *, afi_t, int, u_short); diff --git a/bgpd/bgp_routemap.c b/bgpd/bgp_routemap.c index beab1969b..acb7449a0 100644 --- a/bgpd/bgp_routemap.c +++ b/bgpd/bgp_routemap.c @@ -1070,7 +1070,7 @@ static route_map_result_t route_match_tag (void *rule, struct prefix *prefix, route_map_object_t type, void *object) { - u_short *tag; + route_tag_t *tag; struct bgp_info *bgp_info; if (type == RMAP_BGP) @@ -1088,46 +1088,13 @@ route_match_tag (void *rule, struct prefix *prefix, } -/* Route map `match tag' match statement. `arg' is TAG value */ -static void * -route_match_tag_compile (const char *arg) -{ - u_short *tag; - u_short tmp; - - /* tag value shoud be integer. */ - if (! all_digit (arg)) - return NULL; - - tmp = atoi(arg); - if (tmp < 1) - return NULL; - - tag = XMALLOC (MTYPE_ROUTE_MAP_COMPILED, sizeof (u_short)); - - if (!tag) - return tag; - - *tag = tmp; - - return tag; -} - - -/* Free route map's compiled 'match tag' value. */ -static void -route_match_tag_free (void *rule) -{ - XFREE (MTYPE_ROUTE_MAP_COMPILED, rule); -} - /* Route map commands for tag matching. */ -struct route_map_rule_cmd route_match_tag_cmd = +static struct route_map_rule_cmd route_match_tag_cmd = { "tag", route_match_tag, - route_match_tag_compile, - route_match_tag_free, + route_map_rule_tag_compile, + route_map_rule_tag_free, }; @@ -1924,7 +1891,7 @@ static route_map_result_t route_set_tag (void *rule, struct prefix *prefix, route_map_object_t type, void *object) { - u_short *tag; + route_tag_t *tag; struct bgp_info *bgp_info; struct attr_extra *ae; @@ -1942,47 +1909,13 @@ route_set_tag (void *rule, struct prefix *prefix, return RMAP_OKAY; } -/* Route map `tag' compile function. Given string is converted to u_short. */ -static void * -route_set_tag_compile (const char *arg) -{ - u_short *tag; - u_short tmp; - - /* tag value shoud be integer. */ - if (! all_digit (arg)) - return NULL; - - tmp = atoi(arg); - - if (tmp < 1) - return NULL; - - tag = XMALLOC (MTYPE_ROUTE_MAP_COMPILED, sizeof (u_short)); - - if (!tag) - return tag; - - *tag = tmp; - - return tag; -} - -/* Free route map's tag value. */ -static void -route_set_tag_free (void *rule) -{ - XFREE (MTYPE_ROUTE_MAP_COMPILED, rule); -} - - /* Route map commands for tag set. */ -struct route_map_rule_cmd route_set_tag_cmd = +static struct route_map_rule_cmd route_set_tag_cmd = { "tag", route_set_tag, - route_set_tag_compile, - route_set_tag_free, + route_map_rule_tag_compile, + route_map_rule_tag_free, }; @@ -3605,7 +3538,7 @@ ALIAS (no_match_interface, DEFUN (match_tag, match_tag_cmd, - "match tag <1-65535>", + "match tag <1-4294967295>", MATCH_STR "Match tag of route\n" "Tag value\n") @@ -3631,7 +3564,7 @@ DEFUN (no_match_tag, ALIAS (no_match_tag, no_match_tag_val_cmd, - "no match tag <1-65535>", + "no match tag <1-4294967295>", NO_STR MATCH_STR "Match tag of route\n" @@ -4313,7 +4246,7 @@ ALIAS (no_set_aggregator_as, DEFUN (set_tag, set_tag_cmd, - "set tag <1-65535>", + "set tag <1-4294967295>", SET_STR "Tag value for routing protocol\n" "Tag value\n") @@ -4336,7 +4269,7 @@ DEFUN (no_set_tag, ALIAS (no_set_tag, no_set_tag_val_cmd, - "no set tag <1-65535>", + "no set tag <1-4294967295>", NO_STR SET_STR "Tag value for routing protocol\n" diff --git a/bgpd/bgp_zebra.c b/bgpd/bgp_zebra.c index d524c41a2..789dba53f 100644 --- a/bgpd/bgp_zebra.c +++ b/bgpd/bgp_zebra.c @@ -640,7 +640,7 @@ zebra_read_ipv4 (int command, struct zclient *zclient, zebra_size_t length, api.metric = 0; if (CHECK_FLAG (api.message, ZAPI_MESSAGE_TAG)) - api.tag = stream_getw (s); + api.tag = stream_getl (s); else api.tag = 0; @@ -649,7 +649,7 @@ zebra_read_ipv4 (int command, struct zclient *zclient, zebra_size_t length, if (bgp_debug_zebra((struct prefix *)&p)) { char buf[2][INET_ADDRSTRLEN]; - zlog_debug("Rx IPv4 route add VRF %u %s[%d] %s/%d nexthop %s metric %u tag %d", + zlog_debug("Rx IPv4 route add VRF %u %s[%d] %s/%d nexthop %s metric %u tag %"ROUTE_TAG_PRI, vrf_id, zebra_route_string(api.type), api.instance, inet_ntop(AF_INET, &p.prefix, buf[0], sizeof(buf[0])), @@ -681,7 +681,7 @@ zebra_read_ipv4 (int command, struct zclient *zclient, zebra_size_t length, { char buf[2][INET_ADDRSTRLEN]; zlog_debug("Rx IPv4 route delete VRF %u %s[%d] %s/%d " - "nexthop %s metric %u tag %d", + "nexthop %s metric %u tag %"ROUTE_TAG_PRI, vrf_id, zebra_route_string(api.type), api.instance, inet_ntop(AF_INET, &p.prefix, buf[0], sizeof(buf[0])), @@ -757,7 +757,7 @@ zebra_read_ipv6 (int command, struct zclient *zclient, zebra_size_t length, api.metric = 0; if (CHECK_FLAG (api.message, ZAPI_MESSAGE_TAG)) - api.tag = stream_getw (s); + api.tag = stream_getl (s); else api.tag = 0; @@ -770,7 +770,7 @@ zebra_read_ipv6 (int command, struct zclient *zclient, zebra_size_t length, if (bgp_debug_zebra((struct prefix *)&p)) { char buf[2][INET6_ADDRSTRLEN]; - zlog_debug("Rx IPv6 route add VRF %u %s[%d] %s/%d nexthop %s metric %u tag %d", + zlog_debug("Rx IPv6 route add VRF %u %s[%d] %s/%d nexthop %s metric %u tag %"ROUTE_TAG_PRI, vrf_id, zebra_route_string(api.type), api.instance, inet_ntop(AF_INET6, &p.prefix, buf[0], sizeof(buf[0])), @@ -801,7 +801,7 @@ zebra_read_ipv6 (int command, struct zclient *zclient, zebra_size_t length, { char buf[2][INET6_ADDRSTRLEN]; zlog_debug("Rx IPv6 route delete VRF %u %s[%d] %s/%d " - "nexthop %s metric %u tag %d", + "nexthop %s metric %u tag %"ROUTE_TAG_PRI, vrf_id, zebra_route_string(api.type), api.instance, inet_ntop(AF_INET6, &p.prefix, buf[0], sizeof(buf[0])), @@ -1211,7 +1211,7 @@ bgp_zebra_announce (struct prefix *p, struct bgp_info *info, struct bgp *bgp, u_int32_t nhcount, metric; struct bgp_info local_info; struct bgp_info *info_cp = &local_info; - u_short tag; + route_tag_t tag; /* Don't try to install if we're not connected to Zebra or Zebra doesn't * know of this instance. @@ -1376,7 +1376,7 @@ bgp_zebra_announce (struct prefix *p, struct bgp_info *info, struct bgp *bgp, if (bgp_debug_zebra(p)) { int i; - zlog_debug("Tx IPv4 route %s VRF %u %s/%d metric %u tag %d" + zlog_debug("Tx IPv4 route %s VRF %u %s/%d metric %u tag %"ROUTE_TAG_PRI " count %d", (valid_nh_count ? "add":"delete"), bgp->vrf_id, inet_ntop(AF_INET, &p->u.prefix4, buf[0], sizeof(buf[0])), @@ -1557,7 +1557,7 @@ bgp_zebra_announce (struct prefix *p, struct bgp_info *info, struct bgp *bgp, if (bgp_debug_zebra(p)) { int i; - zlog_debug("Tx IPv4 route %s VRF %u %s/%d metric %u tag %d", + zlog_debug("Tx IPv4 route %s VRF %u %s/%d metric %u tag %"ROUTE_TAG_PRI, valid_nh_count ? "add" : "delete", bgp->vrf_id, inet_ntop(AF_INET, &p->u.prefix4, buf[0], sizeof(buf[0])), p->prefixlen, api.metric, api.tag); @@ -1579,7 +1579,7 @@ bgp_zebra_announce (struct prefix *p, struct bgp_info *info, struct bgp *bgp, if (bgp_debug_zebra(p)) { int i; - zlog_debug("Tx IPv6 route %s VRF %u %s/%d metric %u tag %d", + zlog_debug("Tx IPv6 route %s VRF %u %s/%d metric %u tag %"ROUTE_TAG_PRI, valid_nh_count ? "add" : "delete", bgp->vrf_id, inet_ntop(AF_INET6, &p->u.prefix6, buf[0], sizeof(buf[0])), p->prefixlen, api.metric, api.tag); @@ -1683,7 +1683,7 @@ bgp_zebra_withdraw (struct prefix *p, struct bgp_info *info, safi_t safi) if (bgp_debug_zebra(p)) { char buf[2][INET_ADDRSTRLEN]; - zlog_debug("Tx IPv4 route delete VRF %u %s/%d metric %u tag %d", + zlog_debug("Tx IPv4 route delete VRF %u %s/%d metric %u tag %"ROUTE_TAG_PRI, peer->bgp->vrf_id, inet_ntop(AF_INET, &p->u.prefix4, buf[0], sizeof(buf[0])), p->prefixlen, api.metric, api.tag); @@ -1723,7 +1723,7 @@ bgp_zebra_withdraw (struct prefix *p, struct bgp_info *info, safi_t safi) if (bgp_debug_zebra(p)) { char buf[2][INET6_ADDRSTRLEN]; - zlog_debug("Tx IPv6 route delete VRF %u %s/%d metric %u tag %d", + zlog_debug("Tx IPv6 route delete VRF %u %s/%d metric %u tag %"ROUTE_TAG_PRI, peer->bgp->vrf_id, inet_ntop(AF_INET6, &p->u.prefix6, buf[0], sizeof(buf[0])), p->prefixlen, api.metric, api.tag); diff --git a/lib/routemap.c b/lib/routemap.c index e0a7080bb..6f93087ae 100644 --- a/lib/routemap.c +++ b/lib/routemap.c @@ -1829,6 +1829,32 @@ route_map_init_dep_hashes (void) route_map_dep_hash_cmp); } +/* Common route map rules */ + +void * +route_map_rule_tag_compile (const char *arg) +{ + unsigned long int tmp; + char *endptr; + route_tag_t *tag; + + errno = 0; + tmp = strtoul(arg, &endptr, 0); + if (arg[0] == '\0' || *endptr != '\0' || errno || tmp > ROUTE_TAG_MAX) + return NULL; + + tag = XMALLOC(MTYPE_ROUTE_MAP_COMPILED, sizeof(*tag)); + *tag = tmp; + + return tag; +} + +void +route_map_rule_tag_free (void *rule) +{ + XFREE (MTYPE_ROUTE_MAP_COMPILED, rule); +} + /* Initialization of route map vector. */ void route_map_init_vty (void) diff --git a/lib/routemap.h b/lib/routemap.h index 427a552e7..0f888897b 100644 --- a/lib/routemap.h +++ b/lib/routemap.h @@ -235,4 +235,7 @@ extern void route_map_upd8_dependency (route_map_event_t type, const char *arg, extern void route_map_notify_dependencies (const char *affected_name, route_map_event_t event); +extern void *route_map_rule_tag_compile (const char *arg); +extern void route_map_rule_tag_free (void *rule); + #endif /* _ZEBRA_ROUTEMAP_H */ diff --git a/lib/zclient.c b/lib/zclient.c index 24d9b589d..fa8150c5a 100644 --- a/lib/zclient.c +++ b/lib/zclient.c @@ -722,7 +722,7 @@ zclient_connect (struct thread *t) * If ZAPI_MESSAGE_METRIC is set, the metric value is written as an 8 * byte value. * - * If ZAPI_MESSAGE_TAG is set, the tag value is written as a 2 byte value + * If ZAPI_MESSAGE_TAG is set, the tag value is written as a 4 byte value * * If ZAPI_MESSAGE_MTU is set, the mtu value is written as a 4 byte value * @@ -785,7 +785,7 @@ zapi_ipv4_route (u_char cmd, struct zclient *zclient, struct prefix_ipv4 *p, if (CHECK_FLAG (api->message, ZAPI_MESSAGE_METRIC)) stream_putl (s, api->metric); if (CHECK_FLAG (api->message, ZAPI_MESSAGE_TAG)) - stream_putw (s, api->tag); + stream_putl (s, api->tag); if (CHECK_FLAG (api->message, ZAPI_MESSAGE_MTU)) stream_putl (s, api->mtu); @@ -852,7 +852,7 @@ zapi_ipv4_route_ipv6_nexthop (u_char cmd, struct zclient *zclient, if (CHECK_FLAG (api->message, ZAPI_MESSAGE_METRIC)) stream_putl (s, api->metric); if (CHECK_FLAG (api->message, ZAPI_MESSAGE_TAG)) - stream_putw (s, api->tag); + stream_putl (s, api->tag); if (CHECK_FLAG (api->message, ZAPI_MESSAGE_MTU)) stream_putl (s, api->mtu); @@ -918,7 +918,7 @@ zapi_ipv6_route (u_char cmd, struct zclient *zclient, struct prefix_ipv6 *p, if (CHECK_FLAG (api->message, ZAPI_MESSAGE_METRIC)) stream_putl (s, api->metric); if (CHECK_FLAG (api->message, ZAPI_MESSAGE_TAG)) - stream_putw (s, api->tag); + stream_putl (s, api->tag); if (CHECK_FLAG (api->message, ZAPI_MESSAGE_MTU)) stream_putl (s, api->mtu); diff --git a/lib/zclient.h b/lib/zclient.h index 4edbd7636..f122b233b 100644 --- a/lib/zclient.h +++ b/lib/zclient.h @@ -150,7 +150,7 @@ struct zapi_ipv4 u_int32_t metric; - u_short tag; + route_tag_t tag; u_int32_t mtu; @@ -238,7 +238,7 @@ struct zapi_ipv6 u_int32_t metric; - u_short tag; + route_tag_t tag; u_int32_t mtu; diff --git a/lib/zebra.h b/lib/zebra.h index e625b4051..08c50c68b 100644 --- a/lib/zebra.h +++ b/lib/zebra.h @@ -528,4 +528,8 @@ typedef u_int16_t zebra_command_t; /* VRF ID type. */ typedef u_int16_t vrf_id_t; +typedef uint32_t route_tag_t; +#define ROUTE_TAG_MAX UINT32_MAX +#define ROUTE_TAG_PRI PRIu32 + #endif /* _ZEBRA_H */ diff --git a/ospfd/ospf_asbr.c b/ospfd/ospf_asbr.c index 21f99af12..284c56468 100644 --- a/ospfd/ospf_asbr.c +++ b/ospfd/ospf_asbr.c @@ -137,7 +137,7 @@ ospf_route_map_set_compare (struct route_map_set_values *values1, struct external_info * ospf_external_info_add (u_char type, u_short instance, struct prefix_ipv4 p, ifindex_t ifindex, struct in_addr nexthop, - u_short tag) + route_tag_t tag) { struct external_info *new; struct route_node *rn; diff --git a/ospfd/ospf_asbr.h b/ospfd/ospf_asbr.h index 25a53aad4..e2fa36745 100644 --- a/ospfd/ospf_asbr.h +++ b/ospfd/ospf_asbr.h @@ -47,7 +47,7 @@ struct external_info struct in_addr nexthop; /* Additional Route tag. */ - u_int32_t tag; + route_tag_t tag; struct route_map_set_values route_map_set; #define ROUTEMAP_METRIC(E) (E)->route_map_set.metric @@ -65,7 +65,7 @@ extern struct external_info *ospf_external_info_add (u_char, u_short, struct prefix_ipv4, ifindex_t, struct in_addr, - u_short); + route_tag_t); extern void ospf_external_info_delete (u_char, u_short, struct prefix_ipv4); extern struct external_info *ospf_external_info_lookup (u_char, u_short, struct prefix_ipv4 *); diff --git a/ospfd/ospf_dump.c b/ospfd/ospf_dump.c index a53c72685..8fa2258f4 100644 --- a/ospfd/ospf_dump.c +++ b/ospfd/ospf_dump.c @@ -493,7 +493,7 @@ ospf_as_external_lsa_dump (struct stream *s, u_int16_t length) IS_EXTERNAL_METRIC (al->e[i].tos) ? "E" : "-", al->e[i].tos & 0x7f, GET_METRIC (al->e[i].metric)); zlog_debug (" Forwarding address %s", inet_ntoa (al->e[i].fwd_addr)); - zlog_debug (" External Route Tag %d", al->e[i].route_tag); + zlog_debug (" External Route Tag %"ROUTE_TAG_PRI, al->e[i].route_tag); } } diff --git a/ospfd/ospf_lsa.c b/ospfd/ospf_lsa.c index b96ed452c..916d4d01c 100644 --- a/ospfd/ospf_lsa.c +++ b/ospfd/ospf_lsa.c @@ -1673,7 +1673,7 @@ ospf_external_lsa_body_set (struct stream *s, struct external_info *ei, /* Put forwarding address. */ stream_put_ipv4 (s, fwd_addr.s_addr); - /* Put route tag -- only first 16bits are used for compatibility */ + /* Put route tag */ stream_putl (s, ei->tag); } diff --git a/ospfd/ospf_routemap.c b/ospfd/ospf_routemap.c index b2f1c6712..6bd853bf8 100644 --- a/ospfd/ospf_routemap.c +++ b/ospfd/ospf_routemap.c @@ -443,7 +443,7 @@ static route_map_result_t route_match_tag (void *rule, struct prefix *prefix, route_map_object_t type, void *object) { - u_short *tag; + route_tag_t *tag; struct external_info *ei; if (type == RMAP_OSPF) @@ -457,45 +457,13 @@ route_match_tag (void *rule, struct prefix *prefix, return RMAP_NOMATCH; } -/* Route map `match tag' match statement. `arg' is TAG value */ -static void * -route_match_tag_compile (const char *arg) -{ - u_short *tag; - u_short tmp; - - /* tag value shoud be integer. */ - if (! all_digit (arg)) - return NULL; - - tmp = atoi(arg); - if (tmp < 1) - return NULL; - - tag = XMALLOC (MTYPE_ROUTE_MAP_COMPILED, sizeof (u_short)); - - if (!tag) - return tag; - - *tag = tmp; - - return tag; -} - -/* Free route map's compiled 'match tag' value. */ -static void -route_match_tag_free (void *rule) -{ - XFREE (MTYPE_ROUTE_MAP_COMPILED, rule); -} - /* Route map commands for tag matching. */ -struct route_map_rule_cmd route_match_tag_cmd = +static struct route_map_rule_cmd route_match_tag_cmd = { "tag", route_match_tag, - route_match_tag_compile, - route_match_tag_free, + route_map_rule_tag_compile, + route_map_rule_tag_free, }; @@ -633,7 +601,7 @@ static route_map_result_t route_set_tag (void *rule, struct prefix *prefix, route_map_object_t type, void *object) { - u_short *tag; + route_tag_t *tag; struct external_info *ei; if (type == RMAP_OSPF) @@ -648,46 +616,13 @@ route_set_tag (void *rule, struct prefix *prefix, return RMAP_OKAY; } -/* Route map `tag' compile function. Given string is converted to u_short. */ -static void * -route_set_tag_compile (const char *arg) -{ - u_short *tag; - u_short tmp; - - /* tag value shoud be integer. */ - if (! all_digit (arg)) - return NULL; - - tmp = atoi(arg); - - if (tmp < 1) - return NULL; - - tag = XMALLOC (MTYPE_ROUTE_MAP_COMPILED, sizeof (u_short)); - - if (!tag) - return tag; - - *tag = tmp; - - return tag; -} - -/* Free route map's tag value. */ -static void -route_set_tag_free (void *rule) -{ - XFREE (MTYPE_ROUTE_MAP_COMPILED, rule); -} - /* Route map commands for tag set. */ -struct route_map_rule_cmd route_set_tag_cmd = +static struct route_map_rule_cmd route_set_tag_cmd = { "tag", route_set_tag, - route_set_tag_compile, - route_set_tag_free, + route_map_rule_tag_compile, + route_map_rule_tag_free, }; DEFUN (match_ip_nexthop, @@ -877,7 +812,7 @@ ALIAS (no_match_interface, DEFUN (match_tag, match_tag_cmd, - "match tag <1-65535>", + "match tag <1-4294967295>", MATCH_STR "Match tag of route\n" "Tag value\n") @@ -900,7 +835,7 @@ DEFUN (no_match_tag, ALIAS (no_match_tag, no_match_tag_val_cmd, - "no match tag <1-65535>", + "no match tag <1-4294967295>", NO_STR MATCH_STR "Match tag of route\n" @@ -977,7 +912,7 @@ ALIAS (no_set_metric_type, DEFUN (set_tag, set_tag_cmd, - "set tag <1-65535>", + "set tag <1-4294967295>", SET_STR "Tag value for routing protocol\n" "Tag value\n") @@ -1000,7 +935,7 @@ DEFUN (no_set_tag, ALIAS (no_set_tag, no_set_tag_val_cmd, - "no set tag <1-65535>", + "no set tag <1-4294967295>", NO_STR SET_STR "Tag value for routing protocol\n" diff --git a/ospfd/ospf_vty.c b/ospfd/ospf_vty.c index d9a4289ed..e76d9d706 100644 --- a/ospfd/ospf_vty.c +++ b/ospfd/ospf_vty.c @@ -5350,8 +5350,8 @@ show_as_external_lsa_detail (struct vty *vty, struct ospf_lsa *lsa) vty_out (vty, " Forward Address: %s%s", inet_ntoa (al->e[0].fwd_addr), VTY_NEWLINE); - vty_out (vty, " External Route Tag: %lu%s%s", - (u_long)ntohl (al->e[0].route_tag), VTY_NEWLINE, VTY_NEWLINE); + vty_out (vty, " External Route Tag: %"ROUTE_TAG_PRI"%s%s", + (route_tag_t)ntohl (al->e[0].route_tag), VTY_NEWLINE, VTY_NEWLINE); } return 0; @@ -5376,8 +5376,8 @@ show_as_external_lsa_stdvty (struct ospf_lsa *lsa) zlog_debug( " Forward Address: %s%s", inet_ntoa (al->e[0].fwd_addr), "\n"); - zlog_debug( " External Route Tag: %u%s%s", - ntohl (al->e[0].route_tag), "\n", "\n"); + zlog_debug( " External Route Tag: %"ROUTE_TAG_PRI"%s%s", + (route_tag_t)ntohl (al->e[0].route_tag), "\n", "\n"); return 0; } @@ -5404,8 +5404,8 @@ show_as_nssa_lsa_detail (struct vty *vty, struct ospf_lsa *lsa) vty_out (vty, " NSSA: Forward Address: %s%s", inet_ntoa (al->e[0].fwd_addr), VTY_NEWLINE); - vty_out (vty, " External Route Tag: %u%s%s", - ntohl (al->e[0].route_tag), VTY_NEWLINE, VTY_NEWLINE); + vty_out (vty, " External Route Tag: %"ROUTE_TAG_PRI"%s%s", + (route_tag_t)ntohl (al->e[0].route_tag), VTY_NEWLINE, VTY_NEWLINE); } return 0; @@ -9067,11 +9067,11 @@ show_ip_ospf_route_external (struct vty *vty, struct route_table *rt) switch (er->path_type) { case OSPF_PATH_TYPE1_EXTERNAL: - vty_out (vty, "N E1 %-18s [%d] tag: %u%s", buf1, + vty_out (vty, "N E1 %-18s [%d] tag: %"ROUTE_TAG_PRI"%s", buf1, er->cost, er->u.ext.tag, VTY_NEWLINE); break; case OSPF_PATH_TYPE2_EXTERNAL: - vty_out (vty, "N E2 %-18s [%d/%d] tag: %u%s", buf1, er->cost, + vty_out (vty, "N E2 %-18s [%d/%d] tag: %"ROUTE_TAG_PRI"%s", buf1, er->cost, er->u.ext.type2_cost, er->u.ext.tag, VTY_NEWLINE); break; } diff --git a/ospfd/ospf_zebra.c b/ospfd/ospf_zebra.c index 4458e95ba..b0ff5d0e3 100644 --- a/ospfd/ospf_zebra.c +++ b/ospfd/ospf_zebra.c @@ -379,10 +379,10 @@ ospf_zebra_add (struct prefix_ipv4 *p, struct ospf_route *or) if (distance) SET_FLAG (message, ZAPI_MESSAGE_DISTANCE); - /* Check if path type is ASE and use only 16bit tags */ + /* Check if path type is ASE */ if (((or->path_type == OSPF_PATH_TYPE1_EXTERNAL) || (or->path_type == OSPF_PATH_TYPE2_EXTERNAL)) && - (or->u.ext.tag > 0) && (or->u.ext.tag < UINT16_MAX)) + (or->u.ext.tag > 0) && (or->u.ext.tag <= ROUTE_TAG_MAX)) SET_FLAG (message, ZAPI_MESSAGE_TAG); /* Make packet. */ @@ -479,7 +479,7 @@ ospf_zebra_add (struct prefix_ipv4 *p, struct ospf_route *or) } if (CHECK_FLAG (message, ZAPI_MESSAGE_TAG)) - stream_putw (s, (u_short)or->u.ext.tag); + stream_putl (s, or->u.ext.tag); stream_putw_at (s, 0, stream_get_endp (s)); @@ -1093,7 +1093,7 @@ ospf_zebra_read_ipv4 (int command, struct zclient *zclient, if (CHECK_FLAG (api.message, ZAPI_MESSAGE_METRIC)) api.metric = stream_getl (s); if (CHECK_FLAG (api.message, ZAPI_MESSAGE_TAG)) - api.tag = stream_getw (s); + api.tag = stream_getl (s); else api.tag = 0; diff --git a/ospfd/ospfd.h b/ospfd/ospfd.h index bc4acf993..93b5ab766 100644 --- a/ospfd/ospfd.h +++ b/ospfd/ospfd.h @@ -269,7 +269,7 @@ struct ospf struct list *redist[ZEBRA_ROUTE_MAX + 1]; /* Redistribute tag info. */ - u_short dtag[ZEBRA_ROUTE_MAX + 1]; //Pending: cant configure as of now + route_tag_t dtag[ZEBRA_ROUTE_MAX + 1]; //Pending: cant configure as of now int default_metric; /* Default metric for redistribute. */ diff --git a/pimd/pim_zebra.c b/pimd/pim_zebra.c index 1a8d5f22b..1822de229 100644 --- a/pimd/pim_zebra.c +++ b/pimd/pim_zebra.c @@ -610,7 +610,7 @@ static int redist_read_ipv4_route(int command, struct zclient *zclient, 0; if (CHECK_FLAG (api.message, ZAPI_MESSAGE_TAG)) - api.tag = stream_getw (s); + api.tag = stream_getl (s); else api.tag = 0; diff --git a/ripd/rip_routemap.c b/ripd/rip_routemap.c index e7263ad7b..666ccf084 100644 --- a/ripd/rip_routemap.c +++ b/ripd/rip_routemap.c @@ -463,8 +463,9 @@ static route_map_result_t route_match_tag (void *rule, struct prefix *prefix, route_map_object_t type, void *object) { - u_short *tag; + route_tag_t *tag; struct rip_info *rinfo; + route_tag_t rinfo_tag; if (type == RMAP_RIP) { @@ -472,7 +473,8 @@ route_match_tag (void *rule, struct prefix *prefix, rinfo = object; /* The information stored by rinfo is host ordered. */ - if (rinfo->tag == *tag) + rinfo_tag = rinfo->tag; + if (rinfo_tag == *tag) return RMAP_MATCH; else return RMAP_NOMATCH; @@ -480,45 +482,13 @@ route_match_tag (void *rule, struct prefix *prefix, return RMAP_NOMATCH; } -/* Route map `match tag' match statement. `arg' is TAG value */ -static void * -route_match_tag_compile (const char *arg) -{ - u_short *tag; - u_short tmp; - - /* tag value shoud be integer. */ - if (! all_digit (arg)) - return NULL; - - tmp = atoi(arg); - if (tmp < 1) - return NULL; - - tag = XMALLOC (MTYPE_ROUTE_MAP_COMPILED, sizeof (u_short)); - - if (!tag) - return tag; - - *tag = tmp; - - return tag; -} - -/* Free route map's compiled `match tag' value. */ -static void -route_match_tag_free (void *rule) -{ - XFREE (MTYPE_ROUTE_MAP_COMPILED, rule); -} - /* Route map commands for tag matching. */ -struct route_map_rule_cmd route_match_tag_cmd = +static struct route_map_rule_cmd route_match_tag_cmd = { "tag", route_match_tag, - route_match_tag_compile, - route_match_tag_free + route_map_rule_tag_compile, + route_map_rule_tag_free, }; /* `set metric METRIC' */ @@ -687,7 +657,7 @@ static route_map_result_t route_set_tag (void *rule, struct prefix *prefix, route_map_object_t type, void *object) { - u_short *tag; + route_tag_t *tag; struct rip_info *rinfo; if(type == RMAP_RIP) @@ -703,33 +673,13 @@ route_set_tag (void *rule, struct prefix *prefix, return RMAP_OKAY; } -/* Route map `tag' compile function. Given string is converted - to u_short. */ -static void * -route_set_tag_compile (const char *arg) -{ - u_short *tag; - - tag = XMALLOC (MTYPE_ROUTE_MAP_COMPILED, sizeof (u_short)); - *tag = atoi (arg); - - return tag; -} - -/* Free route map's compiled `ip nexthop' value. */ -static void -route_set_tag_free (void *rule) -{ - XFREE (MTYPE_ROUTE_MAP_COMPILED, rule); -} - /* Route map commands for tag set. */ static struct route_map_rule_cmd route_set_tag_cmd = { "tag", route_set_tag, - route_set_tag_compile, - route_set_tag_free + route_map_rule_tag_compile, + route_map_rule_tag_free }; #define MATCH_STR "Match values from routing table\n" @@ -950,7 +900,7 @@ ALIAS (no_match_ip_address_prefix_list, DEFUN (match_tag, match_tag_cmd, - "match tag <1-65535>", + "match tag <1-4294967295>", MATCH_STR "Match tag of route\n" "Metric value\n") @@ -973,7 +923,7 @@ DEFUN (no_match_tag, ALIAS (no_match_tag, no_match_tag_val_cmd, - "no match tag <1-65535>", + "no match tag <1-4294967295>", NO_STR MATCH_STR "Match tag of route\n" @@ -1080,7 +1030,7 @@ ALIAS (no_set_ip_nexthop, DEFUN (set_tag, set_tag_cmd, - "set tag <1-65535>", + "set tag <1-4294967295>", SET_STR "Tag value for routing protocol\n" "Tag value\n") @@ -1103,7 +1053,7 @@ DEFUN (no_set_tag, ALIAS (no_set_tag, no_set_tag_val_cmd, - "no set tag <1-65535>", + "no set tag <1-4294967295>", NO_STR SET_STR "Tag value for routing protocol\n" diff --git a/ripd/ripd.c b/ripd/ripd.c index 22ba2fe99..220297e83 100644 --- a/ripd/ripd.c +++ b/ripd/ripd.c @@ -760,17 +760,18 @@ rip_packet_dump (struct rip_packet *packet, int size, const char *sndrcv) } } else - zlog_debug (" %s/%d -> %s family %d tag %d metric %ld", + zlog_debug (" %s/%d -> %s family %d tag %"ROUTE_TAG_PRI" metric %ld", inet_ntop (AF_INET, &rte->prefix, pbuf, BUFSIZ), netmask, inet_ntop (AF_INET, &rte->nexthop, nbuf, BUFSIZ), ntohs (rte->family), - ntohs (rte->tag), (u_long) ntohl (rte->metric)); + (route_tag_t)ntohs (rte->tag), + (u_long) ntohl (rte->metric)); } else { - zlog_debug (" %s family %d tag %d metric %ld", + zlog_debug (" %s family %d tag %"ROUTE_TAG_PRI" metric %ld", inet_ntop (AF_INET, &rte->prefix, pbuf, BUFSIZ), - ntohs (rte->family), ntohs (rte->tag), + ntohs (rte->family), (route_tag_t)ntohs (rte->tag), (u_long)ntohl (rte->metric)); } } @@ -3551,13 +3552,13 @@ DEFUN (show_ip_rip, (rinfo->sub_type == RIP_ROUTE_RTE)) { vty_out (vty, "%-15s ", inet_ntoa (rinfo->from)); - vty_out (vty, "%3d ", rinfo->tag); + vty_out (vty, "%3"ROUTE_TAG_PRI" ", (route_tag_t)rinfo->tag); rip_vty_out_uptime (vty, rinfo); } else if (rinfo->metric == RIP_METRIC_INFINITY) { vty_out (vty, "self "); - vty_out (vty, "%3d ", rinfo->tag); + vty_out (vty, "%3"ROUTE_TAG_PRI" ", (route_tag_t)rinfo->tag); rip_vty_out_uptime (vty, rinfo); } else @@ -3573,7 +3574,7 @@ DEFUN (show_ip_rip, } else vty_out (vty, "self "); - vty_out (vty, "%3d", rinfo->tag); + vty_out (vty, "%3"ROUTE_TAG_PRI, (route_tag_t)rinfo->tag); } vty_out (vty, "%s", VTY_NEWLINE); diff --git a/ripd/ripd.h b/ripd/ripd.h index 588da1d5f..2d5bd98de 100644 --- a/ripd/ripd.h +++ b/ripd/ripd.h @@ -225,7 +225,7 @@ struct rip_info struct in_addr nexthop_out; u_char metric_set; u_int32_t metric_out; - u_short tag_out; + u_int16_t tag_out; ifindex_t ifindex_out; struct route_node *rp; diff --git a/ripngd/ripng_route.h b/ripngd/ripng_route.h index fe65c8836..9ff90aa8d 100644 --- a/ripngd/ripng_route.h +++ b/ripngd/ripng_route.h @@ -35,13 +35,13 @@ struct ripng_aggregate u_char metric; /* Tag field of RIPng packet.*/ - u_short tag; + u_int16_t tag; /* Route-map futures - this variables can be changed. */ struct in6_addr nexthop_out; u_char metric_set; u_char metric_out; - u_short tag_out; + u_int16_t tag_out; }; extern void ripng_aggregate_increment (struct route_node *rp, diff --git a/ripngd/ripng_routemap.c b/ripngd/ripng_routemap.c index 9bda2e260..ee4f4afce 100644 --- a/ripngd/ripng_routemap.c +++ b/ripngd/ripng_routemap.c @@ -240,8 +240,9 @@ static route_map_result_t route_match_tag (void *rule, struct prefix *prefix, route_map_object_t type, void *object) { - u_short *tag; + route_tag_t *tag; struct ripng_info *rinfo; + route_tag_t rinfo_tag; if (type == RMAP_RIPNG) { @@ -249,7 +250,8 @@ route_match_tag (void *rule, struct prefix *prefix, rinfo = object; /* The information stored by rinfo is host ordered. */ - if (rinfo->tag == *tag) + rinfo_tag = rinfo->tag; + if (rinfo_tag == *tag) return RMAP_MATCH; else return RMAP_NOMATCH; @@ -257,32 +259,12 @@ route_match_tag (void *rule, struct prefix *prefix, return RMAP_NOMATCH; } -/* Route map `match tag' match statement. `arg' is TAG value */ -static void * -route_match_tag_compile (const char *arg) -{ - u_short *tag; - - tag = XMALLOC (MTYPE_ROUTE_MAP_COMPILED, sizeof (u_short)); - *tag = atoi (arg); - - return tag; -} - -/* Free route map's compiled `match tag' value. */ -static void -route_match_tag_free (void *rule) -{ - XFREE (MTYPE_ROUTE_MAP_COMPILED, rule); -} - -/* Route map commands for tag matching. */ static struct route_map_rule_cmd route_match_tag_cmd = { "tag", route_match_tag, - route_match_tag_compile, - route_match_tag_free + route_map_rule_tag_compile, + route_map_rule_tag_free, }; /* `set metric METRIC' */ @@ -452,7 +434,7 @@ static route_map_result_t route_set_tag (void *rule, struct prefix *prefix, route_map_object_t type, void *object) { - u_short *tag; + route_tag_t *tag; struct ripng_info *rinfo; if(type == RMAP_RIPNG) @@ -460,7 +442,7 @@ route_set_tag (void *rule, struct prefix *prefix, /* Fetch routemap's rule information. */ tag = rule; rinfo = object; - + /* Set next hop value. */ rinfo->tag_out = *tag; } @@ -468,33 +450,13 @@ route_set_tag (void *rule, struct prefix *prefix, return RMAP_OKAY; } -/* Route map `tag' compile function. Given string is converted - to u_short. */ -static void * -route_set_tag_compile (const char *arg) -{ - u_short *tag; - - tag = XMALLOC (MTYPE_ROUTE_MAP_COMPILED, sizeof (u_short)); - *tag = atoi (arg); - - return tag; -} - -/* Free route map's compiled `ip nexthop' value. */ -static void -route_set_tag_free (void *rule) -{ - XFREE (MTYPE_ROUTE_MAP_COMPILED, rule); -} - /* Route map commands for tag set. */ static struct route_map_rule_cmd route_set_tag_cmd = { "tag", route_set_tag, - route_set_tag_compile, - route_set_tag_free + route_map_rule_tag_compile, + route_map_rule_tag_free }; #define MATCH_STR "Match values from routing table\n" @@ -564,7 +526,7 @@ ALIAS (no_match_interface, DEFUN (match_tag, match_tag_cmd, - "match tag <1-65535>", + "match tag <1-4294967295>", MATCH_STR "Match tag of route\n" "Metric value\n") @@ -587,7 +549,7 @@ DEFUN (no_match_tag, ALIAS (no_match_tag, no_match_tag_val_cmd, - "no match tag <1-65535>", + "no match tag <1-4294967295>", NO_STR MATCH_STR "Match tag of route\n" @@ -681,7 +643,7 @@ ALIAS (no_set_ipv6_nexthop_local, DEFUN (set_tag, set_tag_cmd, - "set tag <1-65535>", + "set tag <1-4294967295>", SET_STR "Tag value for routing protocol\n" "Tag value\n") @@ -704,7 +666,7 @@ DEFUN (no_set_tag, ALIAS (no_set_tag, no_set_tag_val_cmd, - "no set tag <1-65535>", + "no set tag <1-4294967295>", NO_STR SET_STR "Tag value for routing protocol\n" diff --git a/ripngd/ripngd.c b/ripngd/ripngd.c index 7d2c66b0b..0c9606e69 100644 --- a/ripngd/ripngd.c +++ b/ripngd/ripngd.c @@ -321,9 +321,9 @@ ripng_packet_dump (struct ripng_packet *packet, int size, const char *sndrcv) if (rte->metric == RIPNG_METRIC_NEXTHOP) zlog_debug (" nexthop %s/%d", inet6_ntoa (rte->addr), rte->prefixlen); else - zlog_debug (" %s/%d metric %d tag %d", + zlog_debug (" %s/%d metric %d tag %"ROUTE_TAG_PRI, inet6_ntoa (rte->addr), rte->prefixlen, - rte->metric, ntohs (rte->tag)); + rte->metric, (route_tag_t)ntohs (rte->tag)); } } @@ -337,15 +337,15 @@ ripng_nexthop_rte (struct rte *rte, /* Logging before checking RTE. */ if (IS_RIPNG_DEBUG_RECV) - zlog_debug ("RIPng nexthop RTE address %s tag %d prefixlen %d", - inet6_ntoa (rte->addr), ntohs (rte->tag), rte->prefixlen); + zlog_debug ("RIPng nexthop RTE address %s tag %"ROUTE_TAG_PRI" prefixlen %d", + inet6_ntoa (rte->addr), (route_tag_t)ntohs (rte->tag), rte->prefixlen); /* RFC2080 2.1.1 Next Hop: The route tag and prefix length in the next hop RTE must be set to zero on sending and ignored on receiption. */ if (ntohs (rte->tag) != 0) - zlog_warn ("RIPng nexthop RTE with non zero tag value %d from %s", - ntohs (rte->tag), inet6_ntoa (from->sin6_addr)); + zlog_warn ("RIPng nexthop RTE with non zero tag value %"ROUTE_TAG_PRI" from %s", + (route_tag_t)ntohs (rte->tag), inet6_ntoa (from->sin6_addr)); if (rte->prefixlen != 0) zlog_warn ("RIPng nexthop RTE with non zero prefixlen value %d from %s", @@ -2017,8 +2017,8 @@ DEFUN (show_ipv6_ripng, vty_out (vty, "%*s", 18, " "); vty_out (vty, "%*s", 28, " "); - vty_out (vty, "self %2d %3d%s", aggregate->metric, - aggregate->tag, + vty_out (vty, "self %2d %3"ROUTE_TAG_PRI"%s", aggregate->metric, + (route_tag_t)aggregate->tag, VTY_NEWLINE); } @@ -2062,8 +2062,8 @@ DEFUN (show_ipv6_ripng, if (len > 0) vty_out (vty, "%*s", len, " "); - vty_out (vty, " %2d %3d ", - rinfo->metric, rinfo->tag); + vty_out (vty, " %2d %3"ROUTE_TAG_PRI" ", + rinfo->metric, (route_tag_t)rinfo->tag); /* time */ if ((rinfo->type == ZEBRA_ROUTE_RIPNG) && diff --git a/ripngd/ripngd.h b/ripngd/ripngd.h index 5337eb88f..c4b34b348 100644 --- a/ripngd/ripngd.h +++ b/ripngd/ripngd.h @@ -148,7 +148,7 @@ struct ripng struct rte { struct in6_addr addr; /* RIPng destination prefix */ - u_short tag; /* RIPng tag */ + u_int16_t tag; /* RIPng tag */ u_char prefixlen; /* Length of the RIPng prefix */ u_char metric; /* Metric of the RIPng route */ /* The nexthop is stored by the structure @@ -202,7 +202,7 @@ struct ripng_info struct in6_addr nexthop_out; u_char metric_set; u_char metric_out; - u_short tag_out; + u_int16_t tag_out; struct route_node *rp; }; diff --git a/zebra/rib.h b/zebra/rib.h index 96301a8af..c95a9ba0c 100644 --- a/zebra/rib.h +++ b/zebra/rib.h @@ -23,6 +23,7 @@ #ifndef _ZEBRA_RIB_H #define _ZEBRA_RIB_H +#include "zebra.h" #include "linklist.h" #include "prefix.h" #include "table.h" @@ -47,6 +48,9 @@ struct rib /* Refrence count. */ unsigned long refcnt; + /* Tag */ + route_tag_t tag; + /* Uptime. */ time_t uptime; @@ -72,9 +76,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 diff --git a/zebra/zebra_mpls_vty.c b/zebra/zebra_mpls_vty.c index e7338a10c..6136e92cd 100644 --- a/zebra/zebra_mpls_vty.c +++ b/zebra/zebra_mpls_vty.c @@ -221,7 +221,7 @@ DEFUN (ip_route_label, DEFUN (ip_route_tag_label, ip_route_tag_label_cmd, - "ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) tag <1-65535> label WORD", + "ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) tag <1-4294967295> label WORD", IP_STR "Establish static routes\n" "IP destination prefix (e.g. 10.0.0.0/8)\n" @@ -257,7 +257,7 @@ DEFUN (ip_route_mask_label, DEFUN (ip_route_mask_tag_label, ip_route_mask_tag_label_cmd, - "ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0) tag <1-65535> label WORD", + "ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0) tag <1-4294967295> label WORD", IP_STR "Establish static routes\n" "IP destination prefix\n" @@ -295,7 +295,7 @@ DEFUN (ip_route_distance_label, DEFUN (ip_route_tag_distance_label, ip_route_tag_distance_label_cmd, - "ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) tag <1-65535> <1-255> label WORD", + "ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) tag <1-4294967295> <1-255> label WORD", IP_STR "Establish static routes\n" "IP destination prefix (e.g. 10.0.0.0/8)\n" @@ -333,7 +333,7 @@ DEFUN (ip_route_mask_distance_label, DEFUN (ip_route_mask_tag_distance_label, ip_route_mask_tag_distance_label_cmd, - "ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0) tag <1-65535> <1-255> label WORD", + "ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0) tag <1-4294967295> <1-255> label WORD", IP_STR "Establish static routes\n" "IP destination prefix\n" @@ -370,7 +370,7 @@ DEFUN (no_ip_route_label, DEFUN (no_ip_route_tag_label, no_ip_route_tag_label_cmd, - "no ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) tag <1-65535> label WORD", + "no ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) tag <1-4294967295> label WORD", NO_STR IP_STR "Establish static routes\n" @@ -407,7 +407,7 @@ DEFUN (no_ip_route_mask_label, DEFUN (no_ip_route_mask_tag_label, no_ip_route_mask_tag_label_cmd, - "no ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0) tag <1-65535> label WORD", + "no ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0) tag <1-4294967295> label WORD", NO_STR IP_STR "Establish static routes\n" @@ -445,7 +445,7 @@ DEFUN (no_ip_route_distance_label, DEFUN (no_ip_route_tag_distance_label, no_ip_route_tag_distance_label_cmd, - "no ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) tag <1-65535> <1-255> label WORD", + "no ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) tag <1-4294967295> <1-255> label WORD", NO_STR IP_STR "Establish static routes\n" @@ -484,7 +484,7 @@ DEFUN (no_ip_route_mask_distance_label, DEFUN (no_ip_route_mask_tag_distance_label, no_ip_route_mask_tag_distance_label_cmd, - "no ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0) tag <1-65535> <1-255> label WORD", + "no ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0) tag <1-4294967295> <1-255> label WORD", NO_STR IP_STR "Establish static routes\n" @@ -519,7 +519,7 @@ DEFUN (ipv6_route_label, DEFUN (ipv6_route_tag_label, ipv6_route_tag_label_cmd, - "ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) tag <1-65535> label WORD", + "ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) tag <1-4294967295> label WORD", IP_STR "Establish static routes\n" "IPv6 destination prefix (e.g. 3ffe:506::/32)\n" @@ -548,7 +548,7 @@ DEFUN (ipv6_route_ifname_label, } DEFUN (ipv6_route_ifname_tag_label, ipv6_route_ifname_tag_label_cmd, - "ipv6 route X:X::X:X/M X:X::X:X INTERFACE tag <1-65535> label WORD", + "ipv6 route X:X::X:X/M X:X::X:X INTERFACE tag <1-4294967295> label WORD", IP_STR "Establish static routes\n" "IPv6 destination prefix (e.g. 3ffe:506::/32)\n" @@ -579,7 +579,7 @@ DEFUN (ipv6_route_pref_label, DEFUN (ipv6_route_pref_tag_label, ipv6_route_pref_tag_label_cmd, - "ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) tag <1-65535> <1-255> label WORD", + "ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) tag <1-4294967295> <1-255> label WORD", IP_STR "Establish static routes\n" "IPv6 destination prefix (e.g. 3ffe:506::/32)\n" @@ -611,7 +611,7 @@ DEFUN (ipv6_route_ifname_pref_label, DEFUN (ipv6_route_ifname_pref_tag_label, ipv6_route_ifname_pref_tag_label_cmd, - "ipv6 route X:X::X:X/M X:X::X:X INTERFACE tag <1-65535> <1-255> label WORD", + "ipv6 route X:X::X:X/M X:X::X:X INTERFACE tag <1-4294967295> <1-255> label WORD", IP_STR "Establish static routes\n" "IPv6 destination prefix (e.g. 3ffe:506::/32)\n" @@ -643,7 +643,7 @@ DEFUN (no_ipv6_route_label, DEFUN (no_ipv6_route_tag_label, no_ipv6_route_tag_label_cmd, - "no ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) tag <1-65535> label WORD", + "no ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) tag <1-4294967295> label WORD", NO_STR IP_STR "Establish static routes\n" @@ -675,7 +675,7 @@ DEFUN (no_ipv6_route_ifname_label, DEFUN (no_ipv6_route_ifname_tag_label, no_ipv6_route_ifname_tag_label_cmd, - "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE tag <1-65535> label WORD", + "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE tag <1-4294967295> label WORD", NO_STR IP_STR "Establish static routes\n" @@ -708,7 +708,7 @@ DEFUN (no_ipv6_route_pref_label, DEFUN (no_ipv6_route_pref_tag_label, no_ipv6_route_pref_tag_label_cmd, - "no ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) tag <1-65535> <1-255> label WORD", + "no ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) tag <1-4294967295> <1-255> label WORD", NO_STR IP_STR "Establish static routes\n" @@ -742,7 +742,7 @@ DEFUN (no_ipv6_route_ifname_pref_label, DEFUN (no_ipv6_route_ifname_pref_tag_label, no_ipv6_route_ifname_pref_tag_label_cmd, - "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE tag <1-65535> <1-255> label WORD", + "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE tag <1-4294967295> <1-255> label WORD", NO_STR IP_STR "Establish static routes\n" diff --git a/zebra/zebra_routemap.c b/zebra/zebra_routemap.c index 685f5cc4b..9cfae6e70 100644 --- a/zebra/zebra_routemap.c +++ b/zebra/zebra_routemap.c @@ -51,7 +51,7 @@ struct nh_rmap_obj vrf_id_t vrf_id; u_int32_t source_protocol; int metric; - u_short tag; + route_tag_t tag; }; static void zebra_route_map_set_delay_timer(u_int32_t value); @@ -193,7 +193,7 @@ static route_map_result_t route_match_tag (void *rule, struct prefix *prefix, route_map_object_t type, void *object) { - u_short *tag; + route_tag_t *tag; struct nh_rmap_obj *nh_data; if (type == RMAP_ZEBRA) @@ -207,45 +207,13 @@ route_match_tag (void *rule, struct prefix *prefix, return RMAP_NOMATCH; } -/* Route map 'match tag' match statement. 'arg' is TAG value */ -static void * -route_match_tag_compile (const char *arg) -{ - u_short *tag; - u_short tmp; - - /* tag value shoud be integer. */ - if (! all_digit (arg)) - return NULL; - - tmp = atoi(arg); - if (tmp < 1) - return NULL; - - tag = XMALLOC (MTYPE_ROUTE_MAP_COMPILED, sizeof (u_short)); - - if (!tag) - return tag; - - *tag = tmp; - - return tag; -} - -/* Free route map's compiled 'match tag' value. */ -static void -route_match_tag_free (void *rule) -{ - XFREE (MTYPE_ROUTE_MAP_COMPILED, rule); -} - /* Route map commands for tag matching */ -struct route_map_rule_cmd route_match_tag_cmd = +static struct route_map_rule_cmd route_match_tag_cmd = { - "tag", - route_match_tag, - route_match_tag_compile, - route_match_tag_free + "tag", + route_match_tag, + route_map_rule_tag_compile, + route_map_rule_tag_free, }; @@ -332,7 +300,7 @@ ALIAS (no_match_interface, DEFUN (match_tag, match_tag_cmd, - "match tag <1-65535>", + "match tag <1-4294967295>", MATCH_STR "Match tag of route\n" "Tag value\n") @@ -358,7 +326,7 @@ DEFUN (no_match_tag, ALIAS (no_match_tag, no_match_tag_val_cmd, - "no match tag <1-65535>", + "no match tag <1-4294967295>", NO_STR MATCH_STR "Match tag of route\n") @@ -1649,7 +1617,7 @@ zebra_route_map_write_delay_timer (struct vty *vty) route_map_result_t zebra_route_map_check (int family, int rib_type, struct prefix *p, - struct nexthop *nexthop, vrf_id_t vrf_id, u_short tag) + struct nexthop *nexthop, vrf_id_t vrf_id, route_tag_t tag) { struct route_map *rmap = NULL; route_map_result_t ret = RMAP_MATCH; @@ -1692,7 +1660,7 @@ zebra_del_import_table_route_map (afi_t afi, uint32_t table) route_map_result_t zebra_import_table_route_map_check (int family, int rib_type, struct prefix *p, - struct nexthop *nexthop, vrf_id_t vrf_id, u_short tag, const char *rmap_name) + struct nexthop *nexthop, vrf_id_t vrf_id, route_tag_t tag, const char *rmap_name) { struct route_map *rmap = NULL; route_map_result_t ret = RMAP_DENYMATCH; diff --git a/zebra/zebra_routemap.h b/zebra/zebra_routemap.h index 5eb374090..bf418ccac 100644 --- a/zebra/zebra_routemap.h +++ b/zebra/zebra_routemap.h @@ -34,13 +34,13 @@ extern route_map_result_t zebra_import_table_route_map_check (int family, int ri struct prefix *p, struct nexthop *nexthop, vrf_id_t vrf_id, - u_short tag, + route_tag_t tag, const char *rmap_name); extern route_map_result_t zebra_route_map_check (int family, int rib_type, struct prefix *p, struct nexthop *nexthop, vrf_id_t vrf_id, - u_short tag); + route_tag_t tag); extern route_map_result_t zebra_nht_route_map_check (int family, int client_proto, struct prefix *p, diff --git a/zebra/zebra_static.c b/zebra/zebra_static.c index dfe196c4b..a691048b2 100644 --- a/zebra/zebra_static.c +++ b/zebra/zebra_static.c @@ -362,7 +362,7 @@ static_uninstall_route (afi_t afi, safi_t safi, struct prefix *p, struct static_ int static_add_route (afi_t afi, safi_t safi, u_char type, struct prefix *p, union g_addr *gate, ifindex_t ifindex, - const char *ifname, u_char flags, u_short tag, + const char *ifname, u_char flags, route_tag_t tag, u_char distance, struct zebra_vrf *zvrf, struct static_nh_label *snh_label) { @@ -481,7 +481,7 @@ static_add_route (afi_t afi, safi_t safi, u_char type, struct prefix *p, int static_delete_route (afi_t afi, safi_t safi, u_char type, struct prefix *p, union g_addr *gate, ifindex_t ifindex, - u_short tag, u_char distance, struct zebra_vrf *zvrf, + route_tag_t tag, u_char distance, struct zebra_vrf *zvrf, struct static_nh_label *snh_label) { struct route_node *rn; diff --git a/zebra/zebra_static.h b/zebra/zebra_static.h index 8c55ea84c..5b6f42976 100644 --- a/zebra/zebra_static.h +++ b/zebra/zebra_static.h @@ -45,7 +45,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; @@ -87,13 +87,13 @@ static_uninstall_route (afi_t afi, safi_t safi, struct prefix *p, struct static_ extern int static_add_route (afi_t, safi_t safi, u_char type, struct prefix *p, union g_addr *gate, ifindex_t ifindex, - const char *ifname, u_char flags, u_short tag, + const char *ifname, u_char flags, route_tag_t tag, u_char distance, struct zebra_vrf *zvrf, struct static_nh_label *snh_label); extern int static_delete_route (afi_t, safi_t safi, u_char type, struct prefix *p, - union g_addr *gate, ifindex_t ifindex, u_short tag, + union g_addr *gate, ifindex_t ifindex, route_tag_t tag, u_char distance, struct zebra_vrf *zvrf, struct static_nh_label *snh_label); diff --git a/zebra/zebra_vty.c b/zebra/zebra_vty.c index 054979fd0..0aef681f3 100644 --- a/zebra/zebra_vty.c +++ b/zebra/zebra_vty.c @@ -66,7 +66,7 @@ zebra_static_ipv4 (struct vty *vty, safi_t safi, int add_cmd, struct in_addr gate; struct in_addr mask; u_char flag = 0; - u_short tag = 0; + route_tag_t tag = 0; struct zebra_vrf *zvrf = NULL; unsigned int ifindex = 0; const char *ifname = NULL; @@ -104,7 +104,7 @@ zebra_static_ipv4 (struct vty *vty, safi_t safi, int add_cmd, /* tag */ if (tag_str) - tag = atoi(tag_str); + tag = atol(tag_str); /* VRF id */ zvrf = zebra_vrf_list_lookup_by_name (vrf_id_str); @@ -365,7 +365,7 @@ DEFUN (ip_route, DEFUN (ip_route_tag, ip_route_tag_cmd, - "ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) tag <1-65535>", + "ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) tag <1-4294967295>", IP_STR "Establish static routes\n" "IP destination prefix (e.g. 10.0.0.0/8)\n" @@ -396,7 +396,7 @@ DEFUN (ip_route_flags, DEFUN (ip_route_flags_tag, ip_route_flags_tag_cmd, - "ip route A.B.C.D/M (A.B.C.D|INTERFACE) (reject|blackhole) tag <1-65535>", + "ip route A.B.C.D/M (A.B.C.D|INTERFACE) (reject|blackhole) tag <1-4294967295>", IP_STR "Establish static routes\n" "IP destination prefix (e.g. 10.0.0.0/8)\n" @@ -427,7 +427,7 @@ DEFUN (ip_route_flags2, DEFUN (ip_route_flags2_tag, ip_route_flags2_tag_cmd, - "ip route A.B.C.D/M (reject|blackhole) tag <1-65535>", + "ip route A.B.C.D/M (reject|blackhole) tag <1-4294967295>", IP_STR "Establish static routes\n" "IP destination prefix (e.g. 10.0.0.0/8)\n" @@ -459,7 +459,7 @@ DEFUN (ip_route_mask, DEFUN (ip_route_mask_tag, ip_route_mask_tag_cmd, - "ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0) tag <1-65535>", + "ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0) tag <1-4294967295>", IP_STR "Establish static routes\n" "IP destination prefix\n" @@ -493,7 +493,7 @@ DEFUN (ip_route_mask_flags, DEFUN (ip_route_mask_flags_tag, ip_route_mask_flags_tag_cmd, - "ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE) (reject|blackhole) tag <1-65535>", + "ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE) (reject|blackhole) tag <1-4294967295>", IP_STR "Establish static routes\n" "IP destination prefix\n" @@ -526,7 +526,7 @@ DEFUN (ip_route_mask_flags2, DEFUN (ip_route_mask_flags2_tag, ip_route_mask_flags2_tag_cmd, - "ip route A.B.C.D A.B.C.D (reject|blackhole) tag <1-65535>", + "ip route A.B.C.D A.B.C.D (reject|blackhole) tag <1-4294967295>", IP_STR "Establish static routes\n" "IP destination prefix\n" @@ -558,7 +558,7 @@ DEFUN (ip_route_distance, DEFUN (ip_route_tag_distance, ip_route_tag_distance_cmd, - "ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) tag <1-65535> <1-255>", + "ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) tag <1-4294967295> <1-255>", IP_STR "Establish static routes\n" "IP destination prefix (e.g. 10.0.0.0/8)\n" @@ -592,7 +592,7 @@ DEFUN (ip_route_flags_distance, DEFUN (ip_route_flags_tag_distance, ip_route_flags_tag_distance_cmd, - "ip route A.B.C.D/M (A.B.C.D|INTERFACE) (reject|blackhole) tag <1-65535> <1-255>", + "ip route A.B.C.D/M (A.B.C.D|INTERFACE) (reject|blackhole) tag <1-4294967295> <1-255>", IP_STR "Establish static routes\n" "IP destination prefix (e.g. 10.0.0.0/8)\n" @@ -624,7 +624,7 @@ DEFUN (ip_route_flags_distance2, DEFUN (ip_route_flags_tag_distance2, ip_route_flags_tag_distance2_cmd, - "ip route A.B.C.D/M (reject|blackhole) tag <1-65535> <1-255>", + "ip route A.B.C.D/M (reject|blackhole) tag <1-4294967295> <1-255>", IP_STR "Establish static routes\n" "IP destination prefix (e.g. 10.0.0.0/8)\n" @@ -656,7 +656,7 @@ DEFUN (ip_route_mask_distance, DEFUN (ip_route_mask_tag_distance, ip_route_mask_tag_distance_cmd, - "ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0) tag <1-65535> <1-255>", + "ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0) tag <1-4294967295> <1-255>", IP_STR "Establish static routes\n" "IP destination prefix\n" @@ -674,7 +674,7 @@ DEFUN (ip_route_mask_tag_distance, DEFUN (ip_route_mask_flags_tag_distance, ip_route_mask_flags_tag_distance_cmd, - "ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE) (reject|blackhole) tag <1-65535> <1-255>", + "ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE) (reject|blackhole) tag <1-4294967295> <1-255>", IP_STR "Establish static routes\n" "IP destination prefix\n" @@ -726,7 +726,7 @@ DEFUN (ip_route_mask_flags_distance2, DEFUN (ip_route_mask_flags_tag_distance2, ip_route_mask_flags_tag_distance2_cmd, - "ip route A.B.C.D A.B.C.D (reject|blackhole) tag <1-65535> <1-255>", + "ip route A.B.C.D A.B.C.D (reject|blackhole) tag <1-4294967295> <1-255>", IP_STR "Establish static routes\n" "IP destination prefix\n" @@ -758,7 +758,7 @@ DEFUN (no_ip_route, DEFUN (no_ip_route_tag, no_ip_route_tag_cmd, - "no ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) tag <1-65535>", + "no ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) tag <1-4294967295>", NO_STR IP_STR "Establish static routes\n" @@ -787,7 +787,7 @@ ALIAS (no_ip_route, ALIAS (no_ip_route_tag, no_ip_route_flags_tag_cmd, - "no ip route A.B.C.D/M (A.B.C.D|INTERFACE) (reject|blackhole) tag <1-65535>", + "no ip route A.B.C.D/M (A.B.C.D|INTERFACE) (reject|blackhole) tag <1-4294967295>", NO_STR IP_STR "Establish static routes\n" @@ -815,7 +815,7 @@ DEFUN (no_ip_route_flags2, DEFUN (no_ip_route_flags2_tag, no_ip_route_flags2_tag_cmd, - "no ip route A.B.C.D/M (reject|blackhole) tag <1-65535>", + "no ip route A.B.C.D/M (reject|blackhole) tag <1-4294967295>", NO_STR IP_STR "Establish static routes\n" @@ -847,7 +847,7 @@ DEFUN (no_ip_route_mask, DEFUN (no_ip_route_mask_tag, no_ip_route_mask_tag_cmd, - "no ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0) tag <1-65535>", + "no ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0) tag <1-4294967295>", NO_STR IP_STR "Establish static routes\n" @@ -878,7 +878,7 @@ ALIAS (no_ip_route_mask, ALIAS (no_ip_route_mask_tag, no_ip_route_mask_flags_tag_cmd, - "no ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE) (reject|blackhole) tag <1-65535>", + "no ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE) (reject|blackhole) tag <1-4294967295>", NO_STR IP_STR "Establish static routes\n" @@ -908,7 +908,7 @@ DEFUN (no_ip_route_mask_flags2, DEFUN (no_ip_route_mask_flags2_tag, no_ip_route_mask_flags2_tag_cmd, - "no ip route A.B.C.D A.B.C.D (reject|blackhole) tag <1-65535>", + "no ip route A.B.C.D A.B.C.D (reject|blackhole) tag <1-4294967295>", NO_STR IP_STR "Establish static routes\n" @@ -941,7 +941,7 @@ DEFUN (no_ip_route_distance, DEFUN (no_ip_route_tag_distance, no_ip_route_tag_distance_cmd, - "no ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) tag <1-65535> <1-255>", + "no ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) tag <1-4294967295> <1-255>", NO_STR IP_STR "Establish static routes\n" @@ -976,7 +976,7 @@ DEFUN (no_ip_route_flags_distance, DEFUN (no_ip_route_flags_tag_distance, no_ip_route_flags_tag_distance_cmd, - "no ip route A.B.C.D/M (A.B.C.D|INTERFACE) (reject|blackhole) tag <1-65535> <1-255>", + "no ip route A.B.C.D/M (A.B.C.D|INTERFACE) (reject|blackhole) tag <1-4294967295> <1-255>", NO_STR IP_STR "Establish static routes\n" @@ -1010,7 +1010,7 @@ DEFUN (no_ip_route_flags_distance2, DEFUN (no_ip_route_flags_tag_distance2, no_ip_route_flags_tag_distance2_cmd, - "no ip route A.B.C.D/M (reject|blackhole) tag <1-65535> <1-255>", + "no ip route A.B.C.D/M (reject|blackhole) tag <1-4294967295> <1-255>", NO_STR IP_STR "Establish static routes\n" @@ -1044,7 +1044,7 @@ DEFUN (no_ip_route_mask_distance, DEFUN (no_ip_route_mask_tag_distance, no_ip_route_mask_tag_distance_cmd, - "no ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0) tag <1-65535> <1-255>", + "no ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0) tag <1-4294967295> <1-255>", NO_STR IP_STR "Establish static routes\n" @@ -1081,7 +1081,7 @@ DEFUN (no_ip_route_mask_flags_distance, DEFUN (no_ip_route_mask_flags_tag_distance, no_ip_route_mask_flags_tag_distance_cmd, - "no ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE) (reject|blackhole) tag <1-65535> <1-255>", + "no ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE) (reject|blackhole) tag <1-4294967295> <1-255>", NO_STR IP_STR "Establish static routes\n" @@ -1117,7 +1117,7 @@ DEFUN (no_ip_route_mask_flags_distance2, DEFUN (no_ip_route_mask_flags_tag_distance2, no_ip_route_mask_flags_tag_distance2_cmd, - "no ip route A.B.C.D A.B.C.D (reject|blackhole) tag <1-65535> <1-255>", + "no ip route A.B.C.D A.B.C.D (reject|blackhole) tag <1-4294967295> <1-255>", NO_STR IP_STR "Establish static routes\n" @@ -1151,7 +1151,7 @@ DEFUN (ip_route_vrf, DEFUN (ip_route_tag_vrf, ip_route_tag_vrf_cmd, - "ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) tag <1-65535> " VRF_CMD_STR, + "ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) tag <1-4294967295> " VRF_CMD_STR, IP_STR "Establish static routes\n" "IP destination prefix (e.g. 10.0.0.0/8)\n" @@ -1184,7 +1184,7 @@ DEFUN (ip_route_flags_vrf, DEFUN (ip_route_flags_tag_vrf, ip_route_flags_tag_vrf_cmd, - "ip route A.B.C.D/M (A.B.C.D|INTERFACE) (reject|blackhole) tag <1-65535> " VRF_CMD_STR, + "ip route A.B.C.D/M (A.B.C.D|INTERFACE) (reject|blackhole) tag <1-4294967295> " VRF_CMD_STR, IP_STR "Establish static routes\n" "IP destination prefix (e.g. 10.0.0.0/8)\n" @@ -1217,7 +1217,7 @@ DEFUN (ip_route_flags2_vrf, DEFUN (ip_route_flags2_tag_vrf, ip_route_flags2_tag_vrf_cmd, - "ip route A.B.C.D/M (reject|blackhole) tag <1-65535> " VRF_CMD_STR, + "ip route A.B.C.D/M (reject|blackhole) tag <1-4294967295> " VRF_CMD_STR, IP_STR "Establish static routes\n" "IP destination prefix (e.g. 10.0.0.0/8)\n" @@ -1251,7 +1251,7 @@ DEFUN (ip_route_mask_vrf, DEFUN (ip_route_mask_tag_vrf, ip_route_mask_tag_vrf_cmd, - "ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0) tag <1-65535> " VRF_CMD_STR, + "ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0) tag <1-4294967295> " VRF_CMD_STR, IP_STR "Establish static routes\n" "IP destination prefix\n" @@ -1287,7 +1287,7 @@ DEFUN (ip_route_mask_flags_vrf, DEFUN (ip_route_mask_flags_tag_vrf, ip_route_mask_flags_tag_vrf_cmd, - "ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE) (reject|blackhole) tag <1-65535> " VRF_CMD_STR, + "ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE) (reject|blackhole) tag <1-4294967295> " VRF_CMD_STR, IP_STR "Establish static routes\n" "IP destination prefix\n" @@ -1322,7 +1322,7 @@ DEFUN (ip_route_mask_flags2_vrf, DEFUN (ip_route_mask_flags2_tag_vrf, ip_route_mask_flags2_tag_vrf_cmd, - "ip route A.B.C.D A.B.C.D (reject|blackhole) tag <1-65535> " VRF_CMD_STR, + "ip route A.B.C.D A.B.C.D (reject|blackhole) tag <1-4294967295> " VRF_CMD_STR, IP_STR "Establish static routes\n" "IP destination prefix\n" @@ -1356,7 +1356,7 @@ DEFUN (ip_route_distance_vrf, DEFUN (ip_route_tag_distance_vrf, ip_route_tag_distance_vrf_cmd, - "ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) tag <1-65535> <1-255> " VRF_CMD_STR, + "ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) tag <1-4294967295> <1-255> " VRF_CMD_STR, IP_STR "Establish static routes\n" "IP destination prefix (e.g. 10.0.0.0/8)\n" @@ -1392,7 +1392,7 @@ DEFUN (ip_route_flags_distance_vrf, DEFUN (ip_route_flags_tag_distance_vrf, ip_route_flags_tag_distance_vrf_cmd, - "ip route A.B.C.D/M (A.B.C.D|INTERFACE) (reject|blackhole) tag <1-65535> <1-255> " VRF_CMD_STR, + "ip route A.B.C.D/M (A.B.C.D|INTERFACE) (reject|blackhole) tag <1-4294967295> <1-255> " VRF_CMD_STR, IP_STR "Establish static routes\n" "IP destination prefix (e.g. 10.0.0.0/8)\n" @@ -1426,7 +1426,7 @@ DEFUN (ip_route_flags_distance2_vrf, DEFUN (ip_route_flags_tag_distance2_vrf, ip_route_flags_tag_distance2_vrf_cmd, - "ip route A.B.C.D/M (reject|blackhole) tag <1-65535> <1-255> " VRF_CMD_STR, + "ip route A.B.C.D/M (reject|blackhole) tag <1-4294967295> <1-255> " VRF_CMD_STR, IP_STR "Establish static routes\n" "IP destination prefix (e.g. 10.0.0.0/8)\n" @@ -1460,7 +1460,7 @@ DEFUN (ip_route_mask_distance_vrf, DEFUN (ip_route_mask_tag_distance_vrf, ip_route_mask_tag_distance_vrf_cmd, - "ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0) tag <1-65535> <1-255> " VRF_CMD_STR, + "ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0) tag <1-4294967295> <1-255> " VRF_CMD_STR, IP_STR "Establish static routes\n" "IP destination prefix\n" @@ -1479,7 +1479,7 @@ DEFUN (ip_route_mask_tag_distance_vrf, DEFUN (ip_route_mask_flags_tag_distance_vrf, ip_route_mask_flags_tag_distance_vrf_cmd, - "ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE) (reject|blackhole) tag <1-65535> <1-255> " VRF_CMD_STR, + "ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE) (reject|blackhole) tag <1-4294967295> <1-255> " VRF_CMD_STR, IP_STR "Establish static routes\n" "IP destination prefix\n" @@ -1534,7 +1534,7 @@ DEFUN (ip_route_mask_flags_distance2_vrf, DEFUN (ip_route_mask_flags_tag_distance2_vrf, ip_route_mask_flags_tag_distance2_vrf_cmd, - "ip route A.B.C.D A.B.C.D (reject|blackhole) tag <1-65535> <1-255> " VRF_CMD_STR, + "ip route A.B.C.D A.B.C.D (reject|blackhole) tag <1-4294967295> <1-255> " VRF_CMD_STR, IP_STR "Establish static routes\n" "IP destination prefix\n" @@ -1585,7 +1585,7 @@ DEFUN (no_ip_route_flags_vrf, DEFUN (no_ip_route_tag_vrf, no_ip_route_tag_vrf_cmd, - "no ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) tag <1-65535> " VRF_CMD_STR, + "no ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) tag <1-4294967295> " VRF_CMD_STR, NO_STR IP_STR "Establish static routes\n" @@ -1603,7 +1603,7 @@ DEFUN (no_ip_route_tag_vrf, DEFUN (no_ip_route_flags_tag_vrf, no_ip_route_flags_tag_vrf_cmd, - "no ip route A.B.C.D/M (A.B.C.D|INTERFACE) (reject|blackhole) tag <1-65535> " VRF_CMD_STR, + "no ip route A.B.C.D/M (A.B.C.D|INTERFACE) (reject|blackhole) tag <1-4294967295> " VRF_CMD_STR, NO_STR IP_STR "Establish static routes\n" @@ -1637,7 +1637,7 @@ DEFUN (no_ip_route_flags2_vrf, DEFUN (no_ip_route_flags2_tag_vrf, no_ip_route_flags2_tag_vrf_cmd, - "no ip route A.B.C.D/M (reject|blackhole) tag <1-65535> " VRF_CMD_STR, + "no ip route A.B.C.D/M (reject|blackhole) tag <1-4294967295> " VRF_CMD_STR, NO_STR IP_STR "Establish static routes\n" @@ -1689,7 +1689,7 @@ DEFUN (no_ip_route_mask_flags_vrf, DEFUN (no_ip_route_mask_tag_vrf, no_ip_route_mask_tag_vrf_cmd, - "no ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0) tag <1-65535> " VRF_CMD_STR, + "no ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0) tag <1-4294967295> " VRF_CMD_STR, NO_STR IP_STR "Establish static routes\n" @@ -1708,7 +1708,7 @@ DEFUN (no_ip_route_mask_tag_vrf, DEFUN (no_ip_route_mask_flags_tag_vrf, no_ip_route_mask_flags_tag_vrf_cmd, - "no ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE) (reject|blackhole) tag <1-65535> " VRF_CMD_STR, + "no ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE) (reject|blackhole) tag <1-4294967295> " VRF_CMD_STR, NO_STR IP_STR "Establish static routes\n" @@ -1744,7 +1744,7 @@ DEFUN (no_ip_route_mask_flags2_vrf, DEFUN (no_ip_route_mask_flags2_tag_vrf, no_ip_route_mask_flags2_tag_vrf_cmd, - "no ip route A.B.C.D A.B.C.D (reject|blackhole) tag <1-65535> " VRF_CMD_STR, + "no ip route A.B.C.D A.B.C.D (reject|blackhole) tag <1-4294967295> " VRF_CMD_STR, NO_STR IP_STR "Establish static routes\n" @@ -1780,7 +1780,7 @@ DEFUN (no_ip_route_distance_vrf, DEFUN (no_ip_route_tag_distance_vrf, no_ip_route_tag_distance_vrf_cmd, - "no ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) tag <1-65535> <1-255> " VRF_CMD_STR, + "no ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) tag <1-4294967295> <1-255> " VRF_CMD_STR, NO_STR IP_STR "Establish static routes\n" @@ -1817,7 +1817,7 @@ DEFUN (no_ip_route_flags_distance_vrf, DEFUN (no_ip_route_flags_tag_distance_vrf, no_ip_route_flags_tag_distance_vrf_cmd, - "no ip route A.B.C.D/M (A.B.C.D|INTERFACE) (reject|blackhole) tag <1-65535> <1-255> " VRF_CMD_STR, + "no ip route A.B.C.D/M (A.B.C.D|INTERFACE) (reject|blackhole) tag <1-4294967295> <1-255> " VRF_CMD_STR, NO_STR IP_STR "Establish static routes\n" @@ -1853,7 +1853,7 @@ DEFUN (no_ip_route_flags_distance2_vrf, DEFUN (no_ip_route_flags_tag_distance2_vrf, no_ip_route_flags_tag_distance2_vrf_cmd, - "no ip route A.B.C.D/M (reject|blackhole) tag <1-65535> <1-255> " VRF_CMD_STR, + "no ip route A.B.C.D/M (reject|blackhole) tag <1-4294967295> <1-255> " VRF_CMD_STR, NO_STR IP_STR "Establish static routes\n" @@ -1889,7 +1889,7 @@ DEFUN (no_ip_route_mask_distance_vrf, DEFUN (no_ip_route_mask_tag_distance_vrf, no_ip_route_mask_tag_distance_vrf_cmd, - "no ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0) tag <1-65535> <1-255> " VRF_CMD_STR, + "no ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0) tag <1-4294967295> <1-255> " VRF_CMD_STR, NO_STR IP_STR "Establish static routes\n" @@ -1928,7 +1928,7 @@ DEFUN (no_ip_route_mask_flags_distance_vrf, DEFUN (no_ip_route_mask_flags_tag_distance_vrf, no_ip_route_mask_flags_tag_distance_vrf_cmd, - "no ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE) (reject|blackhole) tag <1-65535> <1-255> " VRF_CMD_STR, + "no ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE) (reject|blackhole) tag <1-4294967295> <1-255> " VRF_CMD_STR, NO_STR IP_STR "Establish static routes\n" @@ -1966,7 +1966,7 @@ DEFUN (no_ip_route_mask_flags_distance2_vrf, DEFUN (no_ip_route_mask_flags_tag_distance2_vrf, no_ip_route_mask_flags_tag_distance2_vrf_cmd, - "no ip route A.B.C.D A.B.C.D (reject|blackhole) tag <1-65535> <1-255> " VRF_CMD_STR, + "no ip route A.B.C.D A.B.C.D (reject|blackhole) tag <1-4294967295> <1-255> " VRF_CMD_STR, NO_STR IP_STR "Establish static routes\n" @@ -2013,7 +2013,7 @@ vty_show_ip_route_detail (struct vty *vty, struct route_node *rn, int mcast) vty_out (vty, "\""); vty_out (vty, ", distance %u, metric %u", rib->distance, rib->metric); if (rib->tag) - vty_out (vty, ", tag %d", rib->tag); + vty_out (vty, ", tag %"ROUTE_TAG_PRI, rib->tag); if (rib->mtu) vty_out (vty, ", mtu %u", rib->mtu); if (rib->vrf_id != VRF_DEFAULT) @@ -2685,7 +2685,7 @@ DEFUN (no_ipv6_nht_default_route, DEFUN (show_ip_route_tag, show_ip_route_tag_cmd, - "show ip route tag <1-65535>", + "show ip route tag <1-4294967295>", SHOW_STR IP_STR "IP routing table\n" @@ -2696,16 +2696,16 @@ DEFUN (show_ip_route_tag, struct route_node *rn; struct rib *rib; int first = 1; - u_short tag = 0; + route_tag_t tag = 0; vrf_id_t vrf_id = VRF_DEFAULT; - if (argc > 1) - { - tag = atoi(argv[1]); - VRF_GET_ID (vrf_id, argv[0]); - } - else - tag = atoi(argv[0]); + if (argc > 1) + { + tag = atol(argv[1]); + VRF_GET_ID (vrf_id, argv[0]); + } + else + tag = atol(argv[0]); table = zebra_vrf_table (AFI_IP, SAFI_UNICAST, vrf_id); if (! table) @@ -2730,7 +2730,7 @@ DEFUN (show_ip_route_tag, ALIAS (show_ip_route_tag, show_ip_route_vrf_tag_cmd, - "show ip route " VRF_CMD_STR " tag <1-65535>", + "show ip route " VRF_CMD_STR " tag <1-4294967295>", SHOW_STR IP_STR "IP routing table\n" @@ -3317,7 +3317,7 @@ DEFUN (show_ip_route_vrf_all, DEFUN (show_ip_route_vrf_all_tag, show_ip_route_vrf_all_tag_cmd, - "show ip route " VRF_ALL_CMD_STR " tag <1-65535>", + "show ip route " VRF_ALL_CMD_STR " tag <1-4294967295>", SHOW_STR IP_STR "IP routing table\n" @@ -3332,10 +3332,10 @@ DEFUN (show_ip_route_vrf_all_tag, vrf_iter_t iter; int first = 1; int vrf_header = 1; - u_short tag = 0; + route_tag_t tag = 0; if (argv[0]) - tag = atoi(argv[0]); + tag = atol(argv[0]); for (iter = vrf_first (); iter != VRF_ITER_INVALID; iter = vrf_next (iter)) { @@ -3706,7 +3706,7 @@ static_config_ipv4 (struct vty *vty, safi_t safi, const char *cmd) } if (si->tag) - vty_out (vty, " tag %d", si->tag); + vty_out (vty, " tag %"ROUTE_TAG_PRI, si->tag); if (si->distance != ZEBRA_STATIC_DISTANCE_DEFAULT) vty_out (vty, " %d", si->distance); @@ -3744,7 +3744,7 @@ static_ipv6_func (struct vty *vty, int add_cmd, const char *dest_str, struct in6_addr gate_addr; u_char type = 0; u_char flag = 0; - u_short tag = 0; + route_tag_t tag = 0; unsigned int ifindex = 0; struct interface *ifp = NULL; struct zebra_vrf *zvrf; @@ -3785,7 +3785,7 @@ static_ipv6_func (struct vty *vty, int add_cmd, const char *dest_str, /* tag */ if (tag_str) - tag = atoi(tag_str); + tag = atol(tag_str); /* When gateway is valid IPv6 addrees, then gate is treated as nexthop address other case gate is treated as interface name. */ @@ -3877,7 +3877,7 @@ DEFUN (ipv6_route, DEFUN (ipv6_route_tag, ipv6_route_tag_cmd, - "ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) tag <1-65535>", + "ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) tag <1-4294967295>", IP_STR "Establish static routes\n" "IPv6 destination prefix (e.g. 3ffe:506::/32)\n" @@ -3905,7 +3905,7 @@ DEFUN (ipv6_route_flags, DEFUN (ipv6_route_flags_tag, ipv6_route_flags_tag_cmd, - "ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) (reject|blackhole) tag <1-65535>", + "ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) (reject|blackhole) tag <1-4294967295>", IP_STR "Establish static routes\n" "IPv6 destination prefix (e.g. 3ffe:506::/32)\n" @@ -3932,7 +3932,7 @@ DEFUN (ipv6_route_ifname, } DEFUN (ipv6_route_ifname_tag, ipv6_route_ifname_tag_cmd, - "ipv6 route X:X::X:X/M X:X::X:X INTERFACE tag <1-65535>", + "ipv6 route X:X::X:X/M X:X::X:X INTERFACE tag <1-4294967295>", IP_STR "Establish static routes\n" "IPv6 destination prefix (e.g. 3ffe:506::/32)\n" @@ -3960,7 +3960,7 @@ DEFUN (ipv6_route_ifname_flags, DEFUN (ipv6_route_ifname_flags_tag, ipv6_route_ifname_flags_tag_cmd, - "ipv6 route X:X::X:X/M X:X::X:X INTERFACE (reject|blackhole) tag <1-65535>", + "ipv6 route X:X::X:X/M X:X::X:X INTERFACE (reject|blackhole) tag <1-4294967295>", IP_STR "Establish static routes\n" "IPv6 destination prefix (e.g. 3ffe:506::/32)\n" @@ -3989,7 +3989,7 @@ DEFUN (ipv6_route_pref, DEFUN (ipv6_route_pref_tag, ipv6_route_pref_tag_cmd, - "ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) tag <1-65535> <1-255>", + "ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) tag <1-4294967295> <1-255>", IP_STR "Establish static routes\n" "IPv6 destination prefix (e.g. 3ffe:506::/32)\n" @@ -4019,7 +4019,7 @@ DEFUN (ipv6_route_flags_pref, DEFUN (ipv6_route_flags_pref_tag, ipv6_route_flags_pref_tag_cmd, - "ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) (reject|blackhole) tag <1-65535> <1-255>", + "ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) (reject|blackhole) tag <1-4294967295> <1-255>", IP_STR "Establish static routes\n" "IPv6 destination prefix (e.g. 3ffe:506::/32)\n" @@ -4049,7 +4049,7 @@ DEFUN (ipv6_route_ifname_pref, DEFUN (ipv6_route_ifname_pref_tag, ipv6_route_ifname_pref_tag_cmd, - "ipv6 route X:X::X:X/M X:X::X:X INTERFACE tag <1-65535> <1-255>", + "ipv6 route X:X::X:X/M X:X::X:X INTERFACE tag <1-4294967295> <1-255>", IP_STR "Establish static routes\n" "IPv6 destination prefix (e.g. 3ffe:506::/32)\n" @@ -4079,7 +4079,7 @@ DEFUN (ipv6_route_ifname_flags_pref, DEFUN (ipv6_route_ifname_flags_pref_tag, ipv6_route_ifname_flags_pref_tag_cmd, - "ipv6 route X:X::X:X/M X:X::X:X INTERFACE (reject|blackhole) tag <1-65535> <1-255>", + "ipv6 route X:X::X:X/M X:X::X:X INTERFACE (reject|blackhole) tag <1-4294967295> <1-255>", IP_STR "Establish static routes\n" "IPv6 destination prefix (e.g. 3ffe:506::/32)\n" @@ -4109,7 +4109,7 @@ DEFUN (no_ipv6_route, DEFUN (no_ipv6_route_tag, no_ipv6_route_tag_cmd, - "no ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) tag <1-65535>", + "no ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) tag <1-4294967295>", NO_STR IP_STR "Establish static routes\n" @@ -4139,7 +4139,7 @@ DEFUN (no_ipv6_route_flags, DEFUN (no_ipv6_route_flags_tag, no_ipv6_route_flags_tag_cmd, - "no ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) (reject|blackhole) tag <1-65535>", + "no ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) (reject|blackhole) tag <1-4294967295>", NO_STR IP_STR "Establish static routes\n" @@ -4169,7 +4169,7 @@ DEFUN (no_ipv6_route_ifname, DEFUN (no_ipv6_route_ifname_tag, no_ipv6_route_ifname_tag_cmd, - "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE tag <1-65535>", + "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE tag <1-4294967295>", NO_STR IP_STR "Establish static routes\n" @@ -4199,7 +4199,7 @@ DEFUN (no_ipv6_route_ifname_flags, DEFUN (no_ipv6_route_ifname_flags_tag, no_ipv6_route_ifname_flags_tag_cmd, - "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE (reject|blackhole) tag <1-65535>", + "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE (reject|blackhole) tag <1-4294967295>", NO_STR IP_STR "Establish static routes\n" @@ -4230,7 +4230,7 @@ DEFUN (no_ipv6_route_pref, DEFUN (no_ipv6_route_pref_tag, no_ipv6_route_pref_tag_cmd, - "no ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) tag <1-65535> <1-255>", + "no ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) tag <1-4294967295> <1-255>", NO_STR IP_STR "Establish static routes\n" @@ -4263,7 +4263,7 @@ DEFUN (no_ipv6_route_flags_pref, DEFUN (no_ipv6_route_flags_pref_tag, no_ipv6_route_flags_pref_tag_cmd, - "no ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) (reject|blackhole) tag <1-65535> <1-255>", + "no ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) (reject|blackhole) tag <1-4294967295> <1-255>", NO_STR IP_STR "Establish static routes\n" @@ -4296,7 +4296,7 @@ DEFUN (no_ipv6_route_ifname_pref, DEFUN (no_ipv6_route_ifname_pref_tag, no_ipv6_route_ifname_pref_tag_cmd, - "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE tag <1-65535> <1-255>", + "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE tag <1-4294967295> <1-255>", NO_STR IP_STR "Establish static routes\n" @@ -4328,7 +4328,7 @@ DEFUN (no_ipv6_route_ifname_flags_pref, DEFUN (no_ipv6_route_ifname_flags_pref_tag, no_ipv6_route_ifname_flags_pref_tag_cmd, - "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE (reject|blackhole) tag <1-65535> <1-255>", + "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE (reject|blackhole) tag <1-4294967295> <1-255>", NO_STR IP_STR "Establish static routes\n" @@ -4359,7 +4359,7 @@ DEFUN (ipv6_route_vrf, DEFUN (ipv6_route_tag_vrf, ipv6_route_tag_vrf_cmd, - "ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) tag <1-65535> " VRF_CMD_STR, + "ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) tag <1-4294967295> " VRF_CMD_STR, IP_STR "Establish static routes\n" "IPv6 destination prefix (e.g. 3ffe:506::/32)\n" @@ -4389,7 +4389,7 @@ DEFUN (ipv6_route_flags_vrf, DEFUN (ipv6_route_flags_tag_vrf, ipv6_route_flags_tag_vrf_cmd, - "ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) (reject|blackhole) tag <1-65535> " VRF_CMD_STR, + "ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) (reject|blackhole) tag <1-4294967295> " VRF_CMD_STR, IP_STR "Establish static routes\n" "IPv6 destination prefix (e.g. 3ffe:506::/32)\n" @@ -4418,7 +4418,7 @@ DEFUN (ipv6_route_ifname_vrf, } DEFUN (ipv6_route_ifname_tag_vrf, ipv6_route_ifname_tag_vrf_cmd, - "ipv6 route X:X::X:X/M X:X::X:X INTERFACE tag <1-65535> " VRF_CMD_STR, + "ipv6 route X:X::X:X/M X:X::X:X INTERFACE tag <1-4294967295> " VRF_CMD_STR, IP_STR "Establish static routes\n" "IPv6 destination prefix (e.g. 3ffe:506::/32)\n" @@ -4448,7 +4448,7 @@ DEFUN (ipv6_route_ifname_flags_vrf, DEFUN (ipv6_route_ifname_flags_tag_vrf, ipv6_route_ifname_flags_tag_vrf_cmd, - "ipv6 route X:X::X:X/M X:X::X:X INTERFACE (reject|blackhole) tag <1-65535> " VRF_CMD_STR, + "ipv6 route X:X::X:X/M X:X::X:X INTERFACE (reject|blackhole) tag <1-4294967295> " VRF_CMD_STR, IP_STR "Establish static routes\n" "IPv6 destination prefix (e.g. 3ffe:506::/32)\n" @@ -4479,7 +4479,7 @@ DEFUN (ipv6_route_pref_vrf, DEFUN (ipv6_route_pref_tag_vrf, ipv6_route_pref_tag_vrf_cmd, - "ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) tag <1-65535> <1-255> " VRF_CMD_STR, + "ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) tag <1-4294967295> <1-255> " VRF_CMD_STR, IP_STR "Establish static routes\n" "IPv6 destination prefix (e.g. 3ffe:506::/32)\n" @@ -4511,7 +4511,7 @@ DEFUN (ipv6_route_flags_pref_vrf, DEFUN (ipv6_route_flags_pref_tag_vrf, ipv6_route_flags_pref_tag_vrf_cmd, - "ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) (reject|blackhole) tag <1-65535> <1-255> " VRF_CMD_STR, + "ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) (reject|blackhole) tag <1-4294967295> <1-255> " VRF_CMD_STR, IP_STR "Establish static routes\n" "IPv6 destination prefix (e.g. 3ffe:506::/32)\n" @@ -4543,7 +4543,7 @@ DEFUN (ipv6_route_ifname_pref_vrf, DEFUN (ipv6_route_ifname_pref_tag_vrf, ipv6_route_ifname_pref_tag_vrf_cmd, - "ipv6 route X:X::X:X/M X:X::X:X INTERFACE tag <1-65535> <1-255> " VRF_CMD_STR, + "ipv6 route X:X::X:X/M X:X::X:X INTERFACE tag <1-4294967295> <1-255> " VRF_CMD_STR, IP_STR "Establish static routes\n" "IPv6 destination prefix (e.g. 3ffe:506::/32)\n" @@ -4575,7 +4575,7 @@ DEFUN (ipv6_route_ifname_flags_pref_vrf, DEFUN (ipv6_route_ifname_flags_pref_tag_vrf, ipv6_route_ifname_flags_pref_tag_vrf_cmd, - "ipv6 route X:X::X:X/M X:X::X:X INTERFACE (reject|blackhole) tag <1-65535> <1-255> " VRF_CMD_STR, + "ipv6 route X:X::X:X/M X:X::X:X INTERFACE (reject|blackhole) tag <1-4294967295> <1-255> " VRF_CMD_STR, IP_STR "Establish static routes\n" "IPv6 destination prefix (e.g. 3ffe:506::/32)\n" @@ -4607,7 +4607,7 @@ DEFUN (no_ipv6_route_vrf, DEFUN (no_ipv6_route_tag_vrf, no_ipv6_route_tag_vrf_cmd, - "no ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) tag <1-65535> " VRF_CMD_STR, + "no ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) tag <1-4294967295> " VRF_CMD_STR, NO_STR IP_STR "Establish static routes\n" @@ -4639,7 +4639,7 @@ DEFUN (no_ipv6_route_flags_vrf, DEFUN (no_ipv6_route_flags_tag_vrf, no_ipv6_route_flags_tag_vrf_cmd, - "no ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) (reject|blackhole) tag <1-65535> " VRF_CMD_STR, + "no ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) (reject|blackhole) tag <1-4294967295> " VRF_CMD_STR, NO_STR IP_STR "Establish static routes\n" @@ -4671,7 +4671,7 @@ DEFUN (no_ipv6_route_ifname_vrf, DEFUN (no_ipv6_route_ifname_tag_vrf, no_ipv6_route_ifname_tag_vrf_cmd, - "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE tag <1-65535> " VRF_CMD_STR, + "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE tag <1-4294967295> " VRF_CMD_STR, NO_STR IP_STR "Establish static routes\n" @@ -4703,7 +4703,7 @@ DEFUN (no_ipv6_route_ifname_flags_vrf, DEFUN (no_ipv6_route_ifname_flags_tag_vrf, no_ipv6_route_ifname_flags_tag_vrf_cmd, - "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE (reject|blackhole) tag <1-65535> " VRF_CMD_STR, + "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE (reject|blackhole) tag <1-4294967295> " VRF_CMD_STR, NO_STR IP_STR "Establish static routes\n" @@ -4736,7 +4736,7 @@ DEFUN (no_ipv6_route_pref_vrf, DEFUN (no_ipv6_route_pref_tag_vrf, no_ipv6_route_pref_tag_vrf_cmd, - "no ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) tag <1-65535> <1-255> " VRF_CMD_STR, + "no ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) tag <1-4294967295> <1-255> " VRF_CMD_STR, NO_STR IP_STR "Establish static routes\n" @@ -4771,7 +4771,7 @@ DEFUN (no_ipv6_route_flags_pref_vrf, DEFUN (no_ipv6_route_flags_pref_tag_vrf, no_ipv6_route_flags_pref_tag_vrf_cmd, - "no ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) (reject|blackhole) tag <1-65535> <1-255> " VRF_CMD_STR, + "no ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) (reject|blackhole) tag <1-4294967295> <1-255> " VRF_CMD_STR, NO_STR IP_STR "Establish static routes\n" @@ -4806,7 +4806,7 @@ DEFUN (no_ipv6_route_ifname_pref_vrf, DEFUN (no_ipv6_route_ifname_pref_tag_vrf, no_ipv6_route_ifname_pref_tag_vrf_cmd, - "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE tag <1-65535> <1-255> " VRF_CMD_STR, + "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE tag <1-4294967295> <1-255> " VRF_CMD_STR, NO_STR IP_STR "Establish static routes\n" @@ -4840,7 +4840,7 @@ DEFUN (no_ipv6_route_ifname_flags_pref_vrf, DEFUN (no_ipv6_route_ifname_flags_pref_tag_vrf, no_ipv6_route_ifname_flags_pref_tag_vrf_cmd, - "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE (reject|blackhole) tag <1-65535> <1-255> " VRF_CMD_STR, + "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE (reject|blackhole) tag <1-4294967295> <1-255> " VRF_CMD_STR, NO_STR IP_STR "Establish static routes\n" @@ -4961,7 +4961,7 @@ ALIAS (show_ipv6_route, DEFUN (show_ipv6_route_tag, show_ipv6_route_tag_cmd, - "show ipv6 route tag <1-65535>", + "show ipv6 route tag <1-4294967295>", SHOW_STR IP_STR "IPv6 routing table\n" @@ -4972,16 +4972,16 @@ DEFUN (show_ipv6_route_tag, struct route_node *rn; struct rib *rib; int first = 1; - u_short tag = 0; + route_tag_t tag = 0; vrf_id_t vrf_id = VRF_DEFAULT; if (argc > 1) { VRF_GET_ID (vrf_id, argv[0]); - tag = atoi(argv[1]); + tag = atol(argv[1]); } else - tag = atoi(argv[0]); + tag = atol(argv[0]); table = zebra_vrf_table (AFI_IP6, SAFI_UNICAST, vrf_id); if (! table) @@ -5006,7 +5006,7 @@ DEFUN (show_ipv6_route_tag, ALIAS (show_ipv6_route_tag, show_ipv6_route_vrf_tag_cmd, - "show ipv6 route " VRF_CMD_STR " tag <1-65535>", + "show ipv6 route " VRF_CMD_STR " tag <1-4294967295>", SHOW_STR IP_STR "IPv6 routing table\n" @@ -5403,7 +5403,7 @@ DEFUN (show_ipv6_route_vrf_all, DEFUN (show_ipv6_route_vrf_all_tag, show_ipv6_route_vrf_all_tag_cmd, - "show ipv6 route " VRF_ALL_CMD_STR " tag <1-65535>", + "show ipv6 route " VRF_ALL_CMD_STR " tag <1-4294967295>", SHOW_STR IP_STR "IPv6 routing table\n" @@ -5418,10 +5418,10 @@ DEFUN (show_ipv6_route_vrf_all_tag, vrf_iter_t iter; int first = 1; int vrf_header = 1; - u_short tag = 0; + route_tag_t tag = 0; if (argv[0]) - tag = atoi(argv[0]); + tag = atol(argv[0]); for (iter = vrf_first (); iter != VRF_ITER_INVALID; iter = vrf_next (iter)) { @@ -5773,7 +5773,7 @@ static_config_ipv6 (struct vty *vty) vty_out (vty, " %s", "blackhole"); if (si->tag) - vty_out (vty, " tag %d", si->tag); + vty_out (vty, " tag %"ROUTE_TAG_PRI, si->tag); if (si->distance != ZEBRA_STATIC_DISTANCE_DEFAULT) vty_out (vty, " %d", si->distance); diff --git a/zebra/zserv.c b/zebra/zserv.c index 135cd88a1..530410c26 100644 --- a/zebra/zserv.c +++ b/zebra/zserv.c @@ -732,7 +732,7 @@ zsend_redistribute_route (int cmd, struct zserv *client, struct prefix *p, if (rib->tag) { SET_FLAG(zapi_flags, ZAPI_MESSAGE_TAG); - stream_putw(s, rib->tag); + stream_putl(s, rib->tag); } /* MTU */ @@ -1114,7 +1114,7 @@ zread_ipv4_add (struct zserv *client, u_short length, struct zebra_vrf *zvrf) /* Tag */ if (CHECK_FLAG (message, ZAPI_MESSAGE_TAG)) - rib->tag = stream_getw (s); + rib->tag = stream_getl (s); else rib->tag = 0; @@ -1213,7 +1213,7 @@ zread_ipv4_delete (struct zserv *client, u_short length, struct zebra_vrf *zvrf) /* tag */ if (CHECK_FLAG (api.message, ZAPI_MESSAGE_TAG)) - api.tag = stream_getw (s); + api.tag = stream_getl (s); else api.tag = 0; @@ -1343,7 +1343,7 @@ zread_ipv4_route_ipv6_nexthop_add (struct zserv *client, u_short length, struct /* Tag */ if (CHECK_FLAG (message, ZAPI_MESSAGE_TAG)) - rib->tag = stream_getw (s); + rib->tag = stream_getl (s); else rib->tag = 0; @@ -1464,7 +1464,7 @@ zread_ipv6_add (struct zserv *client, u_short length, struct zebra_vrf *zvrf) /* Tag */ if (CHECK_FLAG (message, ZAPI_MESSAGE_TAG)) - rib->tag = stream_getw (s); + rib->tag = stream_getl (s); else rib->tag = 0; @@ -1553,7 +1553,7 @@ zread_ipv6_delete (struct zserv *client, u_short length, struct zebra_vrf *zvrf) /* tag */ if (CHECK_FLAG (api.message, ZAPI_MESSAGE_TAG)) - api.tag = stream_getw (s); + api.tag = stream_getl (s); else api.tag = 0; |