summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/routemap.c6
-rw-r--r--lib/routemap_cli.c2
-rw-r--r--lib/yang_wrappers.c25
3 files changed, 30 insertions, 3 deletions
diff --git a/lib/routemap.c b/lib/routemap.c
index 22b4beb79d..df9a6a33ea 100644
--- a/lib/routemap.c
+++ b/lib/routemap.c
@@ -821,9 +821,10 @@ static void vty_show_route_map_entry(struct vty *vty, struct route_map *map)
struct route_map_index *index;
struct route_map_rule *rule;
- vty_out(vty, "route-map: %s Invoked: %" PRIu64 " Optimization: %s\n",
+ vty_out(vty, "route-map: %s Invoked: %" PRIu64 " Optimization: %s Processed Change: %s\n",
map->name, map->applied - map->applied_clear,
- map->optimization_disabled ? "disabled" : "enabled");
+ map->optimization_disabled ? "disabled" : "enabled",
+ map->to_be_processed ? "true" : "false");
for (index = map->head; index; index = index->next) {
vty_out(vty, " %s, sequence %d Invoked %" PRIu64 "\n",
@@ -2412,6 +2413,7 @@ route_map_result_t route_map_apply(struct route_map *map,
for (; index; index = index->next) {
if (!skip_match_clause) {
+ index->applied++;
/* Apply this index. */
match_ret = route_map_apply_match(&index->match_list,
prefix, type, object);
diff --git a/lib/routemap_cli.c b/lib/routemap_cli.c
index 014147c3f8..7fa759252b 100644
--- a/lib/routemap_cli.c
+++ b/lib/routemap_cli.c
@@ -949,7 +949,7 @@ DEFPY_YANG(
DEFPY_YANG(
no_rmap_call, no_rmap_call_cmd,
- "no call",
+ "no call [NAME]",
NO_STR
"Jump to another Route-Map after match+set\n")
{
diff --git a/lib/yang_wrappers.c b/lib/yang_wrappers.c
index 8b0e89d52e..4f743096ee 100644
--- a/lib/yang_wrappers.c
+++ b/lib/yang_wrappers.c
@@ -1203,6 +1203,16 @@ const char *yang_afi_safi_value2identity(afi_t afi, safi_t safi)
return "frr-routing:ipv4-multicast";
if (afi == AFI_IP6 && safi == SAFI_MULTICAST)
return "frr-routing:ipv6-multicast";
+ if (afi == AFI_IP && safi == SAFI_MPLS_VPN)
+ return "frr-routing:l3vpn-ipv4-unicast";
+ if (afi == AFI_IP6 && safi == SAFI_MPLS_VPN)
+ return "frr-routing:l3vpn-ipv6-unicast";
+ if (afi == AFI_L2VPN && safi == SAFI_EVPN)
+ return "frr-routing:l2vpn-evpn";
+ if (afi == AFI_IP && safi == SAFI_LABELED_UNICAST)
+ return "frr-routing:ipv4-labeled-unicast";
+ if (afi == AFI_IP6 && safi == SAFI_LABELED_UNICAST)
+ return "frr-routing:ipv6-labeled-unicast";
return NULL;
}
@@ -1221,6 +1231,21 @@ void yang_afi_safi_identity2value(const char *key, afi_t *afi, safi_t *safi)
} else if (strmatch(key, "frr-routing:ipv6-multicast")) {
*afi = AFI_IP6;
*safi = SAFI_MULTICAST;
+ } else if (strmatch(key, "frr-routing:l3vpn-ipv4-unicast")) {
+ *afi = AFI_IP;
+ *safi = SAFI_MPLS_VPN;
+ } else if (strmatch(key, "frr-routing:l3vpn-ipv6-unicast")) {
+ *afi = AFI_IP6;
+ *safi = SAFI_MPLS_VPN;
+ } else if (strmatch(key, "frr-routing:ipv4-labeled-unicast")) {
+ *afi = AFI_IP;
+ *safi = SAFI_LABELED_UNICAST;
+ } else if (strmatch(key, "frr-routing:ipv6-labeled-unicast")) {
+ *afi = AFI_IP6;
+ *safi = SAFI_LABELED_UNICAST;
+ } else if (strmatch(key, "frr-routing:l2vpn-evpn")) {
+ *afi = AFI_L2VPN;
+ *safi = SAFI_EVPN;
} else {
*afi = AFI_UNSPEC;
*safi = SAFI_UNSPEC;