]> git.proxmox.com Git - mirror_frr.git/commitdiff
bgpd: evpn route-map match esr type-4 route-type
authorChirag Shah <chirag@nvidia.com>
Fri, 11 Feb 2022 03:35:14 +0000 (19:35 -0800)
committerChirag Shah <chirag@nvidia.com>
Thu, 17 Feb 2022 17:55:00 +0000 (09:55 -0800)
Testing:

After fix:

bharat(config-route-map)# match evpn route-type
  1          EAD (Type-1) route
  2          MAC-IP (Type-2) route
  3          Multicast (Type-3) route
  4          Ethernet Segment (Type-4) route <----
  5          Prefix (Type-5) route
  ead        EAD (Type-1) route
  es         Ethernet Segment (Type-4) route
  macip      MAC-IP (Type-2) route
  multicast  Multicast (Type-3) route
  prefix     Prefix (Type-5) route

bharat(config-route-map)# match evpn route-type 4
bharat(config-route-map)# do show running-config
Building configuration...
...
!
route-map ALLOW_EVPN_R permit 10
 match evpn route-type es    <----
exit

BGP:
route-map: ALLOW_EVPN_R Invoked: 0 Optimization: enabled Processed Change: false
 permit, sequence 10 Invoked 0
  Match clauses:
    evpn route-type es  <-----
  Set clauses:
  Call clause:
  Action:
    Exit routemap

Signed-off-by: Chirag Shah <chirag@nvidia.com>
bgpd/bgp_routemap.c
yang/frr-bgp-route-map.yang

index 3bcf2a798642dda4ff004a5c13c3adb43e8fce89..efb7f9eb7bd3dbd0eea6c2016934fb764567e7e0 100644 (file)
@@ -1045,6 +1045,8 @@ static void *route_match_evpn_route_type_compile(const char *arg)
                *route_type = BGP_EVPN_MAC_IP_ROUTE;
        else if (strncmp(arg, "mu", 2) == 0)
                *route_type = BGP_EVPN_IMET_ROUTE;
+       else if (strncmp(arg, "es", 2) == 0)
+               *route_type = BGP_EVPN_ES_ROUTE;
        else
                *route_type = BGP_EVPN_IP_PREFIX_ROUTE;
 
@@ -4169,7 +4171,7 @@ static const char *parse_evpn_rt_type(const char *num_rt_type)
 
 DEFUN_YANG (match_evpn_route_type,
            match_evpn_route_type_cmd,
-           "match evpn route-type <ead|1|macip|2|multicast|3|prefix|5>",
+           "match evpn route-type <ead|1|macip|2|multicast|3|es|4|prefix|5>",
            MATCH_STR
            EVPN_HELP_STR
            EVPN_TYPE_HELP_STR
@@ -4179,6 +4181,8 @@ DEFUN_YANG (match_evpn_route_type,
            EVPN_TYPE_2_HELP_STR
            EVPN_TYPE_3_HELP_STR
            EVPN_TYPE_3_HELP_STR
+           EVPN_TYPE_4_HELP_STR
+           EVPN_TYPE_4_HELP_STR
            EVPN_TYPE_5_HELP_STR
            EVPN_TYPE_5_HELP_STR)
 {
@@ -4198,7 +4202,7 @@ DEFUN_YANG (match_evpn_route_type,
 
 DEFUN_YANG (no_match_evpn_route_type,
            no_match_evpn_route_type_cmd,
-           "no match evpn route-type <ead|1|macip|2|multicast|3|prefix|5>",
+           "no match evpn route-type <ead|1|macip|2|multicast|3|es|4|prefix|5>",
            NO_STR
            MATCH_STR
            EVPN_HELP_STR
@@ -4209,6 +4213,8 @@ DEFUN_YANG (no_match_evpn_route_type,
            EVPN_TYPE_2_HELP_STR
            EVPN_TYPE_3_HELP_STR
            EVPN_TYPE_3_HELP_STR
+           EVPN_TYPE_4_HELP_STR
+           EVPN_TYPE_4_HELP_STR
            EVPN_TYPE_5_HELP_STR
            EVPN_TYPE_5_HELP_STR)
 {
index 9d4ac5c9c60863ee3a710554a080fbb22a6cf4b1..74008bc0786670fb55d6db90f2352612246f7b6a 100644 (file)
@@ -537,6 +537,11 @@ module frr-bgp-route-map {
             description
               "Ethernet Auto-Discovery route";
           }
+          enum "es" {
+            value 4;
+            description
+              "Ethernet Segment route";
+          }
         }
       }
     }